@zip.js/zip.js 2.7.72 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deno.json +2 -3
- package/dist/README.md +7 -25
- package/dist/zip-core.js +5961 -0
- package/dist/zip-core.min.js +1 -0
- package/dist/{zip-full.js → zip-fs-core.js} +4161 -7360
- package/dist/zip-fs-core.min.js +1 -0
- package/dist/zip-fs.js +4357 -2545
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-web-worker.js +1 -0
- package/dist/zip.js +2648 -2468
- package/dist/zip.min.js +1 -1
- package/index.cjs +4625 -8661
- package/index.d.ts +29 -178
- package/index.js +2 -63
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +6 -4
- package/lib/core/codec-worker.js +37 -20
- package/lib/core/configuration.js +16 -37
- package/lib/core/io.js +3 -8
- package/lib/core/streams/aes-crypto-stream.js +1 -0
- package/lib/core/streams/zip-crypto-stream.js +1 -1
- package/lib/core/streams/zip-entry-stream.js +19 -12
- package/lib/core/streams/zlib/README.md +1 -0
- package/lib/core/streams/{stream-adapter.js → zlib/zlib-streams-loader.js} +54 -25
- package/lib/core/streams/zlib/zlib-streams.js +184 -0
- package/lib/core/streams/zlib/zlib-streams.wasm +0 -0
- package/lib/core/util/decode-text.js +1 -1
- package/lib/core/util/encode-text.js +1 -0
- package/lib/core/util/mini-lz.js +198 -0
- package/lib/{z-worker.js → core/web-worker-inline-template.js} +10 -9
- package/lib/core/web-worker-inline.js +1 -0
- package/lib/core/{z-worker-core.js → web-worker.js} +17 -36
- package/lib/core/zip-entry.js +3 -7
- package/lib/core/zip-reader.js +12 -5
- package/lib/core/zip-writer.js +11 -13
- package/lib/{z-worker-bootstrap-pako.js → core/zlib-streams-inline-template.js} +8 -10
- package/lib/core/zlib-streams-inline.js +1 -0
- package/{index-fflate.js → lib/zip-core.js} +43 -22
- package/lib/{z-worker-fflate.js → zip-fs-core.js} +5 -15
- package/lib/zip-fs.js +7 -24
- package/lib/zip.js +6 -23
- package/package.json +7 -21
- package/dist/z-worker-fflate.js +0 -1
- package/dist/z-worker-pako.js +0 -1
- package/dist/z-worker.js +0 -1
- package/dist/zip-fs-full.js +0 -12537
- package/dist/zip-fs-full.min.js +0 -1
- package/dist/zip-full.min.js +0 -1
- package/dist/zip-no-worker-deflate.min.js +0 -1
- package/dist/zip-no-worker-inflate.min.js +0 -1
- package/dist/zip-no-worker.min.js +0 -1
- package/lib/core/streams/codecs/deflate.js +0 -2059
- package/lib/core/streams/codecs/inflate.js +0 -2163
- package/lib/core/util/stream-codec-shim.js +0 -91
- package/lib/z-worker-bootstrap-fflate.js +0 -40
- package/lib/z-worker-inline-template.js +0 -42
- package/lib/z-worker-inline.js +0 -1
- package/lib/zip-data-uri.js +0 -56
- package/lib/zip-fflate-shim.js +0 -37
- package/lib/zip-full-fflate.js +0 -54
- package/lib/zip-full.js +0 -55
- package/lib/zip-no-worker-deflate.js +0 -42
- package/lib/zip-no-worker-fflate-deflate.js +0 -42
- package/lib/zip-no-worker-fflate-inflate.js +0 -42
- package/lib/zip-no-worker-fflate.js +0 -43
- package/lib/zip-no-worker-inflate.js +0 -42
- package/lib/zip-no-worker.js +0 -44
- /package/lib/core/util/{cp437-decode.js → decode-cp437.js} +0 -0
- /package/lib/core/{zip-fs-core.js → zip-fs.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function g(g){g({wasmURI:()=>"data:application/wasm;base64,"+(g=>{g=(g=>{const B=(g=(g+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,E=[];for(let I=0;B>I;I+=4){const B=A.indexOf(g[I])<<18|A.indexOf(g[I+1])<<12|(63&A.indexOf(g[I+2]))<<6|63&A.indexOf(g[I+3]);E.push(B>>16&255),"="!==g[I+2]&&E.push(B>>8&255),"="!==g[I+3]&&E.push(255&B)}return new Uint8Array(E)})(g);let B=new Uint8Array(1024),E=0;for(let A=0;A<g.length;){const C=g[A++];if(128&C){const Q=3+(127&C),Y=g[A++]<<8|g[A++],D=E-Y;I(E+Q);for(let A=0;Q>A;A++)B[E++]=B[D+A]}else{const Q=C;I(E+Q);for(let I=0;Q>I&&A<g.length;I++)B[E++]=g[A++]}}return(g=>{let B="";const E=g.length;let I=0;for(;E>I+2;I+=3){const E=g[I]<<16|g[I+1]<<8|g[I+2];B+=A[E>>18&63]+A[E>>12&63]+A[E>>6&63]+A[63&E]}const C=E-I;if(1===C){const E=g[I]<<16;B+=A[E>>18&63]+A[E>>12&63]+"=="}else if(2===C){const E=g[I]<<16|g[I+1]<<8;B+=A[E>>18&63]+A[E>>12&63]+A[E>>6&63]+"="}return B})(new Uint8Array(B.buffer.slice(0,E)));function I(A){if(B.length<A){let g=2*B.length;for(;A>g;)g*=2;const I=new Uint8Array(g);I.set(B.subarray(0,E)),B=I}}})("EwBhc20BAAAAAUULYAF/AX9gAn+BAAYCA3+CAAeAAA0BAIAAFwMAYAaAABCDABOBABoDAGAAgAADgAANAQSBABUDAGAHgwAegAAfEQNCQQcABAMABAgIAAEABQEKgABaggADAQWBAAcCAQGBAAcQAwIABQYAAgIFBAkEBAkDBoAAAR4AAQQCAQQBAQMEBwICBAUBcAENDQUGAQGCAoICBgiAAJgiQdDVBAsHigQcBm1lbW9yeQIADGluZmxhdGU5X25ldwAHDYYADwdpbml0AAgRigAQB19yYXcAChCGABQJcHJvY2VzcwALhwBGBmVuZAAOFoYADxBsYXN0X2NvbnN1bWVkABELhAAZgwBthQA2gwBsARKFAFiHAGsBFIUAf4MAEwdnemlwABUPhQAUhQB+ARaGAFaBAH0CGBWFAA6NAHwCZGWJAHyFAA6CAHwCGhCJAA+CAHwCGxGKABOCAHwCHA+FABSFAHwBHYYAVoEAfAkfBGZyZWUAAhWFABWMAIMKBm1hbGxvYwABC4IAVQppYWxpemUAABlfgAAPFmRpcmVjdF9mdW5jdGlvbl90YWJsZQGAABwbZW1zY3JpcHRlbl9zdGFja19yZXN0b3JlAAUcjgAbAmdlgABvDnVycmVudAAGIl9fY3hhgABbBGNyZW2AABIGX2V4Y2VwggBdBnJlZmNvdYAAJS09CRIBAEEBCwwAISIMDxcZHj41ODsK3OQCQQIAC78nAQt/IwBBEGsiCiQAAkCPAAISIABB9AFNBEBBpCcoAgAiA0EQgAASBgtqQfgDcYEACRBJGyIGQQN2IgB2IgFBA3EEgQAyBgFBf3NBAYAAHwZqIgJBA3SAABkMzCdqIgAgASgC1CcigAAGBAgiBUaCAFIJIANBfiACd3E2gAKmEQELIAUgADYCDCAAIAU2AggLgABIAwhqIYAANwEgggBGgAAFBHI2AgSBAA8DaiIBgQBNAwRBAYEAEgcMCwsgBkGsggCfAwhNDYAAG4EAhgRBAiAAgQA1BQAgAmtygAA1BAB0cWiBAKMDdCIAggCPgAAfggCPgAAGiwCPBQF3cSIDhgCRAQKBAJEBAoQAkQEAgABogwCFgAAKAmoigACMggDfBSAGayIFgwCMgAAZAgFqgQAuCgAgCARAIAhBeHGBAG4EIQFBuIEAoAQhAgJ/gABlAQGAABkHA3Z0IgdxRYQAeAIgB4AAPoAAPIEAdYEBIQMLIQOBAOmAAHaAAByEAIQBAYMAB4AAnIEAi4IBHIAAVgIgBIAAOYAA/oIAdYABCwJBqIIBCQILRYABCQULaEECdIAA5gMpIgKBAS4CeHGAAKoHIQQgAiEBA4IBqAUoAhAiAIAAg4EACgEUgAAKAQ2AAH6AARCEACqAANmBAW4FBEkiARuAADaAAUkBIIAACYABOAEhgQCnAgsggABUAxghCYAAFoAACQQMIgBHgABIgAAKAQiAADeEAcaAALEDCAwKggApBRQiAQR/gAHIAhRqgAFTgQB3AwFFDYAA2Q5BEGoLIQUDQCAFIQcgAYABmgMUaiGAAgWCADACDQCAAOUBEIQAEIAAMQYNAAsgB0GAAFsIAAwJC0F/IQaAAB8Dv39LggAnAQuAAhKAALUCIQaEAP4IB0UNAEEfIQiAAf6CAPKAAsQD//8HgALGgAHBASaBAlgGdmciAGt2ggKlCkEBdGtBPmohCAuEAvEBCIUBNQEBgQGeAgAhgQIKgQAHgAA8ARmAAB0DAXZrgABXCAhBH0cbdCEChQFJhQE0BAMgBE+AAJMBAYAAtwMDIgSAAIYBAIAAfwEBgABEAQOBAj+CAWgBA4AB04EC1AYddkEEcWqCANwCRhuAAB0CAxuAAGQBAoAAj4ABZIEA7oEAMQIFcoMAhAEFgALPAQiBAruAAO6AAs8CB3GBAa4DAyAAhQHhASGAAR2CAcCAAUyIAcIBAoABvgEhgABsgQHJgwHEAQWBAAmFAVOAAZMBAYMBbwMLIgCCAHIBBYABOQIgBIMDTYAAQYEAywEFgQHnAQiAADmAAAmEAeeAAAqNAeeAApOAABaDAecBBYIB54AAD4QB5wEFggHngAErgAJ6gAD7gwHnggOAiAHnggAQhAHnAQODAecBB4cD2AEFgQSCgwNDgASmgACNgQKfA0EQT4AAjYIDi4ABMoYDgQIFaoEAk4AAV4UDroEDVYAAF4YDuwEFiwRAgAFfgAQnASGAAeWAA0aBADqBA1aAA3SBAJmBA2WAAm+AAEoBsIIAiAICSYAAiAGwgAAfggCBgQAsArwngAADgQAbgwCIgQA3iQCNhgQxhQBLhAJKAS+ABD8FAn9B/CqAADuAAFMChCuAAAiBAmgFiCtCfzeAAFcGgCtCgKCAgAABAQSBAA4R/CogCkEMakFwcUHYqtWqBXOBAHoCkCuCAScDQeAqgwAIBoAgCyIBaoAFooABkwFrgARcgQSZBU0NCEHcgQBkAiIFgABmAdSCAAoBCIAEowUiCSAITYABRwUJSXINCYAC+YAARQMtAACAApCAAm+FBfqEANiBADkE5CohAIMCWoEAP4EBjYAAPAEIggJqA2pJDYEC24ECEoICQwRBABAEgAV3An9GgAH5AwEhA4AAyYIBHQFBgACTgAP7gAYhgQL8AWuBBVMBaoICzQNxaiGAAEABA4EAqwEDhACrgQERgwCrgANFA2oiB4AAcYABSgEHgACrAQSAACqAAF+AAWMFRw0BDAWBADiAAEyAAOuBABaCAkKAAFOBAJUBRoAE/gECggMVgQCKgAEJBUEwaiADgQC4gAHtAwwEC4MBcYEDIAMgA2uBAIkHAmtxIgIQBIMALoAFZYAAloIAK4AAnIAAzQRHDQILgQFoAeCBAJYCQQSBBayABaiEAOmCAPKBAGgBcoEFJANNcg2AA1OAAFCAA+gIBkEoak0NBQuAAM6DANGBAM+CAawB2IIADgEAgQJOAtgqgQNJAQCBAYWDAXEBBIcBcYMA04EDa4AA1QIiBYAA14IAEoMBa4EAxwG0gwJ7gQFKgAB7ARuBBC0BtIMCvYICaQNB6CqBBjABAIAAUIIAFQVBxCdBf4EACALIJ4MCe4EADAHwgwJAgQHggwbPgwewgAZQAdSAAxCBBlgC2CeBBSeAALsDQSBHgAB5gQMBBANBKGuAABABeIAA6QFBgQJrgAHegwMOhAegggbOgAN0hQMIBAJqQSiBA2wEwCdBjIEBe4ED4IABzoABgQFNgQZkAktygwDaBAxBCHGBAAqAAdkCBWqBADCAAFGABM0CIASCAGaACFGCA3QCsCeDA4+BAU+AAC2AAImDAG+AAKWCAG+AAFaQAG8BA4IBEwIMBoMAB4UBPQMgAkuIATWDAfsBBYIBgAICQIEGmYQBgoEE94QBegMBDAKBBZwCLQCBAK2ABOABC4QBroEJLIMBrgEEgQJpgQc8ggKMAyIFSYQHWQEIggZMlAFAAQeQAUABB5kBQIAAYgIFQYAH+IEAQQNqQS+AAE+AACgBBIAFTIAJlAMBQRuCCSwJQewqKQIANwIQgAALAeSDAAsBCIAAFIIJW4EAcI0CIIQCDIAAIAEYgASvggITgACYgwS/gAAFAQSBCZCAAM+BAv4DIARGgQbpgwVJAX6ACcMBBIMIL4AGdoQAtoIIwQEAgAjyAwJB/4EKQ4AACIQJD4AAFYQKUIAFKoEJ34AJDQEChQkNgAARggkNggmCgQE2AQuABsOAANqBCQ2AAGCABnUCQQyABbIBCIEFLwEfggczAf+EB90BAoAH3YAAGZAH3YAAsYAAxQY2AhwgBEKCAQ8BAIAHOQNB1CmACZqCBOuDCDeAAq+BCjUBA4IAigGogQmXAQWDCZeCCWWBAI8BAoAIA4AAVYIIA4AIYoEIA4IH1oAHooECLYEK3YIHfAECggOqgAfjgQdsgQfTgwMOgAfwAiIDgQbnAQWCBueBAFcBEIEAmoAB7wMYQQiABwQCBCKACCwCQQyFCgeAAdOBAPCDAIEBCIMAw4AI1YAAIwEYgAECAQyAADuEBuyBAvKDBEeEBqmABmQBTYAIfoACaoEHyLEGq4ADIQSgJ0EwgQA5gQMwggjAgwcWggLXgAMoggNrhQLDAWqABhmFAEKACYyABoOCABWABQUCIAiABuwDayEHhQThAiADgQtugQPZigPMAQeDBRuBAOWEC9iAAeCCB/ODADGHCuuECJ+OADGBAiWDAQaBAUCAAWiBBZcEA3FBAYAAP4AAJIAKIAEJgQAWgAI9ggzXgwKUgAARgQjMAQKDDAKDApaADAaAADkBdoMMmAECgQLshwuDgQJ3gQA1AxghBoAARoAEL4EEGoIARYIBH4EAJoEBpYAAJoAAH4AAGIALWIAJEwEDggkTggH7gQmngAAQgQkTgAuHggoqgAaJgQkTggQwgAAwgANXgQsagQm5ggAxgQIsAQWDCROCCoqAAJIBBoAJqIMAYAEcgADkAQKABbaBCgaCASmAAX6AAtiDAasDAg0BgALIgwLegQDVhQDSgQA7AiAGgABdgQAwAQaBACwBEIEA14IACgEUgALmggwKgAjkgAKXhAC1gQNegQDZgAM6gQAlARiCAQSCDDSBAkWAABkBFIYAGQQHIAlqgAvPAQOAAAeBAu0BBIEDfYAHTYYEJIUE1YAACgJqIIEE9oAAEoMBjAEHkwQgAQetBCCDAymBAAeEAbGABCgBAoEAZoQEKAEHgAQoAQeSBCiAAVuAAtSIBCiADyaDBCiCDx2EBCiCBLUDdCIFhQQogAPbgwCShgQoAQeABCiABQeCBCgBAoQMK4IGHoMB9IEOdoIEKAEHgQQogQwLgQHtgwv7gQV9gQQogwtAggH8hgQogADWARiAAAeEAOSBAPKFAQSBBnaDC4+DBCqBAi+BACuIAQgBC4AMtYID2oICAAEIgwJCgABmARyAANCAAM6AAmyAAkKBDwqAAIqBAkKCA12ABu+BAOIBB4QPGYEBr4MAQIAKAIQCQIAKCIQCQIIACoACQIQOSgIgCIEAhIMAyIILqYAAhoAGiYIAxoUML4ECQIIAGQEUhQAZgABcAwRBD4MKYwEEgQSpgAOLhwu5gwR9hgQhgQwKhAAfgAAKgQRvhAAcgQVdAWqCAY+AABKDAl6BAXGQAl4BBKICXoEPdoAAHIAABwEMgQLNgwAHhwJeggBmhAJeAQSAAl4BBJUGhoIAPAMcIAORBoaBAxqCELWFAliAArSEBoCBB6WDAHEBGIEAmAEElgaHgwJfhQ/vgAejhAaHggkdgQAmgQXygQJfAQeHD1WBAF4BEIMQaIED2IUA5YEA84IG9IME3YIAFoMQf4MNoYAEG4ME8oIA1IEOAYMCX4IE+gEJgwJfgAA8hAJfgAHvgAJfgQVngAAojQJfAQuDAl+GAl0DAiAJhAJdAQmGAl2CAAqIAl0BCYEAgoMQTI8CXYMQc5kCXYEL+4oCXYAJdo0CXYAFAoQAH4AACoADkoYCXYACboQCXYoR5oEOOoIBhYACYYYR5AEggwhPiBHmiAJbgAE7ggJGgwHcgQfpggJbggHxAQiBBv+CEdeBDpmBAG6BCICBAWMBC4AODgMQaiSAAEoGC94LAQh/gQbPggDsAkEIgQx3gAmoAWuDAt4BeIELNAIhBYITlAIBcYEJrwFBgAJdgQaAgQW/gAAigAAvgwsHgAqjghK8gwTogATqhAd6hAbegAc0gAA8hAnGgwbvAQSADRWJBzKAEwyEBzKBDZiCByGKBx+LB0WBDcqFEDCIBx2CEDCDBx0BBIACygEEghIXggcdgAGEhRAwggcdggAQixIXgAijgAJmgAlDgQf1AgNHgA5QgAE4ggJngBD2hAZ/gQEegwHEghRtAgAPhAXxgQCZggVQgA3pjgdiggLBAQSHB2IBBJYHYokCxasHYoECxYIBHIECxYgHYoICxYIAGYECxYUDowEFhBGagQDtAQGAAdKGFbuDAeKCCWCBAcCCFNmACWuCC+WGCWuADUiCAReHAQ0BA4MB8AJHDYERcYMQTwG4gwAIAQ+ECYWBD/iECYeCAE2GCYePAE2BDZiFAV2BAoSAACOBDDeLAkaCEkSAAXuMCXiKAkaLAZqAAjOCEoyBAlcBBYgSh4kCV4MCA5ESh4AANLQCV4ACDZECQIYA5oMOWYcCM4cHU4MCM4IHU6MCM4AGxKMCM4YHVYwCM4cHVY4CM44AuIAAFAEIgA/PhQMlgAGthQsUgQssgxa3hgcqgAT6ggsUgBSEhQTPgAb0jRa1hAargAgIhQZFggTWgwYhgAJKgQmHgABlhAcpAQCABymABLOABykBAYMHKYACzIYJh4IGXIYHKYYJh4ATNYAC5wF/iwmJgxdIggmJgwVigAGogQKkgQ0lgwkikQmPgAGegBWdgQIPhg23AQCGCY+BDNqDFYqAAbuGBzCAFdGFBzCBAF2AC72AB+mBAPcCAyKGAQaAAtWCAPyDAQqAACeAAOOBFGEBC4ACdYEQXoMGOIQBGoIBjYIP+oARmgHEggISgAWUgBJNAiAAgA/BgBNPBIwLAQeAAA2BBZqABceDEGOBEneCBc6AARaCBc6CEHeAAI6ECEiBACaBEoGEBo+EELsBDIAGbYUPiYABkZEFw4EPiYYDfYAAIoEDbIQGBIIAMIIH/oEBz4EYmYEDkIIMsAEEgANsgRXThBZWAQSCFpmIFfMBB4ABYYEF44ABMIIE0oABRYIF44MAEIUBVYsFw4AAiocFw4IO4oAUPYQDg4EGxoUFw4EAG4IFw4QAmYcFw4AASoQDkIAAlgEcgABRhgOQAQCHA5CDCVeLA5CEGo+CA5CADxWGA5CBAfWDA5CAAAqAA5ABA4IDkIAF5YEDkIIA+gECggFagQO4gwkogAN3ggEhgAO6gQHxgQPHhQAZhgWvhADukQW0ggWGhgW0gBN/hBbWhg+yqQW0ggAfhgW0kABNgRq4hAFOgRGnggJNgwW0hwI3hAW0gg+PlQI3iwGLhwW0gAa0hgW0iwJIhQW0gQJIiAW0gAJIhQW0rwJIggW0jwIxhgDmgwW0hwIkggW0iAIkiAW0nQIkiQW0mgIkggDWkAIkggD9kAIkkQC4gQ1VhAW0hAGthQdQgQdpggW0gBxjhh2sgRXMgQW0gAgjhQzegQrQgAQehQvZgQzegxCyhQp8hBDHgwqYggW0gASshgW0AQGGG0ABAoMFtIEFJ4IFtIISIYAAuQMcIACDBbQBA4UFtIARb4YPO4EGSIAWZYYFsoAQBYMAkYQMEIIGr4IFS4AFs4AAwYIFswEDgwWzgAEfgQWzggIOgQGoggWzAQGBBbMBA4EFs4EAB4AFs4ACeoAAlYYFswECgwWzhBC7gAKVggFZhADqgwaXgQYKhhrQgxNkgANdggzihBOAgwENAwsLSYEHEQGQgwZ7gRUbAWqBC2IBAoILNYAAdIIDUIIXhQMgAD+ABQIBdIAejYcTRQF/gAFMAZCECpADAQsGgAAtBiQACwQAI4ATswIBAYAG1QRBxAAQgBAZgwvIAgRrgRmPgAw6ggAOgAYeAwD8C4EYzoIFa4ABIwEkgQeNBTYCICAAgBIZAwsLEYAAJoEBUQF+ggfFCxAQCQvZAgEDf0F6gAcwBEBBlAiBAE0BMYECOAF+gRwFhABVhAS4ASCDAnyAAAoBJIQACAkoQQFB2DcgAhGBBlaBAFcBfIEAV4MHkIAA5gM2AjiFAa8EAkG//oAACYAAZQQgABAjgxYPBkEfdSIDc4AZV4ECgIAUBYAWLoMC0gEogw58AnZBghn6BAFBAE6AHlmBH2uAAWCCAD2CAFwDNCACgQI/ASyJABSAAOeBAAeAAZaBABuACNWCDfGAAF+AA4YBMIACyIEAFgE8gwArASSAAAeAGzWCDhwBQoEbQAFwggg/AUKAAKgBN4ENyAJCgYMAFAHMgADggAArArQKggq+AXCDANEBVIMABwJQQYIJDYABCYMZgQMkEQOEATEBHIACLIwBbQFwgAFtARKCAfqBAOaCF5QIBBANC/0kASKEIVkCFCSBAXgBGYYBJIEHjAIiEoQBbAMEIROEG1eBAjcBE4AEZwMAIROCAH2BBJAB3IALOgEfgACnBfQFaiEVgAAIAdiAABABG4AACAHwgAAIARqDAL8CIRaBACCAABADEUGcgRgZBCEcQZiCAAgEHUGUK4AB+AIhHoEDNgNAIQqBAAcBPIEK+QFBgBgyCAJJISBBfSENgAAOBgZHISEgE4ECGIEDLwMXIRCBGPiRIgqSAAKBCY6RIjaBEIKAIhqAAXcXaw4TBAUGBwgJAwIMDQEZABsPIiIUISKCBH8FTCEGDBmGAAqAFtCAAAoBbIEeTIEACAEigAvWAygCYIIfMAMMSRuAACEEBgsgIIEf2oAAVoAGUgQOIQ0MgAGRgQTGAg0PgA8SAghygBXgAQiBBACCF40DCkECgga0A0UNDoEaiAFrgR+SgAEQAyAKdIAUeIEUoIAa0oAALQMJIQqDIM6BEX6AAlADCEHBgABegALShgDLgAAYAXaCFkcGaw4DAAECgAToAR6BDXSCH5gFCANAQZCACgaAD+0BkIIaJAERgSAiBnRqQQg7AYEgJYAAY4EKgYAflwNBgAKAH0YBBIAAB4MAJ4AFCYAAJwEJgQAngAALgArZhAAnApgCggBOAZiEACeDAE4BB40AToAANAGgigBJggBwhwBJgSB3gAIIA0GgK4EEewKgPIMACQMgFEGAETYBDIAFgwERgAA/gAAXgAARBwxqIBUQJBqCAFMBIIkAUgEFjABSAZyAAE4BPIECqgEcgwBKgBCZAQyAIJYDEUEgigBJgAJ2A0EBOoAEcASgKyEdgQFXAR2AA1GAA3gBiYADeAHQgAOEAViAABOAAEKAA2sCQceCBDwCQQGAAqMBIYAKNAQKQQNrgAKngRXuAiEHgQAdgQg2gSB6gAERgQHsBB8LQcSBAZuDC9ECwguBGTQB0YEAEYIcR4AASoERF4gAQ4UAPQIMGoEAGYAX/gEFgAYIAQqAGJaAAByBGa0CQR+CE66CB+mAAh+AAXaBAh8BBYQCH4MBboMS1AMFDAKABWeAAVKBAhsBBoAAVAEKggCRAR2ABZOBCHID//8DgB6CgAAJgCT3AhB2ggsuAkHdgxKfgQChggqqgAJmBBoLQcKCAEABAoEACIMSVoAE/gFEgABagAi2gABUgQOMgAQWgQBbgACzAwJBw4IAJoIC4gNEIgOCCDmCFNiAG+ACAyCBE7EBEIEACoECiYAAKoQDEYAAOQESgBWIAwMQJYMjmQFEgAWJgABkgAAtBBJqIRKBADYCayGBADuAANaBGlCAAA4CBAyBEzCEBckCDBeACNOCAz0CDUuADFmNAR2FAzyEAR2AA3QBaoMDP4IBHoEBnoMAhoEAUoABEAEfgAEXA0GBAoAaKQFkggAQAgV2gAATgAA7AzYCaIIAEAUKdkEPcYAcVQEigAkgAWCAAE4BDoMBvQEOggG9AkEegiHeAkGhigFKgAChgAAMAcWDAjoCACGABCOBBZgBbIADE4ADqgMGIAyBCpsBE4AACQcGQRNNGyEJgADLAwYgCYIN1oAAE4EhHoAALYAC44AADAV0LwGwDoIC6gEAgQLqAQOABGABAIEHZJgESQEKowRJgANhgBrygwBpgAAMhgBpgADbAgdxgQBsiwKnAQSAAMaFAquDAEEBFoMGi4AAB4AGmYEdgYEDNYAADoAGmYADcAUTIBogG4EDbAIiDoIBIQG/ghdnhgEhARaBASEBxoQCYYIBHYABKAEOgQ6AggJKA2QiD4EABwRoaiEMgADcAQuABVqAATKAHaMEKAJYdIACwQEhghVUA1AhIoABAQEJgACbgAOXggEFASKAAzwCGHGACdIHaiIjLQABIoADBoAfOIEK4YEWDoABFYABAYkDPwEJgQEVAQmFAz+AANeAAZ8GIy8BAiIIhRV/gAj3hgEmgAAMgAEfggTEgSPbgQEcAiAGgwEcAQuBFlABf4UGaIACegQQaw4CgAWHgSOUgAl6gg/AhgCMgBAwoQCMigBlAwUgC4IJsgJBh4sDswEJgAGTAQOAAvmAJpuBBmeAAgaBADOAJYmBAJiAJE2ADqCBJp2BALsDIBFqgAAeAi8Bgg7AgBYzjQCXARuoAJeEAhuAAJqACyyDAiCAAjaAAFSCDFiACnOMAFwBGqkAXAEHiABcAQeDAFwD/wBxgCc/gCeGgQIiAwQgDIAAKQILaoACFJYBEYAD3YEFPoIGKoMBuAEEgQG4gQHPgAJigwMhhALIgAWjAWyAF7mEADiCABQELwH0BIMBbwKUCooCtwEVgQK3gABxhQLrhAMAgQasAiAPjALyAaOLAvKCADuABEMBXIME8wFwgAM+gQaZggLuggChgQLwgABDAR+IAEMB8Y0AQ4QGcYYGloADNIQFkYAACwENgwBkAciFBZGBA1cC0DeJAzeCA1UBUIADyosDNwEMgAFugATjgQM3AQuLAzeBJuahAbgBC4ADNQIhD4AC+oAAQIAp14ELUwX/AXFBDoEARwMGIQyAAJ0BBoECGgMMIA+BAGYCIRiAAJUBBoABwoIAlYIBqQIgGIAAhAELgCgPAXaCAIcBD4EAhwEMgBjPgQHkgACIgAR8pwMzgQdCggOYgABGAQCAAe4BD4IAnYEB6wEPgQZlgAVkAiAMgAXeAtA3gAAvAQyDAmwBDIEALwELgQC0gA/SgQP5AkHNgwFzARGBGscBIIEmEYUGfYAACYAknQLQN4MAGwLAAIEAHAMAQdWBB+mHAaqAABwDAkHJhQdAgBnNAXGBBj4BTIUCZoIP0oAGoYoBhoAAvIQA7oAIUqIA7oICSYAAxwEGgwDOhAdLgAfiAiAGgQFagA5dAQyBAPGLBK2FAumAKDABEIMKHwEQgQDthAcUARKBB5qBAEeACR2GAkwCIBCBAI8DECASgQCCAhIMgh3lggebAQqBHJiAAdABCoIHWoAFz4QARoYAIoIAGIAHCIQAGIITBYUAGIIAEgEOlABMgAE8hAA0AQ2AAk6AAAeBC3cCQdCDAI+GCSGDCTIBCoQrvwJEIYIik5IAUIAAyYQAUIAA+AMCQcqFAZuAASEC1DeAK6mBAEABXIMCj4EACwFUkgMkAQuDAySCAp2HAySAB2miAa6CAoeBBmKBApcCIg+DKhiCAcGCB5SAAGIBC4gDHQEPgwMdAQ+GAx0BD4YDHYIDpIgDHaUCL4sDHYUCO4ACGoEDtYAEHIIDxYAAiAEhgAzCgQMlAQqFAyWJAj8BD4YC8wHxigLzhgJYgCsQAwJBy4UBYAEPhgL7ggVpAUiHAwKIAV8DIAYEgybGhQMBgRnrtQMBAUiJAwGBAHKSAv+BAKUBzIQFKYYDB4AAEYQCJQEGgAfOggBNgArEAhcggA8fAQmAAe2CGy4BCYEcvIAAGgEwgCS5gQAIAsw3gxCpAfyLBikBB4QAQQE0gCrEAQOBANaAAAyAEJEBKIAQM4MARAFrggcrggAWgAAiAWuBBtyBE1qBC0WBFIcDBkkbgQAgARKBCvyCLo2AABeBHYmBAZiHC1cBCYILNgMJIQOAAT4DEiAFgAEtgQO3gwOngQblgQf7gQFKAiIDgRJgARCAAHmAA8aBAE2AAWKFA92BFP6SAzOAAcSEAQ6BDLSFABuJA9mAA0aEACKACFKIB0GIBA6BABaEDIqBEZ4BEIMS4QEShiIFgRQ2gAblgRF9gAFBgQlygApJATyHD58BLIABXQQQIBdGgAhVgAP9gCmBgRG8gBgSgSYJgAARgCsIhBCHgBVdATiDBbyCGDeAEh6BFXACKHSBGhKAEj+BEiaAAG8COCCBFbGCHLUDLCIFggAugRGXATCCMO+CADCBKiICLAuDAfWAALuBA6QBBIEBXANrIAWADK6CIFMBNIMemQEsgBHXgwRwgAANgAHoAWqBDNSAACeBAd+AASWBASkGSSIJGyIEgAA4AQmBAGqBAeyBDPeAKH0DBGsggQAXghaAjABPggANATSAIhiACoWAARyDAKsCCUeAGWmAACmAAniAAJYBCYEdWIENZ4EpH4ASW4IRpAIIIIIRpAEEgABcgAAWgRrdAReDES2AEuSCLQUBFIAAF4EVt4ABVgEgggA6gBKxghF2gAPSgRpygABDBBtqQYCAEdyDERiCEMIBRoEAE4ASrYIUOIEOEoEwBYEIfoAAGYABKQcgDUF7IA0bginVAQ2AAJMBF4AAHwENgACZAROAAAiAAagERhshGYMokQHSgwiwAnwhgBFJARSDIBcGGQuUCQEMgBQrhhKngAEhgAjQgAAHgBMngAM0gANCAQ6CB40BEIIatwMCQUCAAY6HJ++CC3OAM+kBAoEz6YEozoEz6IAEwAEOgSBggCGaAQSABWSABh4BDYEFcoEUpYAASgELgADJgSBEAQuADc8CIA2BC+IBCYAEEwQNIAtrgy1rgAmIAU2BLUWCF5sDCSANgAx/gQjUgwArgQAngAGUARCBAEEBCYAAFQEPgBFgAnJBgSOIgAT9gAjNgCFFgCFNggAPAwwgDIYho4AEeQMIEAOBI4GDGTmCDf2DGS4DDWoigABVgABykwBQAQiDAHOEJoqBKSaFK36BAzKBAFKDIP+CAFKDGTOAAFIFCCALSQ2BKDyAAAmBAD2CBmeSAGABDYYm5YACU4EAOYIm5wEIgSUzhCssgyLSgQA5AiAIhQA7ggAsAgcggBa3hzCagRAagAeogBnCAQ2EIgmCJYOBBtWBAYiAMqwBcYABNYEigoEAooALkoEBRIAABwFrgASngAAiAwwhCoINNYMYJIAAEQEIgABhAQqMGcCBIqmGKOyAAB+BBEOABdaEI/+AADUBGIEUFYAAEwEMgRDchQBFigAmgAAfgAAYAxQiB4AWoQEMghnEgAAPARCBM4gBAYAAEIEZxAENgAVJAQ2ABLMDByIKgRnEgAEiggAwgANvgSLMgAAQAQqCADGBBU6AA56EAYaAERaBBkWCGaOAAFEBHIEA8IAYPYIZo4EBnIABZ4EZo4AAjIAAR4sZowEIiBmjAwwgEIQZowEQgQAsghmjggAKgBmjAQqCGaMBCoEFQAEYhAC1gAAoggDZARCDAQ2AEM2DANyBBo+CABkBFIYAGQESgw7OhAHKARGHAgUBEYsByoMB75ICigEShALajgA0gAIQAhIQggX/gAf5AgcLggCYgCi2gQbegQRJgBgtgSVlAxpBfIArbgEOhCPzgBBTAnEbgilIgQBMgRD2AwdLG4IAOgYJIA4gB/yAOmaAA8cBEIADFwILIoEEAocX2wE8gAAHAQ6ABceABA6AAC6ADPwCIAKDAC6CBk2BBluDF6qBACyBBluBBFODGbKACAYCEQGAJPWBAByCBSiABzuBBduBBSOADK2AGjmBH9oFGHRyCwiBBOoDBRAQghj+BBAZCx2JF0oDIAERgAdigQBXgACfBQAQAgsQhAAehBeNAUCMF3kFDxATC9KBGOaHJP6bGNOBCMehGNMBtIcY0wEmgQ3+gCzLgADAgAolgAXAA0giBIATcwNBD0uCGscDQYH+gAT+AXKIGOGCGNmCGOMBIIEAKYMY3IAARo4Y3IYAFI4Y3IAZGJ0Y34EbJIsY34AAtIoY3wHEtBjfAkF+jAFmAXGAAWaLABIBH4AAEowY8QEGgBjxBIBEASOEGPEBEIIY8QEXhQFCgxjxAQyEAYqEGOqBAiiGCGKCBxUBA4IHFYIODwHAgwbTgAAHgRxWgRixAiEdgAAXgRkOgBjOghkOgAdvkhkOgRkmghkOgxj2gA/Rgxj2ggfAARyFGOYDDiESiRiugRQ9gBkOgiFhpRjiwwACgAHmgAG7A2sOH4IZIhszNDU2CgsMDQ4PEBEDAhQVASQAJhcYBD4/QEGEGSUDCwwkhgAKgSQUgBkngw4VghkxghnkgxkxAQqBB7GBDgSAABIBDIAL1AEygwAKghYvhgFiAgwzgRAiAQaDBMSACb8BN4oV7QEGixXtAQaBDB2BEGyBELqAILCABGYEn5YCR4E4oYEAWwEogwBZgBAIASiBBbiABH2AHLeAAAICECeBAwcBHIAO6YAALgI7AYEo6gEQgABKBEECECeCIFoBtYgXCwEcghDOATOCAKsBJIE2eYACXIAQEoADBIAE+AN0QYCAA26CLbgFakEfcEWCAyGCCHwDAEG5iwwjgABCAQeBFloBCIMXjAGHgA6LjQAeAgR2gQPHA3EiCYIM84ANAQIHTYIAxgIiCoAGwgEKgAwYgSl5AigggCDRBAVPcQ2AFlKABWGCOnMBrosNnAEDgBQeATKLAUYBNqQBRoILkYAGS4IR0JMAq4ABtgQHQYDAgT1YgAAdAdiLErSDAdMBJIQYGoEBGIIEMoE2SoEANoA3zIEEZIE0p4MAC4ABdwM6AAiABvmBACsCOgCEO7qBAZqDAY+CHN8DAkG2hRMAgQh7AQaDANuDGSoDRQ01pQDbiACYgQ4JgQxyAy0AFYIkr4sAlIIIQYoAigEEhgCKAbeQAIqFAWWAC8euAIqAAPeDIneCAXOBH9GZAJiBAqyTASIBuIsAmIEAJIA71gNBgAiBAacBB4IQ1IUAqYEABIsAqIAEvIAvO4oAqIMaXYIWaQE2ghpTggJ9gBNPgQC8gQzggA+agQisggNXgABogQCjgAW8hQCuASiAAK6AG62RAK4CDCiFAQKBACeCDWMBEIAAFIoB1AEypwKvgAfFgQJagAOHgAOPgDyGgQJzhAOVBBh2cnKDA+mCCCkBMIABJwG+jwEngRAQgwhogQhRgALsjw6sgBDShQ6sBEECIReAARKGBEoBKIwAYYMUNgMLIB2AHs8CDS+EHgqBGdyMGcGAGCmEGcEBD4oZwYUA7IYZwYcA6aQeCoEeAoAGOwKkPIAAT4EMKoEdIIIPqf8eF5ceFwWoPEGwPIImXAHNgAAEgQAKgAIziR4YgAAYgAASgB3QAxQQKaAeGQGsgABQAc2CB9qCKNoBEIkeGooAS4ABKIIeG4EB0gGogQErjx4agABChx4agxeAgTtHgBGrAQaNHdYBMp8eD5MAOQEqgQAZhB4PgBlRtx4PgABOAwYMMKkeBQEGgQB9kx3/AQaEGG4CDC2eHfsBDoAACgEOgh37Ag0sgAzckh3uAQyAD2GBACkBa4AP94sd7oEEE4Ud7gEngwQLgg+FgAQLASuoBAuSHdyBOUKPHd6AAZsBYIAAP4Ad3oEBjIId3gQFQR5JgSW2AU2FB8GLHeUBJ4od5YAI14gd5YAVVYMd5YAZHIId5YMX4gELgx3lghxWhB3lgRqejR3lgEUHgR3lmAQkgBsCoQQkAQqBAGmABLSBAGmAAAyPHeWLAn0BCIAAxosd5QEVgwuRgAAHiB3lgAAOgAufAiENiB3pgAM6AiIWggEljB3pASaRHemBHf6JHeWBAeGAEWaBPOSIGq4BE4MargEYhhYrAQaCAQWBFw0BE4MXigEZgRcKgBzvhBeKgAC9pB3lARmBHeWGM2QBDYgBJoAADIUcLQMFIAqCARwCIAqDARwBDYsd5YA8xYUd5YAdd4ACfYIB4gEIhBbDgRQsoxeVhwBlAwUgDZ4d5YAUnIACBoEAM4wd5QEEggC7ih3lgB/CjQCXASSoAJeEAhuAAJqAENKDAiCHHeWAGYKNAFwBI6kAXIAd5YYAXIId5YAR/4Qd5YADTgELgADygRVaAQ2bHeWCCCWBBQ2FAbiCBkqBAc+AEauDBCaEAsiAEpimHeUBJYgd5YEC64QDAIgd5YcC7owd5YIAO6Ad5QEeiABDjB3lggBDhh3fARaHHd8DBQwriR3fBARBBkmAEVIDggJJggzdpgiwgAWMAg5qgAUUAWuAGfKBBX0CEmuBJ76BFkyBDsKCFkQDHCINgRbSgAOSgRZ8BCBqISGAA5eAAAyDGyEBIoMADYMDpAEjgQALAVSAA6SAAAcDUCEZgQAHAUCBAsiBDtABA4EAB4EV0oAABwMwISSCBr8BDoEDcoUGtIAwVoAAC4E+cwIIaoAYXIJFhAFyggp5gQNPAgsggCtcAiAjggPqgTzHhEDqAQaBA/SADOeBGS8CBHaBBBaBG0+CAcqAGxQDLQACgRkDgSLdgBwOgAMEgAOmgQrxAQaBGtwBCYAWUoIdjIIALoIE7YID04EQH4IAmIEhO4EC3YIGTQEKiACoggCcAghqgABPggB5gAECAQSCGmGBPEWAGb+AAImBMTmEAN8BCoYC/4EAC4YA34EcroAA2IEhnoEA5gELggTJASKEAN+HANsBCIMbpAEIgQMUggDbgBZzgUqyAX+AAJaBALuERNmBGzqCA4iJA2yBBe+CEOyAPs0BA4AaoQEagwCBAQOEAB+BLqiBADiAAIeBA2GAALeDAGyDAUeAASKCGzuDANoBaoAFWAMMIB+AGKuDGvqAGfmBGNcBJIEa94AB0AHEgRr3gBr1gAZqgRzUgRcmgQFUAw4gIIAAKIMHgoAAiQELgQWZAw4gIYMAFIEAEYAARIEh0YEYw4EtIoIBsoIatYMBsoIk/4IGkIFCbIEVZwEOgRpFgQB8gBSJAiIHgBcsogA2gBX1gQRggAA0A2shCYEWMQEOgQRPgQCFgAAHgBR0gRlCqwBJgAErAQmBBG4DCUEDgRdRiAA6ggG3ATqAAWeFAn+AFLiBBTsBCYAAVYACOoEAVYAAB4MHkoAVDIAgfYYAPAIJQYBBg4AWhoMCroAAnIIAb4EjOwEMgBwGgACphAAogAAMhABkggAKggBkggBWgC4KgwX8gQBygBAnAQKASmqCAGaAAk2BACqAAD6ABY8BQYILboAQHYQAZoAA4QUtAAQ6AIA6XIAUBIAAFIACjQEIgx3YgB3WgQEAgh2YAwgMH4Eee4ECGYECpYICHYAQ4YACHYMCtIAA0oIIp4IhBoEB/gEZhwAshwMjhgAsAQuBCdCCIU4DDRwagCExgAAVARuBAPKGAT+BAx6AH+eAGskBT4AkjYAiLIFDw4MoZYAE8wHIkSLKgAOkiggcgR3nhCLKAQ2BA02ABm2rCBwCIA2FIsqAAEACACKABkuIIsoBC4IdGoEl7IAAaYMiygETgACVgAA1gx+tgRg+AQWAG4eAGlMDcSALiCLKgAoOhR+tpQCIgAosgwOdAQuGIsoBDY8iyoEAWYEBG4wIrAENgiLKghTDhiLKgCiTAQiRIsoCyDeDABuUIsqCKMqGIsqCBIOAACGIIsqATcSBCqOJAYaAALyEAO6CCpOlH8mAAMeEAM6IIsoBC4UEjoMiyoABFYEA5oIBFYUHzoACNAEOgQ82gi2KiyK5gArtgQxchANhgAGqghRfgR35ggdRAQqLEGUBJKQMWoAewQIgDoI8xIwdVoFEbgEggkVCgBj2gQdcAUaCB5yAEc6BIIKBEPiCIgGBEYuBAk+AAb8BA4MUYYIAloAAN4AErYACXYMAGQEogRZXgxRyhBBOggPagBFCgRFAgBmEnBDpggBnAhtGgAAxAwBB54oI4oAFVQESgSypgyZLgAASgRaoAYCABLcBdIMAJpMQyQK9/oIeEoIT7AIAcYFHuoEOFQIMHoYgP4AEcoIgJAEGgQFpgwAUgABmjwAekQAygC2FjgAUghLHAc6FI/OEDwWDDxYBBoIrvYEj8wEKgzdJgw6dgADYgQA0Ac+DAruBFnuHI+qAAQIBzIsj6oIBkgFUgANXiwK+gBv1AiAKiCPqhwREpCpFgwOngRzTjCPqAsg3gwcZgBxHiAQ9iiPqgQQ9gBnFhAQ9gQe+gR4jhQQ9pQCBiwQ9hQNbgAEhgQgugAU8AQqCAKGAHOqCA3uBJ4qEBEWJA1+eI+qCAWCLI+qCBBuBDneBEGmSI++AAWQCIAuEI++FBCaqJvCMBCaDI++EBCaDI++JAMWBDTeAAISJI+8BDoE08IApOYAAwIcj5YID0YEB6IIj5QEFjCPlggjujyPlARKGI+WAChSNI+WBAESII+WAACKKI+WBIemAILCDJfmHI+UBC4Mj5YEAHoURQYkj5YAP94sIsY4j5QEOgSPlAQ6CAE2ABROGI+WGJ3qIA2CBKMGNABSHJ9yHABSAADyFAfOCBP2BOCiBAQOBK4qADWeCAVWGDHiBEn4CA3aAISmDHXeABZYBa4ERgQEihAyeAROAIyOACHSBE4WBAD0BBYFMV4ATioEDdoEIMwEFggHIgQymixsZgAAHAQSBBH0BR4EE/4QGtoBCeoES34MkYgEGgVRVgxXBAkG5hxKXARSACRSDFvKCAV6BRayBLJWAEpaCAeqCFnaAH1yAHzKBG3EBDYQACgEYgAGegAAHARSBAcQBBYECA4AM0YAMq4ABloAkB4EauIAdOQMLSxuBEtCAACaAChiBREuQGMyEFuuBEvuEF5aFEv+BAPQBRIQS7IQS+oAAXYBQ5YAAvwG6iBEtAUSGF/2BAMWBBrSBBqiED3cBaoEDzQEDhQDHgR9ngUSRARyBVVaCArYBRIAIeIAAEQEggSQugxILgQB1gQgzAiADghThgVGFgQJBgQEYAkkbgAI+lhhqhgDKAQWEAMqBAH+CE66ADjSAAMKAIJ+CKVmEF8aBHhiCHaqAAMYBu5IAz4EM04UAz4IU2ZUAzwEkjQDPASjkAM+DNeCJAM+BHNUCQbyJAl0BBYEB9YIEzYcZ9IEur6AIRYMAnIUAkYAC4gMvARyBTqsDAEGaiwmBghfAhxidhBooAUGAOeuAJraAAPABCYMbUYASGIwczIwYgoEEaoAUOYIEaAEUgAAIigj6gkY1oAj6gQikgSMuggOSASCBUoYDAEHQigUVggClgAXphBfJggC5gwejgAAbARaBFpaBAKmDK8mBK9qBP8SlELuEE3mBBWGBNIKACV+BUweDJGKBKB6HKB0BCIEK9oAAEIkoHYILD5YoHYAAbgE4gUpvhSgdgyhLjSgdgACbASyBAbuCBi+ABtGBB9kBCIAFloUn0JAoH4InwgQ0IgZqgAAnAQmAACeBTumAJUSBJUgBSYEhqAEIgAA4gRLDgigfgAAjgAUhgBAEgCY0gSgfgACWkygfgU6ugALvgih8iygfgg9ciygfgATcgydYAQSBAYWEKC6ATD2FKCmCAM6VKCSFAqaHCs+BISqAAKaDCrgBHIFZXYMHB4EK1IERDQMIECeDJEqBAAsCKAuBAVuBAo6AAAeCKKyBBdq5KHMBBYAocwEFgyhzAQWCAJUBG4JLhAEchihzAReDAmSDKHMBC4AodIAMxAEQgyh0AReDI94BB4Aj3gFLgD0mgSH7BAR/QX6CQhWARQ+BAieBJFmNIneBAOeDAkwBKINTMIgijoE82gEKg0ClAw8QP4UACwFxhwALAR+AAAuMIosBCIAiiwLXJIAo/YEhuoFO8wIQNIEiQYAq3wIAGoIC44EBY4QiiwEcg02UgFVZgwCZg0pagQDqgwE0BQRBmgVHgCsYgRpgAYeBA4uFKUyAJpKCAx6ADEiAAHmABDCAAXiHA0KBAa0DABA2ggApgwcfgAIdgwE5gAdfASiFRlABBIBWMIFE8QJBd4MkNQJLG4EP3IQAEAcDQQRKG2pKgAC2gBBCmCI/AwRBKoEQgYIAqoNECYAEcwELgTBsgAB3ARiDDqYB8YIEpIMvyQMwQQyAIUgB8IEY4IEEOIMAsQGIgACHAUqDBgoChAGAGdYCAkiAEoEBwIEIAgEDgBUKgAAMgAJHAcCBULQBBoACA4MbX4BO8YAAKQIgcoMJdAFsgSUUAh9wgEBcBEEfcxCCCGIBbIIX/wQALwEygQAQgQAJAzAQPIEBSYQNAoMFQIIAm4IBLYEBOIQEc4EAYwMEQTmDUbWEBXiCAC+DBhqBGYqBA0uCAHqAFVsBH4IOl5MAHAGLgRxvlQAdgCEOhkyjgyMXkwAoggoV7AAcgB77gkiKggGQAQmAAeMBQYBGhoMDzIIBroE2UgICSIQBjpEARgEggBKFlgBigQfVjgF+ggLUgwKigALmgATxASSBCv6BAyaADEWBHtiAC/OABRKBCq+BBPaBAvqECgeCAF2CALKABLGCAH2ABpwCR0GBBGYDCBtyggC4AQOAAAiCXY6AAAgBEIEITQIbcoIAhIAAX4IG1IUATYMcQIAKH4QASYMAqp4AJoIi0YMAKQMvAQagAE8CLQCBE4mcACa9AX2CALeCRUCcAI6CVhSBTQmBCvShAQyZACaIAQyAAcABC4ABs4IYxIAEG4ADQ4EGn4EAN4IDUoIdZYcKQwEgglrtgwOBggRbAcWAJpkGBQIJCQkDghSLAduAMBSBUWAB54EMLIJZvYICLoIoTocAxoAHbwIvAYAG6YAG54EOLYEAbYEEaIFDtIImgIJPdwFPgwPrgAoXghm4gADSgjE9ASCAAL+BFpGGHtCAEbuCBzaCACMCLEWBBHgBT4QZlIcA0IAARIAGpgFrhQDTggBJhBIwhgLcgRWlgQwTAQaBBPaDDvKDAuuDQHSQAIkBBoUAhAEUglJYigCHgAClAU2RAIeBAL2GAVqBAVKCE+KGCbyAAD0BHIMGEQEUgiBzgQAThAEjgU0KgADvgkZGhADqAQePAGOAGPeAABiFAGOGBTeCAfuAAEqEChWBIPmBC4SDAQqEAiGAEzyDDAaBBb6EAjOGALeBAjCBDuOEBQ6BAIGDBg+BYK2AGBqBB2OKAIaAABaPAOkB24IA6YYARIIre+MA7IArFq4A7LEA6gHniQHLgQNXgQDIhADUgBdjgh1RhQCpgRPDg0siATCXAImGAB6aA8uJBwaBAIeNBbiBKUeCAs2CNiGCAAqCD66CAAqADAaEAAqDAI6CK3aAADgBdIFFroFJY4ED8oAIP4Ez8IQIV4IKc4EE/YMHFQMBEDWCL+KFCOCABQQBAoUfnwMCQZSBESaDRDGFAFcDAhA5iABihBUJArQtgwxCgQmrgAAdAVyBYKgBToFkFIELnQIDaoE8f4EADAFsgAOmBEEBEC6DACYBbIId8IAGfQMQNkGABXSCAAuAA6MBG4MA1oAAVgFggwBAgQArhgHzgAANAqAtgUhpgAFNAqAtgUgOBCgCmC2JB3SwAB+DAbCBEg+BFD6ADCuAIAmAACSBHxWCADSADPGAEk0BdIQAt4EPK4I+24IAToEABgKkLZsA+4EQsYAB448A+IUA9IJg8IIBIwKgLYIObJ4BRpkAToACNYMBRIEBv4IjWIMhfYIAy4BFuAKDAoIVWYYBYwFsgyVogQHaAgFFhwAlAklxgA+VgDhjiwAqgSFHgQ4ygQCVgBbHggInhgICgi3iwAICgQLsgwEMhCrJuAEMAQeEEWKAAK6AD7OCET+CAO+BWqKAMq8BAYFJjYANxoEV44IPA4Id/IYACoBijIEyxQGCgRtkgAkGgBFoiQACgAT8gBvygBE6gR4vAQiDWTCAAAyAADWAGfSBAAqBTuaDAAqAAx6BMfWAAAqAC82BY2CAAAqAIKKAXUGBAAoCB0eBPNiBGMCBHoSAE+mBFdOBE7YFA0H6AUmBHreCEVuCP4OAFd6BBAOAIsiBAAqBLMWBHMwBCYJNj4EcrAEJgk11gRyigh3DgC/CgQAKgRDHgSJ8gQENgAnLgBRfgADUgl3Cgjk2gQcFggHjgAMggQMJAQOANGuAL3eCAHCCAyyCAyqBY9iHC3aBACuFAB+CBNeOA2qOAB+BAFqACAOCBaiBG20ELQCQIYADdYASjQJBhIEffYoDe4Au74IuRoMCfoER6wKIE4IAHAGIgCTjggKogicSgQOYgwyqgwOYggKUgQB/gRYUgQHmgQQ8gQNUgwnJhgDMAQOMAK2GAB+CAE2OAMyOAB8CIAWBAB+CAYmoBDaEAJyFBDeEACy0BDeAHeiBAO2BTfoGQQxsQZgggGhyAQCAM7ABC4AATwF+gBmMgzFyAZqACWiBV5MCQX2ANk+BNF+CADwBBoExVoYJ5IAA3oAExIUGCYALCYAKHoFuqgECglSXgAF7ArgtgwOhAbyAAQoFdHIiBjuAABKCEMIDA0EOgTLUlAstAQaXDKqBESMCuS2DDK6AVZ+FAF0Ca3aEAF0EA0ENa4IRu4AC34AA0QE2gAAehABxAQq/AHGAKDKBAMCBAHMCQQmEAGcCB2qAFEOBAGUCEC2CBRCEB5oBK4FPaIIBqoAxm4EPxIJl/4AADYAXGYUoe4EiW4ENCoJNyYEB/IU0AoAFGIIACIABu4Mo54YQPoIAIoIHvIMQmIEkroIFVwEYgQIMBEwNAxqDCEKBAdyBZxKVANWCA5CEACqVACOFCGyAD7KYACaCACMDLQAznQAjgAALuwAjhwCPAQqfAI+DUMWWACOCFSWCH9yAajMBdosQkIMDKgEYgWdDAUqDBsiAZlCGXEMCRQuCNPMB+oEnJARBewscgE+piDULARCADGGHNq8Bu4BxlYES9wE0ixL3gQ63glYXmBL+gAAgAUScACABQJwAILATXgF9ghJoAfGAE/0BC4E3kQEBgADEAQmCE0sCbBCBcC6AACcBbYET6gcQQAu6CQEVgTXcAUCAJWSCBtICBkGBOU6DDdYCIAeBEoICCkGADTSCZrECdGqCBOWABPCASYaHBPCAABqAFvmCDXuCV3mAF9cCIQmAbccBDoEj+oFAmIIAQoAQTYIAQIEKeoAADIEkY4EAMoEkJ4AABIFOBYAW2YEZpYAlu4EsBgEQgB8JgiomgAA8gi8UgAA8gjsQgi8UgSNEgCG/gQAdgUnxhAOKgySKhABYgRuOBAhLGyGAOZmADFEBAYImL4A72oEA04EAzIE6qIIAuYIAQYIeXwIgaoEAZQFrgAkAAgBOhGgMgAALgAIXgQCxAkdygBkegjGogCLQATuAI7KDAFKAAO2AAK6HAS6HASkBIoEJPgEKgwCfhAExgABagwEzgWDcgixSgAANgS5jhQFBAkETgUCEgE9FARWEBYwDAA4CgAuPgT2DDCESQe4IIRVBrgghFIE6KAF/gAARAvANgAARA7ANIYAyQQEBgBatBA9BCUuBaTaAZReBYJsBAoAU7QFxgGl+gARZAw90IoAHPQNrIReDEfCAKZOCDWSABIOBCiOBY4kDdCEYgAosAX+BEcECIBaFAMKARL6AFDEBGoAyhgISTIRB7wHggjyiARSBRN6ACimBACaAQR4DBiAVgQdoAwshGoEk7oAIXwIiDoEBYIApw4BGJYMkzAIgGIIOLYEeZIA8zgEHgyyKAiAQgAFJgCUCAQ6BJMsDGSAagQP1gSZCgl9jAwFrdIMBYoE9zQF2glwcAQeAWRuJAhOGAoiAAbSEAoqAbICAIcyBUocBB4Fw0oAAy4FRSAEGgh9cgijBgEw0gwGwghzNAQyDChSCRQQDAiAXgCBFgRpQgwElgQAYBSAPIgkhgDdshwDLgQRQgQC2gBlMgQC2gRVPgRPWgD7fiACygWHCglligD3EgmyrgwCYAQCCbRmAAJiCAqODX6oCIBOBAFaDWtuAJKGBAmMBDoEJ4oApA4YBiYQAB4Ifk4AApYEg3gFGgADKAQ+AbJKBPVWDGRkBS4Il/wQgDBsigEegAQeAALIBGIIBegERgQFNgQGTBAZ0IRCCL2eBA3EBDIAvvIEhoYA9LIEBToJJ7oIC/IAFUAFKgW1WgDyaggJUgQJNggIgAyATaoACRAPTBkuEAlsFE0HRBEuAAl+CFEqAAtqAJUCCRWgCIA+BAReAAtWDCSCAM7WAUpQBdoEBMoAhOoED0oEAbIECNIMDrIEDyQEAgwMPgT4qg03LgwMdhwOTgAAYAQ2BAAiBAzyFJ0EDDgsrgAFfggHLgATbhB/hgQSTgVyrgQAHgmV3gGqzgW67gwT1A2BB1IIE9QLEA4JxIIQ8goFVoAHVgRgkgRcbAdWABnSCAAeDUOoBAYEdcoMAHoMlpYAQVIEmy4ADNIEOkoFQwIAcz4EoKoEMDYM364AOYYAIxQdBoIbi7X5zgiASAgFxgXGigzBohBwSgAoagAoQAcCAb6mBABaCIaqBAGiBHKKDbtsBc4Agu4FrX4AuKAF/gwKuggDlAyADc4InW4FyHIAAPoEQSIAAKokA8YUCXYAAQ4AYjJQAM4ACoQIIdoEAHoACwYkAHocAGYAC4ZMAGYAcDZMAGYAQuJMAGYAHMpMAGYADIZMAGYA71YoAGYIA4oAdUIEA4oAbRIIA4gMLvQWCB5aCA9qAACGAPKCEXdyBCviAADGAAPuBA60E8f8Da4ER+wRB8P8DgCDEgWpJgXJggXZBA4CAPIAKF4AAW4IAGwMgAHKBWXWCdM2BHpiEAXaDAVSGAFGBZn2Bc/iCAXGDBvSBAGMBcIAAUoEHc4EAbYFi54IAUoAAUIACKQLbAoEMgANBsCuBD3iAbASCDjeBAmeDAE2DAA2BMtuEAAuBDZmEAAuAbwWFAAuAALaFAAuADiGFAAuBFMCEAAuADtCFAAuBDUyEAAuBaamEAAuADqqFAAuAQJ6FAAuABAmFAAuABZiFAAsBDocACwEPgQALgnVpgC0IgiAsgCGJgQR3gwD4ggLZggAJgQGkArArgwGlArArhQKIAQKAAr+BAVIBEIcCyKQBUoYAWoEj/4QBzoJsBoICuIAADYQAC4Fl3oQAC4FxhIQAC4ABMIUAC4FoXIQAC4FmF4QAC4FsZIQAC4ABMIUAC4ABMIUAC4E/YYQAC4ABMIUAC4ABMIUAC4ABMIUAC4ABMIUAC4UBMIACZIMBDAEQhAELgRezgS9aAnRygAFEAwsLkYkJeoARooMInocJfAEGiAl8ggUQhQl8gCjFhwl8iAjyhwl8ggBCgTpeigl5gUUyhwl4hGYngW/5giR1BEHAAjaBDMySABeCTE2BFZGPCa2CB0+BJFCjCa2CCR2DCa2ICjeHCa2ALDyCAFyAblOECo2Cc+OABh2BCYyFLmiAEDOICa+ACMoBToEINYBbhwEggEMQgWFihAmyAg0CgFWagSjkhgmzgQiEgD5BjAFnhwFihUQjiAFqgQh/hAm1ggAXASCBCGuFAI6CBbkBFIAGzwUFIhMhFIwJtQKBAoAJMQmgDyEUQeAOIROBCbWBCUICoBCBABEBD4BaDIAHWAENkgmzAgQagQAbAnQigEqVAWuAMiCECbQBDYIXHIEJtIBT4IAAIYAH0QEWhAm0gACAAiAVhQDDgCvAAWqALtMBGoAf6IADdoEGqgEOhAm3AROBABOAE4OFCboBDoABdgEUiQm6BA9rIheBAWuBCO8BD4MJugEHgCKBggs7gijzgAbZgQfmAxggDoEH0gMYIBeBB+0BGIMJugEGiQm6ggFpgQfJgilNAiAGjQm6hQLGgAG/hALIggkiAQaBCSIBBoEJuoAAz4FB9IM5f4UJuoF2eogA64oJGAEZgClKgEY7gAAoAQ2NCRgBD4AITAQPGyIPgRq3ARGACVaHCRiAAPGACvuADKqCCRiAKcCAT/+DMYCCAKyBVeSDAmWAUY+BCRgBB4AkUoJlMIIJFoAj9AISaoABpgHUhgkWAxJB0IIJFgEHgFO9gkW2g06ggE56AQ2EMO6DMP8BEYAYfYQJFwELgAp+gAM8gQBrgAGRhAMWggkXgAM1ggyqgSzbgQAYgQKKgAKAhwL8giXJhwkYgQVugTXXgjBOhwqoggGkhAqohgp2ARKECnaCNjGCCncDCwuqgBHygQdSgRY6gTIzAwFBnoISRQQAQYgTgAASgAJJgmyEAkEegwAVAfyBYbGGABUBE4J8JoAACYAAWIMD4YgF0oABMAM7AZSAa+iBDqACsC2DRRIBqIAACIEAEAKgLYEToJIAOZYAGQMLrwKCAKyBD++BEi6BDwKAEkABBIASnYA8xYAAEoF0nQEEgxKdgg8ugRnIgxBAgkQpgBBAghPBlAAcgAb4gxIsgmKIhABdgBKdihKbgTJGgxI0AgAQgEX5gwBKhxCmgwBKgjValQAchRELlQAfgAL7AXODFTCUAKiGHhODECKEJI+BD+oBEIA3E4MANYBs/4FAYwGngBPQgkdRggDMAwFBCYgBG4EBWIRtS4UA/wG4hAD/lQAgggEfgxK9gBKvmQAqggBKgiIggwGZgQCAgm61gAH7gQE8ghRwgTkkgQA6BMAtC6aFAKmBAeCEAK2CSeK8AK2FAIKCTQWBClABSIJtGZ4AVIEAP4cAuoAKgIIB9AQLC/wKgGfAgwarhQX4gRtcgxJugQwyASKAKw8BLIETvoEKnYEDVAcJQf+A/59/gjSsAQaDP3qBDB2BB0CBGVmDBzaCIyOABTaBGWyGBmKABxWCAuoBAYFv9QMvAbyEAAgByIAACAJBIINYN4AMh4E9KIAcroAMW4EAOoAhtIIRcIUWKIEYFIQpGoAOX4ANaoIpAIEBFwWYFmoQL4IACgGkhgAKgACwgQDFBJwWEDCCABCABAKBABABqIUAEAGwgwAqAkH+gX/YAkESgQYjgAECgDVggQZyAQKDL7OCN50B8IBBxIMA2oMF5oYyD4EATgEtgQAygBe6AwVBEYABgIEEEQYoAqwtQQqAIsmAWMmACm2AJteAAAqCLFCAABuAHKCBeJuCEYaADXyBHpKBGrSBTpmAemiDHmiCJjECECuBAICCBByDdXyAAnOAGA2EACGAFVOABCeANWsCciKARriSBC2NAhGJA8eXAmGBOC2FArSEBC0BAY8ELQJBoIBBjAMaEDGCAoeBJhCEAI2Cdr2GAIeEAJq5AI+EAz0BDYEqpIEAmoAAlIIKi4Q3AIRMAYEAk4EB6YEt9gH+glr5ggHogUlaggEXAQyEAJCBIYuHATK4AJgBBYIH04kBKoJuPQELggEohABngWvFgAKxgH73gwChgACKAQGHAIqAYuvCAIqDCF2WAIqCAGeCABKHAIoEBkH9/4MBJYIAkwENhwEdwwCTkQEfASKAPaKCAksBDIIAmYcAb4UAGAEEgACfgwHKggQ0AQqGA5iAA+uCE3UBCoJCtoEcbooDk4F/JoYAR58DBYEnV6AAwYEZz48AvIgDB4kArIYEDoEEcoAAkAMJEDKFBHCAZ4kBB4IADoEgqQExgReWgHzTgiGJBywLC5YLARKBDT8EIGsiD4AqpIJ1IoBhaIIXj4INCYEX5oElogEAgk1NAtDHgAhxAdCCRymBAAQBSoKDKgNB2CiDDtoC3BaBVZ4Bf4MVFIIMF4FqJoESWoBXKgEogW2UgBT/ggDagQCkgFc3ASiAAUuFOeCBLzyBFG+AJjmBVLqCcAmBQtiAH0mAgdiACPiBAMGAfraDEqGDBPeCHB2ABO+BNG8CCRuBFoSCbe2DBP+CE5+ANG2AACMBrIEajAELgXPmgwBSgB4bgAG3hQGiAdCALZSAChWEAJCCFVSEcIiGAHCAa1yCLFeCCgyBBgWBCduCAXOAAV2DJiCABmyCAPSAB8iDBrkC0CiCABGCAO+AAISAAF2AABUB4IAMBoICQoIAh4JF4gLgFoAAEYAfRAIQM4MAjwHUgACPgjGlAdSFADKCHwiCAJeABm2EAP2JACaFAB6EATSCIYKGAOoBBYMK4YMMcYEA94INhYN3/YAMKIEfuYEWFAEEggAKgBokgR7JgADfhCHNgQr7gC1NgwsCgBw/iACthEPxhgHcgCshhAaQgwCcgACOggCcgwHhggDKgw8MAbyAAieARc2BGfqAcAWBAmYBCYYCcgEQg3vUAQiDWwsBBINOpoJD74I0hIAKRoI8T4IsCIUcOIYUEYIx1YEMrYMAhIMBYYUK94AxP4IJ7wHUgACtgACUBrwETBshEoIHboIBzoEjGIAv1IAx+IEvNoQAPIEktYAX84A0QoAB6IBSIIQ8YoFDwYEANYEHJQVMIgIbIoIXgIGDsYEqEYEFdAIgDIIV/oIX34se14IU8YA+jYEEIIBIMIFV/4MAbINsH4MHzoAAaYAAfIABpQMQamyDB9GANB+HAtmAQN2AFkeAAIaAAcOBACCDAt+AAMqChp2BRyiAAHaCRNkBAYICg4AB4IEK84KAeIE8noIO3oEI0YAASIE6poIOOoNIvIEBHIEArAECggImgl9dgQ5egg+4A0ECSoEABYAtGoAAO4EAXYEAlIQAboEOP4IC/4ID8IM4LIEtKYQBR4EBEIE+HYIJWIAfxIEBQoAFfIMFT4MA9IAAFIEIVQIFa4QA8oAR+4UDbIUTBYEK4oAMuIIWuAMAQbqAAkeBAU+BEJCEAhyBGvEBf4I6nwIASIECxYIEioINWIQbhIMNBoMAgIEFBAEPgwJJgS/RggXIhgGkgoHagQB8AXGABdiBDj2CAmgBS4QD6IQ4NIITv4JD+IIAnIUNpgEPgA5XASSAFa+DAF2AhnKBHHGAbqCBA3yBABGABt6JAraBhQ2AA62AA1KHAOsFC7YCAQmABxmBOSyCgieCAsaABtECOwGAP0sBQYACQoAE7gRBB0GKgGaCARuALHGDDkaBHC4BCoE6ZoEEhoMBAYJ1eYEK2ICGaYADHoNCyIIaBYAZooF45oIW7oGMh4QC2IAv24EET4EFjgFLgRBtgAbOgAVegSe5gAQHggE9gxotgALtggDHgh/2ghYqggcdhQAlgHCjhgLzggLYgAtugRCLATuAAAeDQvqBCuYBCYJ05YEAHQHAgwAdAsAVgweagAASAcSDABIBxIBieYARWAIKQYA7hIEEtgRGIgMbhQD3gCTwgAMlARuEAQ+CATgC0AiAATiDDESAJPqBAF6CCr2CCY2ACr2BAHqDBpCAIryAEYeBQNGCef6CB7YBL4EFDIEANYFDOIIikIMBgIIAkIEOsoIcfIQHlYEhwYIPJIAHp4AzgwIDSIcH8Y0OgokPI40AHIgH8YATp4UAXIAH8YMPgIEFqIAU+4EMeoEAC4MK7IAk7AKQIYFBcgJ0IoEWpAQvAYYIiwCmAoQIgDawgwBLAQeAAKeAAjaDCJmDAKsBB4gAq4EHeIEAj4JUAIUtQ58Aq4BYkoUAYIAAq4MAYIEkJoEAq4QmF4UInwYJQRxrQWyBF7WCfxECkB6BOnCDAIyAAA8BoIA0hYA0mYMAkoAaCoIJSYBJAocJ/40AhoIuOoQAHJYQcIwJ/QEEgAqSgzSVhAChhABqhAAVhQCrgACCgQB6gQq0gQ1jgCbRgUgggA4SgR8eBIECSRuAAXgBI4MBeIAW94AC4YANoYMAt4ECGYBEpokRN4AAfQEGhgDakgCupBE6hwFsgADHhABggQe6hgFsAQaGI9oDCUEEgVregAjFgAFpAR+ADLCAADuAAAsDoBwigACLhAKigTSwgQK8hAIVgwB/hytZqgIHgX/TiwFnjwCghwByhQLShgCwgRzFgBhsgiF/AqAtgUNygALeAy8BgoGF6IJ8kwMvAYCBcneBAD2EAhSDXXabA2+iAiKBETCFALiAgIaEAQ2AiEWDALaBeIiDEKEFswsBCn+DBWuBBY8BIoAfEIEw7YAs9wEbghsvhAV5iwV1gI99ghzcgA6LgQcVgALygU2VgTgkg00Xgj+EgmntgILhgStDggWEgwVxgQs4gj3SgBVJghVjgABmggTFggDEgATFgR1CggSagQJ9gAFbgQJ9gD2OjAElgAHyAQWIASWNAeKJASWNAByIASWAXJuEASUBBYAB3YMAYIGCSIQBJ4EACwELgQqGgSXyhR4ngRXehxA4hBRUgXqYgRA6gQX4gAD0gRTlgh2whQDmASKCSSaDitmDIeSCA0+CAqaAHluCAfWZA02iArKCI/mBBWCBAMCCEhuBbe+ABByDAfOBG0GGD86CfBKBBraDAIqBKraBAQwELwG+FYB12oYEs4kDRsAAlIEEeo0AlIAF/IAAJ4IBZAEFhQ83gB1chFsFgSoXjQ8zgQ4TgQBtggasjA8zgQJrgi9njwHtjAU2gHbAgyfhgVCZgA/HgQaFhgBxhAAagCs/gQAagkrKgDwQhHs7gQfQjQE3AcL6ATcB/oUBN4QPmeIBN4APrJABM4NOxIIBJgHEjgEmAcb6ASYB9oUBJoIqHeQBJoMqOo0BJoAIQYN+FIIj/4IDkYIKA4At4gFGgA1zgQWPAQiBBYqBCgOAAA+ALiGBBY8BCIQKBwL/AYCXtoMQmoEJsYEQmoGRXYUMkIBNOoAMC4FKnYMNKIMOBYCM2IEAnYAOzgEEgAyugkONAQSAHRKCGyuAAWKABV+FAECCBLKBBKWBehSEMPOBABiALt6DABgBDYM9nQENgSpzgATvgQ9cghCPgAAIgj4agAuPgw1cgBraigBCggBjggBagXgWgQDtgQy3gQA/hA+tgXkygQEpgg9Vg38phA0ehQAVgCmLAwALg4EahIANGYKLyYQ7zoF2GoEACIVf84ApfoEACoEPggEggS+3gRYHgz0KAduAG6oEAUEWTYAru4AGs4BfxgSggAJxgCe4gQBNgzb1BAECAgKCC9oDQSpGgUA4AgVGgV/lAwBBOYEtAYEG+YACXwML3AmCAYaBkLWAQs6CAhQBLIEr9oAG34ByeoEAD4AAA4BUXoIruoMpOYMXo4J7nIJ6nIMCLgJBKoAWwAJ1IoB5KoEBtYACSIEAFwFsgwg5AVyAJaiAAYiBi0iBmHGABI6BAGuAAtyBYdeDFJsBT4ASTwFLgRbjgBwAAUWAZa0FIARHcnKBZBaCLJyEPNCADFuAai6ALKmBArqCAs6AW2qAHU2EFgOFABOAIpmGGnCHABaBk7CAJCqEGmWHABiAHY6GNKSDLnaAHKKEgC6BARiBAAgBOIIAxoFD5IEAt4AfvoI33oIBBIBEMoEAJYE3q4KKz4E3fYEvroALx4EADYAD8YIDboIAXQFcggANgVH9gDfGgQF/hRk/ghyqgDWFAhA3gi0NhwARggBWggANgQdeg4jigTlhhBrqgn36ggFjgBCcghjugQMTgn+Og33+gQGEggJ8gRB6gYFPggSbAiwigjMagnuFgRyjgi+MgQJjgQEkgQDZhAAlgi3XggPbAWyDAEOAABeAY2OBAdiAAWQBBIKYt4AAkYEuKIE0KIEASIEDw4FFAIQBIAGwgARGAUGDg4+CCUGBAHCCALCAAEKBAAcCtC2BQI2CErcBtIMAGYEwFoQBe4ADUYNBOIIAkAFsgSTPgQCLgglSgQChgwBBgWjBgQq/AgVJgDrTgABhggBIgQC0AVyBBT+AACMCxC2BHueCABMCxC2CDtUBBIM0JwEBgAMkgZ8MhAFCgTZXgSIAgQL+gQGtgBpkhgD0gi8LhAAlggCygQLVggmMgEILgCo5gQBfgpI2gwCggTnLgQHphAESgolqggFZmAESgEgVhBOsAWyDA1SFARyCAYeCBo6CAnCCP+yBBYqBMs2BG1iDATaADQEBA4ICP4MBLIGUVYMAjIIAOIUBLIAAo4QAPIABToMAWJABJIQBAYAMkoAKeIQDy4IDCIUD54EBDoAy2IIDt4QCUoFG+IAD0IMhhoAQtAFFhQO0AQaAYV6ElRmCAWODgtmDAKgBOIAFMYIMfINHdoF/9oID7IAE6gEagzHAgwGWARqCOzWAGJmBA/yDA0qBAwGCAWGBA7KBEucBQYBa0AEDgoqNAUGAQkuAHV6AJIUBi4Muz4JjnwEQgAqkgy9fghfJgGr5gRqTgZRnhAVsgjkFgBo7hQJxgBT5ggN/gi+VgAAYgAANgUSGgQQ2ggANhAPVgRptg4EKggBdgWVqgwAcgjVdggAWgACQBBALC4SBHe6BADKAZCeCBEiBJ6WCBAOCA0SCXCyCANGBAiuHHWiAOaYBGIEyp4M4rIIAcwEwgh73gUB/hBGLhQAThDpohABGgACkhAf2gAS4gAANgSI8BQuECQEPgQd3gSDogRk+gR2ugiSDhwByA3RBhYJaSAEAgTcpggARgAKzAoYCgjy1gzCEgzmvgTU8hABuAVSDAriDAoyABwSCAe8BSIEABQNYdHOAgF6BS3qAAA2EAq4BNIAfAoMWcIBQpYMU04EHUIAJTIIDR4IStYQBlQEsgAB5gUUWAgNrgQdtggQrAhA6gjXFggD7gjU7ggT1g1N4ggA0gDTFgwNagTR/gQARgTTFggMWgAAFAXCABQSGCQ6SACqBjvebACKCNd2CBnaBhFWGNd2AEVyBNd2EFZ+DJUqBbxmBUiSBXVmBDn+EEKyBRMCAF8QCkCOBCDCCDVyKADaCAHsBdIIA34EE34ABP4IADQKkLYEUSIEAlYFFVoABgIMD3QKAAYUeEoIV04AN6wFgggGIgRz7ggEkAUiDB7EBbIMEXwE0gBfTgQGMgCyFgQGCg0X7AVSATfeBAa6BLTmBAEmCAPaEBdeBFIqECR8DEHRzgE6AgXGyAUiCbdEBDIMByoAlXoIBx4EWIYJfWYELGIMKUoUAkYIpSYI1A4QAV4AksIA4K4ILfoM2+ocEuoQAd4IEIYAAD4FUqYQCQ4MCbIFU7oMBjoECXoEAGYIATYILMoIANYEASYQ7S5YBxogaprAAH4ML3IFSwJQBvYQ3FYMA1YcBTII3FIIBy4Kbj4FEoIQGToALSoE3GYIAwAECgzcZgQQXgjcZgwBGiATxgQAHgztQgpnHgaIogwY4gAFgAU+AR+2HOqeEAF6CaZKEAF4BAYQ6V4GW34E6pI0AXoI6pIQAYgEbg0YtAqAtgzpRnQBPmQCtgUaZgAdfgSH2Agu+gKYsggA/ASyAC6mAA+KDCmuCoIuBAAmCNN6CBFEBaoEUi4IAHQEsgAOaggSWgQdUgRGmgZV5gBiMhQWvAXCAClaBXoeEAkeACmOCPL2EBi+BABwBXIMEfgK0LYI+5IELmoQIdAFEgQAFAUyBHemDEcuBRCKBAIqAAQiCBuqDEOyAAAyCQ/4EIAhPG4Qlo4ALg4QJgIMMnoIapIIYzqUAO4AXuYANz4QIaICFkYJG/IECRIMFeYMBYgIEaoAHJgIQN4IAEoIH2AF0gwAwgQfRgRMQgAWJhAJ3gQhuggD/gUKBgB5Xghw7hwM6gQ0NgQM8ggQPAViAMSiABZyAH+2AURaBECaBErWAAH6ClCqDQH6BKi+AA/IBCIQAJoIA6IAABYBKS4gFwoIBNwEigFI0ggP7gBzcgwMFghrOggFkhRyHgh2sgliDgRozAYWBAAqEAhyBP9CFCWyDCWkBxIAfU4IjC4MlG4IBCYAjPoACZYFgBgGCgjsKgaPdAQGAAAyACIWBIxyAidOFSoCBA0KBCEqCOKeBnIyCD0yCPAqAAEKBpV+BAq6BicOBAAeEDO+AB4yAFCOFAEEBAYKfUYOGsYEAj4ANAoAAQ4EUcYAJIQMLqwSAH5SBABkBfIEZR4Ao34EADAF4gwF9AowBhQ07hArlAixrgALjgRnAgQVKAQOAYe2CBYABkICPvYIA24ABlYAMVIAANIIFkAE4gBzJgaAwgVEWgAWUAQeCPZOBKvWBLvaBBNODWCKBAAqCAJoBNIAdgIEBmIMdKYEK1oBdwIEL/4MAL4AZ84JOoIIAMgIgC4IIk4EACoFaO4QADYADSoM+CoE9+IMSMIhmMIY9/4AAgIIALYEFfYE90IAADYAB0YI+BYAL9IExLoAADYA6QIACkoExIoAADYAJx4AAUIExFoAADYA+DoAEnoExCoAADYA+EYABg4Ew/oAADYIUaoEFSoEHPIAQDIIPSoAuq4E+F4AHjIEguIM+HoAAn4Q+HoEQfIOFS4BfT4EACoJAB4Ad3AEGg0XTgBE1AQaDoPaCW1uCHKOAANeCFPOCHkuCWuaAbeaDAhSAAu6DJ9mAAuaASgEBIIIi6wEDg06NgQD5gwF3gCwoggAKgAAUgU6XAQyATRiAX/OCAwmBA+YBAYELroEudwIiCYECzoEZS4EABAVJGwugC4EcKYMJc4EqGYQJc4UJdYICBYkJcwFFgwIXgQl0gECcgAFdgELiggV9kQlzggJimglzgwf1kwlzgglsgAKVhRwDgghxAzYCeIQFU4BlGIACFYEiQIAATwFggU6IhQBQAYCCAO+BAt2CCaGEBHSFCaQBBIAJpIMH9oBMtoYm0YIeTIALpYAB/QFBgAFDgwA1gQBngFQDASCBANmIAGyCAtwBeIKjVoMI6AEFhWDIgAAYiQeRggY3gQNCgAAJhQnogwqIAWSAD+6AAk+bB8eAUL3HCe2BKNy0Ce0BeIEd34IJK4QBfIA/UIAHnoAAjIAo5IEbFYJaI4EA3YMGoQGkggD6AqAtjgmugB3lhB2yhAIjgQUMgjTMiQIegAWYlQXPgyBkiwnKghojhAnLAXiECcuDAhOCCbwBaIUJ2YEOc4GRj4YJeQFcgVCHhggqAQSFCCqAowqaCNeCpLOAAAoBaIUFjoIF/oQE9/IJ1IcJuIgJVZAJs4IC1JQJtoQDYoEKDoYImoYKKIYA+gEEgqFtgwFVlAAugASYgqla/wEhhwEhggII6AqLhgJhuAqLgQRegI7RAwALP4IPmoEAHo8XIIY/xpQAH4AAHIJSNgIEQIABlAEDgAANAoMHgTdahT9igBDTgCIlgS48gE1tgJeBglCwjnXrhQ7vgRX4AUGAI7CAADABf4BQqAEGgqR4AgBIgD+OgROdgRY/gjLogFUYgnqFggUxgTV4gReJggbcgBd6gpDQAghJgSG8AktygBXzgFLiggUQgXY/AciACY2BVM+DAHCDXj2DV4yBBWOCmcgCQSqBEIqAAV+CFrkEQv//gYJs2QFUgAAMA4CAgoBRdwE3gFvEgE5TgQFmgAl5glZoghaDgQAMgVragQrdg1SYgQB1gSPPggDkgAB3gVVEhAAWgU+GiQAZggLHggAXAUyHABeCQhSAAB0BxIEek4AAXoBZG4A4yoAACQGchDEIASiBAA+AGF6EADCBBICBZLiAAEYBnIEsDwECgF6xgHuigxUUATiCV6mABPOEAAgBRIJLNYKS24NEOoABkQGAgmdsgEEUgHiRggf9gQB+AYiBI4SAC0UBhIEAjoAqGYBpJIIKVAE2gkVdgUM1AWyABZ4BNoAEG4OQmgIQNIIB3YAAjIATdop3F4AAp4GPEYNfUoUSGYNBu4AFJ4EaUYEKJIFlSYNBvQRBOUEqgSWPgAHUgqcKgiuJgQL+g0tKgjVng1KKgAqXgEvvgQBmgBOjgwgrhEP6BkGIETYCuICPYIAAC4AfCIAUb4KPbIB6KgGsgwAVgAiWgAC8gQAVAeCAABUBoIMAFYAIo4AA34EAFQF+gngTgCqQgwC9gQCuASyABiKEW4SFRCiCKBIBRIA4GoQyvoIWXoULgYZEIYIqoAIgN4EG3IEAq4BtYoUAEoRENwFIgwEXgDBbAgxsgBjkApQggQlaATaACyuBA28CQZCEAA8BjIMADwGShAAPAYCDAA8BloQADwF8gQ5gAgtDgxlcgVowlxlcgg1rgThNghlcgQAKgAE5gHkoAUmCBBoDCwvjgI0dgAIUBAuhBGmAsxsFZmZpY2mAsqABIIO0lBMAMS4zLjEuMS1tb3RsZXkAaW52gLMoFWQgbGl0ZXJhbC9sZW5ndGhzIHNldIYAHAVjb2RlIIkAGQ91bmtub3duIGhlYWRlciCAs44BZ4sAMgJkaYCzMgFugLPEigAWA2JpdIQARxAgcmVwZWF0AHRvbyBtYW55hQAXB3N5bWJvbHOOABgCb3KGAFOGACSFAFaCs6+AAF2As/sBa4UApgIAYoAA+IAAmgxlcnJvcgBzdHJlYW2EAA2KANULLS0gbWlzc2luZyCAtGIELW9mLYIAR4AAJQJjb4Cz6AJjdIUA4wNjaGWKABeEAJiNABcEZGF0YYYAFYsBCwEggQDUBWZhciBigLRLAQCFAFcCcmOBAIEFbWF0Y2iGADIBd4C0rwRvdyBzgbS+hgE7ggDeA3R5cIcAE4sBsoIA0I8AdYIAFoUBrwRjb21wgLTfAXOAtKSAAg4EdGhvZIAyJwQMC6UCgLcLDAAFAAYABwAIAAkACoApBw0NAA8AEQATABcAGwAfgJUpFisAMwA7AEMAUwBjAHMAgwCjAMMA4wCABjiCAAEBgIwAAgGBhAACAYKEAAIBg4QAAgGEhAACAYWEAAIFkABJAMiCGMyArQSCAIQBB4AAgAENgAB6ARmAKSkBMYADjAFhgABGAcGASOoBgYFI7IBAFgQBBgEIgCkMAxABGIAFvAkwAUABYAGAAcCJAHiFAHCFAGgBhoAAAgGHgAACAYiAAAIBiYAAAgGKgAACAYuAAAIBjIAAAgGNgAACAY6AAAIBEIAAcgESgACIAQiCAIABBoABAgEFgAEEAwQADIAAloAcnAIADoAAogEPgK/uBA4Ltwy1ASyAHNWCAAEBEIwAAgERhAACARKEAAIBE4QAAgEUhAACARWEAAIBEMABLIkAgIUAdIUAbIEAZAEWgAACAReAAAIBGIAAAgEZgAACARqAAAIBG4AAAgEcgAACAR2AAAIBQIAAAgagCAAAoA2BuSgDAAAegAAEAQ+AAFQBIIAAEAIgDoMA4AEegAAEgQAUgQABAaCEABQBE4AABAEHhAAUAQyAATgBjIAABAFMgAAEAcyAAAQBLIAABAGsgAAEAWyAAAQB7IAABAEcgAAEAZyAAAQBXIAABAHcgAAEATyAAAQBvIAABAF8gAAEAfyAAAQBAoAABAGCgAAEAUKAAAQBwoAABAEigAAEAaKAAAQBYoAABAHigAAEARKAAAQBkoAABAFSgAAEAdKAAAQBMoAABAGygAAEAXKAAAQB8oAABAEKgAAEAYqAAAQBSoAABAHKgAAEASqAAAQBqoAABAFqgAAEAeqAAAQBGoAABAGagAAEAVqAAAQB2oAABIB5uAIAuoAABAF6gAAEAfqAAAQBBoAABAGGgAAEAUaAAAQBxoAABAEmgAAEAaaAAAQBZoAABAHmgAAEARaAAAQBloAABAFWgAAEAdaAAAQBNoAABAG2gAAEAXaAAAQB9oAABAEOgAAEAY6AAAQBToAABAHOgAAEAS6AAAQBroAABAFugAAEAe6AAAQBHoAABAGegAAEAV6AAAQB3oAABAE+gAAEAb6AAAQBfoAABAH+gAAEAQGAAAQBgYAABAFBgAAEAcGAAAQBIYAABAGhgAAEAWGAAAQB4YAABAERgAAEAZGAAAQBUYAABAHRgAAEATGAAAQBsYAABAFxgAAEAfGAAAQBCYAABAGJgAAEAUmAAAQByYAABAEpgAAEAamAAAQBaYAABAHpgAAEARmAAAQBmYAABAFZgAAEAdmAAAQBOYAABAG5gAAEAXmAAAQB+YAABAEFgAAEAYWAAAQBRYAABAHFgAAEASWAAAQBpYAABAFlgAAEAeWAAAQBFYAABAGVgAAEAVWAAAQB1YAABAE1gAAEAbWAAAQBdYAABAH1gAAEAQ2AAAQBjYAABAFNgAAEAc2AAASAETMCAK2AAAQBbYAABAHtgAAEAR2AAAQBnYAABAFdgAAEAd2AAAQBPYAABAG9gAAEAX2AAAQB/YAABAETgADCBRMBCQCTgAAIAZOAAAgBU4AACAFTgAAIAdOAAAgB04AACAEzgAAIATOAAAgBs4AACAGzgAAIAXOAAAgBc4AACAHzgAAIAfOAAAgBC4AACIAQ2oAEAoAABIAACAFLgAAIAUuAAAgBy4AACAHLgAAIASuAAAgBK4AACAGrgAAIAauAAAgBa4AACAFrgAAIAeuAAAgB64AACAEbgAAIARuAAAgBm4AACAGbgAAIAVuAAAgBW4AACAHbgAAIAduAAAgBO4AACAE7gAAIAbuAAAgBu4AACAF7gAAIAXuAAAgB+4AACAH7gAAIgQO2AQeAAAgBh4AACAGHgAAIAUeAAAgBR4AACAHHgAAIAceAAAgBJ4AACAEngAAIAaeAAAgBp4AACAFngAAIAWeAAAgB54AACAHngAAIAReAAAgBF4AACAGXgAAIAZeAAAgBV4AACAFXgAAIAdeAAAgB14AACAE3gAAIATeAAAgBt4AACAG3gAAIAXeAAAgBd4AACAH3gAAIAfeAAAgBD4AACAEPgAAIAY+AAAgBj4AACAFPgAAIAU+AAAgBz4AACAHPgAAIAS+AAAgBL4AACAGvgAAIAa+AAAgBb4AACAFvgAAIAe+AAAgB74AACAEfgAAIAR+AAAgBn4AACAGfgAAIAV+AAAgBX4AACAHfgAAIAd+AAAgBP4AACAE/gAAIAb+AAAgBv4AACAF/gAAIAX+AAAgB/4AACAH/gAAIgQQKAUCAAAQBIIAABAFggAAEARCAAAQBUIAABAEwgAAEAXCCBVYDBwBIgAAEASiAAAQBaIAABAEYgAAEAViAAAQBOIAABAF4gAAEAQSAAAQBRIAABAEkgAAEAWSAAAQBFIAABAFUgAAEATSAAAQBdIAABAEDgABCAYOAAAQBQ4AABAHDgAAEASOAAAQBo4AABAFjgAAEAeOAAASAveaAAHSBAsYBBYAAXAEFggVKARSAAAQBDIAABAEcgAAEgL34gAREAQWCBgQBGoIF6gEFgAPUAQWAA7gBBYADnIBPdoAABAERgAAEAQmAAAQBGYAABIEAAgEVgAAEAQ2AAAQBHYAABAEDgAAEAROCBkABBYACLIEFpgEFgAG0AQWAPd8DGwtNgx+5hwAEAQKMAASBB1GJAAQBBIwABAEFigAEBEGwHAuAvMWLAEuNADuFAC8BBoQABIEFiIEABIEBCoEABIEBkoEABICEcYIABAELhAAEAQyEAASABduBR3kE4B0LI4UAX4UFywIQEYAFbQYHCQYKBQuAOrgEDQIOAYAHJQSUHgtphQCQhQCIhQCAhQB4gQBogQBcgQYfARCAAAQBFIAABAEYgAAEARyAAAQBIIAABAEogAAEATCAAAQBOIAABAFAgAAEAVCAAASBBr0BcIAABAGAgAAEAaCAAAQBwIAABAHggABvAx8Lco0Ab4EAa4EAZ4EAY4EAX4EAW4EAV4EAU4EAT4EAS4EAR4EAQ4EBPAGArwBBgFHNAgttgQDHAQSAAAIBCIAABIEBM4ECSwEQgAAOgwAMgYVpgKomhAAkgQdzgQBPAQiAAAiBABiFAAyBCLeDAAwBIIEAlIAyhIEAawGAgQgvAQSDAAyAP0gKAQAQDABBkSEL/4AlHwEDgpvTBQgJCQoKgEk3gAABAQ2AAAEBDoAAAQEPgAABARCEAAEBEYQAAQEShAABAROEAAEBFIwAAQEVjAABARaMAAEBF4wAAQEYnAABARmcAAEBGpwAAQEbmwABARyBffsEBAQFBYHBkAEHgAABAQiEAAGAXSqCAAEBCowAAYAnsooAAYEBMJkAAYEBTJkAAYEBaLkAAYEBpLkAAYIDdYABzoUBvI0BqJ0BkLwBgAIbHLwAAQEdvAABgA9PgH05A9AqAQ==")})}export{g as configureZlibModule};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright (c)
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
3
|
|
|
4
4
|
Redistribution and use in source and binary forms, with or without
|
|
5
5
|
modification, are permitted provided that the following conditions are met:
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
1. Redistributions of source code must retain the above copyright notice,
|
|
8
8
|
this list of conditions and the following disclaimer.
|
|
9
9
|
|
|
10
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
-
notice, this list of conditions and the following disclaimer in
|
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer in
|
|
12
12
|
the documentation and/or other materials provided with the distribution.
|
|
13
13
|
|
|
14
14
|
3. The names of the authors may not be used to endorse or promote products
|
|
@@ -26,19 +26,24 @@
|
|
|
26
26
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { getMimeType } from "./lib/core/util/mime-type.js";
|
|
32
|
-
import { terminateWorkers } from "./lib/core/codec-pool.js";
|
|
29
|
+
import { configure } from "./core/configuration.js";
|
|
30
|
+
import { CompressionStreamZlib, DecompressionStreamZlib } from "./core/streams/zlib/zlib-streams-loader.js";
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
let baseURI;
|
|
33
|
+
try {
|
|
34
|
+
baseURI = import.meta.url;
|
|
35
|
+
// eslint-disable-next-line no-unused-vars
|
|
36
|
+
} catch (_) {
|
|
37
|
+
// ignored
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
configure({
|
|
41
|
+
baseURI,
|
|
42
|
+
CompressionStreamZlib,
|
|
43
|
+
DecompressionStreamZlib
|
|
44
|
+
});
|
|
35
45
|
|
|
36
46
|
export {
|
|
37
|
-
fs,
|
|
38
|
-
configure,
|
|
39
|
-
initShimAsyncCodec,
|
|
40
|
-
ZipReader,
|
|
41
|
-
ZipWriter,
|
|
42
47
|
Reader,
|
|
43
48
|
Writer,
|
|
44
49
|
TextReader,
|
|
@@ -51,11 +56,13 @@ export {
|
|
|
51
56
|
HttpRangeReader,
|
|
52
57
|
Uint8ArrayWriter,
|
|
53
58
|
Uint8ArrayReader,
|
|
54
|
-
SplitZipReader,
|
|
55
|
-
SplitZipWriter,
|
|
56
59
|
SplitDataReader,
|
|
57
60
|
SplitDataWriter,
|
|
58
|
-
ERR_HTTP_RANGE
|
|
61
|
+
ERR_HTTP_RANGE
|
|
62
|
+
} from "./core/io.js";
|
|
63
|
+
export {
|
|
64
|
+
ZipReader,
|
|
65
|
+
ZipReaderStream,
|
|
59
66
|
ERR_BAD_FORMAT,
|
|
60
67
|
ERR_EOCDR_NOT_FOUND,
|
|
61
68
|
ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,
|
|
@@ -68,6 +75,12 @@ export {
|
|
|
68
75
|
ERR_INVALID_SIGNATURE,
|
|
69
76
|
ERR_INVALID_UNCOMPRESSED_SIZE,
|
|
70
77
|
ERR_INVALID_PASSWORD,
|
|
78
|
+
ERR_SPLIT_ZIP_FILE,
|
|
79
|
+
ERR_OVERLAPPING_ENTRY
|
|
80
|
+
} from "./core/zip-reader.js";
|
|
81
|
+
export {
|
|
82
|
+
ZipWriter,
|
|
83
|
+
ZipWriterStream,
|
|
71
84
|
ERR_DUPLICATED_NAME,
|
|
72
85
|
ERR_INVALID_COMMENT,
|
|
73
86
|
ERR_INVALID_ENTRY_NAME,
|
|
@@ -77,10 +90,18 @@ export {
|
|
|
77
90
|
ERR_INVALID_EXTRAFIELD_DATA,
|
|
78
91
|
ERR_INVALID_ENCRYPTION_STRENGTH,
|
|
79
92
|
ERR_UNSUPPORTED_FORMAT,
|
|
80
|
-
|
|
81
|
-
ERR_OVERLAPPING_ENTRY,
|
|
82
|
-
ERR_ITERATOR_COMPLETED_TOO_SOON,
|
|
83
|
-
ERR_WRITER_NOT_INITIALIZED,
|
|
93
|
+
ERR_UNDEFINED_UNCOMPRESSED_SIZE,
|
|
84
94
|
ERR_ZIP_NOT_EMPTY
|
|
85
|
-
} from "./
|
|
86
|
-
export {
|
|
95
|
+
} from "./core/zip-writer.js";
|
|
96
|
+
export {
|
|
97
|
+
getMimeType
|
|
98
|
+
} from "./core/util/default-mime-type.js";
|
|
99
|
+
export {
|
|
100
|
+
terminateWorkers
|
|
101
|
+
} from "./core/codec-pool.js";
|
|
102
|
+
export {
|
|
103
|
+
resetWasmModule
|
|
104
|
+
} from "./core/streams/zlib/zlib-streams-loader.js";
|
|
105
|
+
export {
|
|
106
|
+
configure
|
|
107
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright (c)
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
3
|
|
|
4
4
|
Redistribution and use in source and binary forms, with or without
|
|
5
5
|
modification, are permitted provided that the following conditions are met:
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
1. Redistributions of source code must retain the above copyright notice,
|
|
8
8
|
this list of conditions and the following disclaimer.
|
|
9
9
|
|
|
10
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
-
notice, this list of conditions and the following disclaimer in
|
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer in
|
|
12
12
|
the documentation and/or other materials provided with the distribution.
|
|
13
13
|
|
|
14
14
|
3. The names of the authors may not be used to endorse or promote products
|
|
@@ -26,15 +26,5 @@
|
|
|
26
26
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
import "./core/z-worker-core.js";
|
|
32
|
-
import {
|
|
33
|
-
Deflate,
|
|
34
|
-
Inflate
|
|
35
|
-
} from "./zip-fflate-shim.js";
|
|
36
|
-
|
|
37
|
-
self.initCodec = () => {
|
|
38
|
-
self.Deflate = Deflate;
|
|
39
|
-
self.Inflate = Inflate;
|
|
40
|
-
};
|
|
29
|
+
export * from "./zip-core.js";
|
|
30
|
+
export * from "./core/zip-fs.js";
|
package/lib/zip-fs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright (c)
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
3
|
|
|
4
4
|
Redistribution and use in source and binary forms, with or without
|
|
5
5
|
modification, are permitted provided that the following conditions are met:
|
|
@@ -27,28 +27,11 @@
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
import { configure } from "./core/configuration.js";
|
|
30
|
-
import { configureWebWorker } from "./
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
import { terminateWorkers } from "./core/codec-pool.js";
|
|
34
|
-
|
|
35
|
-
let baseURL;
|
|
36
|
-
try {
|
|
37
|
-
baseURL = import.meta.url;
|
|
38
|
-
// eslint-disable-next-line no-unused-vars
|
|
39
|
-
} catch (_) {
|
|
40
|
-
// ignored
|
|
41
|
-
}
|
|
42
|
-
configure({ baseURL });
|
|
30
|
+
import { configureWebWorker } from "./core/web-worker-inline.js";
|
|
31
|
+
import { configureZlibModule } from "./core/zlib-streams-inline.js";
|
|
32
|
+
|
|
43
33
|
configureWebWorker(configure);
|
|
34
|
+
configureZlibModule(configure);
|
|
44
35
|
|
|
45
|
-
export * from "./core
|
|
46
|
-
export
|
|
47
|
-
export * from "./core/zip-writer.js";
|
|
48
|
-
export * from "./core/zip-fs-core.js";
|
|
49
|
-
export {
|
|
50
|
-
configure,
|
|
51
|
-
getMimeType,
|
|
52
|
-
initShimAsyncCodec,
|
|
53
|
-
terminateWorkers
|
|
54
|
-
};
|
|
36
|
+
export * from "./zip-fs-core.js";
|
|
37
|
+
export { getMimeType } from "./core/util/mime-type.js";
|
package/lib/zip.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright (c)
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
3
|
|
|
4
4
|
Redistribution and use in source and binary forms, with or without
|
|
5
5
|
modification, are permitted provided that the following conditions are met:
|
|
@@ -27,27 +27,10 @@
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
import { configure } from "./core/configuration.js";
|
|
30
|
-
import { configureWebWorker } from "./
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
import { terminateWorkers } from "./core/codec-pool.js";
|
|
34
|
-
|
|
35
|
-
let baseURL;
|
|
36
|
-
try {
|
|
37
|
-
baseURL = import.meta.url;
|
|
38
|
-
// eslint-disable-next-line no-unused-vars
|
|
39
|
-
} catch (_) {
|
|
40
|
-
// ignored
|
|
41
|
-
}
|
|
42
|
-
configure({ baseURL });
|
|
30
|
+
import { configureWebWorker } from "./core/web-worker-inline.js";
|
|
31
|
+
import { configureZlibModule } from "./core/zlib-streams-inline.js";
|
|
32
|
+
|
|
43
33
|
configureWebWorker(configure);
|
|
34
|
+
configureZlibModule(configure);
|
|
44
35
|
|
|
45
|
-
export * from "./core
|
|
46
|
-
export * from "./core/zip-reader.js";
|
|
47
|
-
export * from "./core/zip-writer.js";
|
|
48
|
-
export {
|
|
49
|
-
configure,
|
|
50
|
-
getMimeType,
|
|
51
|
-
initShimAsyncCodec,
|
|
52
|
-
terminateWorkers
|
|
53
|
-
};
|
|
36
|
+
export * from "./zip-core.js";
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "A JavaScript library to zip and unzip files in the browser, Deno and Node.js",
|
|
4
4
|
"author": "Gildas Lormeau",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
|
-
"version": "2.
|
|
6
|
+
"version": "2.8.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"zip",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"node.js",
|
|
25
25
|
"multi-core",
|
|
26
26
|
"split-zip",
|
|
27
|
-
"usdz"
|
|
27
|
+
"usdz",
|
|
28
|
+
"deflate64"
|
|
28
29
|
],
|
|
29
30
|
"engines": {
|
|
30
31
|
"deno": ">=1.0.0",
|
|
@@ -34,8 +35,6 @@
|
|
|
34
35
|
"scripts": {
|
|
35
36
|
"build": "npx rollup -c",
|
|
36
37
|
"build-dev": "npx rollup -c rollup.config.dev.js",
|
|
37
|
-
"build-fflate": "npm i --no-save fflate && npx rollup -c rollup-fflate.config.js",
|
|
38
|
-
"build-fflate-dev": "npm i --no-save fflate && npx rollup -c rollup-fflate.config.dev.js",
|
|
39
38
|
"build-doc-api": "npx typedoc",
|
|
40
39
|
"build-doc-markdown": "npx typedoc --plugin typedoc-plugin-markdown --out ./docs",
|
|
41
40
|
"test-deno": "cd ./tests && deno test --allow-read ./deno-runner.js",
|
|
@@ -65,12 +64,6 @@
|
|
|
65
64
|
"default": "./index.min.js"
|
|
66
65
|
}
|
|
67
66
|
},
|
|
68
|
-
"./data-uri.js": {
|
|
69
|
-
"import": {
|
|
70
|
-
"types": "./index.d.ts",
|
|
71
|
-
"default": "./lib/zip-data-uri.js"
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
67
|
"./lib/zip-fs.js": {
|
|
75
68
|
"import": {
|
|
76
69
|
"types": "./lib/zip-fs.d.ts",
|
|
@@ -95,12 +88,6 @@
|
|
|
95
88
|
"default": "./lib/zip-no-worker-inflate.js"
|
|
96
89
|
}
|
|
97
90
|
},
|
|
98
|
-
"./lib/zip-no-worker.js": {
|
|
99
|
-
"import": {
|
|
100
|
-
"types": "./lib/zip-no-worker.d.ts",
|
|
101
|
-
"default": "./lib/zip-no-worker.js"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
91
|
"./lib/zip.js": {
|
|
105
92
|
"import": {
|
|
106
93
|
"types": "./lib/zip.d.ts",
|
|
@@ -117,13 +104,12 @@
|
|
|
117
104
|
},
|
|
118
105
|
"homepage": "https://gildas-lormeau.github.io/zip.js",
|
|
119
106
|
"devDependencies": {
|
|
120
|
-
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
121
107
|
"@rollup/plugin-replace": "^6.0.2",
|
|
122
108
|
"@rollup/plugin-terser": "^0.4.4",
|
|
123
|
-
"eslint": "^9.
|
|
109
|
+
"eslint": "^9.35.0",
|
|
124
110
|
"http-server": "^14.1.1",
|
|
125
|
-
"rollup": "^4.
|
|
126
|
-
"typedoc": "^0.28.
|
|
127
|
-
"typedoc-plugin-markdown": "^4.8.
|
|
111
|
+
"rollup": "^4.50.1",
|
|
112
|
+
"typedoc": "^0.28.12",
|
|
113
|
+
"typedoc-plugin-markdown": "^4.8.1"
|
|
128
114
|
}
|
|
129
115
|
}
|
package/dist/z-worker-fflate.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:o,Uint32Array:i,Int32Array:c,Map:l,DataView:u,Promise:h,TextEncoder:p,crypto:f,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:m,DecompressionStream:_}=self,b=void 0,S="undefined",v="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class C{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class D extends g{constructor(){let e;const t=new C;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new u(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const I={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=I.getPartial(n);return 32===s?e.concat(t):I._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+I.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=I.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=I.getPartial(r);return s.push(I.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},A={bytes:{fromBits(e){const t=I.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(I.partial(8*(3&n),s)),t}}},q=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=A.utf8String.toBits(e));const n=t._buffer=I.concat(t._buffer,e),s=t._length,a=t._length=s+I.bitLength(e);if(a>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const o=new i(n);let c=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(o.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=I.concat(t,[I.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let o=r[0],i=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,o)+n._f(e,i,c,l)+u+a[e]+n._key[s.floor(e/20)]|0;u=l,l=c,c=n._S(30,i),i=o,o=t}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},R={getRandomValues(e){const t=new i(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;a<e.length;a+=4){const e=n(4294967296*(r||s.random()));r=987654071*e(),t[a/4]=4294967296*e()|0}return e}},H={importKey:e=>new H.hmacSha1(A.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let o,i,c,l,h;const p=new ArrayBuffer(a),f=new u(p);let d=0;const g=I;for(t=A.bytes.toBits(t),h=1;(a||1)>d;h++){for(o=i=e.encrypt(g.concat(t,[h])),c=1;n>c;c++)for(i=e.encrypt(i),l=0;l<i.length;l++)o[l]^=i[l];for(c=0;(a||1)>d&&c<o.length;c++)f.setInt32(d,o[c]),d+=4}return p.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=q,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},P=typeof f!=S&&typeof f.getRandomValues==v,B="Invalid password",K="Invalid signature",T="zipjs-abort-check-password";function V(e){return P?f.getRandomValues(e):R.getRandomValues(e)}const x=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],L=10,F=[0,0,0,0],j=typeof f!=S,G=j&&f.subtle,X=j&&typeof G!=S,J=A.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let o,i,c,l=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[i=e.slice(0),c=[]],o=a;4*a+28>o;o++){let e=i[o-1];(o%a===0||8===a&&o%a===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%a===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[o]=i[o-a]^e}for(let e=0;o;e++,o--){const t=i[3&e?o:o-4];c[e]=4>=o||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=o=0;!n[u];u^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,n[u]=a,s[a]=u,l=r[c=r[i=r[u]]];let h=16843009*l^65537*c^257*i^16843008*u,p=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][u]=p=p<<24^p>>>8,t[n][a]=h=h<<24^h>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],o=this._tables[t],i=o[0],c=o[1],l=o[2],u=o[3],h=o[4];let p,f,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],m=e[t?1:3]^n[3],_=4;for(let e=0;s>e;e++)p=i[g>>>24]^c[w>>16&255]^l[y>>8&255]^u[255&m]^n[_],f=i[w>>>24]^c[y>>16&255]^l[m>>8&255]^u[255&g]^n[_+1],d=i[y>>>24]^c[m>>16&255]^l[g>>8&255]^u[255&w]^n[_+2],m=i[m>>>24]^c[g>>16&255]^l[w>>8&255]^u[255&y]^n[_+3],_+=4,g=p,w=f,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=h[g>>>24]<<24^h[w>>16&255]<<16^h[y>>8&255]<<8^h[255&m]^n[_++],p=g,g=w,w=y,y=m,m=p;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=I.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return I.clamp(t,r)}},Z=H.hmacSha1;let $=j&&X&&typeof G.importKey==v,ee=j&&X&&typeof G.deriveBits==v;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:o,checkPasswordOnly:i}){super({start(){t.assign(this,{ready:new h(e=>this.resolveReady=e),password:ae(e,n),signed:s,strength:o-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:o,resolveReady:c,ready:l}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,ie(s,0,N[t])),o=ie(s,N[t]);if(a[0]!=o[0]||a[1]!=o[1])throw new r(B)})(n,o,s,ie(e,0,N[o]+2)),e=ie(e,N[o]+2),i?t.error(new r(T)):c()):await l;const u=new a(e.length-L-(e.length-L)%x);t.enqueue(se(n,e,u,0,L,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:o,ready:i}=this;if(s&&n){await i;const c=ie(o,0,o.length-L),l=ie(o,o.length-L);let u=new a;if(c.length){const e=le(J,c);s.update(e);const t=n.update(e);u=ce(J,t)}if(t){const e=ie(ce(J,s.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=l[t])throw new r(K)}e.enqueue(u)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new h(e=>this.resolveReady=e),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:o,ready:i}=n;let c=new a;s?(c=await(async(e,t,n)=>{const s=V(new a(N[t]));return oe(s,await re(e,t,n,s))})(n,r,s),o()):await i;const l=new a(c.length+e.length-e.length%x);l.set(c,0),t.enqueue(se(n,e,l,c.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:o}=this;if(n&&t){await o;let i=new a;if(s.length){const e=t.update(le(J,s));n.update(e),i=ce(J,e)}r.signature=ce(J,n.digest()).slice(0,L),e.enqueue(oe(i,r.signature))}}}),r=this}}function se(e,t,n,s,r,o){const{ctr:i,hmac:c,pending:l}=e,u=t.length-r;let h;for(l.length&&(t=oe(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,u-u%x)),h=0;u-x>=h;h+=x){const e=le(J,ie(t,h,h+x));o&&c.update(e);const r=i.update(e);o||c.update(r),n.set(ce(J,r),h+s)}return e.pending=ie(t,h),n}async function re(n,s,r,o){n.password=null;const i=await(async(e,t,n,s,r)=>{if(!$)return H.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,H.importKey(t)}})(0,r,U,0,M),c=await(async(e,t,n)=>{if(!ee)return H.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,H.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:o},W),i,8*(2*O[s]+2)),l=new a(c),u=le(J,ie(l,0,O[s])),h=le(J,ie(l,O[s],2*O[s])),p=ie(l,2*O[s]);return t.assign(n,{keys:{key:u,authentication:h,passwordVerification:p},ctr:new Y(new Q(u),e.from(F)),hmac:new Z(h)}),p}function ae(e,t){return t===b?(e=>{if(typeof p==S){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new p).encode(e)})(e):t}function oe(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ie(e,t,n){return e.subarray(t,n)}function ce(e,t){return e.fromBits(t)}function le(e,t){return e.toBits(t)}class ue extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=pe(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new r(B);e=e.subarray(12)}s?t.error(new r(T)):t.enqueue(pe(n,e))}})}}class he extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=V(new a(12));t[11]=n.passwordVerification,s=new a(e.length+t.length),s.set(fe(n,t),0),r=12}else s=new a(e.length),r=0;s.set(fe(n,e),r),t.enqueue(s)}})}}function pe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,n[s]);return n}function fe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,t[s]);return n}function de(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new C(s[0]),crcKey2:new C(s[2])});for(let t=0;t<n.length;t++)ge(e,n.charCodeAt(t))}function ge(e,t){let[n,r,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=me(s.imul(me(r+ye(n)),134775813)+1),e.crcKey2.append([r>>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function me(e){return 4294967295&e}const _e="deflate-raw";class be extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:o,zipCrypto:i,signed:c,level:l}=e,h=this;let p,f,d=super.readable;a&&!i||!c||(p=new D,d=ze(d,p)),r&&(d=ke(d,o,{level:l,chunkSize:t},s,n)),a&&(i?d=ze(d,new he(e)):(f=new ne(e),d=ze(d,f))),ve(h,d,()=>{let e;a&&!i&&(e=f.signature),a&&!i||!c||(e=new u(p.value.buffer).getUint32(0)),h.signature=e})}}class Se extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:o,signed:i,signature:c,compressed:l,useCompressionStream:h}=e;let p,f,d=super.readable;o&&(a?d=ze(d,new ue(e)):(f=new te(e),d=ze(d,f))),l&&(d=ke(d,h,{chunkSize:t},s,n)),o&&!a||!i||(p=new D,d=ze(d,p)),ve(this,d,()=>{if((!o||a)&&i){const e=new u(p.value.buffer);if(c!=e.getUint32(0,!1))throw new r(K)}})}}function ve(e,n,s){n=ze(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ke(e,t,n,s,r){try{e=ze(e,new(t&&s?s:r)(_e,n))}catch(s){if(!t)throw s;e=ze(e,new r(_e,n))}return e}function ze(e,t){return e.pipeThrough(t)}const Ce="data",De="close";class Ie extends g{constructor(e,n){super({});const s=this,{codecType:a}=e;let o;a.startsWith("deflate")?o=be:a.startsWith("inflate")&&(o=Se),s.outputSize=0;let i=0;const c=new o(e,n),l=super.readable,u=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:i})}}),h=new g({transform(t,n){if(t&&t.length&&(n.enqueue(t),s.outputSize+=t.length,e.outputSize&&s.outputSize>e.outputSize))throw new r("Invalid uncompressed size")},flush(){const{signature:e}=c;t.assign(s,{signature:e,inputSize:i})}});t.defineProperty(s,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(h)})}}class Ae extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const qe=new l,Re=new l;let He,Pe=0,Be=!0;async function Ke(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Be?importScripts.apply(b,s):await Te(s)}catch(e){Be=!1,await Te(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},o=e.readable||new w({async pull(e){const t=new h(e=>qe.set(Pe,e));Ve({type:"pull",messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),i=e.writable||new y({async write(e){let t;const s=new h(e=>t=e);Re.set(Pe,t),Ve({type:Ce,value:e,messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER,await s}},a),c=new Ie(t,r);He=new AbortController;const{signal:l}=He;await o.pipeThrough(c).pipeThrough(new Ae(r.chunkSize)).pipeTo(i,{signal:l,preventClose:!0,preventAbort:!0}),await i.getWriter().close();const{signature:u,inputSize:p,outputSize:f}=c;Ve({type:De,result:{signature:u,inputSize:p,outputSize:f}})}catch(e){e.outputSize=0,xe(e)}}async function Te(e){for(const t of e)await import(t)}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function xe(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a,outputSize:o}=e;d({error:{message:t,stack:n,code:s,name:a,outputSize:o}})}function Ee(e,n,s){return class{constructor(r){const o=this;var i,c;i=r,c="level",(typeof t.hasOwn===v?t.hasOwn(i,c):i.hasOwnProperty(c))&&r.level===b&&delete r.level,o.codec=new e(t.assign({},n,r)),s(o.codec,e=>{if(o.pendingData){const t=o.pendingData;o.pendingData=new a(t.length+e.length);const{pendingData:n}=o;n.set(t,0),n.set(e,t.length)}else o.pendingData=new a(e)})}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}addEventListener("message",({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Ke(e),t==Ce){const e=qe.get(n);qe.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=Re.get(n);Re.delete(n),e()}t==De&&He.abort()}catch(e){xe(e)}}),self.initCodec=()=>{const{Deflate:e,Inflate:t}=((e,t={},n)=>({Deflate:Ee(e.Deflate,t.deflate,n),Inflate:Ee(e.Inflate,t.inflate,n)}))(fflate,b,(e,t)=>e.ondata=t);self.Deflate=e,self.Inflate=t}}();
|
package/dist/z-worker-pako.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:o,Uint32Array:i,Int32Array:c,Map:l,DataView:u,Promise:h,TextEncoder:p,crypto:f,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:m,DecompressionStream:_}=self,b=void 0,S="undefined",v="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new u(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const I={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=I.getPartial(n);return 32===s?e.concat(t):I._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+I.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=I.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r<e.length;r++)s.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=I.getPartial(r);return s.push(I.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},A={bytes:{fromBits(e){const t=I.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n<e.length;n++)s=s<<8|e[n],3&~n||(t.push(s),s=0);return 3&n&&t.push(I.partial(8*(3&n),s)),t}}},q=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=A.utf8String.toBits(e));const n=t._buffer=I.concat(t._buffer,e),s=t._length,a=t._length=s+I.bitLength(e);if(a>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const o=new i(n);let c=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(o.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=I.concat(t,[I.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let o=r[0],i=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,o)+n._f(e,i,c,l)+u+a[e]+n._key[s.floor(e/20)]|0;u=l,l=c,c=n._S(30,i),i=o,o=t}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},R={getRandomValues(e){const t=new i(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;a<e.length;a+=4){const e=n(4294967296*(r||s.random()));r=987654071*e(),t[a/4]=4294967296*e()|0}return e}},H={importKey:e=>new H.hmacSha1(A.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let o,i,c,l,h;const p=new ArrayBuffer(a),f=new u(p);let d=0;const g=I;for(t=A.bytes.toBits(t),h=1;(a||1)>d;h++){for(o=i=e.encrypt(g.concat(t,[h])),c=1;n>c;c++)for(i=e.encrypt(i),l=0;l<i.length;l++)o[l]^=i[l];for(c=0;(a||1)>d&&c<o.length;c++)f.setInt32(d,o[c]),d+=4}return p.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=q,s=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},P=typeof f!=S&&typeof f.getRandomValues==v,B="Invalid password",K="Invalid signature",T="zipjs-abort-check-password";function V(e){return P?f.getRandomValues(e):R.getRandomValues(e)}const x=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],L=10,F=[0,0,0,0],j=typeof f!=S,G=j&&f.subtle,X=j&&typeof G!=S,J=A.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let o,i,c,l=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[i=e.slice(0),c=[]],o=a;4*a+28>o;o++){let e=i[o-1];(o%a===0||8===a&&o%a===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%a===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[o]=i[o-a]^e}for(let e=0;o;e++,o--){const t=i[3&e?o:o-4];c[e]=4>=o||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=o=0;!n[u];u^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,n[u]=a,s[a]=u,l=r[c=r[i=r[u]]];let h=16843009*l^65537*c^257*i^16843008*u,p=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][u]=p=p<<24^p>>>8,t[n][a]=h=h<<24^h>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],o=this._tables[t],i=o[0],c=o[1],l=o[2],u=o[3],h=o[4];let p,f,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],m=e[t?1:3]^n[3],_=4;for(let e=0;s>e;e++)p=i[g>>>24]^c[w>>16&255]^l[y>>8&255]^u[255&m]^n[_],f=i[w>>>24]^c[y>>16&255]^l[m>>8&255]^u[255&g]^n[_+1],d=i[y>>>24]^c[m>>16&255]^l[g>>8&255]^u[255&w]^n[_+2],m=i[m>>>24]^c[g>>16&255]^l[w>>8&255]^u[255&y]^n[_+3],_+=4,g=p,w=f,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=h[g>>>24]<<24^h[w>>16&255]<<16^h[y>>8&255]<<8^h[255&m]^n[_++],p=g,g=w,w=y,y=m,m=p;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=I.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return I.clamp(t,r)}},Z=H.hmacSha1;let $=j&&X&&typeof G.importKey==v,ee=j&&X&&typeof G.deriveBits==v;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:o,checkPasswordOnly:i}){super({start(){t.assign(this,{ready:new h(e=>this.resolveReady=e),password:ae(e,n),signed:s,strength:o-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:o,resolveReady:c,ready:l}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,ie(s,0,N[t])),o=ie(s,N[t]);if(a[0]!=o[0]||a[1]!=o[1])throw new r(B)})(n,o,s,ie(e,0,N[o]+2)),e=ie(e,N[o]+2),i?t.error(new r(T)):c()):await l;const u=new a(e.length-L-(e.length-L)%x);t.enqueue(se(n,e,u,0,L,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:o,ready:i}=this;if(s&&n){await i;const c=ie(o,0,o.length-L),l=ie(o,o.length-L);let u=new a;if(c.length){const e=le(J,c);s.update(e);const t=n.update(e);u=ce(J,t)}if(t){const e=ie(ce(J,s.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=l[t])throw new r(K)}e.enqueue(u)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new h(e=>this.resolveReady=e),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:o,ready:i}=n;let c=new a;s?(c=await(async(e,t,n)=>{const s=V(new a(N[t]));return oe(s,await re(e,t,n,s))})(n,r,s),o()):await i;const l=new a(c.length+e.length-e.length%x);l.set(c,0),t.enqueue(se(n,e,l,c.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:o}=this;if(n&&t){await o;let i=new a;if(s.length){const e=t.update(le(J,s));n.update(e),i=ce(J,e)}r.signature=ce(J,n.digest()).slice(0,L),e.enqueue(oe(i,r.signature))}}}),r=this}}function se(e,t,n,s,r,o){const{ctr:i,hmac:c,pending:l}=e,u=t.length-r;let h;for(l.length&&(t=oe(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,u-u%x)),h=0;u-x>=h;h+=x){const e=le(J,ie(t,h,h+x));o&&c.update(e);const r=i.update(e);o||c.update(r),n.set(ce(J,r),h+s)}return e.pending=ie(t,h),n}async function re(n,s,r,o){n.password=null;const i=await(async(e,t,n,s,r)=>{if(!$)return H.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,H.importKey(t)}})(0,r,U,0,M),c=await(async(e,t,n)=>{if(!ee)return H.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,H.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:o},W),i,8*(2*O[s]+2)),l=new a(c),u=le(J,ie(l,0,O[s])),h=le(J,ie(l,O[s],2*O[s])),p=ie(l,2*O[s]);return t.assign(n,{keys:{key:u,authentication:h,passwordVerification:p},ctr:new Y(new Q(u),e.from(F)),hmac:new Z(h)}),p}function ae(e,t){return t===b?(e=>{if(typeof p==S){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new p).encode(e)})(e):t}function oe(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ie(e,t,n){return e.subarray(t,n)}function ce(e,t){return e.fromBits(t)}function le(e,t){return e.toBits(t)}class ue extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=pe(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new r(B);e=e.subarray(12)}s?t.error(new r(T)):t.enqueue(pe(n,e))}})}}class he extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let s,r;if(n.password){n.password=null;const t=V(new a(12));t[11]=n.passwordVerification,s=new a(e.length+t.length),s.set(fe(n,t),0),r=12}else s=new a(e.length),r=0;s.set(fe(n,e),r),t.enqueue(s)}})}}function pe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,n[s]);return n}function fe(e,t){const n=new a(t.length);for(let s=0;s<t.length;s++)n[s]=we(e)^t[s],ge(e,t[s]);return n}function de(e,n){const s=[305419896,591751049,878082192];t.assign(e,{keys:s,crcKey0:new D(s[0]),crcKey2:new D(s[2])});for(let t=0;t<n.length;t++)ge(e,n.charCodeAt(t))}function ge(e,t){let[n,r,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=me(s.imul(me(r+ye(n)),134775813)+1),e.crcKey2.append([r>>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function me(e){return 4294967295&e}const _e="deflate-raw";class be extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:o,zipCrypto:i,signed:c,level:l}=e,h=this;let p,f,d=super.readable;a&&!i||!c||(p=new C,d=ze(d,p)),r&&(d=ke(d,o,{level:l,chunkSize:t},s,n)),a&&(i?d=ze(d,new he(e)):(f=new ne(e),d=ze(d,f))),ve(h,d,()=>{let e;a&&!i&&(e=f.signature),a&&!i||!c||(e=new u(p.value.buffer).getUint32(0)),h.signature=e})}}class Se extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:o,signed:i,signature:c,compressed:l,useCompressionStream:h}=e;let p,f,d=super.readable;o&&(a?d=ze(d,new ue(e)):(f=new te(e),d=ze(d,f))),l&&(d=ke(d,h,{chunkSize:t},s,n)),o&&!a||!i||(p=new C,d=ze(d,p)),ve(this,d,()=>{if((!o||a)&&i){const e=new u(p.value.buffer);if(c!=e.getUint32(0,!1))throw new r(K)}})}}function ve(e,n,s){n=ze(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ke(e,t,n,s,r){try{e=ze(e,new(t&&s?s:r)(_e,n))}catch(s){if(!t)throw s;e=ze(e,new r(_e,n))}return e}function ze(e,t){return e.pipeThrough(t)}const De="data",Ce="close";class Ie extends g{constructor(e,n){super({});const s=this,{codecType:a}=e;let o;a.startsWith("deflate")?o=be:a.startsWith("inflate")&&(o=Se),s.outputSize=0;let i=0;const c=new o(e,n),l=super.readable,u=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:i})}}),h=new g({transform(t,n){if(t&&t.length&&(n.enqueue(t),s.outputSize+=t.length,e.outputSize&&s.outputSize>e.outputSize))throw new r("Invalid uncompressed size")},flush(){const{signature:e}=c;t.assign(s,{signature:e,inputSize:i})}});t.defineProperty(s,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(h)})}}class Ae extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const qe=new l,Re=new l;let He,Pe=0,Be=!0;async function Ke(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Be?importScripts.apply(b,s):await Te(s)}catch(e){Be=!1,await Te(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},o=e.readable||new w({async pull(e){const t=new h(e=>qe.set(Pe,e));Ve({type:"pull",messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),i=e.writable||new y({async write(e){let t;const s=new h(e=>t=e);Re.set(Pe,t),Ve({type:De,value:e,messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER,await s}},a),c=new Ie(t,r);He=new AbortController;const{signal:l}=He;await o.pipeThrough(c).pipeThrough(new Ae(r.chunkSize)).pipeTo(i,{signal:l,preventClose:!0,preventAbort:!0}),await i.getWriter().close();const{signature:u,inputSize:p,outputSize:f}=c;Ve({type:Ce,result:{signature:u,inputSize:p,outputSize:f}})}catch(e){e.outputSize=0,xe(e)}}async function Te(e){for(const t of e)await import(t)}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function xe(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a,outputSize:o}=e;d({error:{message:t,stack:n,code:s,name:a,outputSize:o}})}function Ee(e,n,s){return class{constructor(r){const o=this;var i,c;i=r,c="level",(typeof t.hasOwn===v?t.hasOwn(i,c):i.hasOwnProperty(c))&&r.level===b&&delete r.level,o.codec=new e(t.assign({},n,r)),s(o.codec,e=>{if(o.pendingData){const t=o.pendingData;o.pendingData=new a(t.length+e.length);const{pendingData:n}=o;n.set(t,0),n.set(e,t.length)}else o.pendingData=new a(e)})}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}addEventListener("message",({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Ke(e),t==De){const e=qe.get(n);qe.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=Re.get(n);Re.delete(n),e()}t==Ce&&He.abort()}catch(e){xe(e)}}),self.initCodec=()=>{const{Deflate:e,Inflate:t}=((e,t={},n)=>({Deflate:Ee(e.Deflate,t.deflate,n),Inflate:Ee(e.Inflate,t.inflate,n)}))(pako,{deflate:{raw:!0},inflate:{raw:!0}},(e,t)=>e.onData=t);self.Deflate=e,self.Inflate=t}}();
|
package/dist/z-worker.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";const{Array:e,Object:t,Number:n,Math:i,Error:a,Uint8Array:r,Uint16Array:s,Uint32Array:l,Int32Array:o,Map:_,DataView:u,Promise:d,TextEncoder:c,crypto:f,postMessage:h,TransformStream:b,ReadableStream:w,WritableStream:p,CompressionStream:x,DecompressionStream:g}=self,m=void 0,y="undefined",v="function";class k{constructor(e){return class extends b{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}const S=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;S[e]=t}class z{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^S[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class I extends b{constructor(){let e;const t=new z;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new r(4);new u(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const C={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=C.getPartial(n);return 32===i?e.concat(t):C._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+C.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=C.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let a=0;a<e.length;a++)i.push(n|e[a]>>>t),n=e[a]<<32-t;const a=e.length?e[e.length-1]:0,r=C.getPartial(a);return i.push(C.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},E={bytes:{fromBits(e){const t=C.bitLength(e)/8,n=new r(t);let i;for(let a=0;t>a;a++)3&a||(i=e[a/4]),n[a]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(C.partial(8*(3&n),i)),t}}},q=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=E.utf8String.toBits(e));const n=t._buffer=C.concat(t._buffer,e),i=t._length,r=t._length=i+C.bitLength(e);if(r>9007199254740991)throw new a("Cannot hash more than 2^53 - 1 bits");const s=new l(n);let o=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(s.subarray(16*o,16*(o+1))),o+=1;return n.splice(0,16*o),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=C.concat(t,[C.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){return e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,a=n._h,r=e(80);for(let e=0;16>e;e++)r[e]=t[e];let s=a[0],l=a[1],o=a[2],_=a[3],u=a[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,s)+n._f(e,l,o,_)+u+r[e]+n._key[i.floor(e/20)]|0;u=_,_=o,o=n._S(30,l),l=s,s=t}a[0]=a[0]+s|0,a[1]=a[1]+l|0,a[2]=a[2]+o|0,a[3]=a[3]+_|0,a[4]=a[4]+u|0}},A={getRandomValues(e){const t=new l(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(i.random()>.5?1:-1))};for(let a,r=0;r<e.length;r+=4){const e=n(4294967296*(a||i.random()));a=987654071*e(),t[r/4]=4294967296*e()|0}return e}},D={importKey:e=>new D.hmacSha1(E.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new a("invalid params to pbkdf2");const r=1+(i>>5)<<2;let s,l,o,_,d;const c=new ArrayBuffer(r),f=new u(c);let h=0;const b=C;for(t=E.bytes.toBits(t),d=1;(r||1)>h;d++){for(s=l=e.encrypt(b.concat(t,[d])),o=1;n>o;o++)for(l=e.encrypt(l),_=0;_<l.length;_++)s[_]^=l[_];for(o=0;(r||1)>h&&o<s.length;o++)f.setInt32(h,s[o]),h+=4}return c.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=q,i=[[],[]];t._baseHash=[new n,new n];const a=t._baseHash[0].blockSize/32;e.length>a&&(e=(new n).update(e).finalize());for(let t=0;a>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new a("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},P=typeof f!=y&&typeof f.getRandomValues==v,R="Invalid password",H="Invalid signature",B="zipjs-abort-check-password";function K(e){return P?f.getRandomValues(e):A.getRandomValues(e)}const T=16,V={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},V),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},V),M=["deriveBits"],N=[8,12,16],L=[16,24,32],F=10,O=[0,0,0,0],j=typeof f!=y,G=j&&f.subtle,X=j&&typeof G!=y,J=E.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let s,l,o,_=1;if(4!==r&&6!==r&&8!==r)throw new a("invalid aes key size");for(t._key=[l=e.slice(0),o=[]],s=r;4*r+28>s;s++){let e=l[s-1];(s%r===0||8===r&&s%r===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%r===0&&(e=e<<8^e>>>24^_<<24,_=_<<1^283*(_>>7))),l[s]=l[s-r]^e}for(let e=0;s;e++,s--){const t=l[3&e?s:s-4];o[e]=4>=s||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],a=[],r=[];let s,l,o,_;for(let e=0;256>e;e++)r[(a[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=l||1,s=r[s]||1){let r=s^s<<1^s<<2^s<<3^s<<4;r=r>>8^255&r^99,n[u]=r,i[r]=u,_=a[o=a[l=a[u]]];let d=16843009*_^65537*o^257*l^16843008*u,c=257*a[r]^16843008*r;for(let n=0;4>n;n++)e[n][u]=c=c<<24^c>>>8,t[n][r]=d=d<<24^d>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new a("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],s=this._tables[t],l=s[0],o=s[1],_=s[2],u=s[3],d=s[4];let c,f,h,b=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],x=e[t?1:3]^n[3],g=4;for(let e=0;i>e;e++)c=l[b>>>24]^o[w>>16&255]^_[p>>8&255]^u[255&x]^n[g],f=l[w>>>24]^o[p>>16&255]^_[x>>8&255]^u[255&b]^n[g+1],h=l[p>>>24]^o[x>>16&255]^_[b>>8&255]^u[255&w]^n[g+2],x=l[x>>>24]^o[b>>16&255]^_[w>>8&255]^u[255&p]^n[g+3],g+=4,b=c,w=f,p=h;for(let e=0;4>e;e++)r[t?3&-e:e]=d[b>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&x]^n[g++],c=b,b=w,w=p,p=x,x=c;return r}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const a=C.bitLength(t);for(let a=0;i>a;a+=4){this.incCounter(n);const i=e.encrypt(n);t[a]^=i[0],t[a+1]^=i[1],t[a+2]^=i[2],t[a+3]^=i[3]}return C.clamp(t,a)}},Z=D.hmacSha1;let $=j&&X&&typeof G.importKey==v,ee=j&&X&&typeof G.deriveBits==v;class te extends b{constructor({password:e,rawPassword:n,signed:i,encryptionStrength:s,checkPasswordOnly:l}){super({start(){t.assign(this,{ready:new d(e=>this.resolveReady=e),password:re(e,n),signed:i,strength:s-1,pending:new r})},async transform(e,t){const n=this,{password:i,strength:s,resolveReady:o,ready:_}=n;i?(await(async(e,t,n,i)=>{const r=await ae(e,t,n,le(i,0,N[t])),s=le(i,N[t]);if(r[0]!=s[0]||r[1]!=s[1])throw new a(R)})(n,s,i,le(e,0,N[s]+2)),e=le(e,N[s]+2),l?t.error(new a(B)):o()):await _;const u=new r(e.length-F-(e.length-F)%T);t.enqueue(ie(n,e,u,0,F,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:s,ready:l}=this;if(i&&n){await l;const o=le(s,0,s.length-F),_=le(s,s.length-F);let u=new r;if(o.length){const e=_e(J,o);i.update(e);const t=n.update(e);u=oe(J,t)}if(t){const e=le(oe(J,i.digest()),0,F);for(let t=0;F>t;t++)if(e[t]!=_[t])throw new a(H)}e.enqueue(u)}}})}}class ne extends b{constructor({password:e,rawPassword:n,encryptionStrength:i}){let a;super({start(){t.assign(this,{ready:new d(e=>this.resolveReady=e),password:re(e,n),strength:i-1,pending:new r})},async transform(e,t){const n=this,{password:i,strength:a,resolveReady:s,ready:l}=n;let o=new r;i?(o=await(async(e,t,n)=>{const i=K(new r(N[t]));return se(i,await ae(e,t,n,i))})(n,a,i),s()):await l;const _=new r(o.length+e.length-e.length%T);_.set(o,0),t.enqueue(ie(n,e,_,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:i,ready:s}=this;if(n&&t){await s;let l=new r;if(i.length){const e=t.update(_e(J,i));n.update(e),l=oe(J,e)}a.signature=oe(J,n.digest()).slice(0,F),e.enqueue(se(l,a.signature))}}}),a=this}}function ie(e,t,n,i,a,s){const{ctr:l,hmac:o,pending:_}=e,u=t.length-a;let d;for(_.length&&(t=se(_,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new r(t)).set(n,0)}return e})(n,u-u%T)),d=0;u-T>=d;d+=T){const e=_e(J,le(t,d,d+T));s&&o.update(e);const a=l.update(e);s||o.update(a),n.set(oe(J,a),d+i)}return e.pending=le(t,d),n}async function ae(n,i,a,s){n.password=null;const l=await(async(e,t,n,i,a)=>{if(!$)return D.importKey(t);try{return await G.importKey("raw",t,n,!1,a)}catch(e){return $=!1,D.importKey(t)}})(0,a,U,0,M),o=await(async(e,t,n)=>{if(!ee)return D.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(i){return ee=!1,D.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:s},W),l,8*(2*L[i]+2)),_=new r(o),u=_e(J,le(_,0,L[i])),d=_e(J,le(_,L[i],2*L[i])),c=le(_,2*L[i]);return t.assign(n,{keys:{key:u,authentication:d,passwordVerification:c},ctr:new Y(new Q(u),e.from(O)),hmac:new Z(d)}),c}function re(e,t){return t===m?(e=>{if(typeof c==y){const t=new r((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new c).encode(e)})(e):t}function se(e,t){let n=e;return e.length+t.length&&(n=new r(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function le(e,t,n){return e.subarray(t,n)}function oe(e,t){return e.fromBits(t)}function _e(e,t){return e.toBits(t)}class ue extends b{constructor({password:e,passwordVerification:n,checkPasswordOnly:i}){super({start(){t.assign(this,{password:e,passwordVerification:n}),he(this,e)},transform(e,t){const n=this;if(n.password){const t=ce(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new a(R);e=e.subarray(12)}i?t.error(new a(B)):t.enqueue(ce(n,e))}})}}class de extends b{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),he(this,e)},transform(e,t){const n=this;let i,a;if(n.password){n.password=null;const t=K(new r(12));t[11]=n.passwordVerification,i=new r(e.length+t.length),i.set(fe(n,t),0),a=12}else i=new r(e.length),a=0;i.set(fe(n,e),a),t.enqueue(i)}})}}function ce(e,t){const n=new r(t.length);for(let i=0;i<t.length;i++)n[i]=we(e)^t[i],be(e,n[i]);return n}function fe(e,t){const n=new r(t.length);for(let i=0;i<t.length;i++)n[i]=we(e)^t[i],be(e,t[i]);return n}function he(e,n){const i=[305419896,591751049,878082192];t.assign(e,{keys:i,crcKey0:new z(i[0]),crcKey2:new z(i[2])});for(let t=0;t<n.length;t++)be(e,n.charCodeAt(t))}function be(e,t){let[n,a,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),a=xe(i.imul(xe(a+pe(n)),134775813)+1),e.crcKey2.append([a>>>24]),r=~e.crcKey2.get(),e.keys=[n,a,r]}function we(e){const t=2|e.keys[2];return pe(i.imul(t,1^t)>>>8)}function pe(e){return 255&e}function xe(e){return 4294967295&e}const ge="deflate-raw";class me extends b{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:a,encrypted:r,useCompressionStream:s,zipCrypto:l,signed:o,level:_}=e,d=this;let c,f,h=super.readable;r&&!l||!o||(c=new I,h=Se(h,c)),a&&(h=ke(h,s,{level:_,chunkSize:t},i,n)),r&&(l?h=Se(h,new de(e)):(f=new ne(e),h=Se(h,f))),ve(d,h,()=>{let e;r&&!l&&(e=f.signature),r&&!l||!o||(e=new u(c.value.buffer).getUint32(0)),d.signature=e})}}class ye extends b{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:s,signed:l,signature:o,compressed:_,useCompressionStream:d}=e;let c,f,h=super.readable;s&&(r?h=Se(h,new ue(e)):(f=new te(e),h=Se(h,f))),_&&(h=ke(h,d,{chunkSize:t},i,n)),s&&!r||!l||(c=new I,h=Se(h,c)),ve(this,h,()=>{if((!s||r)&&l){const e=new u(c.value.buffer);if(o!=e.getUint32(0,!1))throw new a(H)}})}}function ve(e,n,i){n=Se(n,new b({flush:i})),t.defineProperty(e,"readable",{get:()=>n})}function ke(e,t,n,i,a){try{e=Se(e,new(t&&i?i:a)(ge,n))}catch(i){if(!t)throw i;e=Se(e,new a(ge,n))}return e}function Se(e,t){return e.pipeThrough(t)}const ze="data",Ie="close";class Ce extends b{constructor(e,n){super({});const i=this,{codecType:r}=e;let s;r.startsWith("deflate")?s=me:r.startsWith("inflate")&&(s=ye),i.outputSize=0;let l=0;const o=new s(e,n),_=super.readable,u=new b({transform(e,t){e&&e.length&&(l+=e.length,t.enqueue(e))},flush(){t.assign(i,{inputSize:l})}}),d=new b({transform(t,n){if(t&&t.length&&(n.enqueue(t),i.outputSize+=t.length,e.outputSize&&i.outputSize>e.outputSize))throw new a("Invalid uncompressed size")},flush(){const{signature:e}=o;t.assign(i,{signature:e,inputSize:l})}});t.defineProperty(i,"readable",{get:()=>_.pipeThrough(u).pipeThrough(o).pipeThrough(d)})}}class Ee extends b{constructor(e){let t;super({transform:function n(i,a){if(t){const e=new r(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(a.enqueue(i.slice(0,e)),n(i.slice(e),a)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}const qe=new _,Ae=new _;let De,Pe=0,Re=!0;async function He(e){try{const{options:t,scripts:i,config:a}=e;if(i&&i.length)try{Re?importScripts.apply(m,i):await Be(i)}catch(e){Re=!1,await Be(i)}self.initCodec&&self.initCodec(),a.CompressionStreamNative=self.CompressionStream,a.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(a.CompressionStream=new k(self.Deflate)),self.Inflate&&(a.DecompressionStream=new k(self.Inflate));const r={highWaterMark:1},s=e.readable||new w({async pull(e){const t=new d(e=>qe.set(Pe,e));Ke({type:"pull",messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER;const{value:i,done:a}=await t;e.enqueue(i),a&&e.close()}},r),l=e.writable||new p({async write(e){let t;const i=new d(e=>t=e);Ae.set(Pe,t),Ke({type:ze,value:e,messageId:Pe}),Pe=(Pe+1)%n.MAX_SAFE_INTEGER,await i}},r),o=new Ce(t,a);De=new AbortController;const{signal:_}=De;await s.pipeThrough(o).pipeThrough(new Ee(a.chunkSize)).pipeTo(l,{signal:_,preventClose:!0,preventAbort:!0}),await l.getWriter().close();const{signature:u,inputSize:c,outputSize:f}=o;Ke({type:Ie,result:{signature:u,inputSize:c,outputSize:f}})}catch(e){e.outputSize=0,Te(e)}}async function Be(e){for(const t of e)await import(t)}function Ke(e){let{value:t}=e;if(t)if(t.length)try{t=new r(t),e.value=t.buffer,h(e,[e.value])}catch(t){h(e)}else h(e);else h(e)}function Te(e=new a("Unknown error")){const{message:t,stack:n,code:i,name:r,outputSize:s}=e;h({error:{message:t,stack:n,code:i,name:r,outputSize:s}})}addEventListener("message",({data:e})=>{const{type:t,messageId:n,value:i,done:a}=e;try{if("start"==t&&He(e),t==ze){const e=qe.get(n);qe.delete(n),e({value:new r(i),done:a})}if("ack"==t){const e=Ae.get(n);Ae.delete(n),e()}t==Ie&&De.abort()}catch(e){Te(e)}});const Ve=-2;function Ue(t){return We(t.map(([t,n])=>new e(t).fill(n,0,t)))}function We(t){return t.reduce((t,n)=>t.concat(e.isArray(n)?We(n):n),[])}const Me=[0,1,2,3].concat(...Ue([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Ne(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const a=e.dyn_tree,r=e.stat_desc.static_tree,s=e.stat_desc.elems;let l,o,_,u=-1;for(n.heap_len=0,n.heap_max=573,l=0;s>l;l++)0!==a[2*l]?(n.heap[++n.heap_len]=u=l,n.depth[l]=0):a[2*l+1]=0;for(;2>n.heap_len;)_=n.heap[++n.heap_len]=2>u?++u:0,a[2*_]=1,n.depth[_]=0,n.opt_len--,r&&(n.static_len-=r[2*_+1]);for(e.max_code=u,l=i.floor(n.heap_len/2);l>=1;l--)n.pqdownheap(a,l);_=s;do{l=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(a,1),o=n.heap[1],n.heap[--n.heap_max]=l,n.heap[--n.heap_max]=o,a[2*_]=a[2*l]+a[2*o],n.depth[_]=i.max(n.depth[l],n.depth[o])+1,a[2*l+1]=a[2*o+1]=_,n.heap[1]=_++,n.pqdownheap(a,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,i=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,r=e.stat_desc.extra_base,s=e.stat_desc.max_length;let l,o,_,u,d,c,f=0;for(u=0;15>=u;u++)t.bl_count[u]=0;for(n[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;573>l;l++)o=t.heap[l],u=n[2*n[2*o+1]+1]+1,u>s&&(u=s,f++),n[2*o+1]=u,o>e.max_code||(t.bl_count[u]++,d=0,r>o||(d=a[o-r]),c=n[2*o],t.opt_len+=c*(u+d),i&&(t.static_len+=c*(i[2*o+1]+d)));if(0!==f){do{for(u=s-1;0===t.bl_count[u];)u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[s]--,f-=2}while(f>0);for(u=s;0!==u;u--)for(o=t.bl_count[u];0!==o;)_=t.heap[--l],_>e.max_code||(n[2*_+1]!=u&&(t.opt_len+=(u-n[2*_+1])*n[2*_],n[2*_+1]=u),o--)}})(n),((e,n,i)=>{const a=[];let r,s,l,o=0;for(r=1;15>=r;r++)a[r]=o=o+i[r-1]<<1;for(s=0;n>=s;s++)l=e[2*s+1],0!==l&&(e[2*s]=t(a[l]++,l))})(a,e.max_code,n.bl_count)}}function Le(e,t,n,i,a){const r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=a}Ne._length_code=[0,1,2,3,4,5,6,7].concat(...Ue([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),Ne.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],Ne.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],Ne.d_code=e=>256>e?Me[e]:Me[256+(e>>>7)],Ne.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ne.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ne.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ne.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const Fe=Ue([[144,8],[112,9],[24,7],[8,8]]);Le.static_ltree=We([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,Fe[t]]));const Oe=Ue([[30,5]]);function je(e,t,n,i,a){const r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=a}Le.static_dtree=We([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,Oe[t]])),Le.static_l_desc=new Le(Le.static_ltree,Ne.extra_lbits,257,286,15),Le.static_d_desc=new Le(Le.static_dtree,Ne.extra_dbits,0,30,15),Le.static_bl_desc=new Le(null,Ne.extra_blbits,0,19,7);const Ge=[new je(0,0,0,0,0),new je(4,4,8,4,1),new je(4,5,16,8,1),new je(4,6,32,32,1),new je(4,4,16,16,2),new je(8,16,32,32,2),new je(8,16,128,128,2),new je(8,32,128,256,2),new je(32,128,258,1024,2),new je(32,258,258,4096,2)],Xe=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Je=113,Qe=666,Ye=262;function Ze(e,t,n,i){const a=e[2*t],r=e[2*n];return r>a||a==r&&i[t]<=i[n]}function $e(){const e=this;let t,n,a,l,o,_,u,d,c,f,h,b,w,p,x,g,m,y,v,k,S,z,I,C,E,q,A,D,P,R,H,B,K;const T=new Ne,V=new Ne,U=new Ne;let W,M,N,L,F,O;function j(){let t;for(t=0;286>t;t++)H[2*t]=0;for(t=0;30>t;t++)B[2*t]=0;for(t=0;19>t;t++)K[2*t]=0;H[512]=1,e.opt_len=e.static_len=0,M=N=0}function G(e,t){let n,i=-1,a=e[1],r=0,s=7,l=4;0===a&&(s=138,l=3),e[2*(t+1)+1]=65535;for(let o=0;t>=o;o++)n=a,a=e[2*(o+1)+1],++r<s&&n==a||(l>r?K[2*n]+=r:0!==n?(n!=i&&K[2*n]++,K[32]++):r>10?K[36]++:K[34]++,r=0,i=n,0===a?(s=138,l=3):n==a?(s=6,l=3):(s=7,l=4))}function X(t){e.pending_buf[e.pending++]=t}function J(e){X(255&e),X(e>>>8&255)}function Q(e,t){let n;const i=t;O>16-i?(n=e,F|=n<<O&65535,J(F),F=n>>>16-O,O+=i-16):(F|=e<<O&65535,O+=i)}function Y(e,t){const n=2*e;Q(65535&t[n],65535&t[n+1])}function Z(e,t){let n,i,a=-1,r=e[1],s=0,l=7,o=4;for(0===r&&(l=138,o=3),n=0;t>=n;n++)if(i=r,r=e[2*(n+1)+1],++s>=l||i!=r){if(o>s)do{Y(i,K)}while(0!==--s);else 0!==i?(i!=a&&(Y(i,K),s--),Y(16,K),Q(s-3,2)):s>10?(Y(18,K),Q(s-11,7)):(Y(17,K),Q(s-3,3));s=0,a=i,0===r?(l=138,o=3):i==r?(l=6,o=3):(l=7,o=4)}}function $(){16==O?(J(F),F=0,O=0):8>O||(X(255&F),F>>>=8,O-=8)}function ee(t,n){let a,r,s;if(e.dist_buf[M]=t,e.lc_buf[M]=255&n,M++,0===t?H[2*n]++:(N++,t--,H[2*(Ne._length_code[n]+256+1)]++,B[2*Ne.d_code(t)]++),!(8191&M)&&A>2){for(a=8*M,r=S-m,s=0;30>s;s++)a+=B[2*s]*(5+Ne.extra_dbits[s]);if(a>>>=3,N<i.floor(M/2)&&a<i.floor(r/2))return!0}return M==W-1}function te(t,n){let i,a,r,s,l=0;if(0!==M)do{i=e.dist_buf[l],a=e.lc_buf[l],l++,0===i?Y(a,t):(r=Ne._length_code[a],Y(r+256+1,t),s=Ne.extra_lbits[r],0!==s&&(a-=Ne.base_length[r],Q(a,s)),i--,r=Ne.d_code(i),Y(r,n),s=Ne.extra_dbits[r],0!==s&&(i-=Ne.base_dist[r],Q(i,s)))}while(M>l);Y(256,t),L=t[513]}function ne(){O>8?J(F):O>0&&X(255&F),F=0,O=0}function ie(t,n,i){Q(0+(i?1:0),3),((t,n)=>{ne(),L=8,J(n),J(~n),e.pending_buf.set(d.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function ae(n){((t,n,i)=>{let a,r,s=0;A>0?(T.build_tree(e),V.build_tree(e),s=(()=>{let t;for(G(H,T.max_code),G(B,V.max_code),U.build_tree(e),t=18;t>=3&&0===K[2*Ne.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),a=e.opt_len+3+7>>>3,r=e.static_len+3+7>>>3,r>a||(a=r)):a=r=n+5,n+4>a||-1==t?r==a?(Q(2+(i?1:0),3),te(Le.static_ltree,Le.static_dtree)):(Q(4+(i?1:0),3),((e,t,n)=>{let i;for(Q(e-257,5),Q(t-1,5),Q(n-4,4),i=0;n>i;i++)Q(K[2*Ne.bl_order[i]+1],3);Z(H,e-1),Z(B,t-1)})(T.max_code+1,V.max_code+1,s+1),te(H,B)):ie(t,n,i),j(),i&&ne()})(0>m?-1:m,S-m,n),m=S,t.flush_pending()}function re(){let e,n,i,a;do{if(a=c-I-S,0===a&&0===S&&0===I)a=o;else if(-1==a)a--;else if(S>=o+o-Ye){d.set(d.subarray(o,o+o),0),z-=o,S-=o,m-=o,e=w,i=e;do{n=65535&h[--i],h[i]=o>n?0:n-o}while(0!==--e);e=o,i=e;do{n=65535&f[--i],f[i]=o>n?0:n-o}while(0!==--e);a+=o}if(0===t.avail_in)return;e=t.read_buf(d,S+I,a),I+=e,3>I||(b=255&d[S],b=(b<<g^255&d[S+1])&x)}while(Ye>I&&0!==t.avail_in)}function se(e){let t,n,i=E,a=S,r=C;const s=S>o-Ye?S-(o-Ye):0;let l=R;const _=u,c=S+258;let h=d[a+r-1],b=d[a+r];P>C||(i>>=2),l>I&&(l=I);do{if(t=e,d[t+r]==b&&d[t+r-1]==h&&d[t]==d[a]&&d[++t]==d[a+1]){a+=2,t++;do{}while(d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&d[++a]==d[++t]&&c>a);if(n=258-(c-a),a=c-258,n>r){if(z=e,r=n,n>=l)break;h=d[a+r-1],b=d[a+r]}}}while((e=65535&f[e&_])>s&&0!==--i);return r>I?I:r}e.depth=[],e.bl_count=[],e.heap=[],H=[],B=[],K=[],e.pqdownheap=(t,n)=>{const i=e.heap,a=i[n];let r=n<<1;for(;r<=e.heap_len&&(r<e.heap_len&&Ze(t,i[r+1],i[r],e.depth)&&r++,!Ze(t,a,i[r],e.depth));)i[n]=i[r],n=r,r<<=1;i[n]=a},e.deflateInit=(t,v,z,M,N,G)=>(M||(M=8),N||(N=8),G||(G=0),t.msg=null,-1==v&&(v=6),1>N||N>9||8!=M||9>z||z>15||0>v||v>9||0>G||G>2?Ve:(t.dstate=e,_=z,o=1<<_,u=o-1,p=N+7,w=1<<p,x=w-1,g=i.floor((p+3-1)/3),d=new r(2*o),f=[],h=[],W=1<<N+6,e.pending_buf=new r(4*W),a=4*W,e.dist_buf=new s(W),e.lc_buf=new r(W),A=v,D=G,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=Je,l=0,T.dyn_tree=H,T.stat_desc=Le.static_l_desc,V.dyn_tree=B,V.stat_desc=Le.static_d_desc,U.dyn_tree=K,U.stat_desc=Le.static_bl_desc,F=0,O=0,L=8,j(),(()=>{c=2*o,h[w-1]=0;for(let e=0;w-1>e;e++)h[e]=0;q=Ge[A].max_lazy,P=Ge[A].good_length,R=Ge[A].nice_length,E=Ge[A].max_chain,S=0,m=0,I=0,y=C=2,k=0,b=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=Je&&n!=Qe?Ve:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,h=null,f=null,d=null,e.dstate=null,n==Je?-3:0),e.deflateParams=(e,t,n)=>{let i=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?Ve:(Ge[A].func!=Ge[t].func&&0!==e.total_in&&(i=e.deflate(1)),A!=t&&(A=t,q=Ge[A].max_lazy,P=Ge[A].good_length,R=Ge[A].nice_length,E=Ge[A].max_chain),D=n,i)},e.deflateSetDictionary=(e,t,i)=>{let a,r=i,s=0;if(!t||42!=n)return Ve;if(3>r)return 0;for(r>o-Ye&&(r=o-Ye,s=i-r),d.set(t.subarray(s,s+r),0),S=r,m=r,b=255&d[0],b=(b<<g^255&d[1])&x,a=0;r-3>=a;a++)b=(b<<g^255&d[a+2])&x,f[a&u]=h[b],h[b]=a;return 0},e.deflate=(i,r)=>{let s,c,p,E,P;if(r>4||0>r)return Ve;if(!i.next_out||!i.next_in&&0!==i.avail_in||n==Qe&&4!=r)return i.msg=Xe[4],Ve;if(0===i.avail_out)return i.msg=Xe[7],-5;var R;if(t=i,E=l,l=r,42==n&&(c=8+(_-8<<4)<<8,p=(A-1&255)>>1,p>3&&(p=3),c|=p<<6,0!==S&&(c|=32),c+=31-c%31,n=Je,X((R=c)>>8&255),X(255&R)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return l=-1,0}else if(0===t.avail_in&&E>=r&&4!=r)return t.msg=Xe[7],-5;if(n==Qe&&0!==t.avail_in)return i.msg=Xe[7],-5;if(0!==t.avail_in||0!==I||0!=r&&n!=Qe){switch(P=-1,Ge[A].func){case 0:P=(e=>{let n,i=65535;for(i>a-5&&(i=a-5);;){if(1>=I){if(re(),0===I&&0==e)return 0;if(0===I)break}if(S+=I,I=0,n=m+i,(0===S||S>=n)&&(I=S-n,S=n,ae(!1),0===t.avail_out))return 0;if(S-m>=o-Ye&&(ae(!1),0===t.avail_out))return 0}return ae(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(r);break;case 1:P=(e=>{let n,i=0;for(;;){if(Ye>I){if(re(),Ye>I&&0==e)return 0;if(0===I)break}if(3>I||(b=(b<<g^255&d[S+2])&x,i=65535&h[b],f[S&u]=h[b],h[b]=S),0===i||(S-i&65535)>o-Ye||2!=D&&(y=se(i)),3>y)n=ee(0,255&d[S]),I--,S++;else if(n=ee(S-z,y-3),I-=y,y>q||3>I)S+=y,y=0,b=255&d[S],b=(b<<g^255&d[S+1])&x;else{y--;do{S++,b=(b<<g^255&d[S+2])&x,i=65535&h[b],f[S&u]=h[b],h[b]=S}while(0!==--y);S++}if(n&&(ae(!1),0===t.avail_out))return 0}return ae(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(r);break;case 2:P=(e=>{let n,i,a=0;for(;;){if(Ye>I){if(re(),Ye>I&&0==e)return 0;if(0===I)break}if(3>I||(b=(b<<g^255&d[S+2])&x,a=65535&h[b],f[S&u]=h[b],h[b]=S),C=y,v=z,y=2,0!==a&&q>C&&o-Ye>=(S-a&65535)&&(2!=D&&(y=se(a)),5>=y&&(1==D||3==y&&S-z>4096)&&(y=2)),3>C||y>C)if(0!==k){if(n=ee(0,255&d[S-1]),n&&ae(!1),S++,I--,0===t.avail_out)return 0}else k=1,S++,I--;else{i=S+I-3,n=ee(S-1-v,C-3),I-=C-1,C-=2;do{++S>i||(b=(b<<g^255&d[S+2])&x,a=65535&h[b],f[S&u]=h[b],h[b]=S)}while(0!==--C);if(k=0,y=2,S++,n&&(ae(!1),0===t.avail_out))return 0}}return 0!==k&&(n=ee(0,255&d[S-1]),k=0),ae(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(r)}if(2!=P&&3!=P||(n=Qe),0==P||2==P)return 0===t.avail_out&&(l=-1),0;if(1==P){if(1==r)Q(2,3),Y(256,Le.static_ltree),$(),9>1+L+10-O&&(Q(2,3),Y(256,Le.static_ltree),$()),L=7;else if(ie(0,0,!1),3==r)for(s=0;w>s;s++)h[s]=0;if(t.flush_pending(),0===t.avail_out)return l=-1,0}}return 4!=r?0:1}}function et(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}function tt(e){const t=new et,n=(s=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(s/16383)+1);var s;const l=new r(n);let o=e?e.level:-1;void 0===o&&(o=-1),t.deflateInit(o),t.next_out=l,this.append=(e,i)=>{let s,o,_=0,u=0,d=0;const c=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new a("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?c.push(new r(l)):c.push(l.subarray(0,t.next_out_index))),d+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=_&&(i(t.next_in_index),_=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return c.length>1?(o=new r(d),c.forEach(e=>{o.set(e,u),u+=e.length})):o=c[0]?new r(c[0]):new r,o}},this.flush=()=>{let e,i,s=0,o=0;const _=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new a("deflating: "+t.msg);n-t.avail_out>0&&_.push(l.slice(0,t.next_out_index)),o+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),i=new r(o),_.forEach(e=>{i.set(e,s),s+=e.length}),i}}et.prototype={deflateInit(e,t){const n=this;return n.dstate=new $e,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):Ve},deflateEnd(){const e=this;if(!e.dstate)return Ve;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):Ve},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):Ve},read_buf(e,t,n){const i=this;let a=i.avail_in;return a>n&&(a=n),0===a?0:(i.avail_in-=a,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+a),t),i.next_in_index+=a,i.total_in+=a,a)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const nt=-2,it=-3,at=-5,rt=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],st=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],lt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],ot=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],_t=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],ut=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],dt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function ct(){let e,t,n,i,a,r;function s(e,t,s,l,o,_,u,d,c,f,h){let b,w,p,x,g,m,y,v,k,S,z,I,C,E,q;S=0,g=s;do{n[e[t+S]]++,S++,g--}while(0!==g);if(n[0]==s)return u[0]=-1,d[0]=0,0;for(v=d[0],m=1;15>=m&&0===n[m];m++);for(y=m,m>v&&(v=m),g=15;0!==g&&0===n[g];g--);for(p=g,v>g&&(v=g),d[0]=v,E=1<<m;g>m;m++,E<<=1)if(0>(E-=n[m]))return it;if(0>(E-=n[g]))return it;for(n[g]+=E,r[1]=m=0,S=1,C=2;0!==--g;)r[C]=m+=n[S],C++,S++;g=0,S=0;do{0!==(m=e[t+S])&&(h[r[m]++]=g),S++}while(++g<s);for(s=r[p],r[0]=g=0,S=0,x=-1,I=-v,a[0]=0,z=0,q=0;p>=y;y++)for(b=n[y];0!==b--;){for(;y>I+v;){if(x++,I+=v,q=p-I,q=q>v?v:q,(w=1<<(m=y-I))>b+1&&(w-=b+1,C=y,q>m))for(;++m<q&&(w<<=1)>n[++C];)w-=n[C];if(q=1<<m,f[0]+q>1440)return it;a[x]=z=f[0],f[0]+=q,0!==x?(r[x]=g,i[0]=m,i[1]=v,m=g>>>I-v,i[2]=z-a[x-1]-m,c.set(i,3*(a[x-1]+m))):u[0]=z}for(i[1]=y-I,s>S?h[S]<l?(i[0]=256>h[S]?0:96,i[2]=h[S++]):(i[0]=_[h[S]-l]+16+64,i[2]=o[h[S++]-l]):i[0]=192,w=1<<y-I,m=g>>>I;q>m;m+=w)c.set(i,3*(z+m));for(m=1<<y-1;0!==(g&m);m>>>=1)g^=m;for(g^=m,k=(1<<I)-1;(g&k)!=r[x];)x--,I-=v,k=(1<<I)-1}return 0!==E&&1!=p?at:0}function l(s){let l;for(e||(e=[],t=[],n=new o(16),i=[],a=new o(15),r=new o(16)),t.length<s&&(t=[]),l=0;s>l;l++)t[l]=0;for(l=0;16>l;l++)n[l]=0;for(l=0;3>l;l++)i[l]=0;a.set(n.subarray(0,15),0),r.set(n.subarray(0,16),0)}this.inflate_trees_bits=(n,i,a,r,o)=>{let _;return l(19),e[0]=0,_=s(n,0,19,19,null,null,a,i,r,e,t),_==it?o.msg="oversubscribed dynamic bit lengths tree":_!=at&&0!==i[0]||(o.msg="incomplete dynamic bit lengths tree",_=it),_},this.inflate_trees_dynamic=(n,i,a,r,o,_,u,d,c)=>{let f;return l(288),e[0]=0,f=s(a,0,n,257,ot,_t,_,r,d,e,t),0!=f||0===r[0]?(f==it?c.msg="oversubscribed literal/length tree":-4!=f&&(c.msg="incomplete literal/length tree",f=it),f):(l(288),f=s(a,n,i,0,ut,dt,u,o,d,e,t),0!=f||0===o[0]&&n>257?(f==it?c.msg="oversubscribed distance tree":f==at?(c.msg="incomplete distance tree",f=it):-4!=f&&(c.msg="empty distance tree with lengths",f=it),f):0)}}function ft(){const e=this;let t,n,i,a,r=0,s=0,l=0,o=0,_=0,u=0,d=0,c=0,f=0,h=0;function b(e,t,n,i,a,r,s,l){let o,_,u,d,c,f,h,b,w,p,x,g,m,y,v,k;h=l.next_in_index,b=l.avail_in,c=s.bitb,f=s.bitk,w=s.write,p=w<s.read?s.read-w-1:s.end-w,x=rt[e],g=rt[t];do{for(;20>f;)b--,c|=(255&l.read_byte(h++))<<f,f+=8;if(o=c&x,_=n,u=i,k=3*(u+o),0!==(d=_[k]))for(;;){if(c>>=_[k+1],f-=_[k+1],16&d){for(d&=15,m=_[k+2]+(c&rt[d]),c>>=d,f-=d;15>f;)b--,c|=(255&l.read_byte(h++))<<f,f+=8;for(o=c&g,_=a,u=r,k=3*(u+o),d=_[k];;){if(c>>=_[k+1],f-=_[k+1],16&d){for(d&=15;d>f;)b--,c|=(255&l.read_byte(h++))<<f,f+=8;if(y=_[k+2]+(c&rt[d]),c>>=d,f-=d,p-=m,y>w){v=w-y;do{v+=s.end}while(0>v);if(d=s.end-v,m>d){if(m-=d,w-v>0&&d>w-v)do{s.win[w++]=s.win[v++]}while(0!==--d);else s.win.set(s.win.subarray(v,v+d),w),w+=d,v+=d,d=0;v=0}}else v=w-y,w-v>0&&2>w-v?(s.win[w++]=s.win[v++],s.win[w++]=s.win[v++],m-=2):(s.win.set(s.win.subarray(v,v+2),w),w+=2,v+=2,m-=2);if(w-v>0&&m>w-v)do{s.win[w++]=s.win[v++]}while(0!==--m);else s.win.set(s.win.subarray(v,v+m),w),w+=m,v+=m,m=0;break}if(64&d)return l.msg="invalid distance code",m=l.avail_in-b,m=m>f>>3?f>>3:m,b+=m,h-=m,f-=m<<3,s.bitb=c,s.bitk=f,l.avail_in=b,l.total_in+=h-l.next_in_index,l.next_in_index=h,s.write=w,it;o+=_[k+2],o+=c&rt[d],k=3*(u+o),d=_[k]}break}if(64&d)return 32&d?(m=l.avail_in-b,m=m>f>>3?f>>3:m,b+=m,h-=m,f-=m<<3,s.bitb=c,s.bitk=f,l.avail_in=b,l.total_in+=h-l.next_in_index,l.next_in_index=h,s.write=w,1):(l.msg="invalid literal/length code",m=l.avail_in-b,m=m>f>>3?f>>3:m,b+=m,h-=m,f-=m<<3,s.bitb=c,s.bitk=f,l.avail_in=b,l.total_in+=h-l.next_in_index,l.next_in_index=h,s.write=w,it);if(o+=_[k+2],o+=c&rt[d],k=3*(u+o),0===(d=_[k])){c>>=_[k+1],f-=_[k+1],s.win[w++]=_[k+2],p--;break}}else c>>=_[k+1],f-=_[k+1],s.win[w++]=_[k+2],p--}while(p>=258&&b>=10);return m=l.avail_in-b,m=m>f>>3?f>>3:m,b+=m,h-=m,f-=m<<3,s.bitb=c,s.bitk=f,l.avail_in=b,l.total_in+=h-l.next_in_index,l.next_in_index=h,s.write=w,0}e.init=(e,r,s,l,o,_)=>{t=0,d=e,c=r,i=s,f=l,a=o,h=_,n=null},e.proc=(e,w,p)=>{let x,g,m,y,v,k,S,z=0,I=0,C=0;for(C=w.next_in_index,y=w.avail_in,z=e.bitb,I=e.bitk,v=e.write,k=v<e.read?e.read-v-1:e.end-v;;)switch(t){case 0:if(k>=258&&y>=10&&(e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,p=b(d,c,i,f,a,h,e,w),C=w.next_in_index,y=w.avail_in,z=e.bitb,I=e.bitk,v=e.write,k=v<e.read?e.read-v-1:e.end-v,0!=p)){t=1==p?7:9;break}l=d,n=i,s=f,t=1;case 1:for(x=l;x>I;){if(0===y)return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);p=0,y--,z|=(255&w.read_byte(C++))<<I,I+=8}if(g=3*(s+(z&rt[x])),z>>>=n[g+1],I-=n[g+1],m=n[g],0===m){o=n[g+2],t=6;break}if(16&m){_=15&m,r=n[g+2],t=2;break}if(!(64&m)){l=m,s=g/3+n[g+2];break}if(32&m){t=7;break}return t=9,w.msg="invalid literal/length code",p=it,e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);case 2:for(x=_;x>I;){if(0===y)return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);p=0,y--,z|=(255&w.read_byte(C++))<<I,I+=8}r+=z&rt[x],z>>=x,I-=x,l=c,n=a,s=h,t=3;case 3:for(x=l;x>I;){if(0===y)return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);p=0,y--,z|=(255&w.read_byte(C++))<<I,I+=8}if(g=3*(s+(z&rt[x])),z>>=n[g+1],I-=n[g+1],m=n[g],16&m){_=15&m,u=n[g+2],t=4;break}if(!(64&m)){l=m,s=g/3+n[g+2];break}return t=9,w.msg="invalid distance code",p=it,e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);case 4:for(x=_;x>I;){if(0===y)return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);p=0,y--,z|=(255&w.read_byte(C++))<<I,I+=8}u+=z&rt[x],z>>=x,I-=x,t=5;case 5:for(S=v-u;0>S;)S+=e.end;for(;0!==r;){if(0===k&&(v==e.end&&0!==e.read&&(v=0,k=v<e.read?e.read-v-1:e.end-v),0===k&&(e.write=v,p=e.inflate_flush(w,p),v=e.write,k=v<e.read?e.read-v-1:e.end-v,v==e.end&&0!==e.read&&(v=0,k=v<e.read?e.read-v-1:e.end-v),0===k)))return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);e.win[v++]=e.win[S++],k--,S==e.end&&(S=0),r--}t=0;break;case 6:if(0===k&&(v==e.end&&0!==e.read&&(v=0,k=v<e.read?e.read-v-1:e.end-v),0===k&&(e.write=v,p=e.inflate_flush(w,p),v=e.write,k=v<e.read?e.read-v-1:e.end-v,v==e.end&&0!==e.read&&(v=0,k=v<e.read?e.read-v-1:e.end-v),0===k)))return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);p=0,e.win[v++]=o,k--,t=0;break;case 7:if(I>7&&(I-=8,y++,C--),e.write=v,p=e.inflate_flush(w,p),v=e.write,k=v<e.read?e.read-v-1:e.end-v,e.read!=e.write)return e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);t=8;case 8:return p=1,e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);case 9:return p=it,e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p);default:return p=nt,e.bitb=z,e.bitk=I,w.avail_in=y,w.total_in+=C-w.next_in_index,w.next_in_index=C,e.write=v,e.inflate_flush(w,p)}},e.free=()=>{}}ct.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=st,i[0]=lt,0);const ht=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function bt(e,t){const n=this;let i,a=0,s=0,l=0,_=0;const u=[0],d=[0],c=new ft;let f=0,h=new o(4320);const b=new ct;n.bitk=0,n.bitb=0,n.win=new r(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==a&&c.free(e),a=0,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let i,a,r;return a=e.next_out_index,r=n.read,i=(r>n.write?n.end:n.write)-r,i>e.avail_out&&(i=e.avail_out),0!==i&&t==at&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(r,r+i),a),a+=i,r+=i,r==n.end&&(r=0,n.write==n.end&&(n.write=0),i=n.write-r,i>e.avail_out&&(i=e.avail_out),0!==i&&t==at&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(r,r+i),a),a+=i,r+=i),e.next_out_index=a,n.read=r,t},n.proc=(e,t)=>{let r,o,w,p,x,g,m,y;for(p=e.next_in_index,x=e.avail_in,o=n.bitb,w=n.bitk,g=n.write,m=g<n.read?n.read-g-1:n.end-g;;){let v,k,S,z,I,C,E,q;switch(a){case 0:for(;3>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}switch(r=7&o,f=1&r,r>>>1){case 0:o>>>=3,w-=3,r=7&w,o>>>=r,w-=r,a=1;break;case 1:v=[],k=[],S=[[]],z=[[]],ct.inflate_trees_fixed(v,k,S,z),c.init(v[0],k[0],S[0],0,z[0],0),o>>>=3,w-=3,a=6;break;case 2:o>>>=3,w-=3,a=3;break;case 3:return o>>>=3,w-=3,a=9,e.msg="invalid block type",t=it,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t)}break;case 1:for(;32>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}if((~o>>>16&65535)!=(65535&o))return a=9,e.msg="invalid stored block lengths",t=it,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);s=65535&o,o=w=0,a=0!==s?2:0!==f?7:0;break;case 2:if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);if(0===m&&(g==n.end&&0!==n.read&&(g=0,m=g<n.read?n.read-g-1:n.end-g),0===m&&(n.write=g,t=n.inflate_flush(e,t),g=n.write,m=g<n.read?n.read-g-1:n.end-g,g==n.end&&0!==n.read&&(g=0,m=g<n.read?n.read-g-1:n.end-g),0===m)))return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);if(t=0,r=s,r>x&&(r=x),r>m&&(r=m),n.win.set(e.read_buf(p,r),g),p+=r,x-=r,g+=r,m-=r,0!==(s-=r))break;a=0!==f?7:0;break;case 3:for(;14>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}if(l=r=16383&o,(31&r)>29||(r>>5&31)>29)return a=9,e.msg="too many length or distance symbols",t=it,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);if(r=258+(31&r)+(r>>5&31),!i||i.length<r)i=[];else for(y=0;r>y;y++)i[y]=0;o>>>=14,w-=14,_=0,a=4;case 4:for(;4+(l>>>10)>_;){for(;3>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}i[ht[_++]]=7&o,o>>>=3,w-=3}for(;19>_;)i[ht[_++]]=0;if(u[0]=7,r=b.inflate_trees_bits(i,u,d,h,e),0!=r)return(t=r)==it&&(i=null,a=9),n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);_=0,a=5;case 5:for(;r=l,258+(31&r)+(r>>5&31)>_;){let s,c;for(r=u[0];r>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}if(r=h[3*(d[0]+(o&rt[r]))+1],c=h[3*(d[0]+(o&rt[r]))+2],16>c)o>>>=r,w-=r,i[_++]=c;else{for(y=18==c?7:c-14,s=18==c?11:3;r+y>w;){if(0===x)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);t=0,x--,o|=(255&e.read_byte(p++))<<w,w+=8}if(o>>>=r,w-=r,s+=o&rt[y],o>>>=y,w-=y,y=_,r=l,y+s>258+(31&r)+(r>>5&31)||16==c&&1>y)return i=null,a=9,e.msg="invalid bit length repeat",t=it,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);c=16==c?i[y-1]:0;do{i[y++]=c}while(0!==--s);_=y}}if(d[0]=-1,I=[],C=[],E=[],q=[],I[0]=9,C[0]=6,r=l,r=b.inflate_trees_dynamic(257+(31&r),1+(r>>5&31),i,I,C,E,q,h,e),0!=r)return r==it&&(i=null,a=9),t=r,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);c.init(I[0],C[0],h,E[0],h,q[0]),a=6;case 6:if(n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,1!=(t=c.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,c.free(e),p=e.next_in_index,x=e.avail_in,o=n.bitb,w=n.bitk,g=n.write,m=g<n.read?n.read-g-1:n.end-g,0===f){a=0;break}a=7;case 7:if(n.write=g,t=n.inflate_flush(e,t),g=n.write,m=g<n.read?n.read-g-1:n.end-g,n.read!=n.write)return n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);a=8;case 8:return t=1,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);case 9:return t=it,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t);default:return t=nt,n.bitb=o,n.bitk=w,e.avail_in=x,e.total_in+=p-e.next_in_index,e.next_in_index=p,n.write=g,n.inflate_flush(e,t)}}},n.free=e=>{n.reset(e,null),n.win=null,h=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>1==a?1:0}const wt=13,pt=[0,0,255,255];function xt(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):nt}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,0),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),nt):(e.wbits=i,n.istate.blocks=new bt(n,1<<i),t(n),0)),e.inflate=(e,t)=>{let n,i;if(!e||!e.istate||!e.next_in)return nt;const a=e.istate;for(t=4==t?at:0,n=at;;)switch(a.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(a.method=e.read_byte(e.next_in_index++)))){a.mode=wt,e.msg="unknown compression method",a.marker=5;break}if(8+(a.method>>4)>a.wbits){a.mode=wt,e.msg="invalid win size",a.marker=5;break}a.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((a.method<<8)+i)%31!=0){a.mode=wt,e.msg="incorrect header check",a.marker=5;break}if(!(32&i)){a.mode=7;break}a.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,a.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,a.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,a.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,a.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,a.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,a.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,a.need+=255&e.read_byte(e.next_in_index++),a.mode=6,2);case 6:return a.mode=wt,e.msg="need dictionary",a.marker=0,nt;case 7:if(n=a.blocks.proc(e,n),n==it){a.mode=wt,a.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,a.blocks.reset(e,a.was),a.mode=12;case 12:return e.avail_in=0,1;case wt:return it;default:return nt}},e.inflateSetDictionary=(e,t,n)=>{let i=0,a=n;if(!e||!e.istate||6!=e.istate.mode)return nt;const r=e.istate;return a<1<<r.wbits||(a=(1<<r.wbits)-1,i=n-a),r.blocks.set_dictionary(t,i,a),r.mode=7,0},e.inflateSync=e=>{let n,i,a,r,s;if(!e||!e.istate)return nt;const l=e.istate;if(l.mode!=wt&&(l.mode=wt,l.marker=0),0===(n=e.avail_in))return at;for(i=e.next_in_index,a=l.marker;0!==n&&4>a;)e.read_byte(i)==pt[a]?a++:a=0!==e.read_byte(i)?0:4-a,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,l.marker=a,4!=a?it:(r=e.total_in,s=e.total_out,t(e),e.total_in=r,e.total_out=s,l.mode=7,0)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():nt}function gt(){}function mt(e){const t=new gt,n=e&&e.chunkSize?i.floor(2*e.chunkSize):131072,s=new r(n);let l=!1;t.inflateInit(),t.next_out=s,this.append=(e,i)=>{const o=[];let _,u,d=0,c=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||l||(t.next_in_index=0,l=!0),_=t.inflate(0),l&&_===at){if(0!==t.avail_in)throw new a("inflating: bad input")}else if(0!==_&&1!==_)throw new a("inflating: "+t.msg);if((l||1===_)&&t.avail_in===e.length)throw new a("inflating: bad input");t.next_out_index&&(t.next_out_index===n?o.push(new r(s)):o.push(s.subarray(0,t.next_out_index))),f+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=d&&(i(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(u=new r(f),o.forEach(e=>{u.set(e,c),c+=e.length})):u=o[0]?new r(o[0]):new r,u}},this.flush=()=>{t.inflateEnd()}}gt.prototype={inflateInit(e){const t=this;return t.istate=new xt,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):nt},inflateEnd(){const e=this;if(!e.istate)return nt;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):nt},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):nt},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=tt,self.Inflate=mt}}();
|