@protontech/openpgp 5.11.1 → 5.11.2-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.
@@ -1,3 +1,3 @@
1
- /*! OpenPGP.js v5.11.1 - 2024-04-10 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
- const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=Symbol("doneWritingPromise"),r=Symbol("doneWritingResolve"),n=Symbol("doneWritingReject"),i=Symbol("readingIndex");class a extends Array{constructor(){super(),this[t]=new Promise(((e,t)=>{this[r]=e,this[n]=t})),this[t].catch((()=>{}))}}function s(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!s(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}a.prototype.getReader=function(){return void 0===this[i]&&(this[i]=0),{read:async()=>(await this[t],this[i]===this.length?{value:void 0,done:!0}:{value:this[this[i]++],done:!1})}},a.prototype.readToEnd=async function(e){await this[t];const r=e(this.slice(this[i]));return this.length=0,r},a.prototype.clone=function(){const e=new a;return e[t]=this[t].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[r]()},o.prototype.abort=async function(e){return this.stream[n](e),e},o.prototype.releaseLock=function(){};const c="object"==typeof e.process&&"object"==typeof e.process.versions,h=c&&void 0;function u(t){return s(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":A&&A.prototype.isPrototypeOf(t)?"ponyfill":h&&h.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function l(e){return Uint8Array.prototype.isPrototypeOf(e)}function y(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!l(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r}const d=c&&void 0,p=c&&void 0;let f,g;if(p){f=function(e){let t=!1;return new A({start(r){e.pause(),e.on("data",(n=>{t||(d.isBuffer(n)&&(n=new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),r.enqueue(n),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends p{constructor(e,t){super(t),this._reader=D(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t))break}}catch(e){this.destroy(e)}}async _destroy(e,t){this._reader.cancel(e).then(t,t)}}g=function(t,r){return new e(t,r)}}const m=new WeakSet,w=Symbol("externalBuffer");function b(e){if(this.stream=e,e[w]&&(this[w]=e[w].slice()),s(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=async()=>{})}let t=u(e);if("node"===t&&(e=f(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||m.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{m.add(e)}catch(e){}}}b.prototype.read=async function(){if(this[w]&&this[w].length){return{done:!1,value:this[w].shift()}}return this._read()},b.prototype.releaseLock=function(){this[w]&&(this.stream[w]=this[w]),this._releaseLock()},b.prototype.cancel=function(e){return this._cancel(e)},b.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?U(t):void 0;const i=n.indexOf("\n")+1;i&&(e=U(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},b.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(F(t,1)),r},b.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?U(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=U(t);return this.unshift(F(r,e)),F(r,0,e)}}},b.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},b.prototype.unshift=function(...e){this[w]||(this[w]=[]),1===e.length&&l(e[0])&&this[w].length&&e[0].length&&this[w][0].byteOffset>=e[0].length?this[w][0]=new Uint8Array(this[w][0].buffer,this[w][0].byteOffset-e[0].length,this[w][0].byteLength+e[0].length):this[w].unshift(...e.filter((e=>e&&e.length)))},b.prototype.readToEnd=async function(e=U){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let k,v,{ReadableStream:A,WritableStream:_,TransformStream:E}=e;async function K(){if(E)return;const[t,r]=await Promise.all([import("./ponyfill.es6.min.mjs"),import("./web-streams-adapter.min.mjs")]);({ReadableStream:A,WritableStream:_,TransformStream:E}=t);const{createReadableStreamWrapper:n}=r;e.ReadableStream&&A!==e.ReadableStream&&(k=n(A),v=n(e.ReadableStream))}const S=c&&void 0;function x(e){let t=u(e);return"node"===t?f(e):"web"===t&&k?k(e):t?e:new A({start(t){t.enqueue(e),t.close()}})}function P(e){if(u(e))return e;const t=new a;return(async()=>{const r=C(t);await r.write(e),await r.close()})(),t}function U(e){return e.some((e=>u(e)&&!s(e)))?function(e){e=e.map(x);const t=B((async function(e){await Promise.all(n.map((t=>j(t,e))))}));let r=Promise.resolve();const n=e.map(((n,i)=>R(n,((n,a)=>(r=r.then((()=>I(n,t.writable,{preventClose:i!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>s(e)))?function(e){const t=new a;let r=Promise.resolve();return e.forEach(((n,i)=>(r=r.then((()=>I(n,t,{preventClose:i!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):S&&S.isBuffer(e[0])?S.concat(e):y(e)}function D(e){return new b(e)}function C(e){return new o(e)}async function I(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(u(e)&&!s(e)){e=x(e);try{if(e[w]){const r=C(t);for(let t=0;t<e[w].length;t++)await r.ready,await r.write(e[w][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:n,preventCancel:i})}catch(e){}return}const a=D(e=P(e)),o=C(t);try{for(;;){await o.ready;const{done:e,value:t}=await a.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){n||await o.abort(e)}finally{a.releaseLock(),o.releaseLock()}}function T(e,t){const r=new E(t);return I(e,r.writable),r.readable}function B(e){let t,r,n=!1;return{readable:new A({start(e){r=e},pull(){t?t():n=!0},cancel:e},{highWaterMark:0}),writable:new _({write:async function(e){r.enqueue(e),n?n=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function z(e,t=(()=>{}),r=(()=>{})){if(s(e)){const n=new a;return(async()=>{const i=C(n);try{const n=await H(e),a=t(n),s=r();let o;o=void 0!==a&&void 0!==s?U([a,s]):void 0!==a?a:s,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(u(e))return T(e,{async transform(e,r){try{const n=await t(e);void 0!==n&&r.enqueue(n)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const n=t(e),i=r();return void 0!==n&&void 0!==i?U([n,i]):void 0!==n?n:i}function R(e,t){if(u(e)&&!s(e)){let r;const n=new E({start(e){r=e}}),i=I(e,n.writable),a=B((async function(e){r.error(e),await i,await new Promise(setTimeout)}));return t(n.readable,a.writable),a.readable}e=P(e);const r=new a;return t(e,r),r}function M(e,t){let r;const n=R(e,((e,i)=>{const a=D(e);a.remainder=()=>(a.releaseLock(),I(e,i),n),r=t(a)}));return r}function L(e){if(s(e))return e.clone();if(u(e)){const t=function(e){if(s(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(u(e)){const t=x(e).tee();return t[0][w]=t[1][w]=e[w],t}return[F(e),F(e)]}(e);return O(e,t[0]),t[1]}return F(e)}function N(e){return s(e)?L(e):u(e)?new A({start(t){const r=R(e,(async(e,r)=>{const n=D(e),i=C(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}}));O(e,r)}}):F(e)}function O(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))}))}function F(e,t=0,r=1/0){if(s(e))throw Error("Not implemented");if(u(e)){if(t>=0&&r>=0){let n=0;return T(e,{transform(e,i){n<r?(n+e.length>=t&&i.enqueue(F(e,Math.max(t-n,0),r-n)),n+=e.length):i.terminate()}})}if(t<0&&(r<0||r===1/0)){let n=[];return z(e,(e=>{e.length>=-t?n=[e]:n.push(e)}),(()=>F(U(n),t,r)))}if(0===t&&r<0){let n;return z(e,(e=>{const i=n?U([n,e]):e;if(i.length>=-r)return n=F(i,r),F(i,t,r);n=i}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),q((async()=>F(await H(e),t,r)))}return e[w]&&(e=U(e[w].concat([e]))),!l(e)||S&&S.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function H(e,t=U){return s(e)?e.readToEnd(t):u(e)?D(e).readToEnd(t):e}async function j(e,t){if(u(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function q(e){const t=new a;return(async()=>{const r=C(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class G{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const n=t[e].toString(16);r[e]=t[e]<=15?"0"+n:n}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new G(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new G(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,n=this.value;n%=t.value;let i=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=i*n%t.value;i=e?a:i,n=n*n%t.value}return new G(i)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),n=BigInt(1),i=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=n-s*t,n=o,o=r,r=i-s*r,i=o,o=e,e=a%e,a=o}return{x:new G(n),y:new G(i),gcd:new G(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new G(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new G(0),t=new G(1),r=new G(-1),n=this.isNegative()?r:e;let i=1;const a=this.clone();for(;!a.irightShift(t).equal(n);)i++;return i}byteLength(){const e=new G(0),t=new G(-1),r=this.isNegative()?t:e,n=new G(8);let i=1;const a=this.clone();for(;!a.irightShift(n).equal(r);)i++;return i}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const n=r.length/2,i=new Uint8Array(t||n),a=t?t-n:0;let s=0;for(;s<n;)i[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&i.reverse(),i}}const V=()=>"undefined"!=typeof BigInt;const W=Symbol("byValue");var $={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ed25519Legacy:"ed25519",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",curve25519Legacy:"curve25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,ed25519Legacy:22,eddsa:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[W]||(e[W]=[],Object.entries(e).forEach((([t,r])=>{e[W][r]=t}))),void 0!==e[W][t])return e[W][t];throw Error("Invalid enum value.")}};const Z=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),X={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:l,isStream:u,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e>>8*(t-n-1)&255;return r},readDate:function(e){const t=X.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return X.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=X.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return X.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+X.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let n,i=0;for(;i<r;){for(n=e[i++].toString(16);n.length<2;)n="0"+n;t.push(""+n)}return t.join("")},stringToUint8Array:function(e){return z(e,(e=>{if(!X.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,n=(e=new Uint8Array(e)).length;for(let i=0;i<n;i+=r)t.push(String.fromCharCode.apply(String,e.subarray(i,i+r<n?i+r:n)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return z(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return z(e,r,(()=>r(new Uint8Array,!0)))},concat:U,concatUint8Array:y,equalsUint8Array:function(e,t){if(!X.isUint8Array(e)||!X.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return X.writeNumber(t,2)},printDebug:function(e){Z&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){Z&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n<r;n++)t[n]=e[n]<<1^e[n+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(V())return G;{const{default:e}=await import("./bn.interface.min.mjs");return e}},getNodeCrypto:function(){},getNodeZlib:function(){},getNodeBuffer:function(){return{}.Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return(void 0).cpus().length},isEmailAddress:function(e){if(!X.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return z(e,(e=>{let r;t&&(e=X.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let a=0;for(let t=0;t<n.length;t++){const r=e.subarray(n[t-1]||0,n[t]);i.set(r,a),a+=r.length,i[a-1]=13,i[a]=10,a++}return i.set(e.subarray(n[n.length-1]||0),a),i}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return z(e,(e=>{let r;13===(e=t&&10!==e[0]?X.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let n;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){n=e}}))),r(n)}))},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let a=0;for(let n=0;n<i.length;n++)i[n]=t[n]&256-e|r[n]&255+e,a+=e&n<t.length|1-e&n<r.length;return i.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===$.symmetric.aes128||e===$.symmetric.aes192||e===$.symmetric.aes256}},Q=X.getNodeBuffer();let Y,J;function ee(e){let t=new Uint8Array;return z(e,(e=>{t=X.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,a=Y(t.subarray(0,i));for(let e=0;e<n;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(i),r.join("")}),(()=>t.length?Y(t)+"\n":""))}function te(e){let t="";return z(e,(e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e<n.length;e++){const i=n[e];for(let e=t.indexOf(i);-1!==e;e=t.indexOf(i,e+1))r++}let i=t.length;for(;i>0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const a=J(t.substr(0,i));return t=t.substr(i),a}),(()=>J(t)))}function re(e){return te(e.replace(/-/g,"+").replace(/_/g,"/"))}function ne(e,t){let r=ee(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}Q?(Y=e=>Q.from(e).toString("base64"),J=e=>{const t=Q.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(Y=e=>btoa(X.uint8ArrayToString(e)),J=e=>X.stringToUint8Array(atob(e)));var ie={preferredHashAlgorithm:$.hash.sha256,preferredSymmetricAlgorithm:$.symmetric.aes256,preferredCompressionAlgorithm:$.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:$.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:$.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([$.symmetric.aes128,$.symmetric.aes192,$.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.11.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([$.hash.md5,$.hash.ripemd]),rejectMessageHashAlgorithms:new Set([$.hash.md5,$.hash.ripemd,$.hash.sha1]),rejectPublicKeyAlgorithms:new Set([$.publicKey.elgamal,$.publicKey.dsa]),rejectCurves:new Set([$.curve.secp256k1]),checkEdDSAFaultySignatures:!0};function ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?$.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?$.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?$.armor.signed:/MESSAGE/.test(t[1])?$.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?$.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?$.armor.privateKey:/SIGNATURE/.test(t[1])?$.armor.signature:void 0}function se(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function oe(e){return ee(function(e){let t=13501623;return z(e,(e=>{const r=he?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=n[e],t=ce[0][t>>24&255]^ce[1][t>>16&255]^ce[2][t>>8&255]^ce[3][t>>0&255];for(let n=4*r;n<e.length;n++)t=t>>8^ce[0][255&t^e[n]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const ce=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);ce[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)ce[1][e]=ce[0][e]>>8^ce[0][255&ce[0][e]];for(let e=0;e<=255;e++)ce[2][e]=ce[1][e]>>8^ce[0][255&ce[1][e]];for(let e=0;e<=255;e++)ce[3][e]=ce[2][e]>>8^ce[0][255&ce[2][e]];const he=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function ue(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||X.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||X.printDebugError(Error("Unknown header: "+e[t]))}function le(e){let t=e,r="";const n=e.lastIndexOf("=");return n>=0&&n!==e.length-1&&(t=e.slice(0,n),r=e.slice(n+1).substr(0,4)),{body:t,checksum:r}}function ye(e,t=ie){return new Promise((async(r,n)=>{try{const i=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,h,u,l=o,y=[],d=te(R(e,(async(e,t)=>{const p=D(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=X.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)h||2!==s||(i.test(e)?(y=y.join("\r\n"),h=!0,ue(l),l=[],c=!1):y.push(e.replace(/^- /,"")));else if(i.test(e)&&n(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(ue(l),c=!0,h||2!==s){r({text:y,data:d,headers:o,type:s});break}}else l.push(e);else i.test(e)&&(s=ae(e))}}catch(e){return void n(e)}const f=C(t);try{for(;;){await f.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=X.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(i);if(1===t.length)throw Error("Misformed armored text");const n=le(t[0].slice(0,-1));u=n.checksum,await f.write(n.body);break}await f.write(r)}await f.ready,await f.close()}catch(e){await f.abort(e)}})));d=R(d,(async(e,r)=>{const n=H(oe(N(e)));n.catch((()=>{})),await I(e,r,{preventClose:!0});const i=C(r);try{const e=(await n).replace("\n","");if(u!==e&&(u||t.checksumRequired))throw Error("Ascii armor integrity check failed");await i.ready,await i.close()}catch(e){await i.abort(e)}}))}catch(e){n(e)}})).then((async e=>(s(e.data)&&(e.data=await H(e.data)),e)))}function de(e,t,r,n,i,a=ie){let s,o;e===$.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=N(t),h=[];switch(e){case $.armor.multipartSection:h.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case $.armor.multipartLast:h.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case $.armor.signed:h.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),h.push("Hash: "+o+"\n\n"),h.push(s.replace(/^-/gm,"- -")),h.push("\n-----BEGIN PGP SIGNATURE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n");break;case $.armor.message:h.push("-----BEGIN PGP MESSAGE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE-----\n");break;case $.armor.publicKey:h.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case $.armor.privateKey:h.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case $.armor.signature:h.push("-----BEGIN PGP SIGNATURE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n")}return X.concat(h)}class pe{constructor(){this.bytes=""}read(e){return this.bytes=X.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return X.stringToUint8Array(this.bytes)}toHex(){return X.uint8ArrayToHex(X.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new pe;return t.read(X.hexToUint8Array(e)),t}static wildcard(){const e=new pe;return e.read(new Uint8Array(8)),e}}var fe=function(){var e,t,r=!1;function n(r,n){var i=e[(t[r]+t[n])%255];return 0!==r&&0!==n||(i=0),i}var i,a,s,o,c=!1;function h(){function h(r){var n,i,a;for(i=a=function(r){var n=e[255-t[r]];return 0===r&&(n=0),n}(r),n=0;n<4;n++)a^=i=255&(i<<1|i>>>7);return a^=99}r||function(){e=[],t=[];var n,i,a=1;for(n=0;n<255;n++)e[n]=a,i=128&a,a<<=1,a&=255,128===i&&(a^=27),a^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),i=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var u=0;u<256;u++){var l=h(u);i[u]=l,a[l]=u,s[0][u]=n(2,l)<<24|l<<16|l<<8|n(3,l),o[0][l]=n(14,u)<<24|n(9,u)<<16|n(13,u)<<8|n(11,u);for(var y=1;y<4;y++)s[y][u]=s[y-1][u]>>>8|s[y-1][u]<<24,o[y][l]=o[y-1][l]>>>8|o[y-1][l]<<24}c=!0}var u=function(e,t){c||h();var r=new Uint32Array(t);r.set(i,512),r.set(a,768);for(var n=0;n<4;n++)r.set(s[n],4096+1024*n>>2),r.set(o[n],8192+1024*n>>2);var u=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0;var E=new e.Uint32Array(r),K=new e.Uint8Array(r);function S(e,t,r,o,c,h,u,l){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;h=h|0;u=u|0;l=l|0;var y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;y=r|0x400,d=r|0x800,p=r|0xc00;c=c^E[(e|0)>>2],h=h^E[(e|4)>>2],u=u^E[(e|8)>>2],l=l^E[(e|12)>>2];for(b=16;(b|0)<=o<<4;b=b+16|0){f=E[(r|c>>22&1020)>>2]^E[(y|h>>14&1020)>>2]^E[(d|u>>6&1020)>>2]^E[(p|l<<2&1020)>>2]^E[(e|b|0)>>2],g=E[(r|h>>22&1020)>>2]^E[(y|u>>14&1020)>>2]^E[(d|l>>6&1020)>>2]^E[(p|c<<2&1020)>>2]^E[(e|b|4)>>2],m=E[(r|u>>22&1020)>>2]^E[(y|l>>14&1020)>>2]^E[(d|c>>6&1020)>>2]^E[(p|h<<2&1020)>>2]^E[(e|b|8)>>2],w=E[(r|l>>22&1020)>>2]^E[(y|c>>14&1020)>>2]^E[(d|h>>6&1020)>>2]^E[(p|u<<2&1020)>>2]^E[(e|b|12)>>2];c=f,h=g,u=m,l=w}n=E[(t|c>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|u>>6&1020)>>2]<<8^E[(t|l<<2&1020)>>2]^E[(e|b|0)>>2],i=E[(t|h>>22&1020)>>2]<<24^E[(t|u>>14&1020)>>2]<<16^E[(t|l>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(e|b|4)>>2],a=E[(t|u>>22&1020)>>2]<<24^E[(t|l>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(e|b|8)>>2],s=E[(t|l>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|u<<2&1020)>>2]^E[(e|b|12)>>2]}function x(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;S(0x0000,0x0800,0x1000,_,e,t,r,n)}function P(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0;S(0x0400,0x0c00,0x2000,_,e,n,r,t);a=i,i=s,s=a}function U(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;S(0x0000,0x0800,0x1000,_,o^e,c^t,h^r,u^l);o=n,c=i,h=a,u=s}function D(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;var y=0;S(0x0400,0x0c00,0x2000,_,e,l,r,t);y=i,i=s,s=y;n=n^o,i=i^c,a=a^h,s=s^u;o=e,c=t,h=r,u=l}function C(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;S(0x0000,0x0800,0x1000,_,o,c,h,u);o=n=n^e,c=i=i^t,h=a=a^r,u=s=s^l}function I(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;S(0x0000,0x0800,0x1000,_,o,c,h,u);n=n^e,i=i^t,a=a^r,s=s^l;o=e,c=t,h=r,u=l}function T(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;S(0x0000,0x0800,0x1000,_,o,c,h,u);o=n,c=i,h=a,u=s;n=n^e,i=i^t,a=a^r,s=s^l}function B(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;S(0x0000,0x0800,0x1000,_,l,y,d,p);p=~w&p|w&p+1;d=~m&d|m&d+((p|0)==0);y=~g&y|g&y+((d|0)==0);l=~f&l|f&l+((y|0)==0);n=n^e;i=i^t;a=a^r;s=s^o}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0,a=0,s=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0;e=e^o,t=t^c,r=r^h,n=n^u;i=b|0,a=k|0,s=v|0,l=A|0;for(;(g|0)<128;g=g+1|0){if(i>>>31){y=y^e,d=d^t,p=p^r,f=f^n}i=i<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|l>>>31,l=l<<1;m=n&1;n=n>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(m)e=e^0xe1000000}o=y,c=d,h=p,u=f}function R(e){e=e|0;_=e}function M(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,i=t,a=r,s=o}function L(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,c=t,h=r,u=n}function N(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;l=e,y=t,d=r,p=n}function O(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;f=e,g=t,m=r,w=n}function F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~w&p|w&n,d=~m&d|m&r,y=~g&y|g&t,l=~f&l|f&e}function H(e){e=e|0;if(e&15)return-1;K[e|0]=n>>>24,K[e|1]=n>>>16&255,K[e|2]=n>>>8&255,K[e|3]=n&255,K[e|4]=i>>>24,K[e|5]=i>>>16&255,K[e|6]=i>>>8&255,K[e|7]=i&255,K[e|8]=a>>>24,K[e|9]=a>>>16&255,K[e|10]=a>>>8&255,K[e|11]=a&255,K[e|12]=s>>>24,K[e|13]=s>>>16&255,K[e|14]=s>>>8&255,K[e|15]=s&255;return 16}function j(e){e=e|0;if(e&15)return-1;K[e|0]=o>>>24,K[e|1]=o>>>16&255,K[e|2]=o>>>8&255,K[e|3]=o&255,K[e|4]=c>>>24,K[e|5]=c>>>16&255,K[e|6]=c>>>8&255,K[e|7]=c&255,K[e|8]=h>>>24,K[e|9]=h>>>16&255,K[e|10]=h>>>8&255,K[e|11]=h&255,K[e|12]=u>>>24,K[e|13]=u>>>16&255,K[e|14]=u>>>8&255,K[e|15]=u&255;return 16}function q(){x(0,0,0,0);b=n,k=i,v=a,A=s}function G(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){W[e&7](K[t|0]<<24|K[t|1]<<16|K[t|2]<<8|K[t|3],K[t|4]<<24|K[t|5]<<16|K[t|6]<<8|K[t|7],K[t|8]<<24|K[t|9]<<16|K[t|10]<<8|K[t|11],K[t|12]<<24|K[t|13]<<16|K[t|14]<<8|K[t|15]);K[t|0]=n>>>24,K[t|1]=n>>>16&255,K[t|2]=n>>>8&255,K[t|3]=n&255,K[t|4]=i>>>24,K[t|5]=i>>>16&255,K[t|6]=i>>>8&255,K[t|7]=i&255,K[t|8]=a>>>24,K[t|9]=a>>>16&255,K[t|10]=a>>>8&255,K[t|11]=a&255,K[t|12]=s>>>24,K[t|13]=s>>>16&255,K[t|14]=s>>>8&255,K[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function V(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){$[e&1](K[t|0]<<24|K[t|1]<<16|K[t|2]<<8|K[t|3],K[t|4]<<24|K[t|5]<<16|K[t|6]<<8|K[t|7],K[t|8]<<24|K[t|9]<<16|K[t|10]<<8|K[t|11],K[t|12]<<24|K[t|13]<<16|K[t|14]<<8|K[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var W=[x,P,U,D,C,I,T,B];var $=[U,z];return{set_rounds:R,set_state:M,set_iv:L,set_nonce:N,set_mask:O,set_counter:F,get_state:H,get_iv:j,gcm_init:q,cipher:G,mac:V}}({Uint8Array,Uint32Array},e,t);return u.set_key=function(e,t,n,a,s,c,h,l,y){var d=r.subarray(0,60),p=r.subarray(256,316);d.set([t,n,a,s,c,h,l,y]);for(var f=e,g=1;f<4*e+28;f++){var m=d[f-1];(f%e==0||8===e&&f%e==4)&&(m=i[m>>>24]<<24^i[m>>>16&255]<<16^i[m>>>8&255]<<8^i[255&m]),f%e==0&&(m=m<<8^m>>>24^g<<24,g=g<<1^(128&g?27:0)),d[f]=d[f-e]^m}for(var w=0;w<f;w+=4)for(var b=0;b<4;b++){m=d[f-(4+w)+(4-b)%4];p[w+b]=w<4||w>=f-4?m:o[0][i[m>>>24]]^o[1][i[m>>>16&255]]^o[2][i[m>>>8&255]]^o[3][i[255&m]]}u.set_rounds(e+5)},u};return u.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},u.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},u.MAC={CBC:0,GCM:1},u.HEAP_DATA=16384,u}();function ge(e){return e instanceof Uint8Array}function me(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function we(e,t,r,n,i){const a=e.length-t,s=a<i?a:i;return e.set(r.subarray(n,n+s),t),s}function be(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(let t=0;t<e.length;t++)r.set(e[t],n),n+=e[t].length;return r}class ke extends Error{constructor(...e){super(...e)}}class ve extends Error{constructor(...e){super(...e)}}class Ae extends Error{constructor(...e){super(...e)}}const _e=[],Ee=[];class Ke{constructor(e,t,r=!0,n,i,a){this.pos=0,this.len=0,this.mode=n,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(i,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||_e.pop()||me().subarray(fe.HEAP_DATA),this.asm=t||Ee.pop()||new fe(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(_e.push(this.heap),Ee.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),n=e.length;if(16!==n&&24!==n&&32!==n)throw new ve("illegal key size");const i=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(n>>2,i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12),n>16?i.getUint32(16):0,n>16?i.getUint32(20):0,n>24?i.getUint32(24):0,n>24?i.getUint32(28):0),void 0!==t){if(16!==t.length)throw new ve("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!ge(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),n=fe.ENC[this.mode],i=fe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,h=0,u=0,l=new Uint8Array(s+c&-16);for(;c>0;)u=we(t,a+s,e,o,c),s+=u,o+=u,c-=u,u=r.cipher(n,i+a,s),u&&l.set(t.subarray(a,a+u),h),h+=u,u<s?(a+=u,s-=u):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=fe.ENC[this.mode],n=fe.HEAP_DATA,i=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[i+a+t]=s;a+=s,o=a}else if(a%16)throw new ve("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,n+i,a),o&&c.set(e.subarray(i,i+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!ge(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),n=fe.DEC[this.mode],i=fe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,h=0,u=s+c&-16,l=0,y=0;this.padding&&(l=s+c-u||16,u-=l);const d=new Uint8Array(u);for(;c>0;)y=we(t,a+s,e,o,c),s+=y,o+=y,c-=y,y=r.cipher(n,i+a,s-(c?0:l)),y&&d.set(t.subarray(a,a+y),h),h+=y,y<s?(a+=y,s-=y):(a=0,s=0);return this.pos=a,this.len=s,d}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=fe.DEC[this.mode],n=fe.HEAP_DATA,i=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new ve("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,n+i,a),this.hasOwnProperty("padding")&&this.padding){let t=e[i+s-1];if(t<1||t>16||t>s)throw new Ae("bad padding");let r=0;for(let n=t;n>1;n--)r|=t^e[i+s-n];if(r)throw new Ae("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(i,i+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Se{static encrypt(e,t,r=!1){return new Se(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Se(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Ke(e,void 0,t,"ECB")}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function xe(e){const t=function(e){const t=new Se(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Pe(e,t,r,n,i,a){const s=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],h=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],u=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],l=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],y=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],d=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,f,g,m,w,b,k,v,A,_,E,K,S,x,P=0,U=t.length;const D=32===e.length?3:9;v=3===D?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let n;if(2===t&&r<8)n=32;else if(1===t)n=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}n=0}const i=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)i[t]=e[t];for(let t=0;t<r;t++)i[e.length+t]=n;return i}(t,a),U=t.length);let C=new Uint8Array(U),I=0;for(1===n&&(A=i[P++]<<24|i[P++]<<16|i[P++]<<8|i[P++],E=i[P++]<<24|i[P++]<<16|i[P++]<<8|i[P++],P=0);P<U;){for(b=t[P++]<<24|t[P++]<<16|t[P++]<<8|t[P++],k=t[P++]<<24|t[P++]<<16|t[P++]<<8|t[P++],1===n&&(r?(b^=A,k^=E):(_=A,K=E,A=b,E=k)),g=252645135&(b>>>4^k),k^=g,b^=g<<4,g=65535&(b>>>16^k),k^=g,b^=g<<16,g=858993459&(k>>>2^b),b^=g,k^=g<<2,g=16711935&(k>>>8^b),b^=g,k^=g<<8,g=1431655765&(b>>>1^k),k^=g,b^=g<<1,b=b<<1|b>>>31,k=k<<1|k>>>31,f=0;f<D;f+=3){for(S=v[f+1],x=v[f+2],p=v[f];p!==S;p+=x)m=k^e[p],w=(k>>>4|k<<28)^e[p+1],g=b,b=k,k=g^(o[m>>>24&63]|h[m>>>16&63]|l[m>>>8&63]|d[63&m]|s[w>>>24&63]|c[w>>>16&63]|u[w>>>8&63]|y[63&w]);g=b,b=k,k=g}b=b>>>1|b<<31,k=k>>>1|k<<31,g=1431655765&(b>>>1^k),k^=g,b^=g<<1,g=16711935&(k>>>8^b),b^=g,k^=g<<8,g=858993459&(k>>>2^b),b^=g,k^=g<<2,g=65535&(b>>>16^k),k^=g,b^=g<<16,g=252645135&(b>>>4^k),k^=g,b^=g<<4,1===n&&(r?(A=b,E=k):(b^=_,k^=K)),C[I++]=b>>>24,C[I++]=b>>>16&255,C[I++]=b>>>8&255,C[I++]=255&b,C[I++]=k>>>24,C[I++]=k>>>16&255,C[I++]=k>>>8&255,C[I++]=255&k}return r||(C=function(e,t){let r,n=null;if(2===t)r=32;else if(1===t)n=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!n){for(n=1;e[e.length-n]===r;)n++;n--}return e.subarray(0,e.length-n)}(C,a)),C}function Ue(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],a=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],h=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],y=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],f=e.length>8?3:1,g=Array(32*f),m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let w,b,k,v=0,A=0;for(let _=0;_<f;_++){let f=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++],_=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++];k=252645135&(f>>>4^_),_^=k,f^=k<<4,k=65535&(_>>>-16^f),f^=k,_^=k<<-16,k=858993459&(f>>>2^_),_^=k,f^=k<<2,k=65535&(_>>>-16^f),f^=k,_^=k<<-16,k=1431655765&(f>>>1^_),_^=k,f^=k<<1,k=16711935&(_>>>8^f),f^=k,_^=k<<8,k=1431655765&(f>>>1^_),_^=k,f^=k<<1,k=f<<8|_>>>20&240,f=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=k;for(let e=0;e<16;e++)m[e]?(f=f<<2|f>>>26,_=_<<2|_>>>26):(f=f<<1|f>>>27,_=_<<1|_>>>27),f&=-15,_&=-15,w=t[f>>>28]|r[f>>>24&15]|n[f>>>20&15]|i[f>>>16&15]|a[f>>>12&15]|s[f>>>8&15]|o[f>>>4&15],b=c[_>>>28]|h[_>>>24&15]|u[_>>>20&15]|l[_>>>16&15]|y[_>>>12&15]|d[_>>>8&15]|p[_>>>4&15],k=65535&(b>>>16^w),g[A++]=w^k,g[A++]=b^k<<16}return g}function De(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Pe(Ue(this.key[2]),Pe(Ue(this.key[1]),Pe(Ue(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function Ce(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^n(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^i(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^i(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^i(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^i(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^i(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^i(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^n(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^n(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^n(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^n(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^n(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const n=t+e,i=n<<r|n>>>32-r;return(a[0][i>>>24]^a[1][i>>>16&255])-a[2][i>>>8&255]+a[3][255&i]}function n(e,t,r){const n=t^e,i=n<<r|n>>>32-r;return a[0][i>>>24]-a[1][i>>>16&255]+a[2][i>>>8&255]^a[3][255&i]}function i(e,t,r){const n=t-e,i=n<<r|n>>>32-r;return(a[0][i>>>24]+a[1][i>>>16&255]^a[2][i>>>8&255])-a[3][255&i]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=[,,,,,,,,],i=Array(32);let s;for(let e=0;e<4;e++)s=4*e,n[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,h=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=n[t[1]],c^=a[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[h]=c,h++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Ie(e){this.cast5=new Ce,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}De.keySize=De.prototype.keySize=24,De.blockSize=De.prototype.blockSize=8,Ie.blockSize=Ie.prototype.blockSize=8,Ie.keySize=Ie.prototype.keySize=16;const Te=4294967295;function Be(e,t){return(e<<t|e>>>32-t)&Te}function ze(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Re(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Me(e,t){return e>>>8*t&255}function Le(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function a(e){return i[0][Me(e,0)]^i[1][Me(e,1)]^i[2][Me(e,2)]^i[3][Me(e,3)]}function s(e){return i[0][Me(e,3)]^i[1][Me(e,0)]^i[2][Me(e,1)]^i[3][Me(e,2)]}function o(e,t){let r=a(t[0]),i=s(t[1]);t[2]=Be(t[2]^r+i+n[4*e+8]&Te,31),t[3]=Be(t[3],1)^r+2*i+n[4*e+9]&Te,r=a(t[2]),i=s(t[3]),t[0]=Be(t[0]^r+i+n[4*e+10]&Te,31),t[1]=Be(t[1],1)^r+2*i+n[4*e+11]&Te}function c(e,t){let r=a(t[0]),i=s(t[1]);t[2]=Be(t[2],1)^r+i+n[4*e+10]&Te,t[3]=Be(t[3]^r+2*i+n[4*e+11]&Te,31),r=a(t[2]),i=s(t[3]),t[0]=Be(t[0],1)^r+i+n[4*e+8]&Te,t[1]=Be(t[1]^r+2*i+n[4*e+9]&Te,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const h=[],u=[],l=[];let y;const d=[];let p,f,g;const m=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],w=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],b=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],k=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],A=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],_=[[],[]],E=[[],[],[],[]];function K(e){return e^e>>2^[0,90,180,238][3&e]}function S(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function x(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Te|e>>>24,e=e<<8&Te,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function P(e,t){const r=t>>4,n=15&t,i=m[e][r^n],a=w[e][v[n]^A[r]];return k[e][v[a]^A[i]]<<4|b[e][i^a]}function U(e,t){let r=Me(e,0),n=Me(e,1),i=Me(e,2),a=Me(e,3);switch(y){case 4:r=_[1][r]^Me(t[3],0),n=_[0][n]^Me(t[3],1),i=_[0][i]^Me(t[3],2),a=_[1][a]^Me(t[3],3);case 3:r=_[1][r]^Me(t[2],0),n=_[1][n]^Me(t[2],1),i=_[0][i]^Me(t[2],2),a=_[0][a]^Me(t[2],3);case 2:r=_[0][_[0][r]^Me(t[1],0)]^Me(t[0],0),n=_[0][_[1][n]^Me(t[1],1)]^Me(t[0],1),i=_[1][_[0][i]^Me(t[1],2)]^Me(t[0],2),a=_[1][_[1][a]^Me(t[1],3)]^Me(t[0],3)}return E[0][r]^E[1][n]^E[2][i]^E[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)l[r>>2]=ze(e,r);for(r=0;r<256;r++)_[0][r]=P(0,r),_[1][r]=P(1,r);for(r=0;r<256;r++)p=_[1][r],f=K(p),g=S(p),E[0][r]=p+(f<<8)+(g<<16)+(g<<24),E[2][r]=f+(g<<8)+(p<<16)+(g<<24),p=_[0][r],f=K(p),g=S(p),E[1][r]=g+(g<<8)+(f<<16)+(p<<24),E[3][r]=f+(p<<8)+(g<<16)+(f<<24);for(y=l.length/2,r=0;r<y;r++)a=l[r+r],h[r]=a,s=l[r+r+1],u[r]=s,d[y-r-1]=x(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=U(a,h),s=Be(U(s,u),8),n[r]=a+s&Te,n[r+1]=Be(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,y){case 4:a=_[1][a]^Me(d[3],0),s=_[0][s]^Me(d[3],1),o=_[0][o]^Me(d[3],2),c=_[1][c]^Me(d[3],3);case 3:a=_[1][a]^Me(d[2],0),s=_[1][s]^Me(d[2],1),o=_[0][o]^Me(d[2],2),c=_[0][c]^Me(d[2],3);case 2:i[0][r]=E[0][_[0][_[0][a]^Me(d[1],0)]^Me(d[0],0)],i[1][r]=E[1][_[0][_[1][s]^Me(d[1],1)]^Me(d[0],1)],i[2][r]=E[2][_[1][_[0][o]^Me(d[1],2)]^Me(d[0],2)],i[3][r]=E[3][_[1][_[1][c]^Me(d[1],3)]^Me(d[0],3)]}},close:function(){n=[],i=[[],[],[],[]]},encrypt:function(e,i){t=e,r=i;const a=[ze(t,r)^n[0],ze(t,r+4)^n[1],ze(t,r+8)^n[2],ze(t,r+12)^n[3]];for(let e=0;e<8;e++)o(e,a);return Re(t,r,a[2]^n[4]),Re(t,r+4,a[3]^n[5]),Re(t,r+8,a[0]^n[6]),Re(t,r+12,a[1]^n[7]),r+=16,t},decrypt:function(e,i){t=e,r=i;const a=[ze(t,r)^n[4],ze(t,r+4)^n[5],ze(t,r+8)^n[6],ze(t,r+12)^n[7]];for(let e=7;e>=0;e--)c(e,a);Re(t,r,a[2]^n[0]),Re(t,r+4,a[3]^n[1]),Re(t,r+8,a[0]^n[2]),Re(t,r+12,a[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Ne(){}function Oe(e){this.bf=new Ne,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Le.keySize=Le.prototype.keySize=32,Le.blockSize=Le.prototype.blockSize=16,Ne.prototype.BLOCKSIZE=8,Ne.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Ne.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Ne.prototype.NN=16,Ne.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Ne.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Ne.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[this.NN+0],n^=this.parray[this.NN+1],e[0]=this._clean(n),e[1]=this._clean(r)},Ne.prototype.encryptBlock=function(e){let t;const r=[0,0],n=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+n];this._encryptBlock(r);const i=[];for(t=0;t<this.BLOCKSIZE/2;++t)i[t+0]=r[0]>>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Ne.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Ne.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let n=0;for(let t=0;t<4;++t)n=n<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(n),this.parray[t+0]=n[0],this.parray[t+1]=n[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(n),this.sboxes[t][r+0]=n[0],this.sboxes[t][r+1]=n[1]},Oe.keySize=Oe.prototype.keySize=16,Oe.blockSize=Oe.prototype.blockSize=8;const Fe=xe(128),He=xe(192),je=xe(256);var qe=/*#__PURE__*/Object.freeze({__proto__:null,aes128:Fe,aes192:He,aes256:je,des:function(e){this.key=e,this.encrypt=function(e,t){return Pe(Ue(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Pe(Ue(this.key),e,!1,0,null,t)}},tripledes:De,cast5:Ie,twofish:Le,blowfish:Oe,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),Ge=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0;var u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;var k=new e.Uint8Array(r);function v(e,t,r,c,h,u,l,y,d,p,f,g,m,w,b,k){e=e|0;t=t|0;r=r|0;c=c|0;h=h|0;u=u|0;l=l|0;y=y|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;k=k|0;var v=0,A=0,_=0,E=0,K=0,S=0,x=0,P=0,U=0,D=0,C=0,I=0,T=0,B=0,z=0,R=0,M=0,L=0,N=0,O=0,F=0,H=0,j=0,q=0,G=0,V=0,W=0,$=0,Z=0,X=0,Q=0,Y=0,J=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,se=0,oe=0,ce=0,he=0,ue=0,le=0,ye=0,de=0,pe=0,fe=0,ge=0,me=0,we=0,be=0,ke=0,ve=0,Ae=0,_e=0,Ee=0,Ke=0,Se=0,xe=0,Pe=0,Ue=0,De=0,Ce=0,Ie=0,Te=0,Be=0,ze=0,Re=0,Me=0;v=n;A=i;_=a;E=s;K=o;x=e+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=t+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=r+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=c+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=h+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=u+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=l+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=y+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=d+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=p+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=f+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=g+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=m+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=w+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=b+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=k+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=w^d^r^e;P=S<<1|S>>>31;x=P+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=b^p^c^t;U=S<<1|S>>>31;x=U+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=k^f^h^r;D=S<<1|S>>>31;x=D+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=P^g^u^c;C=S<<1|S>>>31;x=C+(v<<5|v>>>27)+K+(A&_|~A&E)+0x5a827999|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=U^m^l^h;I=S<<1|S>>>31;x=I+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=D^w^y^u;T=S<<1|S>>>31;x=T+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=C^b^d^l;B=S<<1|S>>>31;x=B+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=I^k^p^y;z=S<<1|S>>>31;x=z+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=T^P^f^d;R=S<<1|S>>>31;x=R+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=B^U^g^p;M=S<<1|S>>>31;x=M+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=z^D^m^f;L=S<<1|S>>>31;x=L+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=R^C^w^g;N=S<<1|S>>>31;x=N+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=M^I^b^m;O=S<<1|S>>>31;x=O+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=L^T^k^w;F=S<<1|S>>>31;x=F+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=N^B^P^b;H=S<<1|S>>>31;x=H+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=O^z^U^k;j=S<<1|S>>>31;x=j+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=F^R^D^P;q=S<<1|S>>>31;x=q+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=H^M^C^U;G=S<<1|S>>>31;x=G+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=j^L^I^D;V=S<<1|S>>>31;x=V+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=q^N^T^C;W=S<<1|S>>>31;x=W+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=G^O^B^I;$=S<<1|S>>>31;x=$+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=V^F^z^T;Z=S<<1|S>>>31;x=Z+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=W^H^R^B;X=S<<1|S>>>31;x=X+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=$^j^M^z;Q=S<<1|S>>>31;x=Q+(v<<5|v>>>27)+K+(A^_^E)+0x6ed9eba1|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Z^q^L^R;Y=S<<1|S>>>31;x=Y+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=X^G^N^M;J=S<<1|S>>>31;x=J+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Q^V^O^L;ee=S<<1|S>>>31;x=ee+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Y^W^F^N;te=S<<1|S>>>31;x=te+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=J^$^H^O;re=S<<1|S>>>31;x=re+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ee^Z^j^F;ne=S<<1|S>>>31;x=ne+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=te^X^q^H;ie=S<<1|S>>>31;x=ie+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=re^Q^G^j;ae=S<<1|S>>>31;x=ae+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ne^Y^V^q;se=S<<1|S>>>31;x=se+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ie^J^W^G;oe=S<<1|S>>>31;x=oe+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ae^ee^$^V;ce=S<<1|S>>>31;x=ce+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=se^te^Z^W;he=S<<1|S>>>31;x=he+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=oe^re^X^$;ue=S<<1|S>>>31;x=ue+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ce^ne^Q^Z;le=S<<1|S>>>31;x=le+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=he^ie^Y^X;ye=S<<1|S>>>31;x=ye+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ue^ae^J^Q;de=S<<1|S>>>31;x=de+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=le^se^ee^Y;pe=S<<1|S>>>31;x=pe+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ye^oe^te^J;fe=S<<1|S>>>31;x=fe+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=de^ce^re^ee;ge=S<<1|S>>>31;x=ge+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=pe^he^ne^te;me=S<<1|S>>>31;x=me+(v<<5|v>>>27)+K+(A&_|A&E|_&E)-0x70e44324|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=fe^ue^ie^re;we=S<<1|S>>>31;x=we+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ge^le^ae^ne;be=S<<1|S>>>31;x=be+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=me^ye^se^ie;ke=S<<1|S>>>31;x=ke+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=we^de^oe^ae;ve=S<<1|S>>>31;x=ve+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=be^pe^ce^se;Ae=S<<1|S>>>31;x=Ae+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ke^fe^he^oe;_e=S<<1|S>>>31;x=_e+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=ve^ge^ue^ce;Ee=S<<1|S>>>31;x=Ee+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ae^me^le^he;Ke=S<<1|S>>>31;x=Ke+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=_e^we^ye^ue;Se=S<<1|S>>>31;x=Se+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ee^be^de^le;xe=S<<1|S>>>31;x=xe+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ke^ke^pe^ye;Pe=S<<1|S>>>31;x=Pe+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Se^ve^fe^de;Ue=S<<1|S>>>31;x=Ue+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=xe^Ae^ge^pe;De=S<<1|S>>>31;x=De+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Pe^_e^me^fe;Ce=S<<1|S>>>31;x=Ce+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ue^Ee^we^ge;Ie=S<<1|S>>>31;x=Ie+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=De^Ke^be^me;Te=S<<1|S>>>31;x=Te+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ce^Se^ke^we;Be=S<<1|S>>>31;x=Be+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Ie^xe^ve^be;ze=S<<1|S>>>31;x=ze+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Te^Pe^Ae^ke;Re=S<<1|S>>>31;x=Re+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;S=Be^Ue^_e^ve;Me=S<<1|S>>>31;x=Me+(v<<5|v>>>27)+K+(A^_^E)-0x359d3e2a|0;K=E;E=_;_=A<<30|A>>>2;A=v;v=x;n=n+v|0;i=i+A|0;a=a+_|0;s=s+E|0;o=o+K|0}function A(e){e=e|0;v(k[e|0]<<24|k[e|1]<<16|k[e|2]<<8|k[e|3],k[e|4]<<24|k[e|5]<<16|k[e|6]<<8|k[e|7],k[e|8]<<24|k[e|9]<<16|k[e|10]<<8|k[e|11],k[e|12]<<24|k[e|13]<<16|k[e|14]<<8|k[e|15],k[e|16]<<24|k[e|17]<<16|k[e|18]<<8|k[e|19],k[e|20]<<24|k[e|21]<<16|k[e|22]<<8|k[e|23],k[e|24]<<24|k[e|25]<<16|k[e|26]<<8|k[e|27],k[e|28]<<24|k[e|29]<<16|k[e|30]<<8|k[e|31],k[e|32]<<24|k[e|33]<<16|k[e|34]<<8|k[e|35],k[e|36]<<24|k[e|37]<<16|k[e|38]<<8|k[e|39],k[e|40]<<24|k[e|41]<<16|k[e|42]<<8|k[e|43],k[e|44]<<24|k[e|45]<<16|k[e|46]<<8|k[e|47],k[e|48]<<24|k[e|49]<<16|k[e|50]<<8|k[e|51],k[e|52]<<24|k[e|53]<<16|k[e|54]<<8|k[e|55],k[e|56]<<24|k[e|57]<<16|k[e|58]<<8|k[e|59],k[e|60]<<24|k[e|61]<<16|k[e|62]<<8|k[e|63])}function _(e){e=e|0;k[e|0]=n>>>24;k[e|1]=n>>>16&255;k[e|2]=n>>>8&255;k[e|3]=n&255;k[e|4]=i>>>24;k[e|5]=i>>>16&255;k[e|6]=i>>>8&255;k[e|7]=i&255;k[e|8]=a>>>24;k[e|9]=a>>>16&255;k[e|10]=a>>>8&255;k[e|11]=a&255;k[e|12]=s>>>24;k[e|13]=s>>>16&255;k[e|14]=s>>>8&255;k[e|15]=s&255;k[e|16]=o>>>24;k[e|17]=o>>>16&255;k[e|18]=o>>>8&255;k[e|19]=o&255}function E(){n=0x67452301;i=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=h=0}function K(e,t,r,u,l,y,d){e=e|0;t=t|0;r=r|0;u=u|0;l=l|0;y=y|0;d=d|0;n=e;i=t;a=r;s=u;o=l;c=y;h=d}function S(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){A(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)h=h+1|0;return r|0}function x(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=S(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;c=c+t|0;if(c>>>0<t>>>0)h=h+1|0;k[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)k[e|i]=0x00;A(e);t=0;k[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)k[e|i]=0;k[e|56]=h>>>21&255;k[e|57]=h>>>13&255;k[e|58]=h>>>5&255;k[e|59]=h<<3&255|c>>>29;k[e|60]=c>>>21&255;k[e|61]=c>>>13&255;k[e|62]=c>>>5&255;k[e|63]=c<<3&255;A(e);if(~r)_(r);return n|0}function P(){n=u;i=l;a=y;s=d;o=p;c=64;h=0}function U(){n=f;i=g;a=m;s=w;o=b;c=64;h=0}function D(e,t,r,k,A,_,K,S,x,P,U,D,C,I,T,B){e=e|0;t=t|0;r=r|0;k=k|0;A=A|0;_=_|0;K=K|0;S=S|0;x=x|0;P=P|0;U=U|0;D=D|0;C=C|0;I=I|0;T=T|0;B=B|0;E();v(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,k^0x5c5c5c5c,A^0x5c5c5c5c,_^0x5c5c5c5c,K^0x5c5c5c5c,S^0x5c5c5c5c,x^0x5c5c5c5c,P^0x5c5c5c5c,U^0x5c5c5c5c,D^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,T^0x5c5c5c5c,B^0x5c5c5c5c);f=n;g=i;m=a;w=s;b=o;E();v(e^0x36363636,t^0x36363636,r^0x36363636,k^0x36363636,A^0x36363636,_^0x36363636,K^0x36363636,S^0x36363636,x^0x36363636,P^0x36363636,U^0x36363636,D^0x36363636,C^0x36363636,I^0x36363636,T^0x36363636,B^0x36363636);u=n;l=i;y=a;d=s;p=o;c=64;h=0}function C(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,h=0,u=0,l=0,y=0,d=0;if(e&63)return-1;if(~r)if(r&31)return-1;d=x(e,t,-1)|0;c=n,h=i,u=a,l=s,y=o;U();v(c,h,u,l,y,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)_(r);return d|0}function I(e,t,r,c,h){e=e|0;t=t|0;r=r|0;c=c|0;h=h|0;var u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;if(e&63)return-1;if(~h)if(h&31)return-1;k[e+t|0]=r>>>24;k[e+t+1|0]=r>>>16&255;k[e+t+2|0]=r>>>8&255;k[e+t+3|0]=r&255;C(e,t+4|0,-1)|0;u=f=n,l=g=i,y=m=a,d=w=s,p=b=o;c=c-1|0;while((c|0)>0){P();v(f,g,m,w,b,0x80000000,0,0,0,0,0,0,0,0,0,672);f=n,g=i,m=a,w=s,b=o;U();v(f,g,m,w,b,0x80000000,0,0,0,0,0,0,0,0,0,672);f=n,g=i,m=a,w=s,b=o;u=u^n;l=l^i;y=y^a;d=d^s;p=p^o;c=c-1|0}n=u;i=l;a=y;s=d;o=p;if(~h)_(h);return 0}return{reset:E,init:K,process:S,finish:x,hmac_reset:P,hmac_init:D,hmac_finish:C,pbkdf2_generate_block:I}};class Ve{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new ke("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let n=this.pos,i=this.len,a=0,s=e.length,o=0;for(;s>0;)o=we(r,n+i,e,a,s),i+=o,a+=o,s-=o,o=t.process(n,i),n+=o,i-=o,i||(n=0);return this.pos=n,this.len=i,this}finish(){if(null!==this.result)throw new ke("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const We=[],$e=[];class Ze extends Ve{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=We.pop()||me(),this.asm=$e.pop()||Ge({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(We.push(this.heap),$e.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Ze).process(e).finish().result}}Ze.NAME="sha1",Ze.heap_pool=[],Ze.asm_pool=[],Ze.asm_function=Ge;const Xe=[],Qe=[];class Ye extends Ve{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Xe.pop()||me(),this.asm=Qe.pop()||function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,K=0,S=0,x=0,P=0,U=new e.Uint8Array(r);function D(e,t,r,l,y,d,p,f,g,m,w,b,k,v,A,_){e=e|0;t=t|0;r=r|0;l=l|0;y=y|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;k=k|0;v=v|0;A=A|0;_=_|0;var E=0,K=0,S=0,x=0,P=0,U=0,D=0,C=0;E=n;K=i;S=a;x=s;P=o;U=c;D=h;C=u;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x428a2f98|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x71374491|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;U=r+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0xb5c0fbcf|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=l+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0xe9b5dba5|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x3956c25b|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;S=d+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0x59f111f1|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;K=p+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x923f82a4|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xab1c5ed5|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xd807aa98|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x12835b01|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;U=w+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0x243185be|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=b+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0x550c7dc3|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x72be5d74|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;S=v+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0x80deb1fe|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;K=A+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x9bdc06a7|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xc19bf174|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xe49b69c1|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xefbe4786|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0x0fc19dc6|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0x240ca1cc|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x2de92c6f|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;S=d+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0x4a7484aa|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;K=p+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x5cb0a9dc|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x76f988da|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x983e5152|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xa831c66d|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0xb00327c8|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0xbf597fc7|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0xc6e00bf3|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;S=v+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0xd5a79147|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;K=A+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x06ca6351|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x14292967|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x27b70a85|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x2e1b2138|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0x4d2c6dfc|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0x53380d13|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x650a7354|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;S=d+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0x766a0abb|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;K=p+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x81c2c92e|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x92722c85|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xa2bfe8a1|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xa81a664b|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0xc24b8b70|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0xc76c51a3|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0xd192e819|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;S=v+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0xd6990624|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;K=A+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0xf40e3585|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x106aa070|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x19a4c116|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x1e376c08|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0x2748774c|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0x34b0bcb5|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x391c0cb3|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;S=d+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0x4ed8aa4a|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;K=p+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x5b9cca4f|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x682e6ff3|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x748f82ee|0;x=x+C|0;C=C+(E&K^S&(E^K))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x78a5636f|0;S=S+D|0;D=D+(C&E^K&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(P^S&(x^P))+0x84c87814|0;K=K+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(x^K&(S^x))+0x8cc70208|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(S^E&(K^S))+0x90befffa|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;S=v+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(K^C&(E^K))+0xa4506ceb|0;D=D+S|0;S=S+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;K=A+K+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0xbef9a3f7|0;U=U+K|0;K=K+(S&x^P&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xc67178f2|0;P=P+E|0;E=E+(K&S^x&(K^S))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;n=n+E|0;i=i+K|0;a=a+S|0;s=s+x|0;o=o+P|0;c=c+U|0;h=h+D|0;u=u+C|0}function C(e){e=e|0;D(U[e|0]<<24|U[e|1]<<16|U[e|2]<<8|U[e|3],U[e|4]<<24|U[e|5]<<16|U[e|6]<<8|U[e|7],U[e|8]<<24|U[e|9]<<16|U[e|10]<<8|U[e|11],U[e|12]<<24|U[e|13]<<16|U[e|14]<<8|U[e|15],U[e|16]<<24|U[e|17]<<16|U[e|18]<<8|U[e|19],U[e|20]<<24|U[e|21]<<16|U[e|22]<<8|U[e|23],U[e|24]<<24|U[e|25]<<16|U[e|26]<<8|U[e|27],U[e|28]<<24|U[e|29]<<16|U[e|30]<<8|U[e|31],U[e|32]<<24|U[e|33]<<16|U[e|34]<<8|U[e|35],U[e|36]<<24|U[e|37]<<16|U[e|38]<<8|U[e|39],U[e|40]<<24|U[e|41]<<16|U[e|42]<<8|U[e|43],U[e|44]<<24|U[e|45]<<16|U[e|46]<<8|U[e|47],U[e|48]<<24|U[e|49]<<16|U[e|50]<<8|U[e|51],U[e|52]<<24|U[e|53]<<16|U[e|54]<<8|U[e|55],U[e|56]<<24|U[e|57]<<16|U[e|58]<<8|U[e|59],U[e|60]<<24|U[e|61]<<16|U[e|62]<<8|U[e|63])}function I(e){e=e|0;U[e|0]=n>>>24;U[e|1]=n>>>16&255;U[e|2]=n>>>8&255;U[e|3]=n&255;U[e|4]=i>>>24;U[e|5]=i>>>16&255;U[e|6]=i>>>8&255;U[e|7]=i&255;U[e|8]=a>>>24;U[e|9]=a>>>16&255;U[e|10]=a>>>8&255;U[e|11]=a&255;U[e|12]=s>>>24;U[e|13]=s>>>16&255;U[e|14]=s>>>8&255;U[e|15]=s&255;U[e|16]=o>>>24;U[e|17]=o>>>16&255;U[e|18]=o>>>8&255;U[e|19]=o&255;U[e|20]=c>>>24;U[e|21]=c>>>16&255;U[e|22]=c>>>8&255;U[e|23]=c&255;U[e|24]=h>>>24;U[e|25]=h>>>16&255;U[e|26]=h>>>8&255;U[e|27]=h&255;U[e|28]=u>>>24;U[e|29]=u>>>16&255;U[e|30]=u>>>8&255;U[e|31]=u&255}function T(){n=0x6a09e667;i=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;h=0x1f83d9ab;u=0x5be0cd19;l=y=0}function B(e,t,r,d,p,f,g,m,w,b){e=e|0;t=t|0;r=r|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;n=e;i=t;a=r;s=d;o=p;c=f;h=g;u=m;l=w;y=b}function z(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){C(e);e=e+64|0;t=t-64|0;r=r+64|0}l=l+r|0;if(l>>>0<r>>>0)y=y+1|0;return r|0}function R(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=z(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;l=l+t|0;if(l>>>0<t>>>0)y=y+1|0;U[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)U[e|i]=0x00;C(e);t=0;U[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)U[e|i]=0;U[e|56]=y>>>21&255;U[e|57]=y>>>13&255;U[e|58]=y>>>5&255;U[e|59]=y<<3&255|l>>>29;U[e|60]=l>>>21&255;U[e|61]=l>>>13&255;U[e|62]=l>>>5&255;U[e|63]=l<<3&255;C(e);if(~r)I(r);return n|0}function M(){n=d;i=p;a=f;s=g;o=m;c=w;h=b;u=k;l=64;y=0}function L(){n=v;i=A;a=_;s=E;o=K;c=S;h=x;u=P;l=64;y=0}function N(e,t,r,U,C,I,B,z,R,M,L,N,O,F,H,j){e=e|0;t=t|0;r=r|0;U=U|0;C=C|0;I=I|0;B=B|0;z=z|0;R=R|0;M=M|0;L=L|0;N=N|0;O=O|0;F=F|0;H=H|0;j=j|0;T();D(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,U^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,z^0x5c5c5c5c,R^0x5c5c5c5c,M^0x5c5c5c5c,L^0x5c5c5c5c,N^0x5c5c5c5c,O^0x5c5c5c5c,F^0x5c5c5c5c,H^0x5c5c5c5c,j^0x5c5c5c5c);v=n;A=i;_=a;E=s;K=o;S=c;x=h;P=u;T();D(e^0x36363636,t^0x36363636,r^0x36363636,U^0x36363636,C^0x36363636,I^0x36363636,B^0x36363636,z^0x36363636,R^0x36363636,M^0x36363636,L^0x36363636,N^0x36363636,O^0x36363636,F^0x36363636,H^0x36363636,j^0x36363636);d=n;p=i;f=a;g=s;m=o;w=c;b=h;k=u;l=64;y=0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;if(e&63)return-1;if(~r)if(r&31)return-1;b=R(e,t,-1)|0;l=n,y=i,d=a,p=s,f=o,g=c,m=h,w=u;L();D(l,y,d,p,f,g,m,w,0x80000000,0,0,0,0,0,0,768);if(~r)I(r);return b|0}function F(e,t,r,l,y){e=e|0;t=t|0;r=r|0;l=l|0;y=y|0;var d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,K=0,S=0,x=0,P=0;if(e&63)return-1;if(~y)if(y&31)return-1;U[e+t|0]=r>>>24;U[e+t+1|0]=r>>>16&255;U[e+t+2|0]=r>>>8&255;U[e+t+3|0]=r&255;O(e,t+4|0,-1)|0;d=v=n,p=A=i,f=_=a,g=E=s,m=K=o,w=S=c,b=x=h,k=P=u;l=l-1|0;while((l|0)>0){M();D(v,A,_,E,K,S,x,P,0x80000000,0,0,0,0,0,0,768);v=n,A=i,_=a,E=s,K=o,S=c,x=h,P=u;L();D(v,A,_,E,K,S,x,P,0x80000000,0,0,0,0,0,0,768);v=n,A=i,_=a,E=s,K=o,S=c,x=h,P=u;d=d^n;p=p^i;f=f^a;g=g^s;m=m^o;w=w^c;b=b^h;k=k^u;l=l-1|0}n=d;i=p;a=f;s=g;o=m;c=w;h=b;u=k;if(~y)I(y);return 0}return{reset:T,init:B,process:z,finish:R,hmac_reset:M,hmac_init:N,hmac_finish:O,pbkdf2_generate_block:F}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Xe.push(this.heap),Qe.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Ye).process(e).finish().result}}Ye.NAME="sha256";var Je=et;function et(e,t){if(!e)throw Error(t||"Assertion failed")}et.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var tt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function rt(e,t){return e(t={exports:{}},t.exports),t.exports}function nt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var it=rt((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}));var at=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var n=0;n<e.length;n++){var i=e.charCodeAt(n),a=i>>8,s=255&i;a?r.push(a,s):r.push(s)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r};var st=function(e){for(var t="",r=0;r<e.length;r++)t+=ht(e[r].toString(16));return t};function ot(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var ct=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=ot(i)),r+=ut(i.toString(16))}return r};function ht(e){return 1===e.length?"0"+e:e}function ut(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var lt=function(e,t,r,n){var i=r-t;Je(i%4==0);for(var a=Array(i/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===n?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var yt=function(e,t){for(var r=Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var a=e[n];"big"===t?(r[i]=a>>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r};var dt={inherits:it,toArray:at,toHex:st,htonl:ot,toHex32:ct,zero2:ht,zero8:ut,join32:lt,split32:yt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,n){return e+t+r+n>>>0},sum32_5:function(e,t,r,n,i){return e+t+r+n+i>>>0},sum64:function(e,t,r,n){var i=e[t],a=n+e[t+1]>>>0,s=(a<n?1:0)+r+i;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,n){return t+n>>>0},sum64_4_hi:function(e,t,r,n,i,a,s,o){var c=0,h=t;return c+=(h=h+n>>>0)<t?1:0,c+=(h=h+a>>>0)<a?1:0,e+r+i+s+(c+=(h=h+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,n,i,a,s,o){return t+n+a+o>>>0},sum64_5_hi:function(e,t,r,n,i,a,s,o,c,h){var u=0,l=t;return u+=(l=l+n>>>0)<t?1:0,u+=(l=l+a>>>0)<a?1:0,u+=(l=l+o>>>0)<o?1:0,e+r+i+s+c+(u+=(l=l+h>>>0)<h?1:0)>>>0},sum64_5_lo:function(e,t,r,n,i,a,s,o,c,h){return t+n+a+o+h>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function pt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var ft=pt;pt.prototype.update=function(e,t){if(e=dt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=dt.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},pt.prototype.digest=function(e){return this.update(this._pad()),Je(null===this.pending),this._digest(e)},pt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,a=8;a<this.padLength;a++)n[i++]=0;return n};var gt={BlockHash:ft},mt=dt.rotr32;var wt=function(e,t,r,n){return 0===e?bt(t,r,n):1===e||3===e?vt(t,r,n):2===e?kt(t,r,n):void 0};function bt(e,t,r){return e&t^~e&r}function kt(e,t,r){return e&t^e&r^t&r}function vt(e,t,r){return e^t^r}var At={ft_1:wt,ch32:bt,maj32:kt,p32:vt,s0_256:function(e){return mt(e,2)^mt(e,13)^mt(e,22)},s1_256:function(e){return mt(e,6)^mt(e,11)^mt(e,25)},g0_256:function(e){return mt(e,7)^mt(e,18)^e>>>3},g1_256:function(e){return mt(e,17)^mt(e,19)^e>>>10}},_t=dt.sum32,Et=dt.sum32_4,Kt=dt.sum32_5,St=At.ch32,xt=At.maj32,Pt=At.s0_256,Ut=At.s1_256,Dt=At.g0_256,Ct=At.g1_256,It=gt.BlockHash,Tt=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Bt(){if(!(this instanceof Bt))return new Bt;It.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Tt,this.W=Array(64)}dt.inherits(Bt,It);var zt=Bt;function Rt(){if(!(this instanceof Rt))return new Rt;zt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Bt.blockSize=512,Bt.outSize=256,Bt.hmacStrength=192,Bt.padLength=64,Bt.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=Et(Ct(r[n-2]),r[n-7],Dt(r[n-15]),r[n-16]);var i=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],h=this.h[5],u=this.h[6],l=this.h[7];for(Je(this.k.length===r.length),n=0;n<r.length;n++){var y=Kt(l,Ut(c),St(c,h,u),this.k[n],r[n]),d=_t(Pt(i),xt(i,a,s));l=u,u=h,h=c,c=_t(o,y),o=s,s=a,a=i,i=_t(y,d)}this.h[0]=_t(this.h[0],i),this.h[1]=_t(this.h[1],a),this.h[2]=_t(this.h[2],s),this.h[3]=_t(this.h[3],o),this.h[4]=_t(this.h[4],c),this.h[5]=_t(this.h[5],h),this.h[6]=_t(this.h[6],u),this.h[7]=_t(this.h[7],l)},Bt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"big"):dt.split32(this.h,"big")},dt.inherits(Rt,zt);var Mt=Rt;Rt.blockSize=512,Rt.outSize=224,Rt.hmacStrength=192,Rt.padLength=64,Rt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h.slice(0,7),"big"):dt.split32(this.h.slice(0,7),"big")};var Lt=dt.rotr64_hi,Nt=dt.rotr64_lo,Ot=dt.shr64_hi,Ft=dt.shr64_lo,Ht=dt.sum64,jt=dt.sum64_hi,qt=dt.sum64_lo,Gt=dt.sum64_4_hi,Vt=dt.sum64_4_lo,Wt=dt.sum64_5_hi,$t=dt.sum64_5_lo,Zt=gt.BlockHash,Xt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Qt(){if(!(this instanceof Qt))return new Qt;Zt.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Xt,this.W=Array(160)}dt.inherits(Qt,Zt);var Yt=Qt;function Jt(e,t,r,n,i){var a=e&r^~e&i;return a<0&&(a+=4294967296),a}function er(e,t,r,n,i,a){var s=t&n^~t&a;return s<0&&(s+=4294967296),s}function tr(e,t,r,n,i){var a=e&r^e&i^r&i;return a<0&&(a+=4294967296),a}function rr(e,t,r,n,i,a){var s=t&n^t&a^n&a;return s<0&&(s+=4294967296),s}function nr(e,t){var r=Lt(e,t,28)^Lt(t,e,2)^Lt(t,e,7);return r<0&&(r+=4294967296),r}function ir(e,t){var r=Nt(e,t,28)^Nt(t,e,2)^Nt(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Lt(e,t,14)^Lt(e,t,18)^Lt(t,e,9);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Nt(e,t,14)^Nt(e,t,18)^Nt(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Lt(e,t,1)^Lt(e,t,8)^Ot(e,t,7);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Nt(e,t,1)^Nt(e,t,8)^Ft(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Lt(e,t,19)^Lt(t,e,29)^Ot(e,t,6);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Nt(e,t,19)^Nt(t,e,29)^Ft(e,t,6);return r<0&&(r+=4294967296),r}function lr(){if(!(this instanceof lr))return new lr;Yt.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Qt.blockSize=1024,Qt.outSize=512,Qt.hmacStrength=192,Qt.padLength=128,Qt.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=hr(r[n-4],r[n-3]),a=ur(r[n-4],r[n-3]),s=r[n-14],o=r[n-13],c=or(r[n-30],r[n-29]),h=cr(r[n-30],r[n-29]),u=r[n-32],l=r[n-31];r[n]=Gt(i,a,s,o,c,h,u,l),r[n+1]=Vt(i,a,s,o,c,h,u,l)}},Qt.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],h=this.h[6],u=this.h[7],l=this.h[8],y=this.h[9],d=this.h[10],p=this.h[11],f=this.h[12],g=this.h[13],m=this.h[14],w=this.h[15];Je(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var k=m,v=w,A=ar(l,y),_=sr(l,y),E=Jt(l,y,d,p,f),K=er(l,y,d,p,f,g),S=this.k[b],x=this.k[b+1],P=r[b],U=r[b+1],D=Wt(k,v,A,_,E,K,S,x,P,U),C=$t(k,v,A,_,E,K,S,x,P,U);k=nr(n,i),v=ir(n,i),A=tr(n,i,a,s,o),_=rr(n,i,a,s,o,c);var I=jt(k,v,A,_),T=qt(k,v,A,_);m=f,w=g,f=d,g=p,d=l,p=y,l=jt(h,u,D,C),y=qt(u,u,D,C),h=o,u=c,o=a,c=s,a=n,s=i,n=jt(D,C,I,T),i=qt(D,C,I,T)}Ht(this.h,0,n,i),Ht(this.h,2,a,s),Ht(this.h,4,o,c),Ht(this.h,6,h,u),Ht(this.h,8,l,y),Ht(this.h,10,d,p),Ht(this.h,12,f,g),Ht(this.h,14,m,w)},Qt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"big"):dt.split32(this.h,"big")},dt.inherits(lr,Yt);var yr=lr;lr.blockSize=1024,lr.outSize=384,lr.hmacStrength=192,lr.padLength=128,lr.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h.slice(0,12),"big"):dt.split32(this.h.slice(0,12),"big")};var dr=dt.rotl32,pr=dt.sum32,fr=dt.sum32_3,gr=dt.sum32_4,mr=gt.BlockHash;function wr(){if(!(this instanceof wr))return new wr;mr.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}dt.inherits(wr,mr);var br=wr;function kr(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function vr(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function Ar(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}wr.blockSize=512,wr.outSize=160,wr.hmacStrength=192,wr.padLength=64,wr.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],a=this.h[3],s=this.h[4],o=r,c=n,h=i,u=a,l=s,y=0;y<80;y++){var d=pr(dr(gr(r,kr(y,n,i,a),e[_r[y]+t],vr(y)),Kr[y]),s);r=s,s=a,a=dr(i,10),i=n,n=d,d=pr(dr(gr(o,kr(79-y,c,h,u),e[Er[y]+t],Ar(y)),Sr[y]),l),o=l,l=u,u=dr(h,10),h=c,c=d}d=fr(this.h[1],i,u),this.h[1]=fr(this.h[2],a,l),this.h[2]=fr(this.h[3],s,o),this.h[3]=fr(this.h[4],r,c),this.h[4]=fr(this.h[0],n,h),this.h[0]=d},wr.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"little"):dt.split32(this.h,"little")};var _r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Er=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Kr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],xr={ripemd160:br};function Pr(e,t){let r=e[0],n=e[1],i=e[2],a=e[3];r=Dr(r,n,i,a,t[0],7,-680876936),a=Dr(a,r,n,i,t[1],12,-389564586),i=Dr(i,a,r,n,t[2],17,606105819),n=Dr(n,i,a,r,t[3],22,-1044525330),r=Dr(r,n,i,a,t[4],7,-176418897),a=Dr(a,r,n,i,t[5],12,1200080426),i=Dr(i,a,r,n,t[6],17,-1473231341),n=Dr(n,i,a,r,t[7],22,-45705983),r=Dr(r,n,i,a,t[8],7,1770035416),a=Dr(a,r,n,i,t[9],12,-1958414417),i=Dr(i,a,r,n,t[10],17,-42063),n=Dr(n,i,a,r,t[11],22,-1990404162),r=Dr(r,n,i,a,t[12],7,1804603682),a=Dr(a,r,n,i,t[13],12,-40341101),i=Dr(i,a,r,n,t[14],17,-1502002290),n=Dr(n,i,a,r,t[15],22,1236535329),r=Cr(r,n,i,a,t[1],5,-165796510),a=Cr(a,r,n,i,t[6],9,-1069501632),i=Cr(i,a,r,n,t[11],14,643717713),n=Cr(n,i,a,r,t[0],20,-373897302),r=Cr(r,n,i,a,t[5],5,-701558691),a=Cr(a,r,n,i,t[10],9,38016083),i=Cr(i,a,r,n,t[15],14,-660478335),n=Cr(n,i,a,r,t[4],20,-405537848),r=Cr(r,n,i,a,t[9],5,568446438),a=Cr(a,r,n,i,t[14],9,-1019803690),i=Cr(i,a,r,n,t[3],14,-187363961),n=Cr(n,i,a,r,t[8],20,1163531501),r=Cr(r,n,i,a,t[13],5,-1444681467),a=Cr(a,r,n,i,t[2],9,-51403784),i=Cr(i,a,r,n,t[7],14,1735328473),n=Cr(n,i,a,r,t[12],20,-1926607734),r=Ir(r,n,i,a,t[5],4,-378558),a=Ir(a,r,n,i,t[8],11,-2022574463),i=Ir(i,a,r,n,t[11],16,1839030562),n=Ir(n,i,a,r,t[14],23,-35309556),r=Ir(r,n,i,a,t[1],4,-1530992060),a=Ir(a,r,n,i,t[4],11,1272893353),i=Ir(i,a,r,n,t[7],16,-155497632),n=Ir(n,i,a,r,t[10],23,-1094730640),r=Ir(r,n,i,a,t[13],4,681279174),a=Ir(a,r,n,i,t[0],11,-358537222),i=Ir(i,a,r,n,t[3],16,-722521979),n=Ir(n,i,a,r,t[6],23,76029189),r=Ir(r,n,i,a,t[9],4,-640364487),a=Ir(a,r,n,i,t[12],11,-421815835),i=Ir(i,a,r,n,t[15],16,530742520),n=Ir(n,i,a,r,t[2],23,-995338651),r=Tr(r,n,i,a,t[0],6,-198630844),a=Tr(a,r,n,i,t[7],10,1126891415),i=Tr(i,a,r,n,t[14],15,-1416354905),n=Tr(n,i,a,r,t[5],21,-57434055),r=Tr(r,n,i,a,t[12],6,1700485571),a=Tr(a,r,n,i,t[3],10,-1894986606),i=Tr(i,a,r,n,t[10],15,-1051523),n=Tr(n,i,a,r,t[1],21,-2054922799),r=Tr(r,n,i,a,t[8],6,1873313359),a=Tr(a,r,n,i,t[15],10,-30611744),i=Tr(i,a,r,n,t[6],15,-1560198380),n=Tr(n,i,a,r,t[13],21,1309151649),r=Tr(r,n,i,a,t[4],6,-145523070),a=Tr(a,r,n,i,t[11],10,-1120210379),i=Tr(i,a,r,n,t[2],15,718787259),n=Tr(n,i,a,r,t[9],21,-343485551),e[0]=Mr(r,e[0]),e[1]=Mr(n,e[1]),e[2]=Mr(i,e[2]),e[3]=Mr(a,e[3])}function Ur(e,t,r,n,i,a){return t=Mr(Mr(t,e),Mr(n,a)),Mr(t<<i|t>>>32-i,r)}function Dr(e,t,r,n,i,a,s){return Ur(t&r|~t&n,e,t,i,a,s)}function Cr(e,t,r,n,i,a,s){return Ur(t&n|r&~n,e,t,i,a,s)}function Ir(e,t,r,n,i,a,s){return Ur(t^r^n,e,t,i,a,s)}function Tr(e,t,r,n,i,a,s){return Ur(r^(t|~n),e,t,i,a,s)}function Br(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const zr="0123456789abcdef".split("");function Rr(e){let t="",r=0;for(;r<4;r++)t+=zr[e>>8*r+4&15]+zr[e>>8*r&15];return t}function Mr(e,t){return e+t&4294967295}const Lr=X.getWebCrypto(),Nr=X.getNodeCrypto(),Or=Nr&&Nr.getHashes();function Fr(e){if(Nr&&Or.includes(e))return async function(t){const r=Nr.createHash(e);return z(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function Hr(e,t){return async function(r,n=ie){if(s(r)&&(r=await H(r)),!X.isStream(r)&&Lr&&t&&r.length>=n.minBytesForWebCrypto)return new Uint8Array(await Lr.digest(t,r));const i=e();return z(r,(e=>{i.update(e)}),(()=>new Uint8Array(i.digest())))}}function jr(e,t){return async function(r,n=ie){if(s(r)&&(r=await H(r)),X.isStream(r)){const t=new e;return z(r,(e=>{t.process(e)}),(()=>t.finish().result))}return Lr&&t&&r.length>=n.minBytesForWebCrypto?new Uint8Array(await Lr.digest(t,r)):e.bytes(r)}}const qr={md5:Fr("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let n;for(n=64;n<=e.length;n+=64)Pr(r,Br(e.substring(n-64,n)));e=e.substring(n-64);const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<e.length;n++)i[n>>2]|=e.charCodeAt(n)<<(n%4<<3);if(i[n>>2]|=128<<(n%4<<3),n>55)for(Pr(r,i),n=0;n<16;n++)i[n]=0;return i[14]=8*t,Pr(r,i),r}(X.uint8ArrayToString(e));return X.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=Rr(e[t]);return e.join("")}(t))},sha1:Fr("sha1")||jr(Ze,"SHA-1"),sha224:Fr("sha224")||Hr(Mt),sha256:Fr("sha256")||jr(Ye,"SHA-256"),sha384:Fr("sha384")||Hr(yr,"SHA-384"),sha512:Fr("sha512")||Hr(Yt,"SHA-512"),ripemd:Fr("ripemd160")||Hr(br)};var Gr={md5:qr.md5,sha1:qr.sha1,sha224:qr.sha224,sha256:qr.sha256,sha384:qr.sha384,sha512:qr.sha512,ripemd:qr.ripemd,digest:function(e,t){switch(e){case $.hash.md5:return this.md5(t);case $.hash.sha1:return this.sha1(t);case $.hash.ripemd:return this.ripemd(t);case $.hash.sha256:return this.sha256(t);case $.hash.sha384:return this.sha384(t);case $.hash.sha512:return this.sha512(t);case $.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case $.hash.md5:return 16;case $.hash.sha1:case $.hash.ripemd:return 20;case $.hash.sha256:return 32;case $.hash.sha384:return 48;case $.hash.sha512:return 64;case $.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case $.hash.md5:case $.hash.sha1:case $.hash.ripemd:case $.hash.sha224:case $.hash.sha256:return 64;case $.hash.sha384:case $.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class Vr{static encrypt(e,t,r){return new Vr(t,r).encrypt(e)}static decrypt(e,t,r){return new Vr(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Ke(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function Wr(e){const t=$.read($.symmetric,e);return qe[t]}const $r=X.getWebCrypto(),Zr=X.getNodeCrypto(),Xr=Zr?Zr.getCiphers():[],Qr={idea:Xr.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Xr.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Xr.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Xr.includes("bf-cfb")?"bf-cfb":void 0,aes128:Xr.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Xr.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Xr.includes("aes-256-cfb")?"aes-256-cfb":void 0};var Yr=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,n,i){const a=$.read($.symmetric,e);if(X.getNodeCrypto()&&Qr[a])return function(e,t,r,n){const i=$.read($.symmetric,e),a=new Zr.createCipheriv(Qr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if(X.isAES(e))return function(e,t,r,n,i){if(X.getWebCrypto()&&24!==t.length&&!X.isStream(r)&&r.length>=3e3*i.minBytesForWebCrypto)return async function(e,t,r,n){const i="AES-CBC",a=await $r.importKey("raw",t,{name:i},!1,["encrypt"]),{blockSize:s}=Wr(e),o=X.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await $r.encrypt({name:i,iv:n},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,n);const a=new Vr(t,n);return z(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,n,i);const s=new(Wr(e))(t),o=s.blockSize,c=n.slice();let h=new Uint8Array;const u=e=>{e&&(h=X.concatUint8Array([h,e]));const t=new Uint8Array(h.length);let r,n=0;for(;e?h.length>=o:h.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=h[r]^e[r],t[n++]=c[r];h=h.subarray(o)}return t.subarray(0,n)};return z(r,u,u)},decrypt:async function(e,t,r,n){const i=$.read($.symmetric,e);if(X.getNodeCrypto()&&Qr[i])return function(e,t,r,n){const i=$.read($.symmetric,e),a=new Zr.createDecipheriv(Qr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if(X.isAES(e))return function(e,t,r,n){if(X.isStream(r)){const e=new Vr(t,n);return z(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return Vr.decrypt(r,t,n)}(0,t,r,n);const a=new(Wr(e))(t),s=a.blockSize;let o=n,c=new Uint8Array;const h=e=>{e&&(c=X.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c.subarray(0,s),r=0;r<s;r++)t[n++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,n)};return z(r,h,h)}});class Jr{static encrypt(e,t,r){return new Jr(t,r).encrypt(e)}static decrypt(e,t,r){return new Jr(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Ke(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:n}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new ve("illegal counter size");let e=Math.pow(2,r)-1;n.set_mask(0,0,e/4294967296|0,0|e)}else r=48,n.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new ve("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),n.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new ve("illegal counter value");n.set_counter(0,0,t/4294967296|0,0|t)}}}class en{static encrypt(e,t,r=!0,n){return new en(t,n,r).encrypt(e)}static decrypt(e,t,r=!0,n){return new en(t,n,r).decrypt(e)}constructor(e,t,r=!0,n){this.aes=n||new Ke(e,t,r,"CBC")}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const tn=X.getWebCrypto(),rn=X.getNodeCrypto(),nn=16;function an(e,t){const r=e.length-nn;for(let n=0;n<nn;n++)e[n+r]^=t[n];return e}const sn=new Uint8Array(nn);async function on(e){const t=await async function(e){if(X.getWebCrypto()&&24!==e.length)return e=await tn.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await tn.encrypt({name:"AES-CBC",iv:sn,length:8*nn},e,t);return new Uint8Array(r).subarray(0,r.byteLength-nn)};if(X.getNodeCrypto())return async function(t){const r=new rn.createCipheriv("aes-"+8*e.length+"-cbc",e,sn).update(t);return new Uint8Array(r)};return async function(t){return en.encrypt(t,e,!1,sn)}}(e),r=X.double(await t(sn)),n=X.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%nn==0)return an(e,t);const n=new Uint8Array(e.length+(nn-e.length%nn));return n.set(e),n[e.length]=128,an(n,r)}(e,r,n))).subarray(-nn)}}const cn=X.getWebCrypto(),hn=X.getNodeCrypto(),un=X.getNodeBuffer(),ln=16,yn=ln,dn=ln,pn=new Uint8Array(ln),fn=new Uint8Array(ln);fn[ln-1]=1;const gn=new Uint8Array(ln);async function mn(e){const t=await on(e);return function(e,r){return t(X.concatUint8Array([e,r]))}}async function wn(e){return X.getWebCrypto()&&24!==e.length?(e=await cn.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const n=await cn.encrypt({name:"AES-CTR",counter:r,length:8*ln},e,t);return new Uint8Array(n)}):X.getNodeCrypto()?async function(t,r){const n=new hn.createCipheriv("aes-"+8*e.length+"-ctr",e,r),i=un.concat([n.update(t),n.final()]);return new Uint8Array(i)}:async function(t,r){return Jr.encrypt(t,e,r)}}async function bn(e,t){if(e!==$.symmetric.aes128&&e!==$.symmetric.aes192&&e!==$.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,n]=await Promise.all([mn(t),wn(t)]);return{encrypt:async function(e,t,i){const[a,s]=await Promise.all([r(pn,t),r(fn,i)]),o=await n(e,a),c=await r(gn,o);for(let e=0;e<dn;e++)c[e]^=s[e]^a[e];return X.concatUint8Array([o,c])},decrypt:async function(e,t,i){if(e.length<dn)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-dn),s=e.subarray(-dn),[o,c,h]=await Promise.all([r(pn,t),r(fn,i),r(gn,a)]),u=h;for(let e=0;e<dn;e++)u[e]^=c[e]^o[e];if(!X.equalsUint8Array(s,u))throw Error("Authentication tag mismatch");return await n(a,o)}}}gn[ln-1]=2,bn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},bn.blockLength=ln,bn.ivLength=yn,bn.tagLength=dn;const kn=16,vn=15,An=16;function _n(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function En(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Kn(e,t){return En(e.slice(),t)}const Sn=new Uint8Array(kn),xn=new Uint8Array([1]);async function Pn(e,t){let r,n,i,a=0;function s(e,t,n,s){const o=t.length/kn|0;!function(e,t){const r=X.nbits(Math.max(e.length,t.length)/kn|0)-1;for(let e=a+1;e<=r;e++)i[e]=X.double(i[e-1]);a=r}(t,s);const c=X.concatUint8Array([Sn.subarray(0,vn-n.length),xn,n]),h=63&c[kn-1];c[kn-1]&=192;const u=r(c),l=X.concatUint8Array([u,Kn(u.subarray(0,8),u.subarray(1,9))]),y=X.shiftRight(l.subarray(0+(h>>3),17+(h>>3)),8-(7&h)).subarray(1),d=new Uint8Array(kn),p=new Uint8Array(t.length+An);let f,g=0;for(f=0;f<o;f++)En(y,i[_n(f+1)]),p.set(En(e(Kn(y,t)),y),g),En(d,e===r?t:p.subarray(g)),t=t.subarray(kn),g+=kn;if(t.length){En(y,i.x);const n=r(y);p.set(Kn(t,n),g);const a=new Uint8Array(kn);a.set(e===r?t:p.subarray(g,-An),0),a[t.length]=128,En(d,a),g+=t.length}const m=En(r(En(En(d,y),i.$)),function(e){if(!e.length)return Sn;const t=e.length/kn|0,n=new Uint8Array(kn),a=new Uint8Array(kn);for(let s=0;s<t;s++)En(n,i[_n(s+1)]),En(a,r(Kn(n,e))),e=e.subarray(kn);if(e.length){En(n,i.x);const t=new Uint8Array(kn);t.set(e,0),t[e.length]=128,En(t,n),En(a,r(t))}return a}(s));return p.set(m,g),p}return function(e,t){const a=$.read($.symmetric,e),s=new qe[a](t);r=s.encrypt.bind(s),n=s.decrypt.bind(s);const o=r(Sn),c=X.double(o);i=[],i[0]=X.double(c),i.x=o,i.$=c}(e,t),{encrypt:async function(e,t,n){return s(r,e,t,n)},decrypt:async function(e,t,r){if(e.length<An)throw Error("Invalid OCB ciphertext");const i=e.subarray(-An);e=e.subarray(0,-An);const a=s(n,e,t,r);if(X.equalsUint8Array(i,a.subarray(-An)))return a.subarray(0,-An);throw Error("Authentication tag mismatch")}}}Pn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Pn.blockLength=kn,Pn.ivLength=vn,Pn.tagLength=An;const Un=68719476704;class Dn{constructor(e,t,r,n=16,i){this.tagSize=n,this.gamma0=0,this.counter=1,this.aes=i||new Ke(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new ve("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(fe.MAC.GCM,fe.HEAP_DATA,16),a.get_iv(fe.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const h=new DataView(c.buffer);if(this.gamma0=h.getUint32(12),a.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>Un)throw new ve("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,n,i){return new Dn(t,r,n,i).encrypt(e)}static decrypt(e,t,r,n,i){return new Dn(t,r,n,i).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:n,heap:i}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,h=o+r&-16,u=0;if((a-1<<4)+o+r>Un)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>0;)u=we(i,s+o,e,t,r),o+=u,t+=u,r-=u,u=n.cipher(fe.ENC.CTR,fe.HEAP_DATA+s,o),u=n.mac(fe.MAC.GCM,fe.HEAP_DATA+s,u),u&&l.set(i.subarray(s,s+u),c),a+=u>>>4,c+=u,u<o?(s+=u,o-=u):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,l}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,n=this.tagSize,i=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+n);e.cipher(fe.ENC.CTR,fe.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(fe.MAC.GCM,fe.HEAP_DATA+a,c);const h=void 0!==i?i.length:0,u=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=h>>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=u>>>29,t[12]=u>>>21&255,t[13]=u>>>13&255,t[14]=u>>>5&255,t[15]=u<<3&255,e.mac(fe.MAC.GCM,fe.HEAP_DATA,16),e.get_iv(fe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(fe.ENC.CTR,fe.HEAP_DATA,16),o.set(t.subarray(0,n),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:n,heap:i}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,h=0,u=c+r>s?c+r-s&-16:0,l=c+r-u,y=0;if((a-1<<4)+c+r>Un)throw new RangeError("counter overflow");const d=new Uint8Array(u);for(;r>l;)y=we(i,o+c,e,t,r-l),c+=y,t+=y,r-=y,y=n.mac(fe.MAC.GCM,fe.HEAP_DATA+o,y),y=n.cipher(fe.DEC.CTR,fe.HEAP_DATA+o,y),y&&d.set(i.subarray(o,o+y),h),a+=y>>>4,h+=y,o=0,c=0;return r>0&&(c+=we(i,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,d}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,n=this.adata,i=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new ke("authentication tag not found");const c=new Uint8Array(o),h=new Uint8Array(t.subarray(a+o,a+s));let u=o;for(;15&u;u++)t[a+u]=0;e.mac(fe.MAC.GCM,fe.HEAP_DATA+a,u),e.cipher(fe.DEC.CTR,fe.HEAP_DATA+a,u),o&&c.set(t.subarray(a,a+o));const l=void 0!==n?n.length:0,y=(i-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=l>>>29,t[4]=l>>>21,t[5]=l>>>13&255,t[6]=l>>>5&255,t[7]=l<<3&255,t[8]=t[9]=t[10]=0,t[11]=y>>>29,t[12]=y>>>21&255,t[13]=y>>>13&255,t[14]=y>>>5&255,t[15]=y<<3&255,e.mac(fe.MAC.GCM,fe.HEAP_DATA,16),e.get_iv(fe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(fe.ENC.CTR,fe.HEAP_DATA,16);let d=0;for(let e=0;e<r;++e)d|=h[e]^t[e];if(d)throw new Ae("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),n=0,i=e.length||0,a=0;for(;i>0;){for(a=we(r,0,e,n,i),n+=a,i-=a;15&a;)r[a++]=0;t.mac(fe.MAC.GCM,fe.HEAP_DATA,a)}}}const Cn=X.getWebCrypto(),In=X.getNodeCrypto(),Tn=X.getNodeBuffer(),Bn=16,zn="AES-GCM";async function Rn(e,t){if(e!==$.symmetric.aes128&&e!==$.symmetric.aes192&&e!==$.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(X.getNodeCrypto())return{encrypt:async function(e,r,n=new Uint8Array){const i=new In.createCipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n);const a=Tn.concat([i.update(e),i.final(),i.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,n=new Uint8Array){const i=new In.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n),i.setAuthTag(e.slice(e.length-Bn,e.length));const a=Tn.concat([i.update(e.slice(0,e.length-Bn)),i.final()]);return new Uint8Array(a)}};if(X.getWebCrypto()&&24!==t.length){const e=await Cn.importKey("raw",t,{name:zn},!1,["encrypt","decrypt"]);return{encrypt:async function(r,n,i=new Uint8Array){if(!r.length)return Dn.encrypt(r,t,n,i);const a=await Cn.encrypt({name:zn,iv:n,additionalData:i,tagLength:8*Bn},e,r);return new Uint8Array(a)},decrypt:async function(r,n,i=new Uint8Array){if(r.length===Bn)return Dn.decrypt(r,t,n,i);const a=await Cn.decrypt({name:zn,iv:n,additionalData:i,tagLength:8*Bn},e,r);return new Uint8Array(a)}}}return{encrypt:async function(e,r,n){return Dn.encrypt(e,t,r,n)},decrypt:async function(e,r,n){return Dn.decrypt(e,t,r,n)}}}Rn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Rn.blockLength=16,Rn.ivLength=12,Rn.tagLength=Bn;var Mn={cfb:Yr,gcm:Rn,experimentalGCM:Rn,eax:bn,ocb:Pn},Ln=rt((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},n=new Uint8Array(32);n[0]=9;var i=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),h=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),u=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),l=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function y(e,t,r,n){return function(e,t,r,n,i){var a,s=0;for(a=0;a<i;a++)s|=e[t+a]^r[n+a];return(1&s-1>>>8)-1}(e,t,r,n,32)}function d(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function p(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function f(e,t,r){for(var n,i=~(r-1),a=0;a<16;a++)n=i&(e[a]^t[a]),e[a]^=n,t[a]^=n}function g(e,r){var n,i,a,s=t(),o=t();for(n=0;n<16;n++)o[n]=r[n];for(p(o),p(o),p(o),i=0;i<2;i++){for(s[0]=o[0]-65517,n=1;n<15;n++)s[n]=o[n]-65535-(s[n-1]>>16&1),s[n-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,f(o,s,1-a)}for(n=0;n<16;n++)e[2*n]=255&o[n],e[2*n+1]=o[n]>>8}function m(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return g(r,e),g(n,t),y(r,0,n,0)}function w(e){var t=new Uint8Array(32);return g(t,e),1&t[0]}function b(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function k(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function v(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function A(e,t,r){var n,i,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,K=0,S=0,x=0,P=0,U=0,D=0,C=0,I=0,T=0,B=0,z=0,R=r[0],M=r[1],L=r[2],N=r[3],O=r[4],F=r[5],H=r[6],j=r[7],q=r[8],G=r[9],V=r[10],W=r[11],$=r[12],Z=r[13],X=r[14],Q=r[15];a+=(n=t[0])*R,s+=n*M,o+=n*L,c+=n*N,h+=n*O,u+=n*F,l+=n*H,y+=n*j,d+=n*q,p+=n*G,f+=n*V,g+=n*W,m+=n*$,w+=n*Z,b+=n*X,k+=n*Q,s+=(n=t[1])*R,o+=n*M,c+=n*L,h+=n*N,u+=n*O,l+=n*F,y+=n*H,d+=n*j,p+=n*q,f+=n*G,g+=n*V,m+=n*W,w+=n*$,b+=n*Z,k+=n*X,v+=n*Q,o+=(n=t[2])*R,c+=n*M,h+=n*L,u+=n*N,l+=n*O,y+=n*F,d+=n*H,p+=n*j,f+=n*q,g+=n*G,m+=n*V,w+=n*W,b+=n*$,k+=n*Z,v+=n*X,A+=n*Q,c+=(n=t[3])*R,h+=n*M,u+=n*L,l+=n*N,y+=n*O,d+=n*F,p+=n*H,f+=n*j,g+=n*q,m+=n*G,w+=n*V,b+=n*W,k+=n*$,v+=n*Z,A+=n*X,_+=n*Q,h+=(n=t[4])*R,u+=n*M,l+=n*L,y+=n*N,d+=n*O,p+=n*F,f+=n*H,g+=n*j,m+=n*q,w+=n*G,b+=n*V,k+=n*W,v+=n*$,A+=n*Z,_+=n*X,E+=n*Q,u+=(n=t[5])*R,l+=n*M,y+=n*L,d+=n*N,p+=n*O,f+=n*F,g+=n*H,m+=n*j,w+=n*q,b+=n*G,k+=n*V,v+=n*W,A+=n*$,_+=n*Z,E+=n*X,K+=n*Q,l+=(n=t[6])*R,y+=n*M,d+=n*L,p+=n*N,f+=n*O,g+=n*F,m+=n*H,w+=n*j,b+=n*q,k+=n*G,v+=n*V,A+=n*W,_+=n*$,E+=n*Z,K+=n*X,S+=n*Q,y+=(n=t[7])*R,d+=n*M,p+=n*L,f+=n*N,g+=n*O,m+=n*F,w+=n*H,b+=n*j,k+=n*q,v+=n*G,A+=n*V,_+=n*W,E+=n*$,K+=n*Z,S+=n*X,x+=n*Q,d+=(n=t[8])*R,p+=n*M,f+=n*L,g+=n*N,m+=n*O,w+=n*F,b+=n*H,k+=n*j,v+=n*q,A+=n*G,_+=n*V,E+=n*W,K+=n*$,S+=n*Z,x+=n*X,P+=n*Q,p+=(n=t[9])*R,f+=n*M,g+=n*L,m+=n*N,w+=n*O,b+=n*F,k+=n*H,v+=n*j,A+=n*q,_+=n*G,E+=n*V,K+=n*W,S+=n*$,x+=n*Z,P+=n*X,U+=n*Q,f+=(n=t[10])*R,g+=n*M,m+=n*L,w+=n*N,b+=n*O,k+=n*F,v+=n*H,A+=n*j,_+=n*q,E+=n*G,K+=n*V,S+=n*W,x+=n*$,P+=n*Z,U+=n*X,D+=n*Q,g+=(n=t[11])*R,m+=n*M,w+=n*L,b+=n*N,k+=n*O,v+=n*F,A+=n*H,_+=n*j,E+=n*q,K+=n*G,S+=n*V,x+=n*W,P+=n*$,U+=n*Z,D+=n*X,C+=n*Q,m+=(n=t[12])*R,w+=n*M,b+=n*L,k+=n*N,v+=n*O,A+=n*F,_+=n*H,E+=n*j,K+=n*q,S+=n*G,x+=n*V,P+=n*W,U+=n*$,D+=n*Z,C+=n*X,I+=n*Q,w+=(n=t[13])*R,b+=n*M,k+=n*L,v+=n*N,A+=n*O,_+=n*F,E+=n*H,K+=n*j,S+=n*q,x+=n*G,P+=n*V,U+=n*W,D+=n*$,C+=n*Z,I+=n*X,T+=n*Q,b+=(n=t[14])*R,k+=n*M,v+=n*L,A+=n*N,_+=n*O,E+=n*F,K+=n*H,S+=n*j,x+=n*q,P+=n*G,U+=n*V,D+=n*W,C+=n*$,I+=n*Z,T+=n*X,B+=n*Q,k+=(n=t[15])*R,s+=38*(A+=n*L),o+=38*(_+=n*N),c+=38*(E+=n*O),h+=38*(K+=n*F),u+=38*(S+=n*H),l+=38*(x+=n*j),y+=38*(P+=n*q),d+=38*(U+=n*G),p+=38*(D+=n*V),f+=38*(C+=n*W),g+=38*(I+=n*$),m+=38*(T+=n*Z),w+=38*(B+=n*X),b+=38*(z+=n*Q),a=(n=(a+=38*(v+=n*M))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),k=(n=k+i+65535)-65536*(i=Math.floor(n/65536)),a=(n=(a+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),k=(n=k+i+65535)-65536*(i=Math.floor(n/65536)),a+=i-1+37*(i-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=h,e[5]=u,e[6]=l,e[7]=y,e[8]=d,e[9]=p,e[10]=f,e[11]=g,e[12]=m,e[13]=w,e[14]=b,e[15]=k}function _(e,t){A(e,t,t)}function E(e,r){var n,i=t();for(n=0;n<16;n++)i[n]=r[n];for(n=253;n>=0;n--)_(i,i),2!==n&&4!==n&&A(i,i,r);for(n=0;n<16;n++)e[n]=i[n]}function K(e,r,n){var i,a,o=new Uint8Array(32),c=new Float64Array(80),h=t(),u=t(),l=t(),y=t(),d=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,b(c,n),a=0;a<16;a++)u[a]=c[a],y[a]=h[a]=l[a]=0;for(h[0]=y[0]=1,a=254;a>=0;--a)f(h,u,i=o[a>>>3]>>>(7&a)&1),f(l,y,i),k(d,h,l),v(h,h,l),k(l,u,y),v(u,u,y),_(y,d),_(p,h),A(h,l,h),A(l,u,d),k(d,h,l),v(h,h,l),_(u,h),v(l,y,p),A(h,l,s),k(h,h,y),A(l,l,h),A(h,y,p),A(y,u,c),_(u,d),f(h,u,i),f(l,y,i);for(a=0;a<16;a++)c[a+16]=h[a],c[a+32]=l[a],c[a+48]=u[a],c[a+64]=y[a];var m=c.subarray(32),w=c.subarray(16);return E(m,m),A(w,w,m),g(e,w),0}function S(e,t){return K(e,t,n)}function x(e,r){var n=t(),i=t(),a=t(),s=t(),o=t(),h=t(),u=t(),l=t(),y=t();v(n,e[1],e[0]),v(y,r[1],r[0]),A(n,n,y),k(i,e[0],e[1]),k(y,r[0],r[1]),A(i,i,y),A(a,e[3],r[3]),A(a,a,c),A(s,e[2],r[2]),k(s,s,s),v(o,i,n),v(h,s,a),k(u,s,a),k(l,i,n),A(e[0],o,h),A(e[1],l,u),A(e[2],u,h),A(e[3],o,l)}function P(e,t,r){var n;for(n=0;n<4;n++)f(e[n],t[n],r)}function U(e,r){var n=t(),i=t(),a=t();E(a,r[2]),A(n,r[0],a),A(i,r[1],a),g(e,i),e[31]^=w(n)<<7}function D(e,t,r){var n,s;for(d(e[0],i),d(e[1],a),d(e[2],a),d(e[3],i),s=255;s>=0;--s)P(e,t,n=r[s/8|0]>>(7&s)&1),x(t,e),x(e,e),P(e,t,n)}function C(e,r){var n=[t(),t(),t(),t()];d(n[0],h),d(n[1],u),d(n[2],a),A(n[3],h,u),D(e,n,r)}function I(n,i,a){var s,o,c=[t(),t(),t(),t()];for(a||r(i,32),(s=e.hash(i.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,C(c,s),U(n,c),o=0;o<32;o++)i[o+32]=n[o];return 0}var T=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function B(e,t){var r,n,i,a;for(n=63;n>=32;--n){for(r=0,i=n-32,a=n-12;i<a;++i)t[i]+=r-16*t[n]*T[i-(n-32)],r=Math.floor((t[i]+128)/256),t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*T[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*T[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function z(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;B(e,r)}function R(e,r){var n=t(),s=t(),c=t(),h=t(),u=t(),y=t(),p=t();return d(e[2],a),b(e[1],r),_(c,e[1]),A(h,c,o),v(c,c,e[2]),k(h,e[2],h),_(u,h),_(y,u),A(p,y,u),A(n,p,c),A(n,n,h),function(e,r){var n,i=t();for(n=0;n<16;n++)i[n]=r[n];for(n=250;n>=0;n--)_(i,i),1!==n&&A(i,i,r);for(n=0;n<16;n++)e[n]=i[n]}(n,n),A(n,n,c),A(n,n,h),A(n,n,h),A(e[0],n,h),_(s,e[0]),A(s,s,h),m(s,c)&&A(e[0],e[0],l),_(s,e[0]),A(s,s,h),m(s,c)?-1:(w(e[0])===r[31]>>7&&v(e[0],i,e[0]),A(e[3],e[0],e[1]),0)}var M=64;function L(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function N(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(L(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return K(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,n=new Uint8Array(32),i=new Uint8Array(32);return e=n,r(t=i,32),S(e,t),{publicKey:n,secretKey:i}},e.box.keyPair.fromSecretKey=function(e){if(L(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return S(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,n){if(L(r,n),64!==n.length)throw Error("bad secret key size");var i=new Uint8Array(M+r.length);return function(r,n,i,a){var s,o,c,h,u,l=new Float64Array(64),y=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var d=i+64;for(h=0;h<i;h++)r[64+h]=n[h];for(h=0;h<32;h++)r[32+h]=s[32+h];for(z(c=e.hash(r.subarray(32,d))),C(y,c),U(r,y),h=32;h<64;h++)r[h]=a[h];for(z(o=e.hash(r.subarray(0,d))),h=0;h<64;h++)l[h]=0;for(h=0;h<32;h++)l[h]=c[h];for(h=0;h<32;h++)for(u=0;u<32;u++)l[h+u]+=o[h]*s[u];B(r.subarray(32),l)}(i,r,r.length,n),i},e.sign.detached=function(t,r){for(var n=e.sign(t,r),i=new Uint8Array(M),a=0;a<i.length;a++)i[a]=n[a];return i},e.sign.detached.verify=function(r,n,i){if(L(r,n,i),n.length!==M)throw Error("bad signature size");if(32!==i.length)throw Error("bad public key size");var a,s=new Uint8Array(M+r.length),o=new Uint8Array(M+r.length);for(a=0;a<M;a++)s[a]=n[a];for(a=0;a<r.length;a++)s[a+M]=r[a];return function(r,n,i,a){var s,o,c=new Uint8Array(32),h=[t(),t(),t(),t()],u=[t(),t(),t(),t()];if(i<64)return-1;if(R(u,a))return-1;for(s=0;s<i;s++)r[s]=n[s];for(s=0;s<32;s++)r[s+32]=a[s];if(z(o=e.hash(r.subarray(0,i))),D(h,u,o),C(u,n.subarray(32)),x(h,u),U(c,h),i-=64,y(n,0,c,0)){for(s=0;s<i;s++)r[s]=0;return-1}for(s=0;s<i;s++)r[s]=n[s+64];return i}(o,s,s.length,i)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return I(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(L(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(L(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),n=0;n<32;n++)r[n]=e[n];return I(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var n,i=new Uint8Array(r);for(n=0;n<r;n+=65536)t.getRandomValues(i.subarray(n,n+Math.min(r-n,65536)));for(n=0;n<r;n++)e[n]=i[n];N(i)}))}else void 0!==nt&&(t=void 0)&&t.randomBytes&&e.setPRNG((function(e,r){var n,i=t.randomBytes(r);for(n=0;n<r;n++)e[n]=i[n];N(i)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const Nn=X.getNodeCrypto();function On(e){const t=new Uint8Array(e);if(Nn){const e=Nn.randomBytes(t.length);t.set(e)}else{if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("No secure random number generator available.");crypto.getRandomValues(t)}return t}async function Fn(e,t){const r=await X.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const n=t.sub(e),i=n.byteLength();return new r(await On(i+8)).mod(n).add(e)}var Hn=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:On,getRandomBigInteger:Fn});async function jn(e,t,r){const n=await X.getBigInteger(),i=new n(1),a=i.leftShift(new n(e-1)),s=new n(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await Fn(a,a.leftShift(i));let h=c.mod(s).toNumber();do{c.iadd(new n(o[h])),h=(h+o[h])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(i)).iadd(a),h=c.mod(s).toNumber())}while(!await qn(c,t,r));return c}async function qn(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await X.getBigInteger();return Gn.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await X.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const n=await X.getBigInteger(),i=e.bitLength();t||(t=Math.max(1,i/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new n(s));for(;t>0;t--){let t,i=(r?r():await Fn(new n(2),a)).modExp(o,e);if(!i.isOne()&&!i.equal(a)){for(t=1;t<s;t++){if(i=i.mul(i).mod(e),i.isOne())return!1;if(i.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const Gn=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const Vn=[];function Wn(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const n=On(e-r);for(let e=0;e<n.length;e++)0!==n[e]&&(t[r++]=n[e])}return t}(t-r-3),i=new Uint8Array(t);return i[1]=2,i.set(n,2),i.set(e,t-r),i}function $n(e,t){let r=2,n=1;for(let t=r;t<e.length;t++)n&=0!==e[t],r+=n;const i=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&i>=8&!n;if(t)return X.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function Zn(e,t,r){let n;if(t.length!==Gr.getHashByteLength(e))throw Error("Invalid hash length");const i=new Uint8Array(Vn[e].length);for(n=0;n<Vn[e].length;n++)i[n]=Vn[e][n];const a=i.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(i,r-a),o.set(t,r-t.length),o}Vn[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Vn[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Vn[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Vn[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Vn[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Vn[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Vn[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var Xn=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:Wn,emeDecode:$n,emsaEncode:Zn});const Qn=X.getWebCrypto(),Yn=X.getNodeCrypto(),Jn=void 0,ei=Yn?Jn.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,ti=Yn?Jn.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var ri=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a,s,o,c){if(t&&!X.isStream(t))if(X.getWebCrypto())try{return await async function(e,t,r,n,i,a,s,o){const c=await async function(e,t,r,n,i,a){const s=await X.getBigInteger(),o=new s(n),c=new s(i),h=new s(r);let u=h.mod(c.dec()),l=h.mod(o.dec());return l=l.toUint8Array(),u=u.toUint8Array(),{kty:"RSA",n:ne(e,!0),e:ne(t,!0),d:ne(r,!0),p:ne(i,!0),q:ne(n,!0),dp:ne(u,!0),dq:ne(l,!0),qi:ne(a,!0),ext:!0}}(r,n,i,a,s,o),h={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await Qn.importKey("jwk",c,h,!1,["sign"]);return new Uint8Array(await Qn.sign("RSASSA-PKCS1-v1_5",u,t))}($.read($.webHash,e),t,r,n,i,a,s,o)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto())return async function(e,t,r,n,i,a,s,o){const{default:c}=await import("./bn.min.mjs"),h=new c(a),u=new c(s),l=new c(i),y=l.mod(u.subn(1)),d=l.mod(h.subn(1)),p=Yn.createSign($.read($.hash,e));p.write(t),p.end();const f={version:0,modulus:new c(r),publicExponent:new c(n),privateExponent:new c(i),prime1:new c(s),prime2:new c(a),exponent1:y,exponent2:d,coefficient:new c(o)};if(void 0!==Yn.createPrivateKey){const e=ei.encode(f,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const g=ei.encode(f,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(g))}(e,t,r,n,i,a,s,o);return async function(e,t,r,n){const i=await X.getBigInteger();t=new i(t);const a=new i(await Zn(e,n,t.byteLength()));if(r=new i(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,i,c)},verify:async function(e,t,r,n,i,a){if(t&&!X.isStream(t))if(X.getWebCrypto())try{return await async function(e,t,r,n,i){const a=function(e,t){return{kty:"RSA",n:ne(e,!0),e:ne(t,!0),ext:!0}}(n,i),s=await Qn.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Qn.verify("RSASSA-PKCS1-v1_5",s,r,t)}($.read($.webHash,e),t,r,n,i)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto())return async function(e,t,r,n,i){const{default:a}=await import("./bn.min.mjs"),s=Yn.createVerify($.read($.hash,e));s.write(t),s.end();const o={modulus:new a(n),publicExponent:new a(i)};let c;if(void 0!==Yn.createPrivateKey){c={key:ti.encode(o,"der"),format:"der",type:"pkcs1"}}else c=ti.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,n,i);return async function(e,t,r,n,i){const a=await X.getBigInteger();if(r=new a(r),t=new a(t),n=new a(n),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(n,r).toUint8Array("be",r.byteLength()),o=await Zn(e,i,r.byteLength());return X.equalsUint8Array(s,o)}(e,r,n,i,a)},encrypt:async function(e,t,r){return X.getNodeCrypto()?async function(e,t,r){const{default:n}=await import("./bn.min.mjs"),i={modulus:new n(t),publicExponent:new n(r)};let a;if(void 0!==Yn.createPrivateKey){a={key:ti.encode(i,"der"),format:"der",type:"pkcs1",padding:Yn.constants.RSA_PKCS1_PADDING}}else{a={key:ti.encode(i,"pem",{label:"RSA PUBLIC KEY"}),padding:Yn.constants.RSA_PKCS1_PADDING}}return new Uint8Array(Yn.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const n=await X.getBigInteger();if(t=new n(t),e=new n(Wn(e,t.byteLength())),r=new n(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,n,i,a,s,o){if(X.getNodeCrypto()&&!o)try{return await async function(e,t,r,n,i,a,s){const{default:o}=await import("./bn.min.mjs"),c=new o(i),h=new o(a),u=new o(n),l=u.mod(h.subn(1)),y=u.mod(c.subn(1)),d={version:0,modulus:new o(t),publicExponent:new o(r),privateExponent:new o(n),prime1:new o(a),prime2:new o(i),exponent1:l,exponent2:y,coefficient:new o(s)};let p;if(void 0!==Yn.createPrivateKey){p={key:ei.encode(d,"der"),format:"der",type:"pkcs1",padding:Yn.constants.RSA_PKCS1_PADDING}}else{p={key:ei.encode(d,"pem",{label:"RSA PRIVATE KEY"}),padding:Yn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Yn.privateDecrypt(p,e))}catch(e){throw Error("Decryption error")}}(e,t,r,n,i,a,s)}catch(e){X.printDebugError(e)}return async function(e,t,r,n,i,a,s,o){const c=await X.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),n=new c(n),i=new c(i),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const h=n.mod(a.dec()),u=n.mod(i.dec()),l=(await Fn(new c(2),t)).mod(t),y=l.modInv(t).modExp(r,t);e=e.mul(y).mod(t);const d=e.modExp(u,i),p=e.modExp(h,a),f=s.mul(p.sub(d)).mod(a);let g=f.mul(i).add(d);return g=g.mul(l).mod(t),$n(g.toUint8Array("be",t.byteLength()),o)}(e,t,r,n,i,a,s,o)},generate:async function(e,t){if(t=new(await X.getBigInteger())(t),X.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},n=await Qn.generateKey(r,!0,["sign","verify"]),i=await Qn.exportKey("jwk",n.privateKey);return{n:re(i.n),e:t.toUint8Array(),d:re(i.d),p:re(i.q),q:re(i.p),u:re(i.qi)}}if(X.getNodeCrypto()&&Yn.generateKeyPair&&ei){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},n=await new Promise(((e,t)=>{Yn.generateKeyPair("rsa",r,((r,n,i)=>{r?t(r):e(ei.decode(i,"der"))}))}));return{n:n.modulus.toArrayLike(Uint8Array),e:n.publicExponent.toArrayLike(Uint8Array),d:n.privateExponent.toArrayLike(Uint8Array),p:n.prime2.toArrayLike(Uint8Array),q:n.prime1.toArrayLike(Uint8Array),u:n.coefficient.toArrayLike(Uint8Array)}}let r,n,i;do{n=await jn(e-(e>>1),t,40),r=await jn(e>>1,t,40),i=r.mul(n)}while(i.bitLength()!==e);const a=r.dec().imul(n.dec());return n.lt(r)&&([r,n]=[n,r]),{n:i.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:n.toUint8Array(),u:r.modInv(n).toUint8Array()}},validateParams:async function(e,t,r,n,i,a){const s=await X.getBigInteger();if(e=new s(e),n=new s(n),i=new s(i),!n.mul(i).equal(e))return!1;const o=new s(2);if(a=new s(a),!n.mul(a).mod(i).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),h=await Fn(o,o.leftShift(c)),u=h.mul(r).mul(t);return!(!u.mod(n.dec()).equal(h)||!u.mod(i.dec()).equal(h))}});var ni=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,n){const i=await X.getBigInteger();t=new i(t),r=new i(r),n=new i(n);const a=new i(Wn(e,t.byteLength())),s=await Fn(new i(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:n.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,n,i){const a=await X.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),n=new a(n),$n(e.modExp(n,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),i)},validateParams:async function(e,t,r,n){const i=await X.getBigInteger();e=new i(e),t=new i(t),r=new i(r);const a=new i(1);if(t.lte(a)||t.gte(e))return!1;const s=new i(e.bitLength()),o=new i(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const h=new i(1),u=new i(2).leftShift(new i(17));for(;h.lt(u);){if(c=c.mul(t).imod(e),c.isOne())return!1;h.iinc()}n=new i(n);const l=new i(2),y=await Fn(l.leftShift(s.dec()),l.leftShift(s)),d=e.dec().imul(y).iadd(n);return!!r.equal(t.modExp(d,e))}});class ii{constructor(e){if(e instanceof ii)this.oid=e.oid;else if(X.isArray(e)||X.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return X.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return X.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if($.curve[e])return $.write($.curve,e);throw Error("Unknown curve object identifier.")}}function ai(e,t){return e.keyPair({priv:t})}function si(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function oi(e){if(!ie.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await import("./elliptic.min.mjs");return new t.ec(e)}function ci(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=X.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function hi(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):X.concatUint8Array([new Uint8Array([255]),X.writeNumber(e,4)])}function ui(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function li(e){return new Uint8Array([192|e])}function yi(e,t){return X.concatUint8Array([li(e),hi(t)])}function di(e){return[$.packet.literalData,$.packet.compressedData,$.packet.symmetricallyEncryptedData,$.packet.symEncryptedIntegrityProtectedData,$.packet.aeadEncryptedData].includes(e)}async function pi(e,t){const r=D(e);let n,i;try{const s=await r.peekBytes(2);if(!s||s.length<2||0==(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const o=await r.readByte();let c,h,u=-1,l=-1;l=0,0!=(64&o)&&(l=1),l?u=63&o:(u=(63&o)>>2,h=3&o);const y=di(u);let d,p=null;if(y){if("array"===X.isStream(e)){const e=new a;n=C(e),p=e}else{const e=new E;n=C(e.writable),p=e.readable}i=t({tag:u,packet:p})}else p=[];do{if(l){const e=await r.readByte();if(d=!1,e<192)c=e;else if(e>=192&&e<224)c=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(c=1<<(31&e),d=!0,!y)throw new TypeError("This packet type does not support partial lengths.")}else c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(h){case 0:c=await r.readByte();break;case 1:c=await r.readByte()<<8|await r.readByte();break;case 2:c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:c=1/0}if(c>0){let e=0;for(;;){n&&await n.ready;const{done:t,value:i}=await r.read();if(t){if(c===1/0)break;throw Error("Unexpected end of packet")}const a=c===1/0?i:i.subarray(0,c-e);if(n?await n.write(a):p.push(a),e+=i.length,e>=c){r.unshift(i.subarray(c-e+i.length));break}}}}while(d);const f=await r.peekBytes(y?1/0:2);return n?(await n.ready,await n.close()):(p=X.concatUint8Array(p),await t({tag:u,packet:p})),!f||!f.length}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i,r.releaseLock()}}class fi extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,fi),this.name="UnsupportedError"}}class gi{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const mi=X.getWebCrypto(),wi=X.getNodeCrypto(),bi={p256:"P-256",p384:"P-384",p521:"P-521"},ki=wi?wi.getCurves():[],vi=wi?{secp256k1:ki.includes("secp256k1")?"secp256k1":void 0,p256:ki.includes("prime256v1")?"prime256v1":void 0,p384:ki.includes("secp384r1")?"secp384r1":void 0,p521:ki.includes("secp521r1")?"secp521r1":void 0,ed25519:ki.includes("ED25519")?"ED25519":void 0,curve25519:ki.includes("X25519")?"X25519":void 0,brainpoolP256r1:ki.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:ki.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:ki.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Ai={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.p256,web:bi.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:$.publicKey.ecdsa,hash:$.hash.sha384,cipher:$.symmetric.aes192,node:vi.p384,web:bi.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:$.publicKey.ecdsa,hash:$.hash.sha512,cipher:$.symmetric.aes256,node:vi.p521,web:bi.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:$.publicKey.eddsaLegacy,hash:$.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:$.publicKey.ecdh,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:$.publicKey.ecdsa,hash:$.hash.sha384,cipher:$.symmetric.aes192,node:vi.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:$.publicKey.ecdsa,hash:$.hash.sha512,cipher:$.symmetric.aes256,node:vi.brainpoolP512r1,payloadSize:64}};class _i{constructor(e,t){try{(X.isArray(e)||X.isUint8Array(e))&&(e=new ii(e)),e instanceof ii&&(e=e.getName()),this.name=$.write($.curve,e)}catch(e){throw new fi("Unknown curve")}t=t||Ai[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&Ai[this.name],this.web=t.web&&Ai[this.name],this.payloadSize=t.payloadSize,this.web&&X.getWebCrypto()?this.type="web":this.node&&X.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await mi.generateKey({name:"ECDSA",namedCurve:bi[e]},!0,["sign","verify"]),r=await mi.exportKey("jwk",t.privateKey),n=await mi.exportKey("jwk",t.publicKey);return{publicKey:Ki(n),privateKey:re(r.d)}}(this.name)}catch(e){X.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=wi.createECDH(vi[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=On(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=Ln.box.keyPair.fromSecretKey(r);return{publicKey:X.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=On(32),t=Ln.sign.keyPair.fromSeed(e);return{publicKey:X.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await oi(this.name);return e=await t.genKeyPair({entropy:X.uint8ArrayToString(On(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function Ei(e,t,r,n){const i={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===$.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!i[a])return!1;if("curve25519"===a){n=n.slice().reverse();const{publicKey:e}=Ln.box.keyPair.fromSecretKey(n);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!X.equalsUint8Array(t,r)}const s=await oi(a);try{r=si(s,r).getPublic()}catch(e){return!1}return!!ai(s,n).getPublic().eq(r)}function Ki(e){const t=re(e.x),r=re(e.y),n=new Uint8Array(t.length+r.length+1);return n[0]=4,n.set(t,1),n.set(r,t.length+1),n}function Si(e,t,r){const n=e,i=r.slice(1,n+1),a=r.slice(n+1,2*n+1);return{kty:"EC",crv:t,x:ne(i,!0),y:ne(a,!0),ext:!0}}function xi(e,t,r,n){const i=Si(e,t,r);return i.d=ne(n,!0),i}const Pi=X.getWebCrypto(),Ui=X.getNodeCrypto();async function Di(e,t,r,n,i,a){const s=new _i(e);if(r&&!X.isStream(r)){const e={publicKey:n,privateKey:i};switch(s.type){case"web":try{return await async function(e,t,r,n){const i=e.payloadSize,a=xi(e.payloadSize,bi[e.name],n.publicKey,n.privateKey),s=await Pi.importKey("jwk",a,{name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Pi.sign({name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,t)}},s,r));return{r:o.slice(0,i),s:o.slice(i,i<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const n=await async function(e,t,r,n){const i=Ui.createSign($.read($.hash,t));i.write(r),i.end();const a=Bi.encode({version:1,parameters:e.oid,privateKey:Array.from(n.privateKey),publicKey:{unused:0,data:Array.from(n.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return Ti.decode(i.sign(a),"der")}(s,t,r,e);return{r:n.r.toArrayLike(Uint8Array),s:n.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const n=await oi(e.name),i=ai(n,r),a=i.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,i)}async function Ci(e,t,r,n,i,a){const s=new _i(e);if(n&&!X.isStream(n))switch(s.type){case"web":try{return await async function(e,t,{r,s:n},i,a){const s=Si(e.payloadSize,bi[e.name],a),o=await Pi.importKey("jwk",s,{name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,e.hash)}},!1,["verify"]),c=X.concatUint8Array([r,n]).buffer;return Pi.verify({name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,t)}},o,c,i)}(s,t,r,n,i)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:n},i,a){const{default:s}=await import("./bn.min.mjs"),o=Ui.createVerify($.read($.hash,t));o.write(i),o.end();const c=Ri.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),h=Ti.encode({r:new s(r),s:new s(n)},"der");try{return o.verify(c,h)}catch(e){return!1}}(s,t,r,n,i)}return async function(e,t,r,n){const i=await oi(e.name),a=si(i,n);return a.verify(r,t)}(s,r,void 0===t?n:a,i)}const Ii=void 0,Ti=Ui?Ii.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Bi=Ui?Ii.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,zi=Ui?Ii.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,Ri=Ui?Ii.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(zi),this.key("subjectPublicKey").bitstr())})):void 0;var Mi=/*#__PURE__*/Object.freeze({__proto__:null,sign:Di,verify:Ci,validateParams:async function(e,t,r){const n=new _i(e);if(n.keyType!==$.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=On(8),i=$.hash.sha256,a=await Gr.digest(i,n);try{const s=await Di(e,i,n,t,r,a);return await Ci(e,i,s,n,t,a)}catch(e){return!1}}default:return Ei($.publicKey.ecdsa,e,t,r)}}});Ln.hash=e=>new Uint8Array(Yt().update(e).digest());var Li=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength($.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const s=X.concatUint8Array([i,n.subarray(1)]),o=Ln.sign.detached(a,s);if(ie.checkEdDSAFaultySignatures&&!Ln.sign.detached.verify(a,o,n.subarray(1)))throw Error("Transient signing failure");return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:n},i,a,s){if(Gr.getHashByteLength(t)<Gr.getHashByteLength($.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const o=X.concatUint8Array([r,n]);return Ln.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:n}=Ln.sign.keyPair.fromSeed(r),i=new Uint8Array([64,...n]);return X.equalsUint8Array(t,i)}});function Ni(e){if(e===$.publicKey.ed25519)return $.hash.sha256;throw Error("Unknown EdDSA algo")}Ln.hash=e=>new Uint8Array(Yt().update(e).digest());var Oi=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.ed25519){const e=On(32),{publicKey:t}=Ln.sign.keyPair.fromSeed(e);return{A:t,seed:e}}throw Error("Unsupported EdDSA algorithm")},sign:async function(e,t,r,n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(Ni(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case $.publicKey.ed25519:{const e=X.concatUint8Array([i,n]),t=Ln.sign.detached(a,e);if(ie.checkEdDSAFaultySignatures&&!Ln.sign.detached.verify(a,t,n))throw Error("Transient signing failure");return{RS:t}}case $.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(e,t,{RS:r},n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(Ni(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case $.publicKey.ed25519:return Ln.sign.detached.verify(a,r,i);case $.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},validateParams:async function(e,t,r){switch(e){case $.publicKey.ed25519:{const{publicKey:e}=Ln.sign.keyPair.fromSeed(r);return X.equalsUint8Array(t,e)}case $.publicKey.ed448:default:return!1}},getPreferredHashAlgo:Ni});function Fi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=ji(t);let a=n;const s=i,o=i.length/2,c=new Uint32Array([0,0]);let h=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),h[0]=a[0],h[1]=a[1],h[2]=s[2*t],h[3]=s[2*t+1],h=ji(r.encrypt(qi(h))),a=h.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=h[2],s[2*t+1]=h[3];return qi(a,s)}function Hi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=ji(t);let a=i.subarray(0,2);const s=i.subarray(2),o=i.length/2-1,c=new Uint32Array([0,0]);let h=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),h[0]=a[0]^c[0],h[1]=a[1]^c[1],h[2]=s[2*t],h[3]=s[2*t+1],h=ji(r.decrypt(qi(h))),a=h.subarray(0,2),s[2*t]=h[2],s[2*t+1]=h[3];if(a[0]===n[0]&&a[1]===n[1])return qi(s);throw Error("Key Data Integrity failed")}function ji(e){const{length:t}=e,r=function(e){if(X.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;++r)n[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),n=new DataView(r),i=new Uint32Array(t/4);for(let e=0;e<t/4;++e)i[e]=n.getUint32(4*e);return i}function qi(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let n=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(n+4*t,arguments[e][t]);n+=4*arguments[e].length}return new Uint8Array(t)}var Gi=/*#__PURE__*/Object.freeze({__proto__:null,wrap:Fi,unwrap:Hi});function Vi(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Wi(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(X.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var $i=/*#__PURE__*/Object.freeze({__proto__:null,encode:Vi,decode:Wi});const Zi=X.getWebCrypto(),Xi=X.getNodeCrypto();function Qi(e,t,r,n){return X.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),X.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||n.subarray(0,20)])}async function Yi(e,t,r,n,i=!1,a=!1){let s;if(i){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await Gr.digest(e,X.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function Ji(e,t){switch(e.type){case"curve25519":{const r=On(32),{secretKey:n,sharedKey:i}=await ea(e,t,null,r);let{publicKey:a}=Ln.box.keyPair.fromSecretKey(n);return a=X.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:i}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t){const r=Si(e.payloadSize,e.web.web,t);let n=Zi.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),i=Zi.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[n,i]=await Promise.all([n,i]);let a=Zi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:i},n.privateKey,e.web.sharedSize),s=Zi.exportKey("jwk",n.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(Ki(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){X.printDebugError(e)}break;case"node":return async function(e,t){const r=Xi.createECDH(e.node.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t)),i=new Uint8Array(r.getPublicKey());return{publicKey:i,sharedKey:n}}(e,t)}return async function(e,t){const r=await oi(e.name),n=await e.genKeyPair();t=si(r,t);const i=ai(r,n.privateKey),a=n.publicKey,s=i.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function ea(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519":{const e=n.slice().reverse();return{secretKey:e,sharedKey:Ln.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t,r,n){const i=xi(e.payloadSize,e.web.web,r,n);let a=Zi.importKey("jwk",i,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=Si(e.payloadSize,e.web.web,t);let o=Zi.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=Zi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),h=Zi.exportKey("jwk",a);[c,h]=await Promise.all([c,h]);const u=new Uint8Array(c);return{secretKey:re(h.d),sharedKey:u}}(e,t,r,n)}catch(e){X.printDebugError(e)}break;case"node":return async function(e,t,r){const n=Xi.createECDH(e.node.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n)}return async function(e,t,r){const n=await oi(e.name);t=si(n,t),r=ai(n,r);const i=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=n.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:i,sharedKey:o}}(e,t,n)}var ta=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Ei($.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,n,i){const a=Vi(r),s=new _i(e),{publicKey:o,sharedKey:c}=await Ji(s,n),h=Qi($.publicKey.ecdh,e,t,i),{keySize:u}=Wr(t.cipher);return{publicKey:o,wrappedKey:Fi(await Yi(t.hash,c,u,h),a)}},decrypt:async function(e,t,r,n,i,a,s){const o=new _i(e),{sharedKey:c}=await ea(o,r,i,a),h=Qi($.publicKey.ecdh,e,t,s),{keySize:u}=Wr(t.cipher);let l;for(let e=0;e<3;e++)try{return Wi(Hi(await Yi(t.hash,c,u,h,1===e,2===e),n))}catch(e){l=e}throw l}});const ra=X.getWebCrypto(),na=X.getNodeCrypto(),ia=na&&na.webcrypto&&na.webcrypto.subtle;async function aa(e,t,r,n,i){const a=$.read($.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");if(ra||ia){const e=ra||ia,s=await e.importKey("raw",t,"HKDF",!1,["deriveBits"]),o=await e.deriveBits({name:"HKDF",hash:a,salt:r,info:n},s,8*i);return new Uint8Array(o)}if(na){const a=$.read($.hash,e),s=(e,t)=>na.createHmac(a,e).update(t).digest(),o=s(r,t),c=o.length,h=Math.ceil(i/c),u=new Uint8Array(h*c),l=new Uint8Array(c+n.length+1);l.set(n,c);for(let e=0;e<h;e++){l[l.length-1]=e+1;const t=s(o,e>0?l:l.subarray(c));l.set(t,0),u.set(t,e*c)}return u.subarray(0,i)}throw Error("No HKDF implementation available")}const sa={x25519:X.encodeUTF8("OpenPGP X25519")};var oa=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.x25519){const e=On(32),{publicKey:t}=Ln.box.keyPair.fromSecretKey(e);return{A:t,k:e}}throw Error("Unsupported ECDH algorithm")},validateParams:async function(e,t,r){if(e===$.publicKey.x25519){const{publicKey:e}=Ln.box.keyPair.fromSecretKey(r);return X.equalsUint8Array(t,e)}return!1},encrypt:async function(e,t,r){if(e===$.publicKey.x25519){const e=On(32),n=Ln.scalarMult(e,r),{publicKey:i}=Ln.box.keyPair.fromSecretKey(e),a=X.concatUint8Array([i,r,n]),{keySize:s}=Wr($.symmetric.aes128);return{ephemeralPublicKey:i,wrappedKey:Fi(await aa($.hash.sha256,a,new Uint8Array,sa.x25519,s),t)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(e,t,r,n,i){if(e===$.publicKey.x25519){const e=Ln.scalarMult(i,t),a=X.concatUint8Array([t,n,e]),{keySize:s}=Wr($.symmetric.aes128);return Hi(await aa($.hash.sha256,a,new Uint8Array,sa.x25519,s),r)}throw Error("Unsupported ECDH algorithm")}}),ca=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:_i,ecdh:ta,ecdhX:oa,ecdsa:Mi,eddsaLegacy:Li,eddsa:Oi,generate:async function(e){const t=await X.getBigInteger();e=new _i(e);const r=await e.genKeyPair(),n=new t(r.publicKey).toUint8Array(),i=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:n,secret:i,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return Ai[$.write($.curve,e.toHex())].hash}});var ha=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){const s=await X.getBigInteger(),o=new s(1);let c,h,u,l;n=new s(n),i=new s(i),r=new s(r),a=new s(a),r=r.mod(n),a=a.mod(i);const y=new s(t.subarray(0,i.byteLength())).mod(i);for(;;){if(c=await Fn(o,i),h=r.modExp(c,n).imod(i),h.isZero())continue;const e=a.mul(h).imod(i);if(l=y.add(e).imod(i),u=c.modInv(i).imul(l).imod(i),!u.isZero())break}return{r:h.toUint8Array("be",i.byteLength()),s:u.toUint8Array("be",i.byteLength())}},verify:async function(e,t,r,n,i,a,s,o){const c=await X.getBigInteger(),h=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),i=new c(i),o=new c(o),t.lte(h)||t.gte(s)||r.lte(h)||r.gte(s))return X.printDebug("invalid DSA Signature"),!1;const u=new c(n.subarray(0,s.byteLength())).imod(s),l=r.modInv(s);if(l.isZero())return X.printDebug("invalid DSA Signature"),!1;i=i.mod(a),o=o.mod(a);const y=u.mul(l).imod(s),d=t.mul(l).imod(s),p=i.modExp(y,a),f=o.modExp(d,a);return p.mul(f).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,n,i){const a=await X.getBigInteger();e=new a(e),t=new a(t),r=new a(r),n=new a(n);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await qn(t,null,32))return!1;i=new a(i);const h=new a(2),u=await Fn(h.leftShift(o.dec()),h.leftShift(o)),l=t.mul(u).add(i);return!!n.equal(r.modExp(l,e))}}),ua={rsa:ri,elgamal:ni,elliptic:ca,dsa:ha,nacl:Ln};function la(e,t,r){switch(e){case $.hash.sha1:case $.hash.sha256:case $.hash.sha512:return async function(e,t,r){const n=Gr.getBlockSize(e),i=new Uint8Array(n);i.fill(92),ya(i,t);const a=new Uint8Array(n);a.fill(54),ya(a,t);const s=X.concatUint8Array([a,r]),o=await Gr.digest(e,s),c=X.concatUint8Array([i,o]);return Gr.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function ya(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class da{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!X.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return X.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var pa=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:return{s:X.readMPI(t.subarray(r))};case $.publicKey.dsa:case $.publicKey.ecdsa:{const e=X.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:X.readMPI(t.subarray(r))}}case $.publicKey.eddsaLegacy:{let e=X.readMPI(t.subarray(r));r+=e.length+2,e=X.leftPad(e,32);let n=X.readMPI(t.subarray(r));return n=X.leftPad(n,32),{r:e,s:n}}case $.publicKey.ed25519:{const e=t.subarray(r,r+64);return r+=e.length,{RS:e}}case $.publicKey.hmac:{const e=new da;return e.read(t.subarray(r)),{mac:e}}default:throw new fi("Unknown signature algorithm.")}},verify:async function(e,t,r,n,i,a,s){switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:{const{n:e,e:i}=n,o=X.leftPad(r.s,e.length);return ua.rsa.verify(t,a,o,e,i,s)}case $.publicKey.dsa:{const{g:e,p:i,q:a,y:o}=n,{r:c,s:h}=r;return ua.dsa.verify(t,c,h,s,e,i,a,o)}case $.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new ua.elliptic.CurveWithOID(e).payloadSize,c=X.leftPad(r.r,o),h=X.leftPad(r.s,o);return ua.elliptic.ecdsa.verify(e,t,{r:c,s:h},a,i,s)}case $.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n;return ua.elliptic.eddsaLegacy.verify(e,t,r,a,i,s)}case $.publicKey.ed25519:{const{A:i}=n;return ua.elliptic.eddsa.verify(e,t,r,a,i,s)}case $.publicKey.hmac:{if(!i)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=n,{keyMaterial:t}=i,a=await la(e.getValue(),t,s);return X.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,n,i,a){if(!r||!n)throw Error("Missing key parameters");switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:h,u}=n;return{s:await ua.rsa.sign(t,i,e,s,o,c,h,u,a)}}case $.publicKey.dsa:{const{g:e,p:i,q:s}=r,{x:o}=n;return ua.dsa.sign(t,a,e,i,s,o)}case $.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case $.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=n;return ua.elliptic.ecdsa.sign(e,t,i,s,o,a)}case $.publicKey.eddsaLegacy:{const{oid:e,Q:s}=r,{seed:o}=n;return ua.elliptic.eddsaLegacy.sign(e,t,i,s,o,a)}case $.publicKey.ed25519:{const{A:s}=r,{seed:o}=n;return ua.elliptic.eddsa.sign(e,t,i,s,o,a)}case $.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await la(e.getValue(),t,a);return{mac:new da(i)}}default:throw Error("Unknown signature algorithm.")}}});class fa{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return X.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ga{constructor(e){if(e){const{version:t,hash:r,cipher:n,replacementFingerprint:i}=e;this.version=t||1,this.hash=r,this.cipher=n,this.replacementFingerprint=i}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new fi("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const n=t-r+1;this.replacementFingerprint=e.slice(r,r+n),r+=n}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return X.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const ma=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=$.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return $.read(e,this.data)}getValue(){return this.data}},wa=ma($.aead),ba=ma($.symmetric),ka=ma($.hash);class va{static fromObject({wrappedKey:e,algorithm:t}){const r=new va;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=e.subarray(t,t+r),t+=r}write(){return X.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Aa(e,t){const r=On(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function _a(e){const{keySize:t}=Wr(e);return On(t)}function Ea(e){const t=$.read($.aead,e);return Mn[t]}function Ka(e){try{e.getName()}catch(e){throw new fi("Unknown curve OID")}}var Sa=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,n,i,a){switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await ua.rsa.encrypt(i,e,t)}}case $.publicKey.elgamal:{const{p:e,g:t,y:n}=r;return ua.elgamal.encrypt(i,e,t,n)}case $.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:n}=r,{publicKey:s,wrappedKey:o}=await ua.elliptic.ecdh.encrypt(e,n,i,t,a);return{V:s,C:new fa(o)}}case $.publicKey.x25519:{if(!X.isAES(t))throw Error("X25519 keys can only encrypt AES session keys");const{A:n}=r,{ephemeralPublicKey:a,wrappedKey:s}=await ua.elliptic.ecdhX.encrypt(e,i,n);return{ephemeralPublicKey:a,C:va.fromObject({algorithm:t,wrappedKey:s})}}case $.publicKey.aead:{if(!n)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:a}=n,s=ie.preferredAEADAlgorithm,o=Ea(ie.preferredAEADAlgorithm),{ivLength:c}=o,h=On(c),u=await o(t,a),l=await u.encrypt(i,h,new Uint8Array);return{aeadMode:new wa(s),iv:h,c:new da(l)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,n,i,a){switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:s}=t,{d:o,p:c,q:h,u}=r;return ua.rsa.decrypt(e,i,s,o,c,h,u,a)}case $.publicKey.elgamal:{const{c1:e,c2:i}=n,s=t.p,o=r.x;return ua.elgamal.decrypt(e,i,s,o,a)}case $.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:h}=n;return ua.elliptic.ecdh.decrypt(e,s,c,h.data,a,o,i)}case $.publicKey.x25519:{const{A:i}=t,{k:a}=r,{ephemeralPublicKey:s,C:o}=n;if(!X.isAES(o.algorithm))throw Error("AES session key expected");return ua.elliptic.ecdhX.decrypt(e,s,o.wrappedKey,i,a)}case $.publicKey.aead:{const{cipher:e}=t,i=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=n,h=Ea(s.getValue());return(await h(i,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case $.publicKey.dsa:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=X.readMPI(t.subarray(r));r+=i.length+2;const a=X.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:a}}}case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=X.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case $.publicKey.ecdsa:{const e=new ii;r+=e.read(t),Ka(e);const n=X.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case $.publicKey.eddsaLegacy:{const e=new ii;r+=e.read(t),Ka(e);let n=X.readMPI(t.subarray(r));return r+=n.length+2,n=X.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case $.publicKey.ecdh:{const e=new ii;r+=e.read(t),Ka(e);const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=new ga;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case $.publicKey.ed25519:case $.publicKey.x25519:{const e=t.subarray(r,r+32);return r+=e.length,{read:r,publicParams:{A:e}}}case $.publicKey.hmac:case $.publicKey.aead:{const e=new ba;r+=e.read(t);const n=Gr.getHashByteLength($.hash.sha256),i=t.subarray(r,r+n);return r+=n,{read:r,publicParams:{cipher:e,digest:i}}}default:throw new fi("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let n=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const e=X.readMPI(t.subarray(n));n+=e.length+2;const r=X.readMPI(t.subarray(n));n+=r.length+2;const i=X.readMPI(t.subarray(n));n+=i.length+2;const a=X.readMPI(t.subarray(n));return n+=a.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:a}}}case $.publicKey.dsa:case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case $.publicKey.ecdsa:case $.publicKey.ecdh:{const e=new _i(r.oid);let i=X.readMPI(t.subarray(n));return n+=i.length+2,i=X.leftPad(i,e.payloadSize),{read:n,privateParams:{d:i}}}case $.publicKey.eddsaLegacy:{const e=new _i(r.oid);let i=X.readMPI(t.subarray(n));return n+=i.length+2,i=X.leftPad(i,e.payloadSize),{read:n,privateParams:{seed:i}}}case $.publicKey.ed25519:{const e=t.subarray(n,n+32);return n+=e.length,{read:n,privateParams:{seed:e}}}case $.publicKey.x25519:{const e=t.subarray(n,n+32);return n+=e.length,{read:n,privateParams:{k:e}}}case $.publicKey.hmac:{const{cipher:e}=r,i=Gr.getHashByteLength(e.getValue()),a=t.subarray(n,n+32);n+=32;const s=t.subarray(n,n+i);return n+=i,{read:n,privateParams:{hashSeed:a,keyMaterial:s}}}case $.publicKey.aead:{const{cipher:e}=r,i=t.subarray(n,n+32);n+=32;const{keySize:a}=Wr(e.getValue()),s=t.subarray(n,n+a);return n+=a,{read:n,privateParams:{hashSeed:i,keyMaterial:s}}}default:throw new fi("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:return{c:X.readMPI(t.subarray(r))};case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:X.readMPI(t.subarray(r))}}case $.publicKey.ecdh:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=new fa;return n.read(t.subarray(r)),{V:e,C:n}}case $.publicKey.x25519:{const e=t.subarray(r,r+32);r+=e.length;const n=new va;return n.read(t.subarray(r)),{ephemeralPublicKey:e,C:n}}case $.publicKey.aead:{const e=new wa;r+=e.read(t.subarray(r));const{ivLength:n}=Ea(e.getValue()),i=t.subarray(r,r+n);r+=n;const a=new da;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:i,c:a}}default:throw new fi("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){const r=new Set([$.publicKey.ed25519,$.publicKey.x25519,$.publicKey.aead,$.publicKey.hmac]),n=Object.keys(t).map((n=>{const i=t[n];return X.isUint8Array(i)?r.has(e)?i:X.uint8ArrayToMPI(i):i.write()}));return X.concatUint8Array(n)},generateParams:function(e,t,r,n){switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:return ua.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:n,q:i,u:a})=>({privateParams:{d:r,p:n,q:i,u:a},publicParams:{n:e,e:t}})));case $.publicKey.ecdsa:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.eddsaLegacy:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.ecdh:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t,kdfParams:new ga({hash:n,cipher:i})}})));case $.publicKey.ed25519:return ua.elliptic.eddsa.generate(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case $.publicKey.x25519:return ua.elliptic.ecdhX.generate(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case $.publicKey.hmac:{const e=$.write($.hash,n);return Aa(On(Gr.getHashByteLength(e)),new ka(e))}case $.publicKey.aead:{const e=$.write($.symmetric,n);return Aa(_a(e),new ba(e))}case $.publicKey.dsa:case $.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const{n:e,e:n}=t,{d:i,p:a,q:s,u:o}=r;return ua.rsa.validateParams(e,n,i,a,s,o)}case $.publicKey.dsa:{const{p:e,q:n,g:i,y:a}=t,{x:s}=r;return ua.dsa.validateParams(e,n,i,a,s)}case $.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:a}=r;return ua.elgamal.validateParams(e,n,i,a)}case $.publicKey.ecdsa:case $.publicKey.ecdh:{const n=ua.elliptic[$.read($.publicKey,e)],{oid:i,Q:a}=t,{d:s}=r;return n.validateParams(i,a,s)}case $.publicKey.eddsaLegacy:{const{Q:e,oid:n}=t,{seed:i}=r;return ua.elliptic.eddsaLegacy.validateParams(n,e,i)}case $.publicKey.ed25519:{const{A:n}=t,{seed:i}=r;return ua.elliptic.eddsa.validateParams(e,n,i)}case $.publicKey.x25519:{const{A:n}=t,{k:i}=r;return ua.elliptic.ecdhX.validateParams(e,n,i)}case $.publicKey.hmac:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r;return Gr.getHashByteLength(e.getValue())===a.length&&X.equalsUint8Array(n,await Gr.sha256(i))}case $.publicKey.aead:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r,{keySize:s}=Wr(e.getValue());return s===a.length&&X.equalsUint8Array(n,await Gr.sha256(i))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=Wr(e),r=await On(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return X.concat([r,n])},generateSessionKey:_a,getAEADMode:Ea,getCipher:Wr,getPreferredCurveHashAlgo:function(e,t){switch(e){case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:return ua.elliptic.getPreferredHashAlgo(t);case $.publicKey.ed25519:return ua.elliptic.eddsa.getPreferredHashAlgo(e);default:throw Error("Unknown elliptic signing algo")}}});const xa={cipher:qe,hash:Gr,mode:Mn,publicKey:ua,signature:pa,random:Hn,pkcs1:Xn,pkcs5:$i,aesKW:Gi};Object.assign(xa,Sa);class Pa extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Pa),this.name="Argon2OutOfMemoryError"}}let Ua,Da;class Ca{constructor(e=ie){const{passes:t,parallelism:r,memoryExponent:n}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=n}generateSalt(){this.salt=xa.random.getRandomBytes(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([$.write($.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return X.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Ua=Ua||(await import("./argon2id.min.mjs")).default,Da=Da||Ua();const n=await Da,i=n({version:19,type:2,password:X.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(Da=Ua(),Da.catch((()=>{}))),i}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new Pa("Could not allocate required memory for Argon2"):e}}}class Ia{constructor(e,t=ie){this.algorithm=$.hash.sha256,this.type=$.read($.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=xa.random.getRandomBytes(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==X.uint8ArrayToString(e.subarray(t,t+3)))throw new fi("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new fi("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new fi("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...X.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([$.write($.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return X.concatUint8Array(e)}async produceKey(e,t){e=X.encodeUTF8(e);const r=[];let n=0,i=0;for(;n<t;){let t;switch(this.type){case"simple":t=X.concatUint8Array([new Uint8Array(i),e]);break;case"salted":t=X.concatUint8Array([new Uint8Array(i),this.salt,e]);break;case"iterated":{const r=X.concatUint8Array([this.salt,e]);let n=r.length;const a=Math.max(this.getCount(),n);t=new Uint8Array(i+a),t.set(r,i);for(let e=i+n;e<a;e+=n,n*=2)t.copyWithin(e,i,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await xa.hash.digest(this.algorithm,t);r.push(a),n+=a.length,i++}return X.concatUint8Array(r).subarray(0,t)}}const Ta=new Set([$.s2k.argon2,$.s2k.iterated]);function Ba(e,t=ie){switch(e){case $.s2k.argon2:return new Ca(t);case $.s2k.iterated:case $.s2k.gnu:case $.s2k.salted:case $.s2k.simple:return new Ia(e,t);default:throw new fi("Unsupported S2K type "+e)}}function za(e){const{s2kType:t}=e;if(!Ta.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Ba(t,e)}var Ra="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function Ma(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const La={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(let a=0;a<n;a++)e[i+a]=t[r+a]},flattenChunks:function(e){let t,r,n,i,a;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;const s=new Uint8Array(n);for(i=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,i),i+=a.length;return s}},Na={arraySet:function(e,t,r,n,i){for(let a=0;a<n;a++)e[i+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let Oa=Ra?Uint8Array:Array,Fa=Ra?Uint16Array:Array,Ha=Ra?Int32Array:Array,ja=Ra?La.flattenChunks:Na.flattenChunks,qa=Ra?La.arraySet:Na.arraySet;const Ga=0,Va=1,Wa=2,$a=3,Za=4,Xa=5,Qa=6,Ya=0,Ja=1,es=2,ts=-2,rs=-3,ns=-5,is=-1,as=1,ss=2,os=3,cs=4,hs=0,us=1,ls=2,ys=8;function ds(e){let t=e.length;for(;--t>=0;)e[t]=0}const ps=0,fs=1,gs=2,ms=29,ws=256,bs=ws+1+ms,ks=30,vs=19,As=2*bs+1,_s=15,Es=16,Ks=7,Ss=256,xs=16,Ps=17,Us=18,Ds=[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],Cs=[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],Is=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ts=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Bs=Array(2*(bs+2));ds(Bs);const zs=Array(2*ks);ds(zs);const Rs=Array(512);ds(Rs);const Ms=Array(256);ds(Ms);const Ls=Array(ms);ds(Ls);const Ns=Array(ks);function Os(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Fs,Hs,js;function qs(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Gs(e){return e<256?Rs[e]:Rs[256+(e>>>7)]}function Vs(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Ws(e,t,r){e.bi_valid>Es-r?(e.bi_buf|=t<<e.bi_valid&65535,Vs(e,e.bi_buf),e.bi_buf=t>>Es-e.bi_valid,e.bi_valid+=r-Es):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function $s(e,t,r){Ws(e,r[2*t],r[2*t+1])}function Zs(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Xs(e,t,r){const n=Array(_s+1);let i,a,s=0;for(i=1;i<=_s;i++)n[i]=s=s+r[i-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=Zs(n[t]++,t))}}function Qs(e){let t;for(t=0;t<bs;t++)e.dyn_ltree[2*t]=0;for(t=0;t<ks;t++)e.dyn_dtree[2*t]=0;for(t=0;t<vs;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*Ss]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Ys(e){e.bi_valid>8?Vs(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Js(e,t,r,n){const i=2*t,a=2*r;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function eo(e,t,r){const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Js(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Js(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function to(e,t,r){let n,i,a,s,o=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?$s(e,i,t):(a=Ms[i],$s(e,a+ws+1,t),s=Ds[a],0!==s&&(i-=Ls[a],Ws(e,i,s)),n--,a=Gs(n),$s(e,a,r),s=Cs[a],0!==s&&(n-=Ns[a],Ws(e,n,s)))}while(o<e.last_lit);$s(e,Ss,t)}function ro(e,t){const r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,h=-1;for(e.heap_len=0,e.heap_max=As,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=h=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=h<2?++h:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,i&&(e.static_len-=n[2*c+1]);for(t.max_code=h,s=e.heap_len>>1;s>=1;s--)eo(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],eo(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,eo(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let h,u,l,y,d,p,f=0;for(y=0;y<=_s;y++)e.bl_count[y]=0;for(r[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<As;h++)u=e.heap[h],y=r[2*r[2*u+1]+1]+1,y>c&&(y=c,f++),r[2*u+1]=y,u>n||(e.bl_count[y]++,d=0,u>=o&&(d=s[u-o]),p=r[2*u],e.opt_len+=p*(y+d),a&&(e.static_len+=p*(i[2*u+1]+d)));if(0!==f){do{for(y=c-1;0===e.bl_count[y];)y--;e.bl_count[y]--,e.bl_count[y+1]+=2,e.bl_count[c]--,f-=2}while(f>0);for(y=c;0!==y;y--)for(u=e.bl_count[y];0!==u;)l=e.heap[--h],l>n||(r[2*l+1]!==y&&(e.opt_len+=(y-r[2*l+1])*r[2*l],r[2*l+1]=y),u--)}}(e,t),Xs(r,h,e.bl_count)}function no(e,t,r){let n,i,a=-1,s=t[1],o=0,c=7,h=4;for(0===s&&(c=138,h=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=t[2*(n+1)+1],++o<c&&i===s||(o<h?e.bl_tree[2*i]+=o:0!==i?(i!==a&&e.bl_tree[2*i]++,e.bl_tree[2*xs]++):o<=10?e.bl_tree[2*Ps]++:e.bl_tree[2*Us]++,o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4))}function io(e,t,r){let n,i,a=-1,s=t[1],o=0,c=7,h=4;for(0===s&&(c=138,h=3),n=0;n<=r;n++)if(i=s,s=t[2*(n+1)+1],!(++o<c&&i===s)){if(o<h)do{$s(e,i,e.bl_tree)}while(0!=--o);else 0!==i?(i!==a&&($s(e,i,e.bl_tree),o--),$s(e,xs,e.bl_tree),Ws(e,o-3,2)):o<=10?($s(e,Ps,e.bl_tree),Ws(e,o-3,3)):($s(e,Us,e.bl_tree),Ws(e,o-11,7));o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4)}}ds(Ns);let ao=!1;function so(e){ao||(!function(){let e,t,r,n,i;const a=Array(_s+1);for(r=0,n=0;n<ms-1;n++)for(Ls[n]=r,e=0;e<1<<Ds[n];e++)Ms[r++]=n;for(Ms[r-1]=n,i=0,n=0;n<16;n++)for(Ns[n]=i,e=0;e<1<<Cs[n];e++)Rs[i++]=n;for(i>>=7;n<ks;n++)for(Ns[n]=i<<7,e=0;e<1<<Cs[n]-7;e++)Rs[256+i++]=n;for(t=0;t<=_s;t++)a[t]=0;for(e=0;e<=143;)Bs[2*e+1]=8,e++,a[8]++;for(;e<=255;)Bs[2*e+1]=9,e++,a[9]++;for(;e<=279;)Bs[2*e+1]=7,e++,a[7]++;for(;e<=287;)Bs[2*e+1]=8,e++,a[8]++;for(Xs(Bs,bs+1,a),e=0;e<ks;e++)zs[2*e+1]=5,zs[2*e]=Zs(e,5);Fs=new Os(Bs,Ds,ws+1,bs,_s),Hs=new Os(zs,Cs,0,ks,_s),js=new Os([],Is,0,vs,Ks)}(),ao=!0),e.l_desc=new qs(e.dyn_ltree,Fs),e.d_desc=new qs(e.dyn_dtree,Hs),e.bl_desc=new qs(e.bl_tree,js),e.bi_buf=0,e.bi_valid=0,Qs(e)}function oo(e,t,r,n){Ws(e,(ps<<1)+(n?1:0),3),function(e,t,r,n){Ys(e),n&&(Vs(e,r),Vs(e,~r)),qa(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function co(e){Ws(e,fs<<1,3),$s(e,Ss,Bs),function(e){16===e.bi_valid?(Vs(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function ho(e,t,r,n){let i,a,s=0;e.level>0?(e.strm.data_type===ls&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return hs;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return us;for(t=32;t<ws;t++)if(0!==e.dyn_ltree[2*t])return us;return hs}(e)),ro(e,e.l_desc),ro(e,e.d_desc),s=function(e){let t;for(no(e,e.dyn_ltree,e.l_desc.max_code),no(e,e.dyn_dtree,e.d_desc.max_code),ro(e,e.bl_desc),t=vs-1;t>=3&&0===e.bl_tree[2*Ts[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==t?oo(e,t,r,n):e.strategy===cs||a===i?(Ws(e,(fs<<1)+(n?1:0),3),to(e,Bs,zs)):(Ws(e,(gs<<1)+(n?1:0),3),function(e,t,r,n){let i;for(Ws(e,t-257,5),Ws(e,r-1,5),Ws(e,n-4,4),i=0;i<n;i++)Ws(e,e.bl_tree[2*Ts[i]+1],3);io(e,e.dyn_ltree,t-1),io(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),to(e,e.dyn_ltree,e.dyn_dtree)),Qs(e),n&&Ys(e)}function uo(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(Ms[r]+ws+1)]++,e.dyn_dtree[2*Gs(t)]++),e.last_lit===e.lit_bufsize-1}function lo(e,t,r,n){let i=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{i=i+t[n++]|0,a=a+i|0}while(--s);i%=65521,a%=65521}return i|a<<16|0}const yo=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function po(e,t,r,n){const i=yo,a=n+r;e^=-1;for(let r=n;r<a;r++)e=e>>>8^i[255&(e^t[r])];return-1^e}var fo={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const go=9,mo=3,wo=258,bo=wo+mo+1,ko=32,vo=42,Ao=69,_o=73,Eo=91,Ko=103,So=113,xo=666,Po=1,Uo=2,Do=3,Co=4,Io=3;function To(e,t){return e.msg=fo[t],t}function Bo(e){return(e<<1)-(e>4?9:0)}function zo(e){let t=e.length;for(;--t>=0;)e[t]=0}function Ro(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(qa(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function Mo(e,t){ho(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ro(e.strm)}function Lo(e,t){e.pending_buf[e.pending++]=t}function No(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Oo(e,t,r,n){let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,qa(t,e.input,e.next_in,i,r),1===e.state.wrap?e.adler=lo(e.adler,t,i,r):2===e.state.wrap&&(e.adler=po(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Fo(e,t){let r,n,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-bo?e.strstart-(e.w_size-bo):0,h=e.window,u=e.w_mask,l=e.prev,y=e.strstart+wo;let d=h[a+s-1],p=h[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,h[r+s]===p&&h[r+s-1]===d&&h[r]===h[a]&&h[++r]===h[a+1]){a+=2,r++;do{}while(h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&a<y);if(n=wo-(y-a),a=y-wo,n>s){if(e.match_start=t,s=n,n>=o)break;d=h[a+s-1],p=h[a+s]}}}while((t=l[t&u])>c&&0!=--i);return s<=e.lookahead?s:e.lookahead}function Ho(e){const t=e.w_size;let r,n,i,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-bo)){qa(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do{i=e.head[--r],e.head[r]=i>=t?i-t:0}while(--n);n=t,r=n;do{i=e.prev[--r],e.prev[r]=i>=t?i-t:0}while(--n);a+=t}if(0===e.strm.avail_in)break;if(n=Oo(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=mo)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+mo-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<mo)););}while(e.lookahead<bo&&0!==e.strm.avail_in)}function jo(e,t){let r,n;for(;;){if(e.lookahead<bo){if(Ho(e),e.lookahead<bo&&t===Ga)return Po;if(0===e.lookahead)break}if(r=0,e.lookahead>=mo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+mo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-bo&&(e.match_length=Fo(e,r)),e.match_length>=mo)if(n=uo(e,e.strstart-e.match_start,e.match_length-mo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=mo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+mo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=uo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(Mo(e,!1),0===e.strm.avail_out))return Po}return e.insert=e.strstart<mo-1?e.strstart:mo-1,t===Za?(Mo(e,!0),0===e.strm.avail_out?Do:Co):e.last_lit&&(Mo(e,!1),0===e.strm.avail_out)?Po:Uo}function qo(e,t){let r,n,i;for(;;){if(e.lookahead<bo){if(Ho(e),e.lookahead<bo&&t===Ga)return Po;if(0===e.lookahead)break}if(r=0,e.lookahead>=mo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+mo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=mo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-bo&&(e.match_length=Fo(e,r),e.match_length<=5&&(e.strategy===as||e.match_length===mo&&e.strstart-e.match_start>4096)&&(e.match_length=mo-1)),e.prev_length>=mo&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-mo,n=uo(e,e.strstart-1-e.prev_match,e.prev_length-mo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+mo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=mo-1,e.strstart++,n&&(Mo(e,!1),0===e.strm.avail_out))return Po}else if(e.match_available){if(n=uo(e,0,e.window[e.strstart-1]),n&&Mo(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return Po}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=uo(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<mo-1?e.strstart:mo-1,t===Za?(Mo(e,!0),0===e.strm.avail_out?Do:Co):e.last_lit&&(Mo(e,!1),0===e.strm.avail_out)?Po:Uo}class Go{constructor(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}}const Vo=[new Go(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Ho(e),0===e.lookahead&&t===Ga)return Po;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,Mo(e,!1),0===e.strm.avail_out))return Po;if(e.strstart-e.block_start>=e.w_size-bo&&(Mo(e,!1),0===e.strm.avail_out))return Po}return e.insert=0,t===Za?(Mo(e,!0),0===e.strm.avail_out?Do:Co):(e.strstart>e.block_start&&(Mo(e,!1),e.strm.avail_out),Po)})),new Go(4,4,8,4,jo),new Go(4,5,16,8,jo),new Go(4,6,32,32,jo),new Go(4,4,16,16,qo),new Go(8,16,32,32,qo),new Go(8,16,128,128,qo),new Go(8,32,128,256,qo),new Go(32,128,258,1024,qo),new Go(32,258,258,4096,qo)];class Wo{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ys,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Fa(1146),this.dyn_dtree=new Fa(122),this.bl_tree=new Fa(78),zo(this.dyn_ltree),zo(this.dyn_dtree),zo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Fa(16),this.heap=new Fa(573),zo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Fa(573),zo(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function $o(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=ls,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?vo:So,e.adler=2===t.wrap?0:1,t.last_flush=Ga,so(t),Ya):To(e,ts)}(e);return t===Ya&&function(e){e.window_size=2*e.w_size,zo(e.head),e.max_lazy_match=Vo[e.level].max_lazy,e.good_match=Vo[e.level].good_length,e.nice_match=Vo[e.level].nice_length,e.max_chain_length=Vo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=mo-1,e.match_available=0,e.ins_h=0}(e.state),t}function Zo(e,t){let r,n,i,a;if(!e||!e.state||t>Xa||t<0)return e?To(e,ts):ts;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===xo&&t!==Za)return To(e,0===e.avail_out?ns:ts);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===vo)if(2===n.wrap)e.adler=0,Lo(n,31),Lo(n,139),Lo(n,8),n.gzhead?(Lo(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Lo(n,255&n.gzhead.time),Lo(n,n.gzhead.time>>8&255),Lo(n,n.gzhead.time>>16&255),Lo(n,n.gzhead.time>>24&255),Lo(n,9===n.level?2:n.strategy>=ss||n.level<2?4:0),Lo(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Lo(n,255&n.gzhead.extra.length),Lo(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=po(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ao):(Lo(n,0),Lo(n,0),Lo(n,0),Lo(n,0),Lo(n,0),Lo(n,9===n.level?2:n.strategy>=ss||n.level<2?4:0),Lo(n,Io),n.status=So);else{let t=ys+(n.w_bits-8<<4)<<8,r=-1;r=n.strategy>=ss||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=r<<6,0!==n.strstart&&(t|=ko),t+=31-t%31,n.status=So,No(n,t),0!==n.strstart&&(No(n,e.adler>>>16),No(n,65535&e.adler)),e.adler=1}if(n.status===Ao)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),Ro(e),i=n.pending,n.pending!==n.pending_buf_size));)Lo(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=_o)}else n.status=_o;if(n.status===_o)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),Ro(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}a=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,Lo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.gzindex=0,n.status=Eo)}else n.status=Eo;if(n.status===Eo)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),Ro(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}a=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,Lo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=po(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.status=Ko)}else n.status=Ko;if(n.status===Ko&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Ro(e),n.pending+2<=n.pending_buf_size&&(Lo(n,255&e.adler),Lo(n,e.adler>>8&255),e.adler=0,n.status=So)):n.status=So),0!==n.pending){if(Ro(e),0===e.avail_out)return n.last_flush=-1,Ya}else if(0===e.avail_in&&Bo(t)<=Bo(r)&&t!==Za)return To(e,ns);if(n.status===xo&&0!==e.avail_in)return To(e,ns);if(0!==e.avail_in||0!==n.lookahead||t!==Ga&&n.status!==xo){var s=n.strategy===ss?function(e,t){let r;for(;;){if(0===e.lookahead&&(Ho(e),0===e.lookahead)){if(t===Ga)return Po;break}if(e.match_length=0,r=uo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Mo(e,!1),0===e.strm.avail_out))return Po}return e.insert=0,t===Za?(Mo(e,!0),0===e.strm.avail_out?Do:Co):e.last_lit&&(Mo(e,!1),0===e.strm.avail_out)?Po:Uo}(n,t):n.strategy===os?function(e,t){let r,n,i,a;const s=e.window;for(;;){if(e.lookahead<=wo){if(Ho(e),e.lookahead<=wo&&t===Ga)return Po;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=mo&&e.strstart>0&&(i=e.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=e.strstart+wo;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&i<a);e.match_length=wo-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=mo?(r=uo(e,1,e.match_length-mo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=uo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Mo(e,!1),0===e.strm.avail_out))return Po}return e.insert=0,t===Za?(Mo(e,!0),0===e.strm.avail_out?Do:Co):e.last_lit&&(Mo(e,!1),0===e.strm.avail_out)?Po:Uo}(n,t):Vo[n.level].func(n,t);if(s!==Do&&s!==Co||(n.status=xo),s===Po||s===Do)return 0===e.avail_out&&(n.last_flush=-1),Ya;if(s===Uo&&(t===Va?co(n):t!==Xa&&(oo(n,0,0,!1),t===$a&&(zo(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Ro(e),0===e.avail_out))return n.last_flush=-1,Ya}return t!==Za?Ya:n.wrap<=0?Ja:(2===n.wrap?(Lo(n,255&e.adler),Lo(n,e.adler>>8&255),Lo(n,e.adler>>16&255),Lo(n,e.adler>>24&255),Lo(n,255&e.total_in),Lo(n,e.total_in>>8&255),Lo(n,e.total_in>>16&255),Lo(n,e.total_in>>24&255)):(No(n,e.adler>>>16),No(n,65535&e.adler)),Ro(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?Ya:Ja)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Xo=new Oa(256);for(let e=0;e<256;e++)Xo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function Qo(e){let t,r,n,i,a=0;const s=e.length;for(n=0;n<s;n++)t=e.charCodeAt(n),55296==(64512&t)&&n+1<s&&(r=e.charCodeAt(n+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),n++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new Oa(a);for(i=0,n=0;i<a;n++)t=e.charCodeAt(n),55296==(64512&t)&&n+1<s&&(r=e.charCodeAt(n+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),n++)),t<128?o[i++]=t:t<2048?(o[i++]=192|t>>>6,o[i++]=128|63&t):t<65536?(o[i++]=224|t>>>12,o[i++]=128|t>>>6&63,o[i++]=128|63&t):(o[i++]=240|t>>>18,o[i++]=128|t>>>12&63,o[i++]=128|t>>>6&63,o[i++]=128|63&t);return o}Xo[254]=Xo[254]=1;class Yo{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class Jo{constructor(e){this.options={level:is,method:ys,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yo,this.strm.avail_out=0;var r,n,i=function(e,t,r,n,i,a){if(!e)return ts;let s=1;if(t===is&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>go||r!==ys||n<8||n>15||t<0||t>9||a<0||a>cs)return To(e,ts);8===n&&(n=9);const o=new Wo;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+mo-1)/mo),o.window=new Oa(2*o.w_size),o.head=new Fa(o.hash_size),o.prev=new Fa(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Oa(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,$o(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==Ya)throw Error(fo[i]);if(t.header&&(r=this.strm,n=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=n))),t.dictionary){let e;if(e="string"==typeof t.dictionary?Qo(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,i=function(e,t){let r,n,i,a,s,o,c,h,u=t.length;if(!e||!e.state)return ts;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==vo||r.lookahead)return ts;for(1===a&&(e.adler=lo(e.adler,t,u,0)),r.wrap=0,u>=r.w_size&&(0===a&&(zo(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new Oa(r.w_size),qa(h,t,u-r.w_size,r.w_size,0),t=h,u=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=u,e.next_in=0,e.input=t,Ho(r);r.lookahead>=mo;){n=r.strstart,i=r.lookahead-(mo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+mo-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++}while(--i);r.strstart=n,r.lookahead=mo-1,Ho(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=mo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Ya}(this.strm,e),i!==Ya)throw Error(fo[i]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:n}}=this;var i,a;if(this.ended)return!1;a=t===~~t?t:!0===t?Za:Ga,"string"==typeof e?r.input=Qo(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Oa(n),r.next_out=0,r.avail_out=n),(i=Zo(r,a))!==Ja&&i!==Ya)return this.onEnd(i),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==Za&&a!==Wa)||this.onData(Ma(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&i!==Ja);return a===Za?(i=function(e){let t;return e&&e.state?(t=e.state.status,t!==vo&&t!==Ao&&t!==_o&&t!==Eo&&t!==Ko&&t!==So&&t!==xo?To(e,ts):(e.state=null,t===So?To(e,rs):Ya)):ts}(this.strm),this.onEnd(i),this.ended=!0,i===Ya):a!==Wa||(this.onEnd(Ya),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ya&&(this.result=ja(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const ec=30,tc=12;function rc(e,t){let r,n,i,a,s,o,c,h,u,l;const y=e.state;r=e.next_in;const d=e.input,p=r+(e.avail_in-5);n=e.next_out;const f=e.output,g=n-(t-e.avail_out),m=n+(e.avail_out-257),w=y.dmax,b=y.wsize,k=y.whave,v=y.wnext,A=y.window;i=y.hold,a=y.bits;const _=y.lencode,E=y.distcode,K=(1<<y.lenbits)-1,S=(1<<y.distbits)-1;e:do{a<15&&(i+=d[r++]<<a,a+=8,i+=d[r++]<<a,a+=8),s=_[i&K];t:for(;;){if(o=s>>>24,i>>>=o,a-=o,o=s>>>16&255,0===o)f[n++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=_[(65535&s)+(i&(1<<o)-1)];continue t}if(32&o){y.mode=tc;break e}e.msg="invalid literal/length code",y.mode=ec;break e}c=65535&s,o&=15,o&&(a<o&&(i+=d[r++]<<a,a+=8),c+=i&(1<<o)-1,i>>>=o,a-=o),a<15&&(i+=d[r++]<<a,a+=8,i+=d[r++]<<a,a+=8),s=E[i&S];r:for(;;){if(o=s>>>24,i>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=E[(65535&s)+(i&(1<<o)-1)];continue r}e.msg="invalid distance code",y.mode=ec;break e}if(h=65535&s,o&=15,a<o&&(i+=d[r++]<<a,a+=8,a<o&&(i+=d[r++]<<a,a+=8)),h+=i&(1<<o)-1,h>w){e.msg="invalid distance too far back",y.mode=ec;break e}if(i>>>=o,a-=o,o=n-g,h>o){if(o=h-o,o>k&&y.sane){e.msg="invalid distance too far back",y.mode=ec;break e}if(u=0,l=A,0===v){if(u+=b-o,o<c){c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}}else if(v<o){if(u+=b+v-o,o-=v,o<c){c-=o;do{f[n++]=A[u++]}while(--o);if(u=0,v<c){o=v,c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}}}else if(u+=v-o,o<c){c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}for(;c>2;)f[n++]=l[u++],f[n++]=l[u++],f[n++]=l[u++],c-=3;c&&(f[n++]=l[u++],c>1&&(f[n++]=l[u++]))}else{u=n-h;do{f[n++]=f[u++],f[n++]=f[u++],f[n++]=f[u++],c-=3}while(c>2);c&&(f[n++]=f[u++],c>1&&(f[n++]=f[u++]))}break}}break}}while(r<p&&n<m);c=a>>3,r-=c,a-=c<<3,i&=(1<<a)-1,e.next_in=r,e.next_out=n,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=n<m?m-n+257:257-(n-m),y.hold=i,y.bits=a}const nc=15,ic=852,ac=592,sc=0,oc=1,cc=2,hc=[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],uc=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],lc=[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,0,0],yc=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function dc(e,t,r,n,i,a,s,o){const c=o.bits;let h,u,l,y,d,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=null,K=0;const S=new Fa(nc+1),x=new Fa(nc+1);let P,U,D,C=null,I=0;for(p=0;p<=nc;p++)S[p]=0;for(f=0;f<n;f++)S[t[r+f]]++;for(w=c,m=nc;m>=1&&0===S[m];m--);if(w>m&&(w=m),0===m)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(g=1;g<m&&0===S[g];g++);for(w<g&&(w=g),v=1,p=1;p<=nc;p++)if(v<<=1,v-=S[p],v<0)return-1;if(v>0&&(e===sc||1!==m))return-1;for(x[1]=0,p=1;p<nc;p++)x[p+1]=x[p]+S[p];for(f=0;f<n;f++)0!==t[r+f]&&(s[x[t[r+f]]++]=f);e===sc?(E=C=s,d=19):e===oc?(E=hc,K-=257,C=uc,I-=257,d=256):(E=lc,C=yc,d=-1),_=0,f=0,p=g,y=a,b=w,k=0,l=-1,A=1<<w;const T=A-1;if(e===oc&&A>ic||e===cc&&A>ac)return 1;for(;;){P=p-k,s[f]<d?(U=0,D=s[f]):s[f]>d?(U=C[I+s[f]],D=E[K+s[f]]):(U=96,D=0),h=1<<p-k,u=1<<b,g=u;do{u-=h,i[y+(_>>k)+u]=P<<24|U<<16|D|0}while(0!==u);for(h=1<<p-1;_&h;)h>>=1;if(0!==h?(_&=h-1,_+=h):_=0,f++,0==--S[p]){if(p===m)break;p=t[r+s[f]]}if(p>w&&(_&T)!==l){for(0===k&&(k=w),y+=g,b=p-k,v=1<<b;b+k<m&&(v-=S[b+k],!(v<=0));)b++,v<<=1;if(A+=1<<b,e===oc&&A>ic||e===cc&&A>ac)return 1;l=_&T,i[l]=w<<24|b<<16|y-a|0}}return 0!==_&&(i[y+_]=p-k<<24|64<<16|0),o.bits=w,0}const pc=0,fc=1,gc=2,mc=1,wc=2,bc=3,kc=4,vc=5,Ac=6,_c=7,Ec=8,Kc=9,Sc=10,xc=11,Pc=12,Uc=13,Dc=14,Cc=15,Ic=16,Tc=17,Bc=18,zc=19,Rc=20,Mc=21,Lc=22,Nc=23,Oc=24,Fc=25,Hc=26,jc=27,qc=28,Gc=29,Vc=30,Wc=852,$c=592;function Zc(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Xc{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Fa(320),this.work=new Fa(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Qc(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=mc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ha(Wc),t.distcode=t.distdyn=new Ha($c),t.sane=1,t.back=-1,Ya):ts}(e)):ts}function Yc(e,t){let r,n;return e?(n=new Xc,e.state=n,n.window=null,r=function(e,t){let r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ts:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Qc(e))):ts}(e,t),r!==Ya&&(e.state=null),r):ts}let Jc,eh,th=!0;function rh(e){if(th){let t;for(Jc=new Ha(512),eh=new Ha(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(dc(fc,e.lens,0,288,Jc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;dc(gc,e.lens,0,32,eh,0,e.work,{bits:5}),th=!1}e.lencode=Jc,e.lenbits=9,e.distcode=eh,e.distbits=5}function nh(e,t,r,n){let i;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Oa(a.wsize)),n>=a.wsize?(qa(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),qa(a.window,t,r-n,i,a.wnext),(n-=i)?(qa(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function ih(e,t){let r,n,i,a,s,o,c,h,u,l,y,d,p,f,g,m,w,b,k,v,A,_,E,K,S=0,x=new Oa(4);const P=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ts;r=e.state,r.mode===Pc&&(r.mode=Uc),s=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,o=e.avail_in,h=r.hold,u=r.bits,l=o,y=c,_=Ya;e:for(;;)switch(r.mode){case mc:if(0===r.wrap){r.mode=Uc;break}for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(2&r.wrap&&35615===h){r.check=0,x[0]=255&h,x[1]=h>>>8&255,r.check=po(r.check,x,2,0),h=0,u=0,r.mode=wc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",r.mode=Vc;break}if((15&h)!==ys){e.msg="unknown compression method",r.mode=Vc;break}if(h>>>=4,u-=4,A=8+(15&h),0===r.wbits)r.wbits=A;else if(A>r.wbits){e.msg="invalid window size",r.mode=Vc;break}r.dmax=1<<A,e.adler=r.check=1,r.mode=512&h?Sc:Pc,h=0,u=0;break;case wc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.flags=h,(255&r.flags)!==ys){e.msg="unknown compression method",r.mode=Vc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=Vc;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=po(r.check,x,2,0)),h=0,u=0,r.mode=bc;case bc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.head&&(r.head.time=h),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,x[2]=h>>>16&255,x[3]=h>>>24&255,r.check=po(r.check,x,4,0)),h=0,u=0,r.mode=kc;case kc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.head&&(r.head.xflags=255&h,r.head.os=h>>8),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=po(r.check,x,2,0)),h=0,u=0,r.mode=vc;case vc:if(1024&r.flags){for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.length=h,r.head&&(r.head.extra_len=h),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=po(r.check,x,2,0)),h=0,u=0}else r.head&&(r.head.extra=null);r.mode=Ac;case Ac:if(1024&r.flags&&(d=r.length,d>o&&(d=o),d&&(r.head&&(A=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),qa(r.head.extra,n,a,d,A)),512&r.flags&&(r.check=po(r.check,n,d,a)),o-=d,a+=d,r.length-=d),r.length))break e;r.length=0,r.mode=_c;case _c:if(2048&r.flags){if(0===o)break e;d=0;do{A=n[a+d++],r.head&&A&&r.length<65536&&(r.head.name+=String.fromCharCode(A))}while(A&&d<o);if(512&r.flags&&(r.check=po(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Ec;case Ec:if(4096&r.flags){if(0===o)break e;d=0;do{A=n[a+d++],r.head&&A&&r.length<65536&&(r.head.comment+=String.fromCharCode(A))}while(A&&d<o);if(512&r.flags&&(r.check=po(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.comment=null);r.mode=Kc;case Kc:if(512&r.flags){for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h!==(65535&r.check)){e.msg="header crc mismatch",r.mode=Vc;break}h=0,u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Pc;break;case Sc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}e.adler=r.check=Zc(h),h=0,u=0,r.mode=xc;case xc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,es;e.adler=r.check=1,r.mode=Pc;case Pc:if(t===Xa||t===Qa)break e;case Uc:if(r.last){h>>>=7&u,u-=7&u,r.mode=jc;break}for(;u<3;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}switch(r.last=1&h,h>>>=1,u-=1,3&h){case 0:r.mode=Dc;break;case 1:if(rh(r),r.mode=Rc,t===Qa){h>>>=2,u-=2;break e}break;case 2:r.mode=Tc;break;case 3:e.msg="invalid block type",r.mode=Vc}h>>>=2,u-=2;break;case Dc:for(h>>>=7&u,u-=7&u;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if((65535&h)!=(h>>>16^65535)){e.msg="invalid stored block lengths",r.mode=Vc;break}if(r.length=65535&h,h=0,u=0,r.mode=Cc,t===Qa)break e;case Cc:r.mode=Ic;case Ic:if(d=r.length,d){if(d>o&&(d=o),d>c&&(d=c),0===d)break e;qa(i,n,a,d,s),o-=d,a+=d,c-=d,s+=d,r.length-=d;break}r.mode=Pc;break;case Tc:for(;u<14;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.nlen=257+(31&h),h>>>=5,u-=5,r.ndist=1+(31&h),h>>>=5,u-=5,r.ncode=4+(15&h),h>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=Vc;break}r.have=0,r.mode=Bc;case Bc:for(;r.have<r.ncode;){for(;u<3;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.lens[P[r.have++]]=7&h,h>>>=3,u-=3}for(;r.have<19;)r.lens[P[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,E={bits:r.lenbits},_=dc(pc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=Vc;break}r.have=0,r.mode=zc;case zc:for(;r.have<r.nlen+r.ndist;){for(;S=r.lencode[h&(1<<r.lenbits)-1],g=S>>>24,m=S>>>16&255,w=65535&S,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(w<16)h>>>=g,u-=g,r.lens[r.have++]=w;else{if(16===w){for(K=g+2;u<K;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h>>>=g,u-=g,0===r.have){e.msg="invalid bit length repeat",r.mode=Vc;break}A=r.lens[r.have-1],d=3+(3&h),h>>>=2,u-=2}else if(17===w){for(K=g+3;u<K;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=g,u-=g,A=0,d=3+(7&h),h>>>=3,u-=3}else{for(K=g+7;u<K;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=g,u-=g,A=0,d=11+(127&h),h>>>=7,u-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=Vc;break}for(;d--;)r.lens[r.have++]=A}}if(r.mode===Vc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=Vc;break}if(r.lenbits=9,E={bits:r.lenbits},_=dc(fc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=Vc;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=dc(gc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=Vc;break}if(r.mode=Rc,t===Qa)break e;case Rc:r.mode=Mc;case Mc:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,rc(e,y),s=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,o=e.avail_in,h=r.hold,u=r.bits,r.mode===Pc&&(r.back=-1);break}for(r.back=0;S=r.lencode[h&(1<<r.lenbits)-1],g=S>>>24,m=S>>>16&255,w=65535&S,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(m&&0==(240&m)){for(b=g,k=m,v=w;S=r.lencode[v+((h&(1<<b+k)-1)>>b)],g=S>>>24,m=S>>>16&255,w=65535&S,!(b+g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=b,u-=b,r.back+=b}if(h>>>=g,u-=g,r.back+=g,r.length=w,0===m){r.mode=Hc;break}if(32&m){r.back=-1,r.mode=Pc;break}if(64&m){e.msg="invalid literal/length code",r.mode=Vc;break}r.extra=15&m,r.mode=Lc;case Lc:if(r.extra){for(K=r.extra;u<K;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.length+=h&(1<<r.extra)-1,h>>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Nc;case Nc:for(;S=r.distcode[h&(1<<r.distbits)-1],g=S>>>24,m=S>>>16&255,w=65535&S,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(0==(240&m)){for(b=g,k=m,v=w;S=r.distcode[v+((h&(1<<b+k)-1)>>b)],g=S>>>24,m=S>>>16&255,w=65535&S,!(b+g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=b,u-=b,r.back+=b}if(h>>>=g,u-=g,r.back+=g,64&m){e.msg="invalid distance code",r.mode=Vc;break}r.offset=w,r.extra=15&m,r.mode=Oc;case Oc:if(r.extra){for(K=r.extra;u<K;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.offset+=h&(1<<r.extra)-1,h>>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=Vc;break}r.mode=Fc;case Fc:if(0===c)break e;if(d=y-c,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=Vc;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),f=r.window}else f=i,p=s-r.offset,d=r.length;d>c&&(d=c),c-=d,r.length-=d;do{i[s++]=f[p++]}while(--d);0===r.length&&(r.mode=Mc);break;case Hc:if(0===c)break e;i[s++]=r.length,c--,r.mode=Mc;break;case jc:if(r.wrap){for(;u<32;){if(0===o)break e;o--,h|=n[a++]<<u,u+=8}if(y-=c,e.total_out+=y,r.total+=y,y&&(e.adler=r.check=r.flags?po(r.check,i,y,s-y):lo(r.check,i,y,s-y)),y=c,(r.flags?h:Zc(h))!==r.check){e.msg="incorrect data check",r.mode=Vc;break}h=0,u=0}r.mode=qc;case qc:if(r.wrap&&r.flags){for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=Vc;break}h=0,u=0}r.mode=Gc;case Gc:_=Ja;break e;case Vc:_=rs;break e;default:return ts}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,(r.wsize||y!==e.avail_out&&r.mode<Vc&&(r.mode<jc||t!==Za))&&nh(e,e.output,e.next_out,y-e.avail_out),l-=e.avail_in,y-=e.avail_out,e.total_in+=l,e.total_out+=y,r.total+=y,r.wrap&&y&&(e.adler=r.check=r.flags?po(r.check,i,y,e.next_out-y):lo(r.check,i,y,e.next_out-y)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Pc?128:0)+(r.mode===Rc||r.mode===Cc?256:0),(0===l&&0===y||t===Za)&&_===Ya&&(_=ns),_}function ah(e,t){const r=t.length;let n,i;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==xc?ts:n.mode===xc&&(i=1,i=lo(i,t,r,0),i!==n.check)?rs:(nh(e,t,r,r),n.havedict=1,Ya)):ts}class sh{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class oh{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yo,this.strm.avail_out=0;let r=Yc(this.strm,t.windowBits);if(r!==Ya)throw Error(fo[r]);if(this.header=new sh,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Qo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ah(this.strm,t.dictionary),r!==Ya)))throw Error(fo[r])}push(e,t){const{strm:r,options:{chunkSize:n,dictionary:i}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?Za:Ga,"string"==typeof e?r.input=function(e){const t=new Oa(e.length);for(let r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Oa(n),r.next_out=0,r.avail_out=n),a=ih(r,Ga),a===es&&i&&(a=ah(this.strm,i)),a===ns&&!0===o&&(a=Ya,o=!1),a!==Ja&&a!==Ya)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==Ja&&(0!==r.avail_in||s!==Za&&s!==Wa)||this.onData(Ma(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==Ja);return a===Ja&&(s=Za),s===Za?(a=function(e){if(!e||!e.state)return ts;const t=e.state;return t.window&&(t.window=null),e.state=null,Ya}(this.strm),this.onEnd(a),this.ended=!0,a===Ya):s!==Wa||(this.onEnd(Ya),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ya&&(this.result=ja(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var ch=[0,1,3,7,15,31,63,127,255],hh=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};hh.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},hh.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=ch[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var n=r-e;t|=(this.curByte&ch[e]<<n)>>n,this.bitOffset+=e,e=0}}return t},hh.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},hh.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var uh=hh,lh=function(){};lh.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},lh.prototype.read=function(e,t,r){for(var n=0;n<r;){var i=this.readByte();if(i<0)return 0===n?-1:n;e[t++]=i,n++}return n},lh.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},lh.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},lh.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},lh.prototype.flush=function(){};var yh,dh=lh,ph=(yh=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^yh[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^yh[255&(e>>>24^t)]}}),fh=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},gh={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},mh={};mh[gh.LAST_BLOCK]="Bad file checksum",mh[gh.NOT_BZIP_DATA]="Not bzip data",mh[gh.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",mh[gh.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",mh[gh.DATA_ERROR]="Data error",mh[gh.OUT_OF_MEMORY]="Out of memory",mh[gh.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var wh=function(e,t){var r=mh[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},bh=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};bh.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new ph,!0):(this.writeCount=-1,!1)},bh.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||wh(gh.NOT_BZIP_DATA,"bad magic");var n=r[3]-48;(n<1||n>9)&&wh(gh.NOT_BZIP_DATA,"level out of range"),this.reader=new uh(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},bh.prototype._get_next_block=function(){var e,t,r,n=this.reader,i=n.pi();if("177245385090"===i)return!1;"314159265359"!==i&&wh(gh.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&wh(gh.OBSOLETE_INPUT);var a=n.read(24);a>this.dbufSize&&wh(gh.DATA_ERROR,"initial position out of bounds");var s=n.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var h=16*e;for(r=n.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=h+t)}var u=n.read(3);(u<2||u>6)&&wh(gh.DATA_ERROR);var l=n.read(15);0===l&&wh(gh.DATA_ERROR);var y=new Uint8Array(256);for(e=0;e<u;e++)y[e]=e;var d=new Uint8Array(l);for(e=0;e<l;e++){for(t=0;n.read(1);t++)t>=u&&wh(gh.DATA_ERROR);d[e]=fh(y,t)}var p,f=c+2,g=[];for(t=0;t<u;t++){var m,w,b=new Uint8Array(f),k=new Uint16Array(21);for(s=n.read(5),e=0;e<f;e++){for(;(s<1||s>20)&&wh(gh.DATA_ERROR),n.read(1);)n.read(1)?s--:s++;b[e]=s}for(m=w=b[0],e=1;e<f;e++)b[e]>w?w=b[e]:b[e]<m&&(m=b[e]);p={},g.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=m,p.maxLen=w;var v=0;for(e=m;e<=w;e++)for(k[e]=p.limit[e]=0,s=0;s<f;s++)b[s]===e&&(p.permute[v++]=s);for(e=0;e<f;e++)k[b[e]]++;for(v=s=0,e=m;e<w;e++)v+=k[e],p.limit[e]=v-1,v<<=1,s+=k[e],p.base[e+1]=v-s;p.limit[w+1]=Number.MAX_VALUE,p.limit[w]=v+k[w]-1,p.base[m]=0}var A=new Uint32Array(256);for(e=0;e<256;e++)y[e]=e;var _,E=0,K=0,S=0,x=this.dbuf=new Uint32Array(this.dbufSize);for(f=0;;){for(f--||(f=49,S>=l&&wh(gh.DATA_ERROR),p=g[d[S++]]),e=p.minLen,t=n.read(e);e>p.maxLen&&wh(gh.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|n.read(1);((t-=p.base[e])<0||t>=258)&&wh(gh.DATA_ERROR);var P=p.permute[t];if(0!==P&&1!==P){if(E)for(E=0,K+s>this.dbufSize&&wh(gh.DATA_ERROR),A[_=o[y[0]]]+=s;s--;)x[K++]=_;if(P>c)break;K>=this.dbufSize&&wh(gh.DATA_ERROR),A[_=o[_=fh(y,e=P-1)]]++,x[K++]=_}else E||(E=1,s=0),s+=0===P?E:2*E,E<<=1}for((a<0||a>=K)&&wh(gh.DATA_ERROR),t=0,e=0;e<256;e++)r=t+A[e],A[e]=t,t=r;for(e=0;e<K;e++)x[A[_=255&x[e]]]|=e<<8,A[_]++;var U=0,D=0,C=0;return K&&(D=255&(U=x[a]),U>>=8,C=-1),this.writePos=U,this.writeCurrent=D,this.writeCount=K,this.writeRun=C,!0},bh.prototype._read_bunzip=function(e,t){var r,n,i;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var h=this.writeRun;c;){for(c--,n=o,o=255&(s=a[s]),s>>=8,3==h++?(r=o,i=n,o=-1):(r=1,i=o),this.blockCRC.updateCRCRun(i,r);r--;)this.outputStream.writeByte(i),this.nextoutput++;o!=n&&(h=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&wh(gh.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var kh=function(e){if("readByte"in e)return e;var t=new dh;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},vh=function(e){var t=new dh,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var Ah=function(e,t,r){for(var n=kh(e),i=vh(t),a=new bh(n,i);!("eof"in n)||!n.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&wh(gh.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in n)||n.eof())break;a._start_bunzip(n,i)}if("getBuffer"in i)return i.getBuffer()};class _h{static get tag(){return $.packet.literalData}constructor(e=new Date){this.format=$.literal.utf8,this.date=X.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=$.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||X.isStream(this.text))&&(this.text=X.decodeUTF8(X.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=X.canonicalizeEOL(X.encodeUTF8(this.text))),e?N(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await M(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=X.decodeUTF8(await e.readBytes(r)),this.date=X.readDate(await e.readBytes(4));let n=e.remainder();s(n)&&(n=await H(n)),this.setBytes(n,t)}))}writeHeader(){const e=X.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=X.writeDate(this.date);return X.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return X.concat([e,t])}}const Eh=Symbol("verified"),Kh=new Set([$.signatureSubpacket.issuer,$.signatureSubpacket.issuerFingerprint,$.signatureSubpacket.embeddedSignature]);class Sh{static get tag(){return $.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[Eh]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new fi(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=xa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?q((async()=>xa.serializeParams(this.publicKeyAlgorithm,await this.params))):xa.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),X.concat(e)}async sign(e,t,r=new Date,n=!1){5===e.version?this.version=5:this.version=4;const i=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=X.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),i.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=X.concat(i);const a=this.toHash(this.signatureType,t,n),s=await this.hash(this.signatureType,t,a,n);this.signedHashValue=F(L(s),0,2);const o=async()=>xa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await H(s));X.isStream(s)?this.params=o():(this.params=await o(),this[Eh]=!0)}writeHashedSubPackets(){const e=$.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(xh(e.signatureCreationTime,!0,X.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(xh(e.signatureExpirationTime,!0,X.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(xh(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(xh(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(xh(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(xh(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(xh(e.keyExpirationTime,!0,X.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(xh(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=X.concat([r,this.revocationKeyFingerprint]),t.push(xh(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(xh(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:n,value:i,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=X.encodeUTF8(n);r.push(X.writeNumber(o.length,2)),r.push(X.writeNumber(i.length,2)),r.push(o),r.push(i),r=X.concat(r),t.push(xh(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(xh(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(xh(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyServerPreferences)),t.push(xh(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(xh(e.preferredKeyServer,!1,X.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(xh(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(xh(e.policyURI,!1,X.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyFlags)),t.push(xh(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(xh(e.signersUserID,!1,X.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=X.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(xh(e.reasonForRevocation,!0,r))),null!==this.features&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.features)),t.push(xh(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(X.stringToUint8Array(this.signatureTargetHash)),r=X.concat(r),t.push(xh(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(xh(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=X.concat(r),t.push(xh(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(xh(e.preferredAEADAlgorithms,!1,r)));const n=X.concat(t),i=X.writeNumber(n.length,2);return X.concat([i,n])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(hi(t.length)),e.push(t)}));const t=X.concat(e),r=X.writeNumber(t.length,2);return X.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),Kh.has(i)))switch(r++,i){case $.signatureSubpacket.signatureCreationTime:this.created=X.readDate(e.subarray(r,e.length));break;case $.signatureSubpacket.signatureExpirationTime:{const t=X.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case $.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case $.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case $.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case $.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case $.signatureSubpacket.keyExpirationTime:{const t=X.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case $.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case $.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case $.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=X.readNumber(e.subarray(r,r+2));r+=2;const a=X.readNumber(e.subarray(r,r+2));r+=2;const s=X.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:n}),t&&(this.notations[s]=X.decodeUTF8(o));break}case $.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case $.signatureSubpacket.policyURI:this.policyURI=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.signersUserID:this.signersUserID=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=xa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=X.uint8ArrayToString(e.subarray(r,r+t));break}case $.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Sh,this.embeddedSignature.read(e.subarray(r,e.length));break;case $.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case $.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+i);if(n)throw e;X.printDebug(e)}}}readSubPackets(e,t=!0,r){const n=X.readNumber(e.subarray(0,2));let i=2;for(;i<2+n;){const n=ci(e.subarray(i,e.length));i+=n.offset,this.readSubPacket(e.subarray(i,i+n.len),t,r),i+=n.len}return i}toSign(e,t){const r=$.signature;switch(e){case r.binary:return null!==t.text?X.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return X.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,n;if(t.userID)n=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");n=209,e=t.userAttribute}const i=e.write();return X.concat([this.toSign(r.key,t),new Uint8Array([n]),X.writeNumber(i.length,4),i])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return X.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return z(L(this.signatureData),(e=>{r+=e.length}),(()=>{const n=[];return 5!==this.version||this.signatureType!==$.signature.binary&&this.signatureType!==$.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(X.writeNumber(r,4)),X.concat(n)}))}toHash(e,t,r=!1){const n=this.toSign(e,t);return X.concat([n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){return r||(r=this.toHash(e,t,n)),xa.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,a=ie){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===$.signature.binary||t===$.signature.text;if(!(this[Eh]&&!s)){let n,a;if(this.hashed?a=await this.hashed:(n=this.toHash(t,r,i),a=await this.hash(t,r,n)),a=await H(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===$.publicKey.hmac?e.privateParams:null;if(this[Eh]=await xa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,n,a),!this[Eh])throw Error("Signature verification failed")}const o=X.normalizeDate(n);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+$.read($.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[$.signature.binary,$.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+$.read($.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=X.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function xh(e,t,r){const n=[];return n.push(hi(r.length+1)),n.push(new Uint8Array([(t?128:0)|e])),n.push(r),X.concat(n)}class Ph{static get tag(){return $.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new fi(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return X.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return q((async()=>Sh.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==$.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Uh(e,t){if(!t[e]){let t;try{t=$.read($.packet,e)}catch(t){throw new fi("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}Ph.prototype.hash=Sh.prototype.hash,Ph.prototype.toHash=Sh.prototype.toHash,Ph.prototype.toSign=Sh.prototype.toSign;class Dh extends Array{static async fromBinary(e,t,r=ie){const n=new Dh;return await n.read(e,t,r),n}async read(e,t,r=ie){r.additionalAllowedPackets.length&&(t={...t,...X.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=R(e,(async(e,n)=>{const i=C(n);try{for(;;){await i.ready;if(await pi(e,(async e=>{try{if(e.tag===$.packet.marker||e.tag===$.packet.trust)return;const n=Uh(e.tag,t);n.packets=new Dh,n.fromStream=X.isStream(e.packet),await n.read(e.packet,r),await i.write(n)}catch(t){const n=!r.ignoreUnsupportedPackets&&t instanceof fi,a=!(r.ignoreMalformedPackets||t instanceof fi);if(n||a||di(e.tag))await i.abort(t);else{const t=new gi(e.tag,e.packet);await i.write(t)}X.printDebugError(t)}})))return await i.ready,void await i.close()}}catch(e){await i.abort(e)}}));const n=D(this.stream);for(;;){const{done:e,value:t}=await n.read();if(e?this.stream=null:this.push(t),e||di(t.constructor.tag))break}n.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof gi?this[t].tag:this[t].constructor.tag,n=this[t].write();if(X.isStream(n)&&di(this[t].constructor.tag)){let t=[],i=0;const a=512;e.push(li(r)),e.push(z(n,(e=>{if(t.push(e),i+=e.length,i>=a){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=X.concat([ui(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}}),(()=>X.concat([hi(i)].concat(t)))))}else{if(X.isStream(n)){let t=0;e.push(z(L(n),(e=>{t+=e.length}),(()=>yi(r,t))))}else e.push(yi(r,n.length));e.push(n)}}return X.concat(e)}filterByTag(...e){const t=new Dh,r=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(r(this[n].constructor.tag))&&t.push(this[n]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(n(r[i].constructor.tag))&&t.push(i);return t}}const Ch=/*#__PURE__*/X.constructAllowedPackets([_h,Ph,Sh]);class Ih{static get tag(){return $.packet.compressedData}constructor(e=ie){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=ie){await M(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),X.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=ie){const t=$.read($.compression,this.algorithm),r=Nh[t];if(!r)throw Error(t+" decompression not supported");this.packets=await Dh.fromBinary(r(this.compressed),Ch,e)}compress(){const e=$.read($.compression,this.algorithm),t=Lh[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Th=X.getNodeZlib();function Bh(e){return e}function zh(e,t,r={}){return function(n){return!X.isStream(n)||s(n)?q((()=>H(n).then((t=>new Promise(((n,i)=>{e(t,r,((e,t)=>{if(e)return i(e);n(t)}))})))))):f(g(n).pipe(t(r)))}}function Rh(e,t={}){return function(r){const n=new e(t);return z(r,(e=>{if(e.length)return n.push(e,Wa),n.result}),(()=>{if(e===Jo)return n.push([],Za),n.result}))}}function Mh(e){return function(t){return q((async()=>e(await H(t))))}}const Lh=Th?{zip:/*#__PURE__*/(e,t)=>zh(Th.deflateRaw,Th.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>zh(Th.deflate,Th.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>Rh(Jo,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>Rh(Jo,{level:t})(e)},Nh=Th?{uncompressed:Bh,zip:/*#__PURE__*/zh(Th.inflateRaw,Th.createInflateRaw),zlib:/*#__PURE__*/zh(Th.inflate,Th.createInflate),bzip2:/*#__PURE__*/Mh(Ah)}:{uncompressed:Bh,zip:/*#__PURE__*/Rh(oh,{raw:!0}),zlib:/*#__PURE__*/Rh(oh),bzip2:/*#__PURE__*/Mh(Ah)},Oh=/*#__PURE__*/X.constructAllowedPackets([_h,Ih,Ph,Sh]);class Fh{static get tag(){return $.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await M(e,(async e=>{const t=await e.readByte();if(1!==t)throw new fi(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return X.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=ie){const{blockSize:n}=xa.getCipher(e);let i=this.packets.write();s(i)&&(i=await H(i));const a=await xa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=X.concat([a,i,o]),h=await xa.hash.sha1(N(c)),u=X.concat([c,h]);return this.encrypted=await xa.mode.cfb.encrypt(e,t,u,new Uint8Array(n),r),!0}async decrypt(e,t,r=ie){const{blockSize:n}=xa.getCipher(e);let i=L(this.encrypted);s(i)&&(i=await H(i));const a=await xa.mode.cfb.decrypt(e,t,i,new Uint8Array(n)),o=F(N(a),-20),c=F(a,0,-20),h=Promise.all([H(await xa.hash.sha1(N(c))),H(o)]).then((([e,t])=>{if(!X.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),u=F(c,n+2);let l=F(u,0,-2);return l=U([l,q((()=>h))]),X.isStream(i)&&r.allowUnauthenticatedStream||(l=await H(l)),this.packets=await Dh.fromBinary(l,Oh,r),!0}}const Hh=/*#__PURE__*/X.constructAllowedPackets([_h,Ih,Ph,Sh]);class jh{static get tag(){return $.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=$.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await M(e,(async e=>{const t=await e.readByte();if(1!==t)throw new fi(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=xa.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return X.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=ie){this.packets=await Dh.fromBinary(await this.crypt("decrypt",t,L(this.encrypted)),Hh,r)}async encrypt(e,t,r=ie){this.cipherAlgorithm=e;const{ivLength:n}=xa.getAEADMode(this.aeadAlgorithm);this.iv=xa.random.getRandomBytes(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await this.crypt("encrypt",t,i)}async crypt(e,t,r){const n=xa.getAEADMode(this.aeadAlgorithm),i=await n(this.cipherAlgorithm,t),a="decrypt"===e?n.tagLength:0,s="encrypt"===e?n.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),h=new Uint8Array(c,0,13),u=new Uint8Array(c),l=new DataView(c),y=new Uint8Array(c,5,8);h.set([192|jh.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let d=0,p=Promise.resolve(),f=0,g=0;const m=this.iv;return R(r,(async(t,r)=>{if("array"!==X.isStream(t)){const e=new E({},{highWaterMark:X.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});I(e.readable,r),r=e.writable}const c=D(t),w=C(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let b,k;if(t=t.subarray(0,t.length-a),!d||t.length?(c.unshift(r),b=i[e](t,n.getNonce(m,y),h),g+=t.length-a+s):(l.setInt32(17,f),b=i[e](r,n.getNonce(m,y),u),g+=s,k=!0),f+=t.length-a,p=p.then((()=>b)).then((async e=>{await w.ready,await w.write(e),g-=e.length})).catch((e=>w.abort(e))),(k||g>w.desiredSize)&&await p,k){await w.close();break}l.setInt32(9,++d)}}catch(e){await w.abort(e)}}))}}class qh{static get tag(){return $.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new fi(`Version ${this.version} of the PKESK packet is unsupported.`);t+=this.publicKeyID.read(e.subarray(t)),this.publicKeyAlgorithm=e[t++],this.encrypted=xa.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(t),this.version),this.publicKeyAlgorithm===$.publicKey.x25519&&(this.sessionKeyAlgorithm=$.write($.symmetric,this.encrypted.C.algorithm))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),xa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return X.concatUint8Array(e)}async encrypt(e){const t=$.write($.publicKey,this.publicKeyAlgorithm),r=Gh(this.version,t,this.sessionKeyAlgorithm,this.sessionKey),n=t===$.publicKey.aead?e.privateParams:null;this.encrypted=await xa.publicKeyEncrypt(t,this.sessionKeyAlgorithm,e.publicParams,n,r,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?Gh(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=await xa.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),{sessionKey:i,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.elgamal:case $.publicKey.ecdh:case $.publicKey.aead:{const e=r.subarray(0,r.length-2),t=r.subarray(r.length-2),i=X.writeChecksum(e.subarray(e.length%8)),a=i[0]===t[0]&i[1]===t[1],s={sessionKeyAlgorithm:e[0],sessionKey:e.subarray(1)};if(n){const e=a&s.sessionKeyAlgorithm===n.sessionKeyAlgorithm&s.sessionKey.length===n.sessionKey.length;return{sessionKey:X.selectUint8Array(e,s.sessionKey,n.sessionKey),sessionKeyAlgorithm:X.selectUint8(e,s.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&$.read($.symmetric,s.sessionKeyAlgorithm))return s;throw Error("Decryption error")}case $.publicKey.x25519:return{sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,n,t);this.publicKeyAlgorithm!==$.publicKey.x25519&&(this.sessionKeyAlgorithm=a),this.sessionKey=i}}function Gh(e,t,r,n){switch(t){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.elgamal:case $.publicKey.ecdh:case $.publicKey.aead:return X.concatUint8Array([new Uint8Array([r]),n,X.writeChecksum(n.subarray(n.length%8))]);case $.publicKey.x25519:return n;default:throw Error("Unsupported public key algorithm")}}class Vh{static get tag(){return $.packet.symEncryptedSessionKey}constructor(e=ie){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=$.symmetric.aes256,this.aeadAlgorithm=$.write($.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new fi(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];5===this.version&&(this.aeadAlgorithm=e[t++]);const n=e[t++];if(this.s2k=Ba(n),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=xa.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=X.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=X.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=X.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:n}=xa.getCipher(t),i=await this.s2k.produceKey(e,n);if(5===this.version){const e=xa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Vh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=await e(t,i);this.sessionKey=await n.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await xa.mode.cfb.decrypt(t,i,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=$.write($.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=i}async encrypt(e,t=ie){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=za(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=xa.getCipher(r),a=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=xa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=xa.getAEADMode(this.aeadAlgorithm);this.iv=xa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Vh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=await e(r,a);this.encrypted=await n.encrypt(this.sessionKey,this.iv,t)}else{const e=X.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await xa.mode.cfb.encrypt(r,a,e,new Uint8Array(n),t)}}}class Wh{static get tag(){return $.packet.publicKey}constructor(e=new Date,t=ie){this.version=t.v5Keys?5:4,this.created=X.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new Wh,{version:r,created:n,algorithm:i,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=X.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:n}=xa.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=n,t+=r,await this.computeFingerprintAndKeyID(),t}throw new fi(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(X.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=xa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push(X.writeNumber(t.length,4)),e.push(t),X.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?X.concatUint8Array([new Uint8Array([154]),X.writeNumber(t.length,4),t]):X.concatUint8Array([new Uint8Array([153]),X.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await xa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await xa.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return X.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&X.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=$.read($.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=X.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}Wh.prototype.readPublicKey=Wh.prototype.read,Wh.prototype.writePublicKey=Wh.prototype.write;const $h=/*#__PURE__*/X.constructAllowedPackets([_h,Ih,Ph,Sh]);class Zh{static get tag(){return $.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=ie){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:n}=xa.getCipher(e),i=await H(L(this.encrypted)),a=await xa.mode.cfb.decrypt(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Dh.fromBinary(a,$h,r)}async encrypt(e,t,r=ie){const n=this.packets.write(),{blockSize:i}=xa.getCipher(e),a=await xa.getPrefixRandom(e),s=await xa.mode.cfb.encrypt(e,t,a,new Uint8Array(i),r),o=await xa.mode.cfb.encrypt(e,t,n,s.subarray(2),r);this.encrypted=X.concat([s,o])}}class Xh{static get tag(){return $.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Qh extends Wh{static get tag(){return $.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Qh,{version:r,created:n,algorithm:i,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class Yh{static get tag(){return $.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=ci(e.subarray(t,e.length));t+=r.offset,this.attributes.push(X.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(hi(this.attributes[t].length)),e.push(X.stringToUint8Array(this.attributes[t]));return X.concatUint8Array(e)}equals(e){return!!(e&&e instanceof Yh)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class Jh extends Wh{static get tag(){return $.packet.secretKey}constructor(e=new Date,t=ie){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);const r=t;this.s2kUsage=e[t++],5===this.version&&t++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]);const r=e[t++];if(this.s2k=Ba(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.iv=e.subarray(t,t+xa.getCipher(this.symmetric).blockSize),t+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(r),this.isEncrypted=!0}if(5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!X.equalsUint8Array(X.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=xa.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof fi)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return X.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead),r.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),5===this.version&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=xa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&t.push(X.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||t.push(X.writeChecksum(this.keyMaterial))),X.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=ie){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=Ba($.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=$.symmetric.aes256)}async encrypt(e,t=ie){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=za(t),this.s2k.generateSalt();const r=xa.serializeParams(this.algorithm,this.privateParams);this.symmetric=$.symmetric.aes256;const n=await eu(this.s2k,e,this.symmetric),{blockSize:i}=xa.getCipher(this.symmetric);if(this.iv=xa.random.getRandomBytes(i),t.aeadProtect){this.s2kUsage=253,this.aead=$.aead.eax;const e=xa.getAEADMode(this.aead),t=await e(this.symmetric,n);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await xa.mode.cfb.encrypt(this.symmetric,n,X.concatUint8Array([r,await xa.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await eu(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=xa.getAEADMode(this.aead),n=await e(this.symmetric,t);try{r=await n.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await xa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const n=await xa.hash.sha1(r);if(!X.equalsUint8Array(n,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=xa.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await xa.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:n,publicParams:i}=await xa.generateParams(this.algorithm,e,t,r);this.privateParams=n,this.publicParams=i,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function eu(e,t,r){const{keySize:n}=xa.getCipher(r);return e.produceKey(t,n)}var tu=rt((function(e){!function(t){function r(e){function t(){return _e<Ee}function r(){return _e}function i(e){_e=e}function a(){_e=0,Ee=Ae.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function h(e){var r;return t()&&e(r=Ae[_e])?(_e+=1,s("token",r)):null}function u(e){return function(){return o("literal",h((function(t){return t===e})))}}function l(){var e=arguments;return function(){var t,n,a,o;for(o=r(),n=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return i(o),null;c(n,a)}return n}}function y(){var e=arguments;return function(){var t,n,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(n=e[t]()))return n;i(a)}return null}}function d(e){return function(){var t,n;return n=r(),null!==(t=e())?t:(i(n),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function f(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function g(e,t){return function(){var n,a,o,h,u;for(h=r(),n=s("star"),o=0,u=void 0===t?0:t;null!==(a=e());)o+=1,c(n,a);return o>=u?n:(i(h),null)}}function m(e){return e.charCodeAt(0)>=128}function w(){return o("cr",u("\r")())}function b(){return o("crlf",l(w,A)())}function k(){return o("dquote",u('"')())}function v(){return o("htab",u("\t")())}function A(){return o("lf",u("\n")())}function _(){return o("sp",u(" ")())}function E(){return o("vchar",h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n})))}function K(){return o("wsp",y(_,v)())}function S(){var e=o("quoted-pair",y(l(u("\\"),y(E,K)),ne)());return null===e?null:(e.semantic=e.semantic[1],e)}function x(){return o("fws",y(ae,l(d(l(g(K),p(b))),g(K,1)))())}function P(){return o("ctext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),te)())}function U(){return o("ccontent",y(P,S,D)())}function D(){return o("comment",l(u("("),g(l(d(x),U)),d(x),u(")"))())}function C(){return o("cfws",y(l(g(l(d(x),D),1),d(x)),x)())}function I(){return o("atext",h((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||m(t)),r})))}function T(){return o("atom",l(f(d(C)),g(I,1),f(d(C)))())}function B(){var e,t;return null===(e=o("dot-atom-text",g(I,1)()))||null!==(t=g(l(u("."),g(I,1)))())&&c(e,t),e}function z(){return o("dot-atom",l(p(d(C)),B,p(d(C)))())}function R(){return o("qtext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),re)())}function M(){return o("qcontent",y(R,S)())}function L(){return o("quoted-string",l(p(d(C)),p(k),g(l(d(f(x)),M)),d(p(x)),p(k),p(d(C)))())}function N(){return o("word",y(T,L)())}function O(){return o("address",y(F,q)())}function F(){return o("mailbox",y(H,J)())}function H(){return o("name-addr",l(d(G),j)())}function j(){return o("angle-addr",y(l(p(d(C)),u("<"),J,u(">"),p(d(C))),se)())}function q(){return o("group",l(G,u(":"),d($),u(";"),p(d(C)))())}function G(){return o("display-name",(null!==(e=o("phrase",y(ie,g(N,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function V(){return o("mailbox-list",y(l(F,g(l(u(","),F))),he)())}function W(){return o("address-list",y(l(O,g(l(u(","),O))),ue)())}function $(){return o("group-list",y(V,p(C),le)())}function Z(){return o("local-part",y(ye,z,L)())}function X(){return o("dtext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),pe)())}function Q(){return o("domain-literal",l(p(d(C)),u("["),g(l(d(x),X)),d(x),u("]"),p(d(C)))())}function Y(){return o("domain",(t=y(de,z,Q)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function J(){return o("addr-spec",l(Z,u("@"),Y)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",h((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ne(){return e.strict?null:o("obs-qp",l(u("\\"),y(u("\0"),ee,A,w))())}function ie(){return e.strict?null:e.atInDisplayName?o("obs-phrase",l(N,g(y(N,u("."),u("@"),f(C))))()):o("obs-phrase",l(N,g(y(N,u("."),f(C))))())}function ae(){return e.strict?null:o("obs-FWS",g(l(p(d(b)),K),1)())}function se(){return e.strict?null:o("obs-angle-addr",l(p(d(C)),u("<"),oe,J,u(">"),p(d(C)))())}function oe(){return e.strict?null:o("obs-route",l(ce,u(":"))())}function ce(){return e.strict?null:o("obs-domain-list",l(g(y(p(C),u(","))),u("@"),Y,g(l(u(","),p(d(C)),d(l(u("@"),Y)))))())}function he(){return e.strict?null:o("obs-mbox-list",l(g(l(p(d(C)),u(","))),F,g(l(u(","),d(l(F,p(C))))))())}function ue(){return e.strict?null:o("obs-addr-list",l(g(l(p(d(C)),u(","))),O,g(l(u(","),d(l(O,p(C))))))())}function le(){return e.strict?null:o("obs-group-list",l(g(l(p(d(C)),u(",")),1),p(d(C)))())}function ye(){return e.strict?null:o("obs-local-part",l(N,g(l(u("."),N)))())}function de(){return e.strict?null:o("obs-domain",l(T,g(l(u("."),T)))())}function pe(){return e.strict?null:o("obs-dtext",y(ee,S)())}function fe(e,t){var r,n,i;if(null==t)return null;for(n=[t];n.length>0;){if((i=n.pop()).name===e)return i;for(r=i.children.length-1;r>=0;r-=1)n.push(i.children[r])}return null}function ge(e,t){var r,n,i,a,s;if(null==t)return null;for(n=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;n.length>0;)if((i=n.pop()).name in s)a.push(i);else for(r=i.children.length-1;r>=0;r-=1)n.push(i.children[r]);return a}function me(t){var r,n,i,a,s;if(null===t)return null;for(r=[],n=ge(["group","mailbox"],t),i=0;i<n.length;i+=1)"group"===(a=n[i]).name?r.push(we(a)):"mailbox"===a.name&&r.push(be(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function we(e){var t,r=fe("display-name",e),n=[],i=ge(["mailbox"],e);for(t=0;t<i.length;t+=1)n.push(be(i[t]));return{node:e,parts:{name:r},type:e.name,name:ke(r),addresses:n}}function be(e){var t=fe("display-name",e),r=fe("addr-spec",e),n=function(e,t){var r,n,i,a;if(null==t)return null;for(n=[t],a=[];n.length>0;)for((i=n.pop()).name===e&&a.push(i),r=i.children.length-1;r>=0;r-=1)n.push(i.children[r]);return a}("cfws",e),i=ge(["comment"],e),a=fe("local-part",r),s=fe("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:n},type:e.name,name:ke(t),address:ke(r),local:ke(a),domain:ke(s),comments:ve(i),groupName:ke(e.groupName)}}function ke(e){return null!=e?e.semantic:null}function ve(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=ke(e[r]);return t}var Ae,_e,Ee,Ke,Se;if(null===(e=n(e,{})))return null;if(Ae=e.input,Se={address:O,"address-list":W,"angle-addr":j,from:function(){return o("from",y(V,W)())},group:q,mailbox:F,"mailbox-list":V,"reply-to":function(){return o("reply-to",W())},sender:function(){return o("sender",y(F,O)())}}[e.startAt]||W,!e.strict){if(a(),e.strict=!0,Ke=Se(Ae),e.partial||!t())return me(Ke);e.strict=!1}return a(),Ke=Se(Ae),!e.partial&&t()?null:me(Ke)}function n(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function n(e){return null==e}var i,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in i={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})n(e[a])&&(e[a]=n(t[a])?i[a]:t[a]);return e}r.parseOneAddress=function(e){return r(n(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(n(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class ru{static get tag(){return $.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(X.isString(e)||e.name&&!X.isString(e.name)||e.email&&!X.isEmailAddress(e.email)||e.comment&&!X.isString(e.comment))throw Error("Invalid user ID format");const t=new ru;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=ie){const r=X.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:n}=tu.parseOneAddress({input:r,atInDisplayName:!0});this.comment=n.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return X.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class nu extends Jh{static get tag(){return $.packet.secretSubkey}constructor(e=new Date,t=ie){super(e,t)}}class iu{static get tag(){return $.packet.trust}read(){throw new fi("Trust packets are not supported")}write(){throw new fi("Trust packets are not supported")}}const au=/*#__PURE__*/X.constructAllowedPackets([Sh]);class su{constructor(e){this.packets=e||new Dh}write(){return this.packets.write()}armor(e=ie){return de($.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function ou({armoredSignature:e,binarySignature:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!X.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!X.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:e,data:t}=await ye(i,r);if(e!==$.armor.signature)throw Error("Armored text not of type signature");i=t}const s=await Dh.fromBinary(i,au,r);return new su(s)}async function cu(e,t){const r=new nu(e.date,t);return r.packets=null,r.algorithm=$.write($.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function hu(e,t){const r=new Jh(e.date,t);return r.packets=null,r.algorithm=$.write($.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function uu(e,t,r,n,i=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,n,i,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw X.wrapError(`Could not find valid ${$.read($.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function lu(e,t,r=new Date){const n=X.normalizeDate(r);if(null!==n){const r=wu(e,t);return!(e.created<=n&&n<r)}return!1}async function yu(e,t,r,n){const i={};i.key=t,i.bind=e;const a={signatureType:$.signature.subkeyBinding};r.sign?(a.keyFlags=[$.keyFlags.signData],a.embeddedSignature=await fu(i,null,e,{signatureType:$.signature.keyBinding},r.date,void 0,void 0,void 0,n)):a.keyFlags=r.forwarding?[$.keyFlags.forwardedCommunication]:[$.keyFlags.encryptCommunication|$.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1);return await fu(i,null,t,a,r.date,void 0,void 0,void 0,n)}async function du(e,t,r=new Date,n={},i){let a=i.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,n,i);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=xa.hash.getHashByteLength(a)<=xa.hash.getHashByteLength(s)?s:a)}switch(t.algorithm){case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:case $.publicKey.ed25519:s=xa.getPreferredCurveHashAlgo(t.algorithm,t.publicParams.oid)}return xa.hash.getHashByteLength(a)<=xa.hash.getHashByteLength(s)?s:a}async function pu(e,t=[],r=new Date,n=[],i=ie){const a={symmetric:$.symmetric.aes128,aead:$.aead.eax,compression:$.compression.uncompressed}[e],s={symmetric:i.preferredSymmetricAlgorithm,aead:i.preferredAEADAlgorithm,compression:i.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e];return(await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,n[t],i)).selfCertification[o];return!!a&&a.indexOf(s)>=0})))).every(Boolean)?s:a}async function fu(e,t,r,n,i,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const h=new Sh;return Object.assign(h,n),h.publicKeyAlgorithm=r.algorithm,h.hashAlgorithm=await du(t,r,i,a,c),h.rawNotations=s,await h.sign(r,e,i,o),h}async function gu(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some((function(t){return X.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function mu(e,t,r,n,i,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(n.map((async function(e){try{i&&!e.issuerKeyID.equals(i.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),i?(i.revoked=!!c.some((e=>e.equals(i.issuerKeyID)))||(i.revoked||!1),i.revoked):c.length>0}function wu(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function bu(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=X.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"ecc":try{e.curve=$.write($.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==$.curve.ed25519Legacy&&e.curve!==$.curve.curve25519Legacy||(e.curve=e.sign?$.curve.ed25519Legacy:$.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===$.curve.ed25519Legacy?$.publicKey.eddsaLegacy:$.publicKey.ecdsa:e.algorithm=$.publicKey.ecdh;break;case"rsa":e.algorithm=$.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=$.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=$.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function ku(e,t){const r=e.algorithm;return r!==$.publicKey.rsaEncrypt&&r!==$.publicKey.elgamal&&r!==$.publicKey.ecdh&&r!==$.publicKey.x25519&&(!t.keyFlags||0!=(t.keyFlags[0]&$.keyFlags.signData))}function vu(e,t){const r=e.algorithm;return r!==$.publicKey.dsa&&r!==$.publicKey.rsaSign&&r!==$.publicKey.ecdsa&&r!==$.publicKey.eddsaLegacy&&r!==$.publicKey.ed25519&&(!t.keyFlags||0!=(t.keyFlags[0]&$.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&$.keyFlags.encryptStorage))}function Au(e,t){return!(e.keyFlags&&0==(e.keyFlags[0]&$.keyFlags.sign)&&0==(e.keyFlags[0]&$.keyFlags.certifyKeys)&&0==(e.keyFlags[0]&$.keyFlags.authentication)||!t.allowInsecureDecryptionWithSigningKeys)||(!e.keyFlags||0!=(e.keyFlags[0]&$.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&$.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&$.keyFlags.forwardedCommunication))}function _u(e,t){const r=$.write($.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(n.algorithm+" keys are considered too weak.");switch(r){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:case $.publicKey.rsaEncrypt:if(n.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:case $.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class Eu{constructor(e,t){this.userID=e.constructor.tag===$.packet.userID?e:null,this.userAttribute=e.constructor.tag===$.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Dh;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new Eu(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n},a=new Eu(i.userID||i.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(n))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return fu(i,e,a.keyPacket,{signatureType:$.signature.certGeneric,keyFlags:[$.keyFlags.certifyKeys|$.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,n=ie){const i=this.mainKey.keyPacket;return mu(i,$.signature.certRevocation,{key:i,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,n)}async verifyCertificate(e,t,r=new Date,n){const i=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,a.keyPacket,r,n))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,$.signature.certGeneric,s,r,void 0,n)}catch(e){throw X.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map((async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(n,$.signature.certGeneric,i,e,void 0,t)}catch(e){throw X.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await gu(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(n,$.signature.certGeneric,i,t,!1,r),!0}catch(e){return!1}})),await gu(e,this,"otherCertifications",t),await gu(e,this,"revocationSignatures",t,(function(e){return mu(n,$.signature.certRevocation,i,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=$.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new Eu(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await fu(a,null,e,{signatureType:$.signature.certRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await s.update(this),s}}class Ku{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Dh;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Ku(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=ie){const i=this.mainKey.keyPacket;return mu(i,$.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=ie){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await uu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(lu(this.keyPacket,i,e))throw Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=ie){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await uu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t)}catch(e){return null}const a=wu(this.keyPacket,i),s=i.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=ie){const n=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===$.packet.publicSubkey&&e.keyPacket.constructor.tag===$.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const i=this,a={key:n,bind:i.keyPacket};await gu(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<i.bindingSignatures.length;t++)if(i.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>i.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,$.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await gu(e,this,"revocationSignatures",t,(function(e){return mu(n,$.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=$.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={key:e,bind:this.keyPacket},s=new Ku(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await fu(a,null,e,{signatureType:$.signature.subkeyRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{Ku.prototype[e]=function(){return this.keyPacket[e]()}}));const Su=/*#__PURE__*/X.constructAllowedPackets([Sh]),xu=new Set([$.packet.publicKey,$.packet.privateKey]),Pu=new Set([$.packet.publicKey,$.packet.privateKey,$.packet.publicSubkey,$.packet.privateSubkey]);class Uu{packetListToStructure(e,t=new Set){let r,n,i,a;for(const s of e){if(s instanceof gi){Pu.has(s.tag)&&!a&&(a=xu.has(s.tag)?xu:Pu);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case $.packet.publicKey:case $.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,n=this.getKeyID(),!n)throw Error("Missing Key ID");break;case $.packet.userID:case $.packet.userAttribute:r=new Eu(s,this),this.users.push(r);break;case $.packet.publicSubkey:case $.packet.secretSubkey:r=null,i=new Ku(s,this),this.subkeys.push(i);break;case $.packet.signature:switch(s.signatureType){case $.signature.certGeneric:case $.signature.certPersona:case $.signature.certCasual:case $.signature.certPositive:if(!r){X.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(n)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case $.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case $.signature.key:this.directSignatures.push(s);break;case $.signature.subkeyBinding:if(!i){X.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(s);break;case $.signature.keyRevocation:this.revocationSignatures.push(s);break;case $.signature.subkeyRevocation:if(!i){X.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(s)}}}}toPacketList(){const e=new Dh;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=ie){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},a=await uu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(!ku(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await uu([a.embeddedSignature],r.keyPacket,$.signature.keyBinding,e,t,n),_u(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&ku(i,a.selfCertification))return _u(i,n),this}catch(e){s=e}throw X.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},n=ie){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},a=await uu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(vu(r.keyPacket,a))return _u(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&vu(i,a.selfCertification))return _u(i,n),this}catch(e){s=e}throw X.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,n=ie){return mu(this.keyPacket,$.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=ie){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:i}=await this.getPrimaryUser(e,t,r);if(lu(n,i,e))throw Error("Primary key is expired");const a=await uu(this.directSignatures,n,$.signature.key,{key:n},e,r).catch((()=>{}));if(a&&lu(n,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=ie){let r;try{const{selfCertification:n}=await this.getPrimaryUser(null,e,t),i=wu(this.keyPacket,n),a=n.getExpirationTime(),s=await uu(this.directSignatures,this.keyPacket,$.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=wu(this.keyPacket,s);r=Math.min(i,a,e)}else r=i<a?i:a}catch(e){r=null}return X.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=ie){const n=this.keyPacket,i=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:n},c=await uu(a.selfCertifications,n,$.signature.certGeneric,o,e,r);i.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!i.length)throw a||Error("Could not find primary user");await Promise.all(i.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=i.sort((function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=ie){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await gu(e,n,"revocationSignatures",t,(i=>mu(n.keyPacket,$.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await gu(e,n,"directSignatures",t),await Promise.all(e.users.map((async e=>{const i=n.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const i=n.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}}))),n}async getRevocationCertificate(e=new Date,t=ie){const r={key:this.keyPacket},n=await uu(this.revocationSignatures,this.keyPacket,$.signature.keyRevocation,r,e,t),i=new Dh;return i.push(n),de($.armor.publicKey,i.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=ie){const n=await ye(e,r),i=(await Dh.fromBinary(n.data,Su,r)).findPacket($.packet.signature);if(!i||i.signatureType!==$.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,$.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw X.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(i),a}async signPrimaryUser(e,t,r,n=ie){const{index:i,user:a}=await this.getPrimaryUser(t,r,n),s=await a.certify(e,t,n),o=this.clone();return o.users[i]=s,o}async signAllUsers(e,t=new Date,r=ie){const n=this.clone();return n.users=await Promise.all(this.users.map((function(n){return n.certify(e,t,r)}))),n}async verifyPrimaryUser(e,t=new Date,r,n=ie){const i=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,n);return e?await a.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await a.verify(t,n).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=ie){const n=this.keyPacket,i=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];i.push(...s.map((e=>({userID:a.userID?a.userID.userID:null,userAttribute:a.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{Uu.prototype[e]=Ku.prototype[e]}));class Du extends Uu{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([$.packet.secretKey,$.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=ie){return de($.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class Cu extends Du{constructor(e){if(super(),this.packetListToStructure(e,new Set([$.packet.publicKey,$.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Dh,t=this.toPacketList();let r=!1;for(const n of t)if(!r||n.constructor.tag!==$.packet.Signature)switch(r&&(r=!1),n.constructor.tag){case $.packet.secretKey:{const t=$.write($.publicKey,n.algorithm);if(t===$.publicKey.aead||t===$.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=Wh.fromSecretKeyPacket(n);e.push(r);break}case $.packet.secretSubkey:{const t=$.write($.publicKey,n.algorithm);if(t===$.publicKey.aead||t===$.publicKey.hmac){r=!0;break}const i=Qh.fromSecretSubkeyPacket(n);e.push(i);break}default:e.push(n)}return new Du(e)}armor(e=ie){return de($.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},n=ie){const i=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:i,bind:this.subkeys[r].keyPacket};Au(await uu(this.subkeys[r].bindingSignatures,i,$.signature.subkeyBinding,e,t,n),n)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,n);return e&&!i.getKeyID().equals(e,!0)||!Au(s.selfCertification,n)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=ie){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map((e=>e.keyPacket.isDummy())).every(Boolean))throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=$.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=ie){if(!this.isPrivate())throw Error("Need private key for revoking");const i={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await fu(i,null,this.keyPacket,{signatureType:$.signature.keyRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),a}async addSubkey(e={}){const t={...ie,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const n=r.getAlgorithmInfo();n.type=n.curve?"ecc":"rsa",n.rsaBits=n.bits||4096,n.curve=n.curve||"curve25519",e=bu(e,n);const i=await cu(e);_u(i,t);const a=await yu(i,r,e,t),s=this.toPacketList();return s.push(i,a),new Cu(s)}}const Iu=/*#__PURE__*/X.constructAllowedPackets([Wh,Qh,Jh,nu,ru,Yh,Sh]);function Tu(e){for(const t of e)switch(t.constructor.tag){case $.packet.secretKey:return new Cu(e);case $.packet.publicKey:return new Du(e)}throw Error("No key packet found")}async function Bu(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map((async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)})));const i=new Dh;i.push(e),await Promise.all(r.userIDs.map((async function(t,i){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=ru.fromObject(t),o={};o.userID=s,o.key=e;const c={};c.signatureType=$.signature.certGeneric,c.keyFlags=[$.keyFlags.certifyKeys|$.keyFlags.signData],c.preferredSymmetricAlgorithms=a([$.symmetric.aes256,$.symmetric.aes128,$.symmetric.aes192],n.preferredSymmetricAlgorithm),n.aeadProtect&&(c.preferredAEADAlgorithms=a([$.aead.eax,$.aead.ocb],n.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([$.hash.sha256,$.hash.sha512],n.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([$.compression.zlib,$.compression.zip,$.compression.uncompressed],n.preferredCompressionAlgorithm),0===i&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=$.features.modificationDetection,n.aeadProtect&&(c.features[0]|=$.features.aead),n.v5Keys&&(c.features[0]|=$.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1);return{userIDPacket:s,signaturePacket:await fu(o,null,e,c,r.date,void 0,void 0,void 0,n)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)}))})),await Promise.all(t.map((async function(t,i){const a=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await yu(t,e,a,n)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)}))}));const a={key:e};return i.push(await fu(a,null,e,{signatureType:$.signature.keyRevocation,reasonForRevocationFlag:$.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new Cu(i)}async function zu({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...ie,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!X.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!X.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let a;if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.publicKey&&t!==$.armor.privateKey)throw Error("Armored text not of type key");a=n}else a=t;return Tu(await Dh.fromBinary(a,Iu,r))}async function Ru({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...ie,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!X.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!X.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let a;if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.privateKey)throw Error("Armored text not of type private key");a=n}else a=t;const s=await Dh.fromBinary(a,Iu,r);return new Cu(s)}async function Mu({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!X.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!X.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.publicKey&&t!==$.armor.privateKey)throw Error("Armored text not of type key");i=n}const s=[],o=await Dh.fromBinary(i,Iu,r),c=o.indexOfTag($.packet.publicKey,$.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=Tu(o.slice(c[e],c[e+1]));s.push(t)}return s}async function Lu({armoredKeys:e,binaryKeys:t,config:r}){r={...ie,...r};let n=e||t;if(!n)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!X.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!X.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:i}=await ye(e,r);if(t!==$.armor.privateKey)throw Error("Armored text not of type private key");n=i}const i=[],a=await Dh.fromBinary(n,Iu,r),s=a.indexOfTag($.packet.secretKey);if(0===s.length)throw Error("No secret key packet found");for(let e=0;e<s.length;e++){const t=a.slice(s[e],s[e+1]),r=new Cu(t);i.push(r)}return i}const Nu=/*#__PURE__*/X.constructAllowedPackets([_h,Ih,jh,Fh,Zh,qh,Vh,Ph,Sh]),Ou=/*#__PURE__*/X.constructAllowedPackets([Vh]),Fu=/*#__PURE__*/X.constructAllowedPackets([Sh]);class Hu{constructor(e){this.packets=e||new Dh}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag($.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag($.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag($.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,n=new Date,i=ie){const a=r||await this.decryptSessionKeys(e,t,n,i),s=this.packets.filterByTag($.packet.symmetricallyEncryptedData,$.packet.symEncryptedIntegrityProtectedData,$.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const h=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!X.isUint8Array(t)||!X.isString(e))throw Error("Invalid session key for decryption.");try{const r=$.write($.symmetric,e);await o.decrypt(r,t,i)}catch(e){X.printDebugError(e),c=e}})));if(j(o.encrypted),o.encrypted=null,await h,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const u=new Hu(o.packets);return o.packets=new Dh,u}async decryptSessionKeys(e,t,r=new Date,n=ie){let i,a=[];if(t){const e=this.packets.filterByTag($.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let s;s=r?await Dh.fromBinary(e.write(),Ou,n):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){X.printDebugError(e),e instanceof Pa&&(i=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag($.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[$.symmetric.aes256,$.symmetric.aes128,$.symmetric.tripledes,$.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,n);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,n)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(n.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===$.publicKey.rsaEncrypt||t.publicKeyAlgorithm===$.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===$.publicKey.rsaSign||t.publicKeyAlgorithm===$.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(n.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const n=new qh;n.read(r);const s={sessionKeyAlgorithm:t,sessionKey:xa.generateSessionKey(t)};try{await n.decrypt(e,s),a.push(n)}catch(e){X.printDebugError(e),i=e}})))}else try{if(await t.decrypt(e),!s.includes($.write($.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){X.printDebugError(e),i=e}})))}))),j(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+X.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:$.read($.symmetric,e.sessionKeyAlgorithm)})))}throw i||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=ie){const i=await pu("symmetric",e,t,r,n),a=$.read($.symmetric,i),s=n.aeadProtect&&await async function(e,t=new Date,r=[],n=ie){let i=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],n);s.selfCertification.features&&s.selfCertification.features[0]&$.features.aead||(i=!1)}))),i}(e,t,r,n)?$.read($.aead,await pu("aead",e,t,r,n)):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&e.keyPacket.algorithm===$.publicKey.x25519&&!X.isAES(i))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:xa.generateSessionKey(i),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,n=!1,i=[],a=new Date,s=[],o=ie){if(r){if(!X.isUint8Array(r.data)||!X.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Hu.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Hu.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:h,aeadAlgorithm:u}=r,l=await Hu.encryptSessionKey(c,h,u,e,t,n,i,a,s,o);let y;u?(y=new jh,y.aeadAlgorithm=$.write($.aead,u)):y=new Fh,y.packets=this.packets;const d=$.write($.symmetric,h);return await y.encrypt(d,c,o),l.packets.push(y),y.packets=new Dh,l}static async encryptSessionKey(e,t,r,n,i,a=!1,s=[],o=new Date,c=[],h=ie){const u=new Dh,l=$.write($.symmetric,t),y=r&&$.write($.aead,r);if(n){const t=await Promise.all(n.map((async function(t,r){const n=await t.getEncryptionKey(s[r],o,c,h),i=new qh;return i.publicKeyID=a?pe.wildcard():n.getKeyID(),i.publicKeyAlgorithm=n.keyPacket.algorithm,i.sessionKey=e,i.sessionKeyAlgorithm=l,await i.encrypt(n.keyPacket),delete i.sessionKey,i})));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,n=async function(e,a,s,o){const c=new Vh(h);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,h),h.passwordCollisionCheck){if(1!==(await Promise.all(i.map((e=>t(c,e))))).reduce(r))return n(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(i.map((t=>n(e,l,y,t))));u.push(...a)}return new Hu(u)}async sign(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new Dh,c=this.packets.findPacket($.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let h,u;const l=null===c.text?$.signature.binary:$.signature.text;if(t)for(u=t.packets.filterByTag($.packet.signature),h=u.length-1;h>=0;h--){const t=u[h],r=new Ph;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==h||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,n,i,s),h=new Ph;return h.signatureType=l,h.hashAlgorithm=await du(t,c.keyPacket,n,i,s),h.publicKeyAlgorithm=c.keyPacket.algorithm,h.issuerKeyID=c.getKeyID(),a===e.length-1&&(h.flags=1),h}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await ju(c,e,t,r,n,i,a,!1,s)),new Hu(o)}compress(e,t=ie){if(e===$.compression.uncompressed)return this;const r=new Ih(t);r.algorithm=e,r.packets=this.packets;const n=new Dh;return n.push(r),new Hu(n)}async signDetached(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=this.packets.findPacket($.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new su(await ju(o,e,t,r,n,i,a,!0,s))}async verify(e,t=new Date,r=ie){const n=this.unwrapCompressed(),i=n.packets.filterByTag($.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");s(n.packets.stream)&&n.packets.push(...await H(n.packets.stream,(e=>e||[])));const a=n.packets.filterByTag($.packet.onePassSignature).reverse(),o=n.packets.filterByTag($.packet.signature);return a.length&&!o.length&&X.isStream(n.packets.stream)&&!s(n.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=q((async()=>(await e.correspondingSig).signatureData)),e.hashed=H(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch((()=>{}))}))),n.packets.stream=R(n.packets.stream,(async(e,t)=>{const r=D(e),n=C(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await n.ready,await n.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await n.abort(e)}})),qu(a,i,e,t,!1,r)):qu(o,i,e,t,!1,r)}verifyDetached(e,t,r=new Date,n=ie){const i=this.unwrapCompressed().packets.filterByTag($.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");return qu(e.packets.filterByTag($.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag($.packet.compressedData);return e.length?new Hu(e[0].packets):this}async appendSignature(e,t=ie){await this.packets.read(X.isUint8Array(e)?e:(await ye(e)).data,Fu,t)}write(){return this.packets.write()}armor(e=ie){return de($.armor.message,this.write(),null,null,null,e)}}async function ju(e,t,r=null,n=[],i=new Date,a=[],s=[],o=!1,c=ie){const h=new Dh,u=null===e.text?$.signature.binary:$.signature.text;if(await Promise.all(t.map((async(t,r)=>{const h=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const l=await t.getSigningKey(n[r],i,h,c);return fu(e,t,l.keyPacket,{signatureType:u},i,h,s,o,c)}))).then((e=>{h.push(...e)})),r){const e=r.packets.filterByTag($.packet.signature);h.push(...e)}return h}async function qu(e,t,r,n=new Date,i=!1,a=ie){return Promise.all(e.filter((function(e){return["text","binary"].includes($.read($.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,n=new Date,i=!1,a=ie){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof Ph?e.correspondingSig:e,h={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],n,i,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),n,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new Dh;return e&&t.push(e),new su(t)})()};return h.signature.catch((()=>{})),h.verified.catch((()=>{})),h}(e,t,r,n,i,a)})))}async function Gu({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!X.isString(e)&&!X.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!X.isUint8Array(t)&&!X.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));const s=X.isStream(i);if(s&&(await K(),i=x(i)),e){const{type:e,data:t}=await ye(i,r);if(e!==$.armor.message)throw Error("Armored text not of type message");i=t}const o=await Dh.fromBinary(i,Nu,r),c=new Hu(o);return c.fromStream=s,c}async function Vu({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...a}){let s=void 0!==e?e:t;if(void 0===s)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!X.isString(e)&&!X.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!X.isUint8Array(t)&&!X.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=X.isStream(s);c&&(await K(),s=x(s));const h=new _h(n);void 0!==e?h.setText(s,$.write($.literal,i)):h.setBytes(s,$.write($.literal,i)),void 0!==r&&h.setFilename(r);const u=new Dh;u.push(h);const l=new Hu(u);return l.fromStream=c,l}const Wu=/*#__PURE__*/X.constructAllowedPackets([Sh]);class $u{constructor(e,t){if(this.text=X.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof su))throw Error("Invalid signature input");this.signature=t||new su(new Dh)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new _h;o.setText(this.text);const c=new su(await ju(o,e,t,r,n,i,a,!0,s));return new $u(this.text,c)}verify(e,t=new Date,r=ie){const n=this.signature.packets.filterByTag($.packet.signature),i=new _h;return i.setText(this.text),qu(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=ie){let t=this.signature.packets.map((function(e){return $.read($.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return de($.armor.signed,r,void 0,void 0,void 0,e)}}async function Zu({cleartextMessage:e,config:t,...r}){if(t={...ie,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!X.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw Error("Unknown option: "+n.join(", "));const i=await ye(e);if(i.type!==$.armor.signed)throw Error("No cleartext signed message.");const a=await Dh.fromBinary(i.data,Wu,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n<t.length;n++)if(t[n].constructor.tag===$.packet.signature&&!e.some(r(t[n])))return!1;return!0};let n=null,i=[];if(e.forEach((function(e){if(n=e.match(/^Hash: (.+)$/),!n)throw Error('Only "Hash" header allowed in cleartext signed message');n=n[1].replace(/\s/g,""),n=n.split(","),n=n.map((function(e){e=e.toLowerCase();try{return $.write($.hash,e)}catch(t){throw Error("Unknown hash algorithm in armor header: "+e)}})),i=i.concat(n)})),!i.length&&!r([$.hash.md5]))throw Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');if(i.length&&!r(i))throw Error("Hash algorithm mismatch in armor header and signature")}(i.headers,a);const s=new su(a);return new $u(i.text,s)}async function Xu({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!X.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new $u(e)}async function Qu({userIDs:e=[],passphrase:t,type:r="ecc",rsaBits:n=4096,curve:i="curve25519",keyExpirationTime:a=0,date:s=new Date,subkeys:o=[{}],format:c="armored",config:h,symmetricHash:u="sha256",symmetricCipher:l="aes256",...y}){dl(h={...ie,...h}),e=pl(e);const d=Object.keys(y);if(d.length>0)throw Error("Unknown option: "+d.join(", "));if(0===e.length)throw Error("UserIDs are required for key generation");if("rsa"===r&&n<h.minRSABits)throw Error(`rsaBits should be at least ${h.minRSABits}, got: ${n}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:n,curve:i,keyExpirationTime:a,date:s,subkeys:o,symmetricHash:u,symmetricCipher:l};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=bu(e)).subkeys=e.subkeys.map(((t,r)=>bu(e.subkeys[r],e)));let r=[hu(e,t)];r=r.concat(e.subkeys.map((e=>cu(e,t))));const n=await Promise.all(r),i=await Bu(n[0],n.slice(1),e,t),a=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:a}}(p,h);return e.getKeys().forEach((({keyPacket:e})=>_u(e,h))),{privateKey:ml(e,c,h),publicKey:"symmetric"!==r?ml(e.toPublic(),c,h):null,revocationCertificate:t}}catch(e){throw X.wrapError("Error generating keypair",e)}}async function Yu({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:a="armored",config:s,...o}){dl(s={...ie,...s}),t=pl(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length)throw Error("UserIDs are required for key reformat");const h={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:n,date:i};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const n=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,i={key:n,bind:r},a=await uu(e.bindingSignatures,n,$.signature.subkeyBinding,i,null,t).catch((()=>({})));return{sign:a.keyFlags&&a.keyFlags[0]&$.keyFlags.signData,forwarding:a.keyFlags&&a.keyFlags[0]&$.keyFlags.forwardedCommunication}}))));const i=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==i.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const a=await Bu(n,i,e,t),s=await a.getRevocationCertificate(e.date,t);return a.revocationSignatures=[],{key:a,revocationCertificate:s};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=X.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(h,s);return{privateKey:ml(e,a,s),publicKey:ml(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw X.wrapError("Error reformatting keypair",e)}}async function Ju({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:a,...s}){dl(a={...ie,...a});const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const s=t?await e.applyRevocationCertificate(t,n,a):await e.revoke(r,n,a);return s.isPrivate()?{privateKey:ml(s,i,a),publicKey:ml(s.toPublic(),i,a)}:{privateKey:null,publicKey:ml(s,i,a)}}catch(e){throw X.wrapError("Error revoking key",e)}}async function el({privateKey:e,passphrase:t,config:r,...n}){dl(r={...ie,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const a=e.clone(!0),s=X.isArray(t)?t:[t];try{return await Promise.all(a.getKeys().map((e=>X.anyPromise(s.map((t=>e.keyPacket.decrypt(t))))))),await a.validate(r),a}catch(e){throw a.clearPrivateParams(),X.wrapError("Error decrypting private key",e)}}async function tl({privateKey:e,passphrase:t,config:r,...n}){dl(r={...ie,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const a=e.clone(!0),s=a.getKeys(),o=X.isArray(t)?t:Array(s.length).fill(t);if(o.length!==s.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(s.map((async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()}))),a}catch(e){throw a.clearPrivateParams(),X.wrapError("Error encrypting private key",e)}}async function rl({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:a="armored",signature:s=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:h=[],date:u=new Date,signingUserIDs:l=[],encryptionUserIDs:y=[],signatureNotations:d=[],config:p,...f}){if(dl(p={...ie,...p}),hl(e),ll(a),t=pl(t),r=pl(r),n=pl(n),c=pl(c),h=pl(h),l=pl(l),y=pl(y),d=pl(d),f.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(f.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(f.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==f.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(f);if(g.length>0)throw Error("Unknown option: "+g.join(", "));r||(r=[]);const m=e.fromStream;try{if((r.length||s)&&(e=await e.sign(r,s,c,u,l,d,p)),e=e.compress(await pu("compression",t,u,y,p),p),e=await e.encrypt(t,n,i,o,h,u,y,p),"object"===a)return e;const f="armored"===a;return fl(f?e.armor(p):e.write(),m,f?"utf8":"binary")}catch(e){throw X.wrapError("Error encrypting message",e)}}async function nl({message:e,decryptionKeys:t,passwords:r,sessionKeys:n,verificationKeys:i,expectSigned:a=!1,format:s="utf8",signature:o=null,date:c=new Date,config:h,...u}){if(dl(h={...ie,...h}),hl(e),i=pl(i),t=pl(t),r=pl(r),n=pl(n),u.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(u.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const l=Object.keys(u);if(l.length>0)throw Error("Unknown option: "+l.join(", "));try{const u=await e.decrypt(t,r,n,c,h);i||(i=[]);const l={};if(l.signatures=o?await u.verifyDetached(o,i,c,h):await u.verify(i,c,h),l.data="binary"===s?u.getLiteralData():u.getText(),l.filename=u.getFilename(),gl(l,e),a){if(0===i.length)throw Error("Verification keys are required to verify message signatures");if(0===l.signatures.length)throw Error("Message is not signed");l.data=U([l.data,q((async()=>{await X.anyPromise(l.signatures.map((e=>e.verified)))}))])}return l.data=await fl(l.data,e.fromStream,s),l}catch(e){throw X.wrapError("Error decrypting message",e)}}async function il({message:e,signingKeys:t,format:r="armored",detached:n=!1,signingKeyIDs:i=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...h}){if(dl(c={...ie,...c}),ul(e),ll(r),t=pl(t),i=pl(i),s=pl(s),o=pl(o),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const u=Object.keys(h);if(u.length>0)throw Error("Unknown option: "+u.join(", "));if(e instanceof $u&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof $u&&n)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let h;if(h=n?await e.signDetached(t,void 0,i,a,s,o,c):await e.sign(t,void 0,i,a,s,o,c),"object"===r)return h;const u="armored"===r;return h=u?h.armor(c):h.write(),n&&(h=R(e.packets.write(),(async(e,t)=>{await Promise.all([I(h,t),H(e).catch((()=>{}))])}))),fl(h,e.fromStream,u?"utf8":"binary")}catch(e){throw X.wrapError("Error signing message",e)}}async function al({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:a=new Date,config:s,...o}){if(dl(s={...ie,...s}),ul(e),t=pl(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof $u&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof $u&&i)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=i?await e.verifyDetached(i,t,a,s):await e.verify(t,a,s),o.data="binary"===n?e.getLiteralData():e.getText(),e.fromStream&&gl(o,e),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=U([o.data,q((async()=>{await X.anyPromise(o.signatures.map((e=>e.verified)))}))])}return o.data=await fl(o.data,e.fromStream,n),o}catch(e){throw X.wrapError("Error verifying signed message",e)}}async function sl({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(dl(n={...ie,...n}),e=pl(e),r=pl(r),i.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await Hu.generateSessionKey(e,t,r,n)}catch(e){throw X.wrapError("Error generating session key",e)}}async function ol({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:n,passwords:i,format:a="armored",wildcard:s=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:h=[],config:u,...l}){if(dl(u={...ie,...u}),function(e,t){if(!X.isUint8Array(e))throw Error("Parameter ["+(t||"data")+"] must be of type Uint8Array")}(e),function(e,t){if(!X.isString(e))throw Error("Parameter ["+(t||"data")+"] must be of type String")}(t,"algorithm"),ll(a),n=pl(n),i=pl(i),o=pl(o),h=pl(h),l.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const y=Object.keys(l);if(y.length>0)throw Error("Unknown option: "+y.join(", "));if(!(n&&0!==n.length||i&&0!==i.length))throw Error("No encryption keys or passwords provided.");try{return ml(await Hu.encryptSessionKey(e,t,r,n,i,s,o,c,h,u),a,u)}catch(e){throw X.wrapError("Error encrypting session key",e)}}async function cl({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...a}){if(dl(i={...ie,...i}),hl(e),t=pl(t),r=pl(r),a.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const s=Object.keys(a);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await e.decryptSessionKeys(t,r,n,i)}catch(e){throw X.wrapError("Error decrypting session keys",e)}}function hl(e){if(!(e instanceof Hu))throw Error("Parameter [message] needs to be of type Message")}function ul(e){if(!(e instanceof $u||e instanceof Hu))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function ll(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const yl=Object.keys(ie).length;function dl(e){const t=Object.keys(e);if(t.length!==yl)for(const e of t)if(void 0===ie[e])throw Error("Unknown config property: "+e)}function pl(e){return e&&!X.isArray(e)&&(e=[e]),e}async function fl(e,t,r="utf8"){const n=X.isStream(e);return"array"===n?H(e):"node"===t?(e=g(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===n?v(e):e}function gl(e,t){e.data=R(t.packets.stream,(async(t,r)=>{await I(e.data,r,{preventClose:!0});const n=C(r);try{await H(t,(e=>e)),await n.close()}catch(e){await n.abort(e)}}))}function ml(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}export{jh as AEADEncryptedDataPacket,Pa as Argon2OutOfMemoryError,Ca as Argon2S2K,$u as CleartextMessage,Ih as CompressedDataPacket,ga as KDFParams,_h as LiteralDataPacket,Xh as MarkerPacket,Hu as Message,Ph as OnePassSignaturePacket,Dh as PacketList,Cu as PrivateKey,Du as PublicKey,qh as PublicKeyEncryptedSessionKeyPacket,Wh as PublicKeyPacket,Qh as PublicSubkeyPacket,Jh as SecretKeyPacket,nu as SecretSubkeyPacket,su as Signature,Sh as SignaturePacket,Ku as Subkey,Fh as SymEncryptedIntegrityProtectedDataPacket,Vh as SymEncryptedSessionKeyPacket,Zh as SymmetricallyEncryptedDataPacket,iu as TrustPacket,gi as UnparseablePacket,Yh as UserAttributePacket,ru as UserIDPacket,Mt as _,tt as a,de as armor,At as b,rt as c,ie as config,Xu as createCleartextMessage,Vu as createMessage,gt as d,nl as decrypt,el as decryptKey,cl as decryptSessionKeys,zt as e,rl as encrypt,tl as encryptKey,ol as encryptSessionKey,$ as enums,yr as f,Yt as g,Qu as generateKey,sl as generateSessionKey,it as i,Je as m,xr as r,Zu as readCleartextMessage,zu as readKey,Mu as readKeys,Gu as readMessage,Ru as readPrivateKey,Lu as readPrivateKeys,ou as readSignature,Yu as reformatKey,Ju as revokeKey,il as sign,dt as u,ye as unarmor,al as verify};
1
+ /*! OpenPGP.js v5.11.2-0 - 2024-04-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
+ const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=Symbol("doneWritingPromise"),r=Symbol("doneWritingResolve"),n=Symbol("doneWritingReject"),i=Symbol("readingIndex");class a extends Array{constructor(){super(),this[t]=new Promise(((e,t)=>{this[r]=e,this[n]=t})),this[t].catch((()=>{}))}}function s(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!s(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}a.prototype.getReader=function(){return void 0===this[i]&&(this[i]=0),{read:async()=>(await this[t],this[i]===this.length?{value:void 0,done:!0}:{value:this[this[i]++],done:!1})}},a.prototype.readToEnd=async function(e){await this[t];const r=e(this.slice(this[i]));return this.length=0,r},a.prototype.clone=function(){const e=new a;return e[t]=this[t].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[r]()},o.prototype.abort=async function(e){return this.stream[n](e),e},o.prototype.releaseLock=function(){};const c="object"==typeof e.process&&"object"==typeof e.process.versions,h=c&&void 0;function u(t){return s(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":A&&A.prototype.isPrototypeOf(t)?"ponyfill":h&&h.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function l(e){return Uint8Array.prototype.isPrototypeOf(e)}function y(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!l(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r}const d=c&&void 0,p=c&&void 0;let f,g;if(p){f=function(e){let t=!1;return new A({start(r){e.pause(),e.on("data",(n=>{t||(d.isBuffer(n)&&(n=new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),r.enqueue(n),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends p{constructor(e,t){super(t),this._reader=D(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t))break}}catch(e){this.destroy(e)}}async _destroy(e,t){this._reader.cancel(e).then(t,t)}}g=function(t,r){return new e(t,r)}}const m=new WeakSet,w=Symbol("externalBuffer");function b(e){if(this.stream=e,e[w]&&(this[w]=e[w].slice()),s(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=async()=>{})}let t=u(e);if("node"===t&&(e=f(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||m.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{m.add(e)}catch(e){}}}b.prototype.read=async function(){if(this[w]&&this[w].length){return{done:!1,value:this[w].shift()}}return this._read()},b.prototype.releaseLock=function(){this[w]&&(this.stream[w]=this[w]),this._releaseLock()},b.prototype.cancel=function(e){return this._cancel(e)},b.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?U(t):void 0;const i=n.indexOf("\n")+1;i&&(e=U(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},b.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(F(t,1)),r},b.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?U(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=U(t);return this.unshift(F(r,e)),F(r,0,e)}}},b.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},b.prototype.unshift=function(...e){this[w]||(this[w]=[]),1===e.length&&l(e[0])&&this[w].length&&e[0].length&&this[w][0].byteOffset>=e[0].length?this[w][0]=new Uint8Array(this[w][0].buffer,this[w][0].byteOffset-e[0].length,this[w][0].byteLength+e[0].length):this[w].unshift(...e.filter((e=>e&&e.length)))},b.prototype.readToEnd=async function(e=U){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let k,v,{ReadableStream:A,WritableStream:_,TransformStream:E}=e;async function S(){if(E)return;const[t,r]=await Promise.all([import("./ponyfill.es6.min.mjs"),import("./web-streams-adapter.min.mjs")]);({ReadableStream:A,WritableStream:_,TransformStream:E}=t);const{createReadableStreamWrapper:n}=r;e.ReadableStream&&A!==e.ReadableStream&&(k=n(A),v=n(e.ReadableStream))}const K=c&&void 0;function x(e){let t=u(e);return"node"===t?f(e):"web"===t&&k?k(e):t?e:new A({start(t){t.enqueue(e),t.close()}})}function P(e){if(u(e))return e;const t=new a;return(async()=>{const r=C(t);await r.write(e),await r.close()})(),t}function U(e){return e.some((e=>u(e)&&!s(e)))?function(e){e=e.map(x);const t=B((async function(e){await Promise.all(n.map((t=>j(t,e))))}));let r=Promise.resolve();const n=e.map(((n,i)=>R(n,((n,a)=>(r=r.then((()=>I(n,t.writable,{preventClose:i!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>s(e)))?function(e){const t=new a;let r=Promise.resolve();return e.forEach(((n,i)=>(r=r.then((()=>I(n,t,{preventClose:i!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):K&&K.isBuffer(e[0])?K.concat(e):y(e)}function D(e){return new b(e)}function C(e){return new o(e)}async function I(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(u(e)&&!s(e)){e=x(e);try{if(e[w]){const r=C(t);for(let t=0;t<e[w].length;t++)await r.ready,await r.write(e[w][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:n,preventCancel:i})}catch(e){}return}const a=D(e=P(e)),o=C(t);try{for(;;){await o.ready;const{done:e,value:t}=await a.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){n||await o.abort(e)}finally{a.releaseLock(),o.releaseLock()}}function T(e,t){const r=new E(t);return I(e,r.writable),r.readable}function B(e){let t,r,n=!1;return{readable:new A({start(e){r=e},pull(){t?t():n=!0},cancel:e},{highWaterMark:0}),writable:new _({write:async function(e){r.enqueue(e),n?n=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function z(e,t=(()=>{}),r=(()=>{})){if(s(e)){const n=new a;return(async()=>{const i=C(n);try{const n=await H(e),a=t(n),s=r();let o;o=void 0!==a&&void 0!==s?U([a,s]):void 0!==a?a:s,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(u(e))return T(e,{async transform(e,r){try{const n=await t(e);void 0!==n&&r.enqueue(n)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const n=t(e),i=r();return void 0!==n&&void 0!==i?U([n,i]):void 0!==n?n:i}function R(e,t){if(u(e)&&!s(e)){let r;const n=new E({start(e){r=e}}),i=I(e,n.writable),a=B((async function(e){r.error(e),await i,await new Promise(setTimeout)}));return t(n.readable,a.writable),a.readable}e=P(e);const r=new a;return t(e,r),r}function M(e,t){let r;const n=R(e,((e,i)=>{const a=D(e);a.remainder=()=>(a.releaseLock(),I(e,i),n),r=t(a)}));return r}function L(e){if(s(e))return e.clone();if(u(e)){const t=function(e){if(s(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(u(e)){const t=x(e).tee();return t[0][w]=t[1][w]=e[w],t}return[F(e),F(e)]}(e);return O(e,t[0]),t[1]}return F(e)}function N(e){return s(e)?L(e):u(e)?new A({start(t){const r=R(e,(async(e,r)=>{const n=D(e),i=C(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}}));O(e,r)}}):F(e)}function O(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))}))}function F(e,t=0,r=1/0){if(s(e))throw Error("Not implemented");if(u(e)){if(t>=0&&r>=0){let n=0;return T(e,{transform(e,i){n<r?(n+e.length>=t&&i.enqueue(F(e,Math.max(t-n,0),r-n)),n+=e.length):i.terminate()}})}if(t<0&&(r<0||r===1/0)){let n=[];return z(e,(e=>{e.length>=-t?n=[e]:n.push(e)}),(()=>F(U(n),t,r)))}if(0===t&&r<0){let n;return z(e,(e=>{const i=n?U([n,e]):e;if(i.length>=-r)return n=F(i,r),F(i,t,r);n=i}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),q((async()=>F(await H(e),t,r)))}return e[w]&&(e=U(e[w].concat([e]))),!l(e)||K&&K.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function H(e,t=U){return s(e)?e.readToEnd(t):u(e)?D(e).readToEnd(t):e}async function j(e,t){if(u(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function q(e){const t=new a;return(async()=>{const r=C(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class G{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const n=t[e].toString(16);r[e]=t[e]<=15?"0"+n:n}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new G(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new G(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,n=this.value;n%=t.value;let i=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=i*n%t.value;i=e?a:i,n=n*n%t.value}return new G(i)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),n=BigInt(1),i=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=n-s*t,n=o,o=r,r=i-s*r,i=o,o=e,e=a%e,a=o}return{x:new G(n),y:new G(i),gcd:new G(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new G(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new G(0),t=new G(1),r=new G(-1),n=this.isNegative()?r:e;let i=1;const a=this.clone();for(;!a.irightShift(t).equal(n);)i++;return i}byteLength(){const e=new G(0),t=new G(-1),r=this.isNegative()?t:e,n=new G(8);let i=1;const a=this.clone();for(;!a.irightShift(n).equal(r);)i++;return i}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const n=r.length/2,i=new Uint8Array(t||n),a=t?t-n:0;let s=0;for(;s<n;)i[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&i.reverse(),i}}const V=()=>"undefined"!=typeof BigInt;const W=Symbol("byValue");var $={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ed25519Legacy:"ed25519",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",curve25519Legacy:"curve25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,ed25519Legacy:22,eddsa:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[W]||(e[W]=[],Object.entries(e).forEach((([t,r])=>{e[W][r]=t}))),void 0!==e[W][t])return e[W][t];throw Error("Invalid enum value.")}};const Z=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),X={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:l,isStream:u,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e>>8*(t-n-1)&255;return r},readDate:function(e){const t=X.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return X.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=X.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return X.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+X.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let n,i=0;for(;i<r;){for(n=e[i++].toString(16);n.length<2;)n="0"+n;t.push(""+n)}return t.join("")},stringToUint8Array:function(e){return z(e,(e=>{if(!X.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,n=(e=new Uint8Array(e)).length;for(let i=0;i<n;i+=r)t.push(String.fromCharCode.apply(String,e.subarray(i,i+r<n?i+r:n)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return z(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return z(e,r,(()=>r(new Uint8Array,!0)))},concat:U,concatUint8Array:y,equalsUint8Array:function(e,t){if(!X.isUint8Array(e)||!X.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return X.writeNumber(t,2)},printDebug:function(e){Z&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){Z&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n<r;n++)t[n]=e[n]<<1^e[n+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(V())return G;{const{default:e}=await import("./bn.interface.min.mjs");return e}},getNodeCrypto:function(){},getNodeZlib:function(){},getNodeBuffer:function(){return{}.Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return(void 0).cpus().length},isEmailAddress:function(e){if(!X.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return z(e,(e=>{let r;t&&(e=X.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let a=0;for(let t=0;t<n.length;t++){const r=e.subarray(n[t-1]||0,n[t]);i.set(r,a),a+=r.length,i[a-1]=13,i[a]=10,a++}return i.set(e.subarray(n[n.length-1]||0),a),i}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return z(e,(e=>{let r;13===(e=t&&10!==e[0]?X.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let n;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){n=e}}))),r(n)}))},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let a=0;for(let n=0;n<i.length;n++)i[n]=t[n]&256-e|r[n]&255+e,a+=e&n<t.length|1-e&n<r.length;return i.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===$.symmetric.aes128||e===$.symmetric.aes192||e===$.symmetric.aes256}},Y=X.getNodeBuffer();let Q,J;function ee(e){let t=new Uint8Array;return z(e,(e=>{t=X.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,a=Q(t.subarray(0,i));for(let e=0;e<n;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(i),r.join("")}),(()=>t.length?Q(t)+"\n":""))}function te(e){let t="";return z(e,(e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e<n.length;e++){const i=n[e];for(let e=t.indexOf(i);-1!==e;e=t.indexOf(i,e+1))r++}let i=t.length;for(;i>0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const a=J(t.substr(0,i));return t=t.substr(i),a}),(()=>J(t)))}function re(e){return te(e.replace(/-/g,"+").replace(/_/g,"/"))}function ne(e,t){let r=ee(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}Y?(Q=e=>Y.from(e).toString("base64"),J=e=>{const t=Y.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(Q=e=>btoa(X.uint8ArrayToString(e)),J=e=>X.stringToUint8Array(atob(e)));var ie={preferredHashAlgorithm:$.hash.sha256,preferredSymmetricAlgorithm:$.symmetric.aes256,preferredCompressionAlgorithm:$.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:$.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:$.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([$.symmetric.aes128,$.symmetric.aes192,$.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.11.2-0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([$.hash.md5,$.hash.ripemd]),rejectMessageHashAlgorithms:new Set([$.hash.md5,$.hash.ripemd,$.hash.sha1]),rejectPublicKeyAlgorithms:new Set([$.publicKey.elgamal,$.publicKey.dsa]),rejectCurves:new Set([$.curve.secp256k1]),checkEdDSAFaultySignatures:!0};function ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?$.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?$.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?$.armor.signed:/MESSAGE/.test(t[1])?$.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?$.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?$.armor.privateKey:/SIGNATURE/.test(t[1])?$.armor.signature:void 0}function se(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function oe(e){return ee(function(e){let t=13501623;return z(e,(e=>{const r=he?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=n[e],t=ce[0][t>>24&255]^ce[1][t>>16&255]^ce[2][t>>8&255]^ce[3][t>>0&255];for(let n=4*r;n<e.length;n++)t=t>>8^ce[0][255&t^e[n]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const ce=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);ce[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)ce[1][e]=ce[0][e]>>8^ce[0][255&ce[0][e]];for(let e=0;e<=255;e++)ce[2][e]=ce[1][e]>>8^ce[0][255&ce[1][e]];for(let e=0;e<=255;e++)ce[3][e]=ce[2][e]>>8^ce[0][255&ce[2][e]];const he=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function ue(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||X.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||X.printDebugError(Error("Unknown header: "+e[t]))}function le(e){let t=e,r="";const n=e.lastIndexOf("=");return n>=0&&n!==e.length-1&&(t=e.slice(0,n),r=e.slice(n+1).substr(0,4)),{body:t,checksum:r}}function ye(e,t=ie){return new Promise((async(r,n)=>{try{const i=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,h,u,l=o,y=[],d=te(R(e,(async(e,t)=>{const p=D(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=X.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)h||2!==s||(i.test(e)?(y=y.join("\r\n"),h=!0,ue(l),l=[],c=!1):y.push(e.replace(/^- /,"")));else if(i.test(e)&&n(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(ue(l),c=!0,h||2!==s){r({text:y,data:d,headers:o,type:s});break}}else l.push(e);else i.test(e)&&(s=ae(e))}}catch(e){return void n(e)}const f=C(t);try{for(;;){await f.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=X.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(i);if(1===t.length)throw Error("Misformed armored text");const n=le(t[0].slice(0,-1));u=n.checksum,await f.write(n.body);break}await f.write(r)}await f.ready,await f.close()}catch(e){await f.abort(e)}})));d=R(d,(async(e,r)=>{const n=H(oe(N(e)));n.catch((()=>{})),await I(e,r,{preventClose:!0});const i=C(r);try{const e=(await n).replace("\n","");if(u!==e&&(u||t.checksumRequired))throw Error("Ascii armor integrity check failed");await i.ready,await i.close()}catch(e){await i.abort(e)}}))}catch(e){n(e)}})).then((async e=>(s(e.data)&&(e.data=await H(e.data)),e)))}function de(e,t,r,n,i,a=ie){let s,o;e===$.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=N(t),h=[];switch(e){case $.armor.multipartSection:h.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case $.armor.multipartLast:h.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case $.armor.signed:h.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),h.push("Hash: "+o+"\n\n"),h.push(s.replace(/^-/gm,"- -")),h.push("\n-----BEGIN PGP SIGNATURE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n");break;case $.armor.message:h.push("-----BEGIN PGP MESSAGE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE-----\n");break;case $.armor.publicKey:h.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case $.armor.privateKey:h.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case $.armor.signature:h.push("-----BEGIN PGP SIGNATURE-----\n"),h.push(se(i,a)),h.push(ee(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n")}return X.concat(h)}class pe{constructor(){this.bytes=""}read(e){return this.bytes=X.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return X.stringToUint8Array(this.bytes)}toHex(){return X.uint8ArrayToHex(X.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new pe;return t.read(X.hexToUint8Array(e)),t}static wildcard(){const e=new pe;return e.read(new Uint8Array(8)),e}}var fe=function(){var e,t,r=!1;function n(r,n){var i=e[(t[r]+t[n])%255];return 0!==r&&0!==n||(i=0),i}var i,a,s,o,c=!1;function h(){function h(r){var n,i,a;for(i=a=function(r){var n=e[255-t[r]];return 0===r&&(n=0),n}(r),n=0;n<4;n++)a^=i=255&(i<<1|i>>>7);return a^=99}r||function(){e=[],t=[];var n,i,a=1;for(n=0;n<255;n++)e[n]=a,i=128&a,a<<=1,a&=255,128===i&&(a^=27),a^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),i=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var u=0;u<256;u++){var l=h(u);i[u]=l,a[l]=u,s[0][u]=n(2,l)<<24|l<<16|l<<8|n(3,l),o[0][l]=n(14,u)<<24|n(9,u)<<16|n(13,u)<<8|n(11,u);for(var y=1;y<4;y++)s[y][u]=s[y-1][u]>>>8|s[y-1][u]<<24,o[y][l]=o[y-1][l]>>>8|o[y-1][l]<<24}c=!0}var u=function(e,t){c||h();var r=new Uint32Array(t);r.set(i,512),r.set(a,768);for(var n=0;n<4;n++)r.set(s[n],4096+1024*n>>2),r.set(o[n],8192+1024*n>>2);var u=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0;var E=new e.Uint32Array(r),S=new e.Uint8Array(r);function K(e,t,r,o,c,h,u,l){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;h=h|0;u=u|0;l=l|0;var y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;y=r|0x400,d=r|0x800,p=r|0xc00;c=c^E[(e|0)>>2],h=h^E[(e|4)>>2],u=u^E[(e|8)>>2],l=l^E[(e|12)>>2];for(b=16;(b|0)<=o<<4;b=b+16|0){f=E[(r|c>>22&1020)>>2]^E[(y|h>>14&1020)>>2]^E[(d|u>>6&1020)>>2]^E[(p|l<<2&1020)>>2]^E[(e|b|0)>>2],g=E[(r|h>>22&1020)>>2]^E[(y|u>>14&1020)>>2]^E[(d|l>>6&1020)>>2]^E[(p|c<<2&1020)>>2]^E[(e|b|4)>>2],m=E[(r|u>>22&1020)>>2]^E[(y|l>>14&1020)>>2]^E[(d|c>>6&1020)>>2]^E[(p|h<<2&1020)>>2]^E[(e|b|8)>>2],w=E[(r|l>>22&1020)>>2]^E[(y|c>>14&1020)>>2]^E[(d|h>>6&1020)>>2]^E[(p|u<<2&1020)>>2]^E[(e|b|12)>>2];c=f,h=g,u=m,l=w}n=E[(t|c>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|u>>6&1020)>>2]<<8^E[(t|l<<2&1020)>>2]^E[(e|b|0)>>2],i=E[(t|h>>22&1020)>>2]<<24^E[(t|u>>14&1020)>>2]<<16^E[(t|l>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(e|b|4)>>2],a=E[(t|u>>22&1020)>>2]<<24^E[(t|l>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(e|b|8)>>2],s=E[(t|l>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|u<<2&1020)>>2]^E[(e|b|12)>>2]}function x(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;K(0x0000,0x0800,0x1000,_,e,t,r,n)}function P(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0;K(0x0400,0x0c00,0x2000,_,e,n,r,t);a=i,i=s,s=a}function U(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;K(0x0000,0x0800,0x1000,_,o^e,c^t,h^r,u^l);o=n,c=i,h=a,u=s}function D(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;var y=0;K(0x0400,0x0c00,0x2000,_,e,l,r,t);y=i,i=s,s=y;n=n^o,i=i^c,a=a^h,s=s^u;o=e,c=t,h=r,u=l}function C(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;K(0x0000,0x0800,0x1000,_,o,c,h,u);o=n=n^e,c=i=i^t,h=a=a^r,u=s=s^l}function I(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;K(0x0000,0x0800,0x1000,_,o,c,h,u);n=n^e,i=i^t,a=a^r,s=s^l;o=e,c=t,h=r,u=l}function T(e,t,r,l){e=e|0;t=t|0;r=r|0;l=l|0;K(0x0000,0x0800,0x1000,_,o,c,h,u);o=n,c=i,h=a,u=s;n=n^e,i=i^t,a=a^r,s=s^l}function B(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;K(0x0000,0x0800,0x1000,_,l,y,d,p);p=~w&p|w&p+1;d=~m&d|m&d+((p|0)==0);y=~g&y|g&y+((d|0)==0);l=~f&l|f&l+((y|0)==0);n=n^e;i=i^t;a=a^r;s=s^o}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0,a=0,s=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0;e=e^o,t=t^c,r=r^h,n=n^u;i=b|0,a=k|0,s=v|0,l=A|0;for(;(g|0)<128;g=g+1|0){if(i>>>31){y=y^e,d=d^t,p=p^r,f=f^n}i=i<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|l>>>31,l=l<<1;m=n&1;n=n>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(m)e=e^0xe1000000}o=y,c=d,h=p,u=f}function R(e){e=e|0;_=e}function M(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,i=t,a=r,s=o}function L(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,c=t,h=r,u=n}function N(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;l=e,y=t,d=r,p=n}function O(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;f=e,g=t,m=r,w=n}function F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~w&p|w&n,d=~m&d|m&r,y=~g&y|g&t,l=~f&l|f&e}function H(e){e=e|0;if(e&15)return-1;S[e|0]=n>>>24,S[e|1]=n>>>16&255,S[e|2]=n>>>8&255,S[e|3]=n&255,S[e|4]=i>>>24,S[e|5]=i>>>16&255,S[e|6]=i>>>8&255,S[e|7]=i&255,S[e|8]=a>>>24,S[e|9]=a>>>16&255,S[e|10]=a>>>8&255,S[e|11]=a&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function j(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=c>>>24,S[e|5]=c>>>16&255,S[e|6]=c>>>8&255,S[e|7]=c&255,S[e|8]=h>>>24,S[e|9]=h>>>16&255,S[e|10]=h>>>8&255,S[e|11]=h&255,S[e|12]=u>>>24,S[e|13]=u>>>16&255,S[e|14]=u>>>8&255,S[e|15]=u&255;return 16}function q(){x(0,0,0,0);b=n,k=i,v=a,A=s}function G(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){W[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=n>>>24,S[t|1]=n>>>16&255,S[t|2]=n>>>8&255,S[t|3]=n&255,S[t|4]=i>>>24,S[t|5]=i>>>16&255,S[t|6]=i>>>8&255,S[t|7]=i&255,S[t|8]=a>>>24,S[t|9]=a>>>16&255,S[t|10]=a>>>8&255,S[t|11]=a&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function V(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){$[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var W=[x,P,U,D,C,I,T,B];var $=[U,z];return{set_rounds:R,set_state:M,set_iv:L,set_nonce:N,set_mask:O,set_counter:F,get_state:H,get_iv:j,gcm_init:q,cipher:G,mac:V}}({Uint8Array,Uint32Array},e,t);return u.set_key=function(e,t,n,a,s,c,h,l,y){var d=r.subarray(0,60),p=r.subarray(256,316);d.set([t,n,a,s,c,h,l,y]);for(var f=e,g=1;f<4*e+28;f++){var m=d[f-1];(f%e==0||8===e&&f%e==4)&&(m=i[m>>>24]<<24^i[m>>>16&255]<<16^i[m>>>8&255]<<8^i[255&m]),f%e==0&&(m=m<<8^m>>>24^g<<24,g=g<<1^(128&g?27:0)),d[f]=d[f-e]^m}for(var w=0;w<f;w+=4)for(var b=0;b<4;b++){m=d[f-(4+w)+(4-b)%4];p[w+b]=w<4||w>=f-4?m:o[0][i[m>>>24]]^o[1][i[m>>>16&255]]^o[2][i[m>>>8&255]]^o[3][i[255&m]]}u.set_rounds(e+5)},u};return u.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},u.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},u.MAC={CBC:0,GCM:1},u.HEAP_DATA=16384,u}();function ge(e){return e instanceof Uint8Array}function me(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function we(e,t,r,n,i){const a=e.length-t,s=a<i?a:i;return e.set(r.subarray(n,n+s),t),s}function be(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let n=0;for(let t=0;t<e.length;t++)r.set(e[t],n),n+=e[t].length;return r}class ke extends Error{constructor(...e){super(...e)}}class ve extends Error{constructor(...e){super(...e)}}class Ae extends Error{constructor(...e){super(...e)}}const _e=[],Ee=[];class Se{constructor(e,t,r=!0,n,i,a){this.pos=0,this.len=0,this.mode=n,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(i,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||_e.pop()||me().subarray(fe.HEAP_DATA),this.asm=t||Ee.pop()||new fe(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(_e.push(this.heap),Ee.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),n=e.length;if(16!==n&&24!==n&&32!==n)throw new ve("illegal key size");const i=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(n>>2,i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12),n>16?i.getUint32(16):0,n>16?i.getUint32(20):0,n>24?i.getUint32(24):0,n>24?i.getUint32(28):0),void 0!==t){if(16!==t.length)throw new ve("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!ge(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),n=fe.ENC[this.mode],i=fe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,h=0,u=0,l=new Uint8Array(s+c&-16);for(;c>0;)u=we(t,a+s,e,o,c),s+=u,o+=u,c-=u,u=r.cipher(n,i+a,s),u&&l.set(t.subarray(a,a+u),h),h+=u,u<s?(a+=u,s-=u):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=fe.ENC[this.mode],n=fe.HEAP_DATA,i=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[i+a+t]=s;a+=s,o=a}else if(a%16)throw new ve("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,n+i,a),o&&c.set(e.subarray(i,i+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!ge(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),n=fe.DEC[this.mode],i=fe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,h=0,u=s+c&-16,l=0,y=0;this.padding&&(l=s+c-u||16,u-=l);const d=new Uint8Array(u);for(;c>0;)y=we(t,a+s,e,o,c),s+=y,o+=y,c-=y,y=r.cipher(n,i+a,s-(c?0:l)),y&&d.set(t.subarray(a,a+y),h),h+=y,y<s?(a+=y,s-=y):(a=0,s=0);return this.pos=a,this.len=s,d}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=fe.DEC[this.mode],n=fe.HEAP_DATA,i=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new ve("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,n+i,a),this.hasOwnProperty("padding")&&this.padding){let t=e[i+s-1];if(t<1||t>16||t>s)throw new Ae("bad padding");let r=0;for(let n=t;n>1;n--)r|=t^e[i+s-n];if(r)throw new Ae("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(i,i+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Ke{static encrypt(e,t,r=!1){return new Ke(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Ke(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Se(e,void 0,t,"ECB")}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function xe(e){const t=function(e){const t=new Ke(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Pe(e,t,r,n,i,a){const s=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],h=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],u=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],l=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],y=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],d=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,f,g,m,w,b,k,v,A,_,E,S,K,x,P=0,U=t.length;const D=32===e.length?3:9;v=3===D?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let n;if(2===t&&r<8)n=32;else if(1===t)n=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}n=0}const i=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)i[t]=e[t];for(let t=0;t<r;t++)i[e.length+t]=n;return i}(t,a),U=t.length);let C=new Uint8Array(U),I=0;for(1===n&&(A=i[P++]<<24|i[P++]<<16|i[P++]<<8|i[P++],E=i[P++]<<24|i[P++]<<16|i[P++]<<8|i[P++],P=0);P<U;){for(b=t[P++]<<24|t[P++]<<16|t[P++]<<8|t[P++],k=t[P++]<<24|t[P++]<<16|t[P++]<<8|t[P++],1===n&&(r?(b^=A,k^=E):(_=A,S=E,A=b,E=k)),g=252645135&(b>>>4^k),k^=g,b^=g<<4,g=65535&(b>>>16^k),k^=g,b^=g<<16,g=858993459&(k>>>2^b),b^=g,k^=g<<2,g=16711935&(k>>>8^b),b^=g,k^=g<<8,g=1431655765&(b>>>1^k),k^=g,b^=g<<1,b=b<<1|b>>>31,k=k<<1|k>>>31,f=0;f<D;f+=3){for(K=v[f+1],x=v[f+2],p=v[f];p!==K;p+=x)m=k^e[p],w=(k>>>4|k<<28)^e[p+1],g=b,b=k,k=g^(o[m>>>24&63]|h[m>>>16&63]|l[m>>>8&63]|d[63&m]|s[w>>>24&63]|c[w>>>16&63]|u[w>>>8&63]|y[63&w]);g=b,b=k,k=g}b=b>>>1|b<<31,k=k>>>1|k<<31,g=1431655765&(b>>>1^k),k^=g,b^=g<<1,g=16711935&(k>>>8^b),b^=g,k^=g<<8,g=858993459&(k>>>2^b),b^=g,k^=g<<2,g=65535&(b>>>16^k),k^=g,b^=g<<16,g=252645135&(b>>>4^k),k^=g,b^=g<<4,1===n&&(r?(A=b,E=k):(b^=_,k^=S)),C[I++]=b>>>24,C[I++]=b>>>16&255,C[I++]=b>>>8&255,C[I++]=255&b,C[I++]=k>>>24,C[I++]=k>>>16&255,C[I++]=k>>>8&255,C[I++]=255&k}return r||(C=function(e,t){let r,n=null;if(2===t)r=32;else if(1===t)n=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!n){for(n=1;e[e.length-n]===r;)n++;n--}return e.subarray(0,e.length-n)}(C,a)),C}function Ue(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],a=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],h=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],y=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],f=e.length>8?3:1,g=Array(32*f),m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let w,b,k,v=0,A=0;for(let _=0;_<f;_++){let f=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++],_=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++];k=252645135&(f>>>4^_),_^=k,f^=k<<4,k=65535&(_>>>-16^f),f^=k,_^=k<<-16,k=858993459&(f>>>2^_),_^=k,f^=k<<2,k=65535&(_>>>-16^f),f^=k,_^=k<<-16,k=1431655765&(f>>>1^_),_^=k,f^=k<<1,k=16711935&(_>>>8^f),f^=k,_^=k<<8,k=1431655765&(f>>>1^_),_^=k,f^=k<<1,k=f<<8|_>>>20&240,f=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=k;for(let e=0;e<16;e++)m[e]?(f=f<<2|f>>>26,_=_<<2|_>>>26):(f=f<<1|f>>>27,_=_<<1|_>>>27),f&=-15,_&=-15,w=t[f>>>28]|r[f>>>24&15]|n[f>>>20&15]|i[f>>>16&15]|a[f>>>12&15]|s[f>>>8&15]|o[f>>>4&15],b=c[_>>>28]|h[_>>>24&15]|u[_>>>20&15]|l[_>>>16&15]|y[_>>>12&15]|d[_>>>8&15]|p[_>>>4&15],k=65535&(b>>>16^w),g[A++]=w^k,g[A++]=b^k<<16}return g}function De(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Pe(Ue(this.key[2]),Pe(Ue(this.key[1]),Pe(Ue(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function Ce(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^n(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^i(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^i(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^i(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^i(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^i(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^i(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^n(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^n(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^n(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^n(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^n(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const n=t+e,i=n<<r|n>>>32-r;return(a[0][i>>>24]^a[1][i>>>16&255])-a[2][i>>>8&255]+a[3][255&i]}function n(e,t,r){const n=t^e,i=n<<r|n>>>32-r;return a[0][i>>>24]-a[1][i>>>16&255]+a[2][i>>>8&255]^a[3][255&i]}function i(e,t,r){const n=t-e,i=n<<r|n>>>32-r;return(a[0][i>>>24]+a[1][i>>>16&255]^a[2][i>>>8&255])-a[3][255&i]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=[,,,,,,,,],i=Array(32);let s;for(let e=0;e<4;e++)s=4*e,n[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,h=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=n[t[1]],c^=a[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[h]=c,h++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Ie(e){this.cast5=new Ce,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}De.keySize=De.prototype.keySize=24,De.blockSize=De.prototype.blockSize=8,Ie.blockSize=Ie.prototype.blockSize=8,Ie.keySize=Ie.prototype.keySize=16;const Te=4294967295;function Be(e,t){return(e<<t|e>>>32-t)&Te}function ze(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Re(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Me(e,t){return e>>>8*t&255}function Le(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function a(e){return i[0][Me(e,0)]^i[1][Me(e,1)]^i[2][Me(e,2)]^i[3][Me(e,3)]}function s(e){return i[0][Me(e,3)]^i[1][Me(e,0)]^i[2][Me(e,1)]^i[3][Me(e,2)]}function o(e,t){let r=a(t[0]),i=s(t[1]);t[2]=Be(t[2]^r+i+n[4*e+8]&Te,31),t[3]=Be(t[3],1)^r+2*i+n[4*e+9]&Te,r=a(t[2]),i=s(t[3]),t[0]=Be(t[0]^r+i+n[4*e+10]&Te,31),t[1]=Be(t[1],1)^r+2*i+n[4*e+11]&Te}function c(e,t){let r=a(t[0]),i=s(t[1]);t[2]=Be(t[2],1)^r+i+n[4*e+10]&Te,t[3]=Be(t[3]^r+2*i+n[4*e+11]&Te,31),r=a(t[2]),i=s(t[3]),t[0]=Be(t[0],1)^r+i+n[4*e+8]&Te,t[1]=Be(t[1]^r+2*i+n[4*e+9]&Te,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const h=[],u=[],l=[];let y;const d=[];let p,f,g;const m=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],w=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],b=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],k=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],A=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],_=[[],[]],E=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function K(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function x(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Te|e>>>24,e=e<<8&Te,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function P(e,t){const r=t>>4,n=15&t,i=m[e][r^n],a=w[e][v[n]^A[r]];return k[e][v[a]^A[i]]<<4|b[e][i^a]}function U(e,t){let r=Me(e,0),n=Me(e,1),i=Me(e,2),a=Me(e,3);switch(y){case 4:r=_[1][r]^Me(t[3],0),n=_[0][n]^Me(t[3],1),i=_[0][i]^Me(t[3],2),a=_[1][a]^Me(t[3],3);case 3:r=_[1][r]^Me(t[2],0),n=_[1][n]^Me(t[2],1),i=_[0][i]^Me(t[2],2),a=_[0][a]^Me(t[2],3);case 2:r=_[0][_[0][r]^Me(t[1],0)]^Me(t[0],0),n=_[0][_[1][n]^Me(t[1],1)]^Me(t[0],1),i=_[1][_[0][i]^Me(t[1],2)]^Me(t[0],2),a=_[1][_[1][a]^Me(t[1],3)]^Me(t[0],3)}return E[0][r]^E[1][n]^E[2][i]^E[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)l[r>>2]=ze(e,r);for(r=0;r<256;r++)_[0][r]=P(0,r),_[1][r]=P(1,r);for(r=0;r<256;r++)p=_[1][r],f=S(p),g=K(p),E[0][r]=p+(f<<8)+(g<<16)+(g<<24),E[2][r]=f+(g<<8)+(p<<16)+(g<<24),p=_[0][r],f=S(p),g=K(p),E[1][r]=g+(g<<8)+(f<<16)+(p<<24),E[3][r]=f+(p<<8)+(g<<16)+(f<<24);for(y=l.length/2,r=0;r<y;r++)a=l[r+r],h[r]=a,s=l[r+r+1],u[r]=s,d[y-r-1]=x(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=U(a,h),s=Be(U(s,u),8),n[r]=a+s&Te,n[r+1]=Be(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,y){case 4:a=_[1][a]^Me(d[3],0),s=_[0][s]^Me(d[3],1),o=_[0][o]^Me(d[3],2),c=_[1][c]^Me(d[3],3);case 3:a=_[1][a]^Me(d[2],0),s=_[1][s]^Me(d[2],1),o=_[0][o]^Me(d[2],2),c=_[0][c]^Me(d[2],3);case 2:i[0][r]=E[0][_[0][_[0][a]^Me(d[1],0)]^Me(d[0],0)],i[1][r]=E[1][_[0][_[1][s]^Me(d[1],1)]^Me(d[0],1)],i[2][r]=E[2][_[1][_[0][o]^Me(d[1],2)]^Me(d[0],2)],i[3][r]=E[3][_[1][_[1][c]^Me(d[1],3)]^Me(d[0],3)]}},close:function(){n=[],i=[[],[],[],[]]},encrypt:function(e,i){t=e,r=i;const a=[ze(t,r)^n[0],ze(t,r+4)^n[1],ze(t,r+8)^n[2],ze(t,r+12)^n[3]];for(let e=0;e<8;e++)o(e,a);return Re(t,r,a[2]^n[4]),Re(t,r+4,a[3]^n[5]),Re(t,r+8,a[0]^n[6]),Re(t,r+12,a[1]^n[7]),r+=16,t},decrypt:function(e,i){t=e,r=i;const a=[ze(t,r)^n[4],ze(t,r+4)^n[5],ze(t,r+8)^n[6],ze(t,r+12)^n[7]];for(let e=7;e>=0;e--)c(e,a);Re(t,r,a[2]^n[0]),Re(t,r+4,a[3]^n[1]),Re(t,r+8,a[0]^n[2]),Re(t,r+12,a[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Ne(){}function Oe(e){this.bf=new Ne,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Le.keySize=Le.prototype.keySize=32,Le.blockSize=Le.prototype.blockSize=16,Ne.prototype.BLOCKSIZE=8,Ne.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Ne.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Ne.prototype.NN=16,Ne.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Ne.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Ne.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[this.NN+0],n^=this.parray[this.NN+1],e[0]=this._clean(n),e[1]=this._clean(r)},Ne.prototype.encryptBlock=function(e){let t;const r=[0,0],n=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+n];this._encryptBlock(r);const i=[];for(t=0;t<this.BLOCKSIZE/2;++t)i[t+0]=r[0]>>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Ne.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Ne.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let n=0;for(let t=0;t<4;++t)n=n<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(n),this.parray[t+0]=n[0],this.parray[t+1]=n[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(n),this.sboxes[t][r+0]=n[0],this.sboxes[t][r+1]=n[1]},Oe.keySize=Oe.prototype.keySize=16,Oe.blockSize=Oe.prototype.blockSize=8;const Fe=xe(128),He=xe(192),je=xe(256);var qe=/*#__PURE__*/Object.freeze({__proto__:null,aes128:Fe,aes192:He,aes256:je,des:function(e){this.key=e,this.encrypt=function(e,t){return Pe(Ue(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Pe(Ue(this.key),e,!1,0,null,t)}},tripledes:De,cast5:Ie,twofish:Le,blowfish:Oe,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),Ge=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0;var u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;var k=new e.Uint8Array(r);function v(e,t,r,c,h,u,l,y,d,p,f,g,m,w,b,k){e=e|0;t=t|0;r=r|0;c=c|0;h=h|0;u=u|0;l=l|0;y=y|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;k=k|0;var v=0,A=0,_=0,E=0,S=0,K=0,x=0,P=0,U=0,D=0,C=0,I=0,T=0,B=0,z=0,R=0,M=0,L=0,N=0,O=0,F=0,H=0,j=0,q=0,G=0,V=0,W=0,$=0,Z=0,X=0,Y=0,Q=0,J=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,se=0,oe=0,ce=0,he=0,ue=0,le=0,ye=0,de=0,pe=0,fe=0,ge=0,me=0,we=0,be=0,ke=0,ve=0,Ae=0,_e=0,Ee=0,Se=0,Ke=0,xe=0,Pe=0,Ue=0,De=0,Ce=0,Ie=0,Te=0,Be=0,ze=0,Re=0,Me=0;v=n;A=i;_=a;E=s;S=o;x=e+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=t+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=r+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=c+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=h+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=u+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=l+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=y+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=d+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=p+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=f+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=g+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=m+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=w+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=b+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;x=k+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=w^d^r^e;P=K<<1|K>>>31;x=P+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=b^p^c^t;U=K<<1|K>>>31;x=U+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=k^f^h^r;D=K<<1|K>>>31;x=D+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=P^g^u^c;C=K<<1|K>>>31;x=C+(v<<5|v>>>27)+S+(A&_|~A&E)+0x5a827999|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=U^m^l^h;I=K<<1|K>>>31;x=I+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=D^w^y^u;T=K<<1|K>>>31;x=T+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=C^b^d^l;B=K<<1|K>>>31;x=B+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=I^k^p^y;z=K<<1|K>>>31;x=z+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=T^P^f^d;R=K<<1|K>>>31;x=R+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=B^U^g^p;M=K<<1|K>>>31;x=M+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=z^D^m^f;L=K<<1|K>>>31;x=L+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=R^C^w^g;N=K<<1|K>>>31;x=N+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=M^I^b^m;O=K<<1|K>>>31;x=O+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=L^T^k^w;F=K<<1|K>>>31;x=F+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=N^B^P^b;H=K<<1|K>>>31;x=H+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=O^z^U^k;j=K<<1|K>>>31;x=j+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=F^R^D^P;q=K<<1|K>>>31;x=q+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=H^M^C^U;G=K<<1|K>>>31;x=G+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=j^L^I^D;V=K<<1|K>>>31;x=V+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=q^N^T^C;W=K<<1|K>>>31;x=W+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=G^O^B^I;$=K<<1|K>>>31;x=$+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=V^F^z^T;Z=K<<1|K>>>31;x=Z+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=W^H^R^B;X=K<<1|K>>>31;x=X+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=$^j^M^z;Y=K<<1|K>>>31;x=Y+(v<<5|v>>>27)+S+(A^_^E)+0x6ed9eba1|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Z^q^L^R;Q=K<<1|K>>>31;x=Q+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=X^G^N^M;J=K<<1|K>>>31;x=J+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Y^V^O^L;ee=K<<1|K>>>31;x=ee+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Q^W^F^N;te=K<<1|K>>>31;x=te+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=J^$^H^O;re=K<<1|K>>>31;x=re+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ee^Z^j^F;ne=K<<1|K>>>31;x=ne+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=te^X^q^H;ie=K<<1|K>>>31;x=ie+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=re^Y^G^j;ae=K<<1|K>>>31;x=ae+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ne^Q^V^q;se=K<<1|K>>>31;x=se+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ie^J^W^G;oe=K<<1|K>>>31;x=oe+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ae^ee^$^V;ce=K<<1|K>>>31;x=ce+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=se^te^Z^W;he=K<<1|K>>>31;x=he+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=oe^re^X^$;ue=K<<1|K>>>31;x=ue+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ce^ne^Y^Z;le=K<<1|K>>>31;x=le+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=he^ie^Q^X;ye=K<<1|K>>>31;x=ye+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ue^ae^J^Y;de=K<<1|K>>>31;x=de+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=le^se^ee^Q;pe=K<<1|K>>>31;x=pe+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ye^oe^te^J;fe=K<<1|K>>>31;x=fe+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=de^ce^re^ee;ge=K<<1|K>>>31;x=ge+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=pe^he^ne^te;me=K<<1|K>>>31;x=me+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=fe^ue^ie^re;we=K<<1|K>>>31;x=we+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ge^le^ae^ne;be=K<<1|K>>>31;x=be+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=me^ye^se^ie;ke=K<<1|K>>>31;x=ke+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=we^de^oe^ae;ve=K<<1|K>>>31;x=ve+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=be^pe^ce^se;Ae=K<<1|K>>>31;x=Ae+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ke^fe^he^oe;_e=K<<1|K>>>31;x=_e+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=ve^ge^ue^ce;Ee=K<<1|K>>>31;x=Ee+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ae^me^le^he;Se=K<<1|K>>>31;x=Se+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=_e^we^ye^ue;Ke=K<<1|K>>>31;x=Ke+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ee^be^de^le;xe=K<<1|K>>>31;x=xe+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Se^ke^pe^ye;Pe=K<<1|K>>>31;x=Pe+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ke^ve^fe^de;Ue=K<<1|K>>>31;x=Ue+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=xe^Ae^ge^pe;De=K<<1|K>>>31;x=De+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Pe^_e^me^fe;Ce=K<<1|K>>>31;x=Ce+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ue^Ee^we^ge;Ie=K<<1|K>>>31;x=Ie+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=De^Se^be^me;Te=K<<1|K>>>31;x=Te+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ce^Ke^ke^we;Be=K<<1|K>>>31;x=Be+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Ie^xe^ve^be;ze=K<<1|K>>>31;x=ze+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Te^Pe^Ae^ke;Re=K<<1|K>>>31;x=Re+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Be^Ue^_e^ve;Me=K<<1|K>>>31;x=Me+(v<<5|v>>>27)+S+(A^_^E)-0x359d3e2a|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;n=n+v|0;i=i+A|0;a=a+_|0;s=s+E|0;o=o+S|0}function A(e){e=e|0;v(k[e|0]<<24|k[e|1]<<16|k[e|2]<<8|k[e|3],k[e|4]<<24|k[e|5]<<16|k[e|6]<<8|k[e|7],k[e|8]<<24|k[e|9]<<16|k[e|10]<<8|k[e|11],k[e|12]<<24|k[e|13]<<16|k[e|14]<<8|k[e|15],k[e|16]<<24|k[e|17]<<16|k[e|18]<<8|k[e|19],k[e|20]<<24|k[e|21]<<16|k[e|22]<<8|k[e|23],k[e|24]<<24|k[e|25]<<16|k[e|26]<<8|k[e|27],k[e|28]<<24|k[e|29]<<16|k[e|30]<<8|k[e|31],k[e|32]<<24|k[e|33]<<16|k[e|34]<<8|k[e|35],k[e|36]<<24|k[e|37]<<16|k[e|38]<<8|k[e|39],k[e|40]<<24|k[e|41]<<16|k[e|42]<<8|k[e|43],k[e|44]<<24|k[e|45]<<16|k[e|46]<<8|k[e|47],k[e|48]<<24|k[e|49]<<16|k[e|50]<<8|k[e|51],k[e|52]<<24|k[e|53]<<16|k[e|54]<<8|k[e|55],k[e|56]<<24|k[e|57]<<16|k[e|58]<<8|k[e|59],k[e|60]<<24|k[e|61]<<16|k[e|62]<<8|k[e|63])}function _(e){e=e|0;k[e|0]=n>>>24;k[e|1]=n>>>16&255;k[e|2]=n>>>8&255;k[e|3]=n&255;k[e|4]=i>>>24;k[e|5]=i>>>16&255;k[e|6]=i>>>8&255;k[e|7]=i&255;k[e|8]=a>>>24;k[e|9]=a>>>16&255;k[e|10]=a>>>8&255;k[e|11]=a&255;k[e|12]=s>>>24;k[e|13]=s>>>16&255;k[e|14]=s>>>8&255;k[e|15]=s&255;k[e|16]=o>>>24;k[e|17]=o>>>16&255;k[e|18]=o>>>8&255;k[e|19]=o&255}function E(){n=0x67452301;i=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=h=0}function S(e,t,r,u,l,y,d){e=e|0;t=t|0;r=r|0;u=u|0;l=l|0;y=y|0;d=d|0;n=e;i=t;a=r;s=u;o=l;c=y;h=d}function K(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){A(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)h=h+1|0;return r|0}function x(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=K(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;c=c+t|0;if(c>>>0<t>>>0)h=h+1|0;k[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)k[e|i]=0x00;A(e);t=0;k[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)k[e|i]=0;k[e|56]=h>>>21&255;k[e|57]=h>>>13&255;k[e|58]=h>>>5&255;k[e|59]=h<<3&255|c>>>29;k[e|60]=c>>>21&255;k[e|61]=c>>>13&255;k[e|62]=c>>>5&255;k[e|63]=c<<3&255;A(e);if(~r)_(r);return n|0}function P(){n=u;i=l;a=y;s=d;o=p;c=64;h=0}function U(){n=f;i=g;a=m;s=w;o=b;c=64;h=0}function D(e,t,r,k,A,_,S,K,x,P,U,D,C,I,T,B){e=e|0;t=t|0;r=r|0;k=k|0;A=A|0;_=_|0;S=S|0;K=K|0;x=x|0;P=P|0;U=U|0;D=D|0;C=C|0;I=I|0;T=T|0;B=B|0;E();v(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,k^0x5c5c5c5c,A^0x5c5c5c5c,_^0x5c5c5c5c,S^0x5c5c5c5c,K^0x5c5c5c5c,x^0x5c5c5c5c,P^0x5c5c5c5c,U^0x5c5c5c5c,D^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,T^0x5c5c5c5c,B^0x5c5c5c5c);f=n;g=i;m=a;w=s;b=o;E();v(e^0x36363636,t^0x36363636,r^0x36363636,k^0x36363636,A^0x36363636,_^0x36363636,S^0x36363636,K^0x36363636,x^0x36363636,P^0x36363636,U^0x36363636,D^0x36363636,C^0x36363636,I^0x36363636,T^0x36363636,B^0x36363636);u=n;l=i;y=a;d=s;p=o;c=64;h=0}function C(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,h=0,u=0,l=0,y=0,d=0;if(e&63)return-1;if(~r)if(r&31)return-1;d=x(e,t,-1)|0;c=n,h=i,u=a,l=s,y=o;U();v(c,h,u,l,y,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)_(r);return d|0}function I(e,t,r,c,h){e=e|0;t=t|0;r=r|0;c=c|0;h=h|0;var u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;if(e&63)return-1;if(~h)if(h&31)return-1;k[e+t|0]=r>>>24;k[e+t+1|0]=r>>>16&255;k[e+t+2|0]=r>>>8&255;k[e+t+3|0]=r&255;C(e,t+4|0,-1)|0;u=f=n,l=g=i,y=m=a,d=w=s,p=b=o;c=c-1|0;while((c|0)>0){P();v(f,g,m,w,b,0x80000000,0,0,0,0,0,0,0,0,0,672);f=n,g=i,m=a,w=s,b=o;U();v(f,g,m,w,b,0x80000000,0,0,0,0,0,0,0,0,0,672);f=n,g=i,m=a,w=s,b=o;u=u^n;l=l^i;y=y^a;d=d^s;p=p^o;c=c-1|0}n=u;i=l;a=y;s=d;o=p;if(~h)_(h);return 0}return{reset:E,init:S,process:K,finish:x,hmac_reset:P,hmac_init:D,hmac_finish:C,pbkdf2_generate_block:I}};class Ve{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new ke("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let n=this.pos,i=this.len,a=0,s=e.length,o=0;for(;s>0;)o=we(r,n+i,e,a,s),i+=o,a+=o,s-=o,o=t.process(n,i),n+=o,i-=o,i||(n=0);return this.pos=n,this.len=i,this}finish(){if(null!==this.result)throw new ke("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const We=[],$e=[];class Ze extends Ve{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=We.pop()||me(),this.asm=$e.pop()||Ge({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(We.push(this.heap),$e.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Ze).process(e).finish().result}}Ze.NAME="sha1",Ze.heap_pool=[],Ze.asm_pool=[],Ze.asm_function=Ge;const Xe=[],Ye=[];class Qe extends Ve{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=Xe.pop()||me(),this.asm=Ye.pop()||function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,S=0,K=0,x=0,P=0,U=new e.Uint8Array(r);function D(e,t,r,l,y,d,p,f,g,m,w,b,k,v,A,_){e=e|0;t=t|0;r=r|0;l=l|0;y=y|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;k=k|0;v=v|0;A=A|0;_=_|0;var E=0,S=0,K=0,x=0,P=0,U=0,D=0,C=0;E=n;S=i;K=a;x=s;P=o;U=c;D=h;C=u;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x428a2f98|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x71374491|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;U=r+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0xb5c0fbcf|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=l+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0xe9b5dba5|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x3956c25b|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;K=d+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0x59f111f1|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;S=p+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x923f82a4|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xab1c5ed5|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xd807aa98|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x12835b01|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;U=w+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0x243185be|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;P=b+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0x550c7dc3|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x72be5d74|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;K=v+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0x80deb1fe|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;S=A+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x9bdc06a7|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xc19bf174|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xe49b69c1|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xefbe4786|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0x0fc19dc6|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0x240ca1cc|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x2de92c6f|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;K=d+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0x4a7484aa|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;S=p+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x5cb0a9dc|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x76f988da|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x983e5152|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xa831c66d|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0xb00327c8|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0xbf597fc7|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0xc6e00bf3|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;K=v+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0xd5a79147|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;S=A+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x06ca6351|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x14292967|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x27b70a85|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x2e1b2138|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0x4d2c6dfc|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0x53380d13|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x650a7354|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;K=d+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0x766a0abb|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;S=p+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x81c2c92e|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x92722c85|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0xa2bfe8a1|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0xa81a664b|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0xc24b8b70|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0xc76c51a3|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0xd192e819|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;K=v+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0xd6990624|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;S=A+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0xf40e3585|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x106aa070|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+e+m|0;C=e+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x19a4c116|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+w|0;D=t+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x1e376c08|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+b|0;U=r+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0x2748774c|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+k|0;P=l+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0x34b0bcb5|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;y=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+y+v|0;x=y+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x391c0cb3|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+d+A|0;K=d+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0x4ed8aa4a|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;p=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+p+_|0;S=p+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0x5b9cca4f|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;f=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+f+e|0;E=f+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0x682e6ff3|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;C=g+C+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(D^P&(U^D))+0x748f82ee|0;x=x+C|0;C=C+(E&S^K&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+m+r|0;D=m+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(P^U))+0x78a5636f|0;K=K+D|0;D=D+(C&E^S&(C^E))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;w=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;U=w+U+(K>>>6^K>>>11^K>>>25^K<<26^K<<21^K<<7)+(P^K&(x^P))+0x84c87814|0;S=S+U|0;U=U+(D&C^E&(D^C))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0;b=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+y|0;P=b+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(x^S&(K^x))+0x8cc70208|0;E=E+P|0;P=P+(U&D^C&(U^D))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;k=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+d|0;x=k+x+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(K^E&(S^K))+0x90befffa|0;C=C+x|0;x=x+(P&U^D&(P^U))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;v=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+v+p|0;K=v+K+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(S^C&(E^S))+0xa4506ceb|0;D=D+K|0;K=K+(x&P^U&(x^P))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;A=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+A+f|0;S=A+S+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(E^D&(C^E))+0xbef9a3f7|0;U=U+S|0;S=S+(K&x^P&(K^x))+(K>>>2^K>>>13^K>>>22^K<<30^K<<19^K<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(C^U&(D^C))+0xc67178f2|0;P=P+E|0;E=E+(S&K^x&(S^K))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;n=n+E|0;i=i+S|0;a=a+K|0;s=s+x|0;o=o+P|0;c=c+U|0;h=h+D|0;u=u+C|0}function C(e){e=e|0;D(U[e|0]<<24|U[e|1]<<16|U[e|2]<<8|U[e|3],U[e|4]<<24|U[e|5]<<16|U[e|6]<<8|U[e|7],U[e|8]<<24|U[e|9]<<16|U[e|10]<<8|U[e|11],U[e|12]<<24|U[e|13]<<16|U[e|14]<<8|U[e|15],U[e|16]<<24|U[e|17]<<16|U[e|18]<<8|U[e|19],U[e|20]<<24|U[e|21]<<16|U[e|22]<<8|U[e|23],U[e|24]<<24|U[e|25]<<16|U[e|26]<<8|U[e|27],U[e|28]<<24|U[e|29]<<16|U[e|30]<<8|U[e|31],U[e|32]<<24|U[e|33]<<16|U[e|34]<<8|U[e|35],U[e|36]<<24|U[e|37]<<16|U[e|38]<<8|U[e|39],U[e|40]<<24|U[e|41]<<16|U[e|42]<<8|U[e|43],U[e|44]<<24|U[e|45]<<16|U[e|46]<<8|U[e|47],U[e|48]<<24|U[e|49]<<16|U[e|50]<<8|U[e|51],U[e|52]<<24|U[e|53]<<16|U[e|54]<<8|U[e|55],U[e|56]<<24|U[e|57]<<16|U[e|58]<<8|U[e|59],U[e|60]<<24|U[e|61]<<16|U[e|62]<<8|U[e|63])}function I(e){e=e|0;U[e|0]=n>>>24;U[e|1]=n>>>16&255;U[e|2]=n>>>8&255;U[e|3]=n&255;U[e|4]=i>>>24;U[e|5]=i>>>16&255;U[e|6]=i>>>8&255;U[e|7]=i&255;U[e|8]=a>>>24;U[e|9]=a>>>16&255;U[e|10]=a>>>8&255;U[e|11]=a&255;U[e|12]=s>>>24;U[e|13]=s>>>16&255;U[e|14]=s>>>8&255;U[e|15]=s&255;U[e|16]=o>>>24;U[e|17]=o>>>16&255;U[e|18]=o>>>8&255;U[e|19]=o&255;U[e|20]=c>>>24;U[e|21]=c>>>16&255;U[e|22]=c>>>8&255;U[e|23]=c&255;U[e|24]=h>>>24;U[e|25]=h>>>16&255;U[e|26]=h>>>8&255;U[e|27]=h&255;U[e|28]=u>>>24;U[e|29]=u>>>16&255;U[e|30]=u>>>8&255;U[e|31]=u&255}function T(){n=0x6a09e667;i=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;h=0x1f83d9ab;u=0x5be0cd19;l=y=0}function B(e,t,r,d,p,f,g,m,w,b){e=e|0;t=t|0;r=r|0;d=d|0;p=p|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;n=e;i=t;a=r;s=d;o=p;c=f;h=g;u=m;l=w;y=b}function z(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){C(e);e=e+64|0;t=t-64|0;r=r+64|0}l=l+r|0;if(l>>>0<r>>>0)y=y+1|0;return r|0}function R(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=z(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;l=l+t|0;if(l>>>0<t>>>0)y=y+1|0;U[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)U[e|i]=0x00;C(e);t=0;U[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)U[e|i]=0;U[e|56]=y>>>21&255;U[e|57]=y>>>13&255;U[e|58]=y>>>5&255;U[e|59]=y<<3&255|l>>>29;U[e|60]=l>>>21&255;U[e|61]=l>>>13&255;U[e|62]=l>>>5&255;U[e|63]=l<<3&255;C(e);if(~r)I(r);return n|0}function M(){n=d;i=p;a=f;s=g;o=m;c=w;h=b;u=k;l=64;y=0}function L(){n=v;i=A;a=_;s=E;o=S;c=K;h=x;u=P;l=64;y=0}function N(e,t,r,U,C,I,B,z,R,M,L,N,O,F,H,j){e=e|0;t=t|0;r=r|0;U=U|0;C=C|0;I=I|0;B=B|0;z=z|0;R=R|0;M=M|0;L=L|0;N=N|0;O=O|0;F=F|0;H=H|0;j=j|0;T();D(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,U^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,z^0x5c5c5c5c,R^0x5c5c5c5c,M^0x5c5c5c5c,L^0x5c5c5c5c,N^0x5c5c5c5c,O^0x5c5c5c5c,F^0x5c5c5c5c,H^0x5c5c5c5c,j^0x5c5c5c5c);v=n;A=i;_=a;E=s;S=o;K=c;x=h;P=u;T();D(e^0x36363636,t^0x36363636,r^0x36363636,U^0x36363636,C^0x36363636,I^0x36363636,B^0x36363636,z^0x36363636,R^0x36363636,M^0x36363636,L^0x36363636,N^0x36363636,O^0x36363636,F^0x36363636,H^0x36363636,j^0x36363636);d=n;p=i;f=a;g=s;m=o;w=c;b=h;k=u;l=64;y=0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0;if(e&63)return-1;if(~r)if(r&31)return-1;b=R(e,t,-1)|0;l=n,y=i,d=a,p=s,f=o,g=c,m=h,w=u;L();D(l,y,d,p,f,g,m,w,0x80000000,0,0,0,0,0,0,768);if(~r)I(r);return b|0}function F(e,t,r,l,y){e=e|0;t=t|0;r=r|0;l=l|0;y=y|0;var d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,S=0,K=0,x=0,P=0;if(e&63)return-1;if(~y)if(y&31)return-1;U[e+t|0]=r>>>24;U[e+t+1|0]=r>>>16&255;U[e+t+2|0]=r>>>8&255;U[e+t+3|0]=r&255;O(e,t+4|0,-1)|0;d=v=n,p=A=i,f=_=a,g=E=s,m=S=o,w=K=c,b=x=h,k=P=u;l=l-1|0;while((l|0)>0){M();D(v,A,_,E,S,K,x,P,0x80000000,0,0,0,0,0,0,768);v=n,A=i,_=a,E=s,S=o,K=c,x=h,P=u;L();D(v,A,_,E,S,K,x,P,0x80000000,0,0,0,0,0,0,768);v=n,A=i,_=a,E=s,S=o,K=c,x=h,P=u;d=d^n;p=p^i;f=f^a;g=g^s;m=m^o;w=w^c;b=b^h;k=k^u;l=l-1|0}n=d;i=p;a=f;s=g;o=m;c=w;h=b;u=k;if(~y)I(y);return 0}return{reset:T,init:B,process:z,finish:R,hmac_reset:M,hmac_init:N,hmac_finish:O,pbkdf2_generate_block:F}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(Xe.push(this.heap),Ye.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Qe).process(e).finish().result}}Qe.NAME="sha256";var Je=et;function et(e,t){if(!e)throw Error(t||"Assertion failed")}et.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var tt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function rt(e,t){return e(t={exports:{}},t.exports),t.exports}function nt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var it=rt((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}));var at=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var n=0;n<e.length;n++){var i=e.charCodeAt(n),a=i>>8,s=255&i;a?r.push(a,s):r.push(s)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r};var st=function(e){for(var t="",r=0;r<e.length;r++)t+=ht(e[r].toString(16));return t};function ot(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var ct=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=ot(i)),r+=ut(i.toString(16))}return r};function ht(e){return 1===e.length?"0"+e:e}function ut(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var lt=function(e,t,r,n){var i=r-t;Je(i%4==0);for(var a=Array(i/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===n?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var yt=function(e,t){for(var r=Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var a=e[n];"big"===t?(r[i]=a>>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r};var dt={inherits:it,toArray:at,toHex:st,htonl:ot,toHex32:ct,zero2:ht,zero8:ut,join32:lt,split32:yt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,n){return e+t+r+n>>>0},sum32_5:function(e,t,r,n,i){return e+t+r+n+i>>>0},sum64:function(e,t,r,n){var i=e[t],a=n+e[t+1]>>>0,s=(a<n?1:0)+r+i;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,n){return t+n>>>0},sum64_4_hi:function(e,t,r,n,i,a,s,o){var c=0,h=t;return c+=(h=h+n>>>0)<t?1:0,c+=(h=h+a>>>0)<a?1:0,e+r+i+s+(c+=(h=h+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,n,i,a,s,o){return t+n+a+o>>>0},sum64_5_hi:function(e,t,r,n,i,a,s,o,c,h){var u=0,l=t;return u+=(l=l+n>>>0)<t?1:0,u+=(l=l+a>>>0)<a?1:0,u+=(l=l+o>>>0)<o?1:0,e+r+i+s+c+(u+=(l=l+h>>>0)<h?1:0)>>>0},sum64_5_lo:function(e,t,r,n,i,a,s,o,c,h){return t+n+a+o+h>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function pt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var ft=pt;pt.prototype.update=function(e,t){if(e=dt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=dt.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},pt.prototype.digest=function(e){return this.update(this._pad()),Je(null===this.pending),this._digest(e)},pt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,a=8;a<this.padLength;a++)n[i++]=0;return n};var gt={BlockHash:ft},mt=dt.rotr32;var wt=function(e,t,r,n){return 0===e?bt(t,r,n):1===e||3===e?vt(t,r,n):2===e?kt(t,r,n):void 0};function bt(e,t,r){return e&t^~e&r}function kt(e,t,r){return e&t^e&r^t&r}function vt(e,t,r){return e^t^r}var At={ft_1:wt,ch32:bt,maj32:kt,p32:vt,s0_256:function(e){return mt(e,2)^mt(e,13)^mt(e,22)},s1_256:function(e){return mt(e,6)^mt(e,11)^mt(e,25)},g0_256:function(e){return mt(e,7)^mt(e,18)^e>>>3},g1_256:function(e){return mt(e,17)^mt(e,19)^e>>>10}},_t=dt.sum32,Et=dt.sum32_4,St=dt.sum32_5,Kt=At.ch32,xt=At.maj32,Pt=At.s0_256,Ut=At.s1_256,Dt=At.g0_256,Ct=At.g1_256,It=gt.BlockHash,Tt=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Bt(){if(!(this instanceof Bt))return new Bt;It.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Tt,this.W=Array(64)}dt.inherits(Bt,It);var zt=Bt;function Rt(){if(!(this instanceof Rt))return new Rt;zt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Bt.blockSize=512,Bt.outSize=256,Bt.hmacStrength=192,Bt.padLength=64,Bt.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=Et(Ct(r[n-2]),r[n-7],Dt(r[n-15]),r[n-16]);var i=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],h=this.h[5],u=this.h[6],l=this.h[7];for(Je(this.k.length===r.length),n=0;n<r.length;n++){var y=St(l,Ut(c),Kt(c,h,u),this.k[n],r[n]),d=_t(Pt(i),xt(i,a,s));l=u,u=h,h=c,c=_t(o,y),o=s,s=a,a=i,i=_t(y,d)}this.h[0]=_t(this.h[0],i),this.h[1]=_t(this.h[1],a),this.h[2]=_t(this.h[2],s),this.h[3]=_t(this.h[3],o),this.h[4]=_t(this.h[4],c),this.h[5]=_t(this.h[5],h),this.h[6]=_t(this.h[6],u),this.h[7]=_t(this.h[7],l)},Bt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"big"):dt.split32(this.h,"big")},dt.inherits(Rt,zt);var Mt=Rt;Rt.blockSize=512,Rt.outSize=224,Rt.hmacStrength=192,Rt.padLength=64,Rt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h.slice(0,7),"big"):dt.split32(this.h.slice(0,7),"big")};var Lt=dt.rotr64_hi,Nt=dt.rotr64_lo,Ot=dt.shr64_hi,Ft=dt.shr64_lo,Ht=dt.sum64,jt=dt.sum64_hi,qt=dt.sum64_lo,Gt=dt.sum64_4_hi,Vt=dt.sum64_4_lo,Wt=dt.sum64_5_hi,$t=dt.sum64_5_lo,Zt=gt.BlockHash,Xt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Yt(){if(!(this instanceof Yt))return new Yt;Zt.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Xt,this.W=Array(160)}dt.inherits(Yt,Zt);var Qt=Yt;function Jt(e,t,r,n,i){var a=e&r^~e&i;return a<0&&(a+=4294967296),a}function er(e,t,r,n,i,a){var s=t&n^~t&a;return s<0&&(s+=4294967296),s}function tr(e,t,r,n,i){var a=e&r^e&i^r&i;return a<0&&(a+=4294967296),a}function rr(e,t,r,n,i,a){var s=t&n^t&a^n&a;return s<0&&(s+=4294967296),s}function nr(e,t){var r=Lt(e,t,28)^Lt(t,e,2)^Lt(t,e,7);return r<0&&(r+=4294967296),r}function ir(e,t){var r=Nt(e,t,28)^Nt(t,e,2)^Nt(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Lt(e,t,14)^Lt(e,t,18)^Lt(t,e,9);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Nt(e,t,14)^Nt(e,t,18)^Nt(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Lt(e,t,1)^Lt(e,t,8)^Ot(e,t,7);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Nt(e,t,1)^Nt(e,t,8)^Ft(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Lt(e,t,19)^Lt(t,e,29)^Ot(e,t,6);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Nt(e,t,19)^Nt(t,e,29)^Ft(e,t,6);return r<0&&(r+=4294967296),r}function lr(){if(!(this instanceof lr))return new lr;Qt.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Yt.blockSize=1024,Yt.outSize=512,Yt.hmacStrength=192,Yt.padLength=128,Yt.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=hr(r[n-4],r[n-3]),a=ur(r[n-4],r[n-3]),s=r[n-14],o=r[n-13],c=or(r[n-30],r[n-29]),h=cr(r[n-30],r[n-29]),u=r[n-32],l=r[n-31];r[n]=Gt(i,a,s,o,c,h,u,l),r[n+1]=Vt(i,a,s,o,c,h,u,l)}},Yt.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],h=this.h[6],u=this.h[7],l=this.h[8],y=this.h[9],d=this.h[10],p=this.h[11],f=this.h[12],g=this.h[13],m=this.h[14],w=this.h[15];Je(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var k=m,v=w,A=ar(l,y),_=sr(l,y),E=Jt(l,y,d,p,f),S=er(l,y,d,p,f,g),K=this.k[b],x=this.k[b+1],P=r[b],U=r[b+1],D=Wt(k,v,A,_,E,S,K,x,P,U),C=$t(k,v,A,_,E,S,K,x,P,U);k=nr(n,i),v=ir(n,i),A=tr(n,i,a,s,o),_=rr(n,i,a,s,o,c);var I=jt(k,v,A,_),T=qt(k,v,A,_);m=f,w=g,f=d,g=p,d=l,p=y,l=jt(h,u,D,C),y=qt(u,u,D,C),h=o,u=c,o=a,c=s,a=n,s=i,n=jt(D,C,I,T),i=qt(D,C,I,T)}Ht(this.h,0,n,i),Ht(this.h,2,a,s),Ht(this.h,4,o,c),Ht(this.h,6,h,u),Ht(this.h,8,l,y),Ht(this.h,10,d,p),Ht(this.h,12,f,g),Ht(this.h,14,m,w)},Yt.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"big"):dt.split32(this.h,"big")},dt.inherits(lr,Qt);var yr=lr;lr.blockSize=1024,lr.outSize=384,lr.hmacStrength=192,lr.padLength=128,lr.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h.slice(0,12),"big"):dt.split32(this.h.slice(0,12),"big")};var dr=dt.rotl32,pr=dt.sum32,fr=dt.sum32_3,gr=dt.sum32_4,mr=gt.BlockHash;function wr(){if(!(this instanceof wr))return new wr;mr.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}dt.inherits(wr,mr);var br=wr;function kr(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function vr(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function Ar(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}wr.blockSize=512,wr.outSize=160,wr.hmacStrength=192,wr.padLength=64,wr.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],a=this.h[3],s=this.h[4],o=r,c=n,h=i,u=a,l=s,y=0;y<80;y++){var d=pr(dr(gr(r,kr(y,n,i,a),e[_r[y]+t],vr(y)),Sr[y]),s);r=s,s=a,a=dr(i,10),i=n,n=d,d=pr(dr(gr(o,kr(79-y,c,h,u),e[Er[y]+t],Ar(y)),Kr[y]),l),o=l,l=u,u=dr(h,10),h=c,c=d}d=fr(this.h[1],i,u),this.h[1]=fr(this.h[2],a,l),this.h[2]=fr(this.h[3],s,o),this.h[3]=fr(this.h[4],r,c),this.h[4]=fr(this.h[0],n,h),this.h[0]=d},wr.prototype._digest=function(e){return"hex"===e?dt.toHex32(this.h,"little"):dt.split32(this.h,"little")};var _r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Er=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Sr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Kr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],xr={ripemd160:br};function Pr(e,t){let r=e[0],n=e[1],i=e[2],a=e[3];r=Dr(r,n,i,a,t[0],7,-680876936),a=Dr(a,r,n,i,t[1],12,-389564586),i=Dr(i,a,r,n,t[2],17,606105819),n=Dr(n,i,a,r,t[3],22,-1044525330),r=Dr(r,n,i,a,t[4],7,-176418897),a=Dr(a,r,n,i,t[5],12,1200080426),i=Dr(i,a,r,n,t[6],17,-1473231341),n=Dr(n,i,a,r,t[7],22,-45705983),r=Dr(r,n,i,a,t[8],7,1770035416),a=Dr(a,r,n,i,t[9],12,-1958414417),i=Dr(i,a,r,n,t[10],17,-42063),n=Dr(n,i,a,r,t[11],22,-1990404162),r=Dr(r,n,i,a,t[12],7,1804603682),a=Dr(a,r,n,i,t[13],12,-40341101),i=Dr(i,a,r,n,t[14],17,-1502002290),n=Dr(n,i,a,r,t[15],22,1236535329),r=Cr(r,n,i,a,t[1],5,-165796510),a=Cr(a,r,n,i,t[6],9,-1069501632),i=Cr(i,a,r,n,t[11],14,643717713),n=Cr(n,i,a,r,t[0],20,-373897302),r=Cr(r,n,i,a,t[5],5,-701558691),a=Cr(a,r,n,i,t[10],9,38016083),i=Cr(i,a,r,n,t[15],14,-660478335),n=Cr(n,i,a,r,t[4],20,-405537848),r=Cr(r,n,i,a,t[9],5,568446438),a=Cr(a,r,n,i,t[14],9,-1019803690),i=Cr(i,a,r,n,t[3],14,-187363961),n=Cr(n,i,a,r,t[8],20,1163531501),r=Cr(r,n,i,a,t[13],5,-1444681467),a=Cr(a,r,n,i,t[2],9,-51403784),i=Cr(i,a,r,n,t[7],14,1735328473),n=Cr(n,i,a,r,t[12],20,-1926607734),r=Ir(r,n,i,a,t[5],4,-378558),a=Ir(a,r,n,i,t[8],11,-2022574463),i=Ir(i,a,r,n,t[11],16,1839030562),n=Ir(n,i,a,r,t[14],23,-35309556),r=Ir(r,n,i,a,t[1],4,-1530992060),a=Ir(a,r,n,i,t[4],11,1272893353),i=Ir(i,a,r,n,t[7],16,-155497632),n=Ir(n,i,a,r,t[10],23,-1094730640),r=Ir(r,n,i,a,t[13],4,681279174),a=Ir(a,r,n,i,t[0],11,-358537222),i=Ir(i,a,r,n,t[3],16,-722521979),n=Ir(n,i,a,r,t[6],23,76029189),r=Ir(r,n,i,a,t[9],4,-640364487),a=Ir(a,r,n,i,t[12],11,-421815835),i=Ir(i,a,r,n,t[15],16,530742520),n=Ir(n,i,a,r,t[2],23,-995338651),r=Tr(r,n,i,a,t[0],6,-198630844),a=Tr(a,r,n,i,t[7],10,1126891415),i=Tr(i,a,r,n,t[14],15,-1416354905),n=Tr(n,i,a,r,t[5],21,-57434055),r=Tr(r,n,i,a,t[12],6,1700485571),a=Tr(a,r,n,i,t[3],10,-1894986606),i=Tr(i,a,r,n,t[10],15,-1051523),n=Tr(n,i,a,r,t[1],21,-2054922799),r=Tr(r,n,i,a,t[8],6,1873313359),a=Tr(a,r,n,i,t[15],10,-30611744),i=Tr(i,a,r,n,t[6],15,-1560198380),n=Tr(n,i,a,r,t[13],21,1309151649),r=Tr(r,n,i,a,t[4],6,-145523070),a=Tr(a,r,n,i,t[11],10,-1120210379),i=Tr(i,a,r,n,t[2],15,718787259),n=Tr(n,i,a,r,t[9],21,-343485551),e[0]=Mr(r,e[0]),e[1]=Mr(n,e[1]),e[2]=Mr(i,e[2]),e[3]=Mr(a,e[3])}function Ur(e,t,r,n,i,a){return t=Mr(Mr(t,e),Mr(n,a)),Mr(t<<i|t>>>32-i,r)}function Dr(e,t,r,n,i,a,s){return Ur(t&r|~t&n,e,t,i,a,s)}function Cr(e,t,r,n,i,a,s){return Ur(t&n|r&~n,e,t,i,a,s)}function Ir(e,t,r,n,i,a,s){return Ur(t^r^n,e,t,i,a,s)}function Tr(e,t,r,n,i,a,s){return Ur(r^(t|~n),e,t,i,a,s)}function Br(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const zr="0123456789abcdef".split("");function Rr(e){let t="",r=0;for(;r<4;r++)t+=zr[e>>8*r+4&15]+zr[e>>8*r&15];return t}function Mr(e,t){return e+t&4294967295}const Lr=X.getWebCrypto(),Nr=X.getNodeCrypto(),Or=Nr&&Nr.getHashes();function Fr(e){if(Nr&&Or.includes(e))return async function(t){const r=Nr.createHash(e);return z(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function Hr(e,t){return async function(r,n=ie){if(s(r)&&(r=await H(r)),!X.isStream(r)&&Lr&&t&&r.length>=n.minBytesForWebCrypto)return new Uint8Array(await Lr.digest(t,r));const i=e();return z(r,(e=>{i.update(e)}),(()=>new Uint8Array(i.digest())))}}function jr(e,t){return async function(r,n=ie){if(s(r)&&(r=await H(r)),X.isStream(r)){const t=new e;return z(r,(e=>{t.process(e)}),(()=>t.finish().result))}return Lr&&t&&r.length>=n.minBytesForWebCrypto?new Uint8Array(await Lr.digest(t,r)):e.bytes(r)}}const qr={md5:Fr("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let n;for(n=64;n<=e.length;n+=64)Pr(r,Br(e.substring(n-64,n)));e=e.substring(n-64);const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<e.length;n++)i[n>>2]|=e.charCodeAt(n)<<(n%4<<3);if(i[n>>2]|=128<<(n%4<<3),n>55)for(Pr(r,i),n=0;n<16;n++)i[n]=0;return i[14]=8*t,Pr(r,i),r}(X.uint8ArrayToString(e));return X.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=Rr(e[t]);return e.join("")}(t))},sha1:Fr("sha1")||jr(Ze,"SHA-1"),sha224:Fr("sha224")||Hr(Mt),sha256:Fr("sha256")||jr(Qe,"SHA-256"),sha384:Fr("sha384")||Hr(yr,"SHA-384"),sha512:Fr("sha512")||Hr(Qt,"SHA-512"),ripemd:Fr("ripemd160")||Hr(br)};var Gr={md5:qr.md5,sha1:qr.sha1,sha224:qr.sha224,sha256:qr.sha256,sha384:qr.sha384,sha512:qr.sha512,ripemd:qr.ripemd,digest:function(e,t){switch(e){case $.hash.md5:return this.md5(t);case $.hash.sha1:return this.sha1(t);case $.hash.ripemd:return this.ripemd(t);case $.hash.sha256:return this.sha256(t);case $.hash.sha384:return this.sha384(t);case $.hash.sha512:return this.sha512(t);case $.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case $.hash.md5:return 16;case $.hash.sha1:case $.hash.ripemd:return 20;case $.hash.sha256:return 32;case $.hash.sha384:return 48;case $.hash.sha512:return 64;case $.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case $.hash.md5:case $.hash.sha1:case $.hash.ripemd:case $.hash.sha224:case $.hash.sha256:return 64;case $.hash.sha384:case $.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class Vr{static encrypt(e,t,r){return new Vr(t,r).encrypt(e)}static decrypt(e,t,r){return new Vr(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Se(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function Wr(e){const t=$.read($.symmetric,e);return qe[t]}const $r=X.getWebCrypto(),Zr=X.getNodeCrypto(),Xr=Zr?Zr.getCiphers():[],Yr={idea:Xr.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Xr.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Xr.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Xr.includes("bf-cfb")?"bf-cfb":void 0,aes128:Xr.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Xr.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Xr.includes("aes-256-cfb")?"aes-256-cfb":void 0};var Qr=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,n,i){const a=$.read($.symmetric,e);if(X.getNodeCrypto()&&Yr[a])return function(e,t,r,n){const i=$.read($.symmetric,e),a=new Zr.createCipheriv(Yr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if(X.isAES(e))return function(e,t,r,n,i){if(X.getWebCrypto()&&24!==t.length&&!X.isStream(r)&&r.length>=3e3*i.minBytesForWebCrypto)return async function(e,t,r,n){const i="AES-CBC",a=await $r.importKey("raw",t,{name:i},!1,["encrypt"]),{blockSize:s}=Wr(e),o=X.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await $r.encrypt({name:i,iv:n},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,n);const a=new Vr(t,n);return z(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,n,i);const s=new(Wr(e))(t),o=s.blockSize,c=n.slice();let h=new Uint8Array;const u=e=>{e&&(h=X.concatUint8Array([h,e]));const t=new Uint8Array(h.length);let r,n=0;for(;e?h.length>=o:h.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=h[r]^e[r],t[n++]=c[r];h=h.subarray(o)}return t.subarray(0,n)};return z(r,u,u)},decrypt:async function(e,t,r,n){const i=$.read($.symmetric,e);if(X.getNodeCrypto()&&Yr[i])return function(e,t,r,n){const i=$.read($.symmetric,e),a=new Zr.createDecipheriv(Yr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if(X.isAES(e))return function(e,t,r,n){if(X.isStream(r)){const e=new Vr(t,n);return z(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return Vr.decrypt(r,t,n)}(0,t,r,n);const a=new(Wr(e))(t),s=a.blockSize;let o=n,c=new Uint8Array;const h=e=>{e&&(c=X.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c.subarray(0,s),r=0;r<s;r++)t[n++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,n)};return z(r,h,h)}});class Jr{static encrypt(e,t,r){return new Jr(t,r).encrypt(e)}static decrypt(e,t,r){return new Jr(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Se(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:n}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new ve("illegal counter size");let e=Math.pow(2,r)-1;n.set_mask(0,0,e/4294967296|0,0|e)}else r=48,n.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new ve("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),n.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new ve("illegal counter value");n.set_counter(0,0,t/4294967296|0,0|t)}}}class en{static encrypt(e,t,r=!0,n){return new en(t,n,r).encrypt(e)}static decrypt(e,t,r=!0,n){return new en(t,n,r).decrypt(e)}constructor(e,t,r=!0,n){this.aes=n||new Se(e,t,r,"CBC")}encrypt(e){return be(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return be(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const tn=X.getWebCrypto(),rn=X.getNodeCrypto(),nn=16;function an(e,t){const r=e.length-nn;for(let n=0;n<nn;n++)e[n+r]^=t[n];return e}const sn=new Uint8Array(nn);async function on(e){const t=await async function(e){if(X.getWebCrypto()&&24!==e.length)return e=await tn.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await tn.encrypt({name:"AES-CBC",iv:sn,length:8*nn},e,t);return new Uint8Array(r).subarray(0,r.byteLength-nn)};if(X.getNodeCrypto())return async function(t){const r=new rn.createCipheriv("aes-"+8*e.length+"-cbc",e,sn).update(t);return new Uint8Array(r)};return async function(t){return en.encrypt(t,e,!1,sn)}}(e),r=X.double(await t(sn)),n=X.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%nn==0)return an(e,t);const n=new Uint8Array(e.length+(nn-e.length%nn));return n.set(e),n[e.length]=128,an(n,r)}(e,r,n))).subarray(-nn)}}const cn=X.getWebCrypto(),hn=X.getNodeCrypto(),un=X.getNodeBuffer(),ln=16,yn=ln,dn=ln,pn=new Uint8Array(ln),fn=new Uint8Array(ln);fn[ln-1]=1;const gn=new Uint8Array(ln);async function mn(e){const t=await on(e);return function(e,r){return t(X.concatUint8Array([e,r]))}}async function wn(e){return X.getWebCrypto()&&24!==e.length?(e=await cn.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const n=await cn.encrypt({name:"AES-CTR",counter:r,length:8*ln},e,t);return new Uint8Array(n)}):X.getNodeCrypto()?async function(t,r){const n=new hn.createCipheriv("aes-"+8*e.length+"-ctr",e,r),i=un.concat([n.update(t),n.final()]);return new Uint8Array(i)}:async function(t,r){return Jr.encrypt(t,e,r)}}async function bn(e,t){if(e!==$.symmetric.aes128&&e!==$.symmetric.aes192&&e!==$.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,n]=await Promise.all([mn(t),wn(t)]);return{encrypt:async function(e,t,i){const[a,s]=await Promise.all([r(pn,t),r(fn,i)]),o=await n(e,a),c=await r(gn,o);for(let e=0;e<dn;e++)c[e]^=s[e]^a[e];return X.concatUint8Array([o,c])},decrypt:async function(e,t,i){if(e.length<dn)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-dn),s=e.subarray(-dn),[o,c,h]=await Promise.all([r(pn,t),r(fn,i),r(gn,a)]),u=h;for(let e=0;e<dn;e++)u[e]^=c[e]^o[e];if(!X.equalsUint8Array(s,u))throw Error("Authentication tag mismatch");return await n(a,o)}}}gn[ln-1]=2,bn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},bn.blockLength=ln,bn.ivLength=yn,bn.tagLength=dn;const kn=16,vn=15,An=16;function _n(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function En(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Sn(e,t){return En(e.slice(),t)}const Kn=new Uint8Array(kn),xn=new Uint8Array([1]);async function Pn(e,t){let r,n,i,a=0;function s(e,t,n,s){const o=t.length/kn|0;!function(e,t){const r=X.nbits(Math.max(e.length,t.length)/kn|0)-1;for(let e=a+1;e<=r;e++)i[e]=X.double(i[e-1]);a=r}(t,s);const c=X.concatUint8Array([Kn.subarray(0,vn-n.length),xn,n]),h=63&c[kn-1];c[kn-1]&=192;const u=r(c),l=X.concatUint8Array([u,Sn(u.subarray(0,8),u.subarray(1,9))]),y=X.shiftRight(l.subarray(0+(h>>3),17+(h>>3)),8-(7&h)).subarray(1),d=new Uint8Array(kn),p=new Uint8Array(t.length+An);let f,g=0;for(f=0;f<o;f++)En(y,i[_n(f+1)]),p.set(En(e(Sn(y,t)),y),g),En(d,e===r?t:p.subarray(g)),t=t.subarray(kn),g+=kn;if(t.length){En(y,i.x);const n=r(y);p.set(Sn(t,n),g);const a=new Uint8Array(kn);a.set(e===r?t:p.subarray(g,-An),0),a[t.length]=128,En(d,a),g+=t.length}const m=En(r(En(En(d,y),i.$)),function(e){if(!e.length)return Kn;const t=e.length/kn|0,n=new Uint8Array(kn),a=new Uint8Array(kn);for(let s=0;s<t;s++)En(n,i[_n(s+1)]),En(a,r(Sn(n,e))),e=e.subarray(kn);if(e.length){En(n,i.x);const t=new Uint8Array(kn);t.set(e,0),t[e.length]=128,En(t,n),En(a,r(t))}return a}(s));return p.set(m,g),p}return function(e,t){const a=$.read($.symmetric,e),s=new qe[a](t);r=s.encrypt.bind(s),n=s.decrypt.bind(s);const o=r(Kn),c=X.double(o);i=[],i[0]=X.double(c),i.x=o,i.$=c}(e,t),{encrypt:async function(e,t,n){return s(r,e,t,n)},decrypt:async function(e,t,r){if(e.length<An)throw Error("Invalid OCB ciphertext");const i=e.subarray(-An);e=e.subarray(0,-An);const a=s(n,e,t,r);if(X.equalsUint8Array(i,a.subarray(-An)))return a.subarray(0,-An);throw Error("Authentication tag mismatch")}}}Pn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Pn.blockLength=kn,Pn.ivLength=vn,Pn.tagLength=An;const Un=68719476704;class Dn{constructor(e,t,r,n=16,i){this.tagSize=n,this.gamma0=0,this.counter=1,this.aes=i||new Se(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new ve("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(fe.MAC.GCM,fe.HEAP_DATA,16),a.get_iv(fe.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const h=new DataView(c.buffer);if(this.gamma0=h.getUint32(12),a.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>Un)throw new ve("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,n,i){return new Dn(t,r,n,i).encrypt(e)}static decrypt(e,t,r,n,i){return new Dn(t,r,n,i).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:n,heap:i}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,h=o+r&-16,u=0;if((a-1<<4)+o+r>Un)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>0;)u=we(i,s+o,e,t,r),o+=u,t+=u,r-=u,u=n.cipher(fe.ENC.CTR,fe.HEAP_DATA+s,o),u=n.mac(fe.MAC.GCM,fe.HEAP_DATA+s,u),u&&l.set(i.subarray(s,s+u),c),a+=u>>>4,c+=u,u<o?(s+=u,o-=u):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,l}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,n=this.tagSize,i=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+n);e.cipher(fe.ENC.CTR,fe.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(fe.MAC.GCM,fe.HEAP_DATA+a,c);const h=void 0!==i?i.length:0,u=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=h>>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=u>>>29,t[12]=u>>>21&255,t[13]=u>>>13&255,t[14]=u>>>5&255,t[15]=u<<3&255,e.mac(fe.MAC.GCM,fe.HEAP_DATA,16),e.get_iv(fe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(fe.ENC.CTR,fe.HEAP_DATA,16),o.set(t.subarray(0,n),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:n,heap:i}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,h=0,u=c+r>s?c+r-s&-16:0,l=c+r-u,y=0;if((a-1<<4)+c+r>Un)throw new RangeError("counter overflow");const d=new Uint8Array(u);for(;r>l;)y=we(i,o+c,e,t,r-l),c+=y,t+=y,r-=y,y=n.mac(fe.MAC.GCM,fe.HEAP_DATA+o,y),y=n.cipher(fe.DEC.CTR,fe.HEAP_DATA+o,y),y&&d.set(i.subarray(o,o+y),h),a+=y>>>4,h+=y,o=0,c=0;return r>0&&(c+=we(i,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,d}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,n=this.adata,i=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new ke("authentication tag not found");const c=new Uint8Array(o),h=new Uint8Array(t.subarray(a+o,a+s));let u=o;for(;15&u;u++)t[a+u]=0;e.mac(fe.MAC.GCM,fe.HEAP_DATA+a,u),e.cipher(fe.DEC.CTR,fe.HEAP_DATA+a,u),o&&c.set(t.subarray(a,a+o));const l=void 0!==n?n.length:0,y=(i-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=l>>>29,t[4]=l>>>21,t[5]=l>>>13&255,t[6]=l>>>5&255,t[7]=l<<3&255,t[8]=t[9]=t[10]=0,t[11]=y>>>29,t[12]=y>>>21&255,t[13]=y>>>13&255,t[14]=y>>>5&255,t[15]=y<<3&255,e.mac(fe.MAC.GCM,fe.HEAP_DATA,16),e.get_iv(fe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(fe.ENC.CTR,fe.HEAP_DATA,16);let d=0;for(let e=0;e<r;++e)d|=h[e]^t[e];if(d)throw new Ae("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),n=0,i=e.length||0,a=0;for(;i>0;){for(a=we(r,0,e,n,i),n+=a,i-=a;15&a;)r[a++]=0;t.mac(fe.MAC.GCM,fe.HEAP_DATA,a)}}}const Cn=X.getWebCrypto(),In=X.getNodeCrypto(),Tn=X.getNodeBuffer(),Bn=16,zn="AES-GCM";async function Rn(e,t){if(e!==$.symmetric.aes128&&e!==$.symmetric.aes192&&e!==$.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(X.getNodeCrypto())return{encrypt:async function(e,r,n=new Uint8Array){const i=new In.createCipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n);const a=Tn.concat([i.update(e),i.final(),i.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,n=new Uint8Array){const i=new In.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n),i.setAuthTag(e.slice(e.length-Bn,e.length));const a=Tn.concat([i.update(e.slice(0,e.length-Bn)),i.final()]);return new Uint8Array(a)}};if(X.getWebCrypto()&&24!==t.length){const e=await Cn.importKey("raw",t,{name:zn},!1,["encrypt","decrypt"]);return{encrypt:async function(r,n,i=new Uint8Array){if(!r.length)return Dn.encrypt(r,t,n,i);const a=await Cn.encrypt({name:zn,iv:n,additionalData:i,tagLength:8*Bn},e,r);return new Uint8Array(a)},decrypt:async function(r,n,i=new Uint8Array){if(r.length===Bn)return Dn.decrypt(r,t,n,i);const a=await Cn.decrypt({name:zn,iv:n,additionalData:i,tagLength:8*Bn},e,r);return new Uint8Array(a)}}}return{encrypt:async function(e,r,n){return Dn.encrypt(e,t,r,n)},decrypt:async function(e,r,n){return Dn.decrypt(e,t,r,n)}}}Rn.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Rn.blockLength=16,Rn.ivLength=12,Rn.tagLength=Bn;var Mn={cfb:Qr,gcm:Rn,experimentalGCM:Rn,eax:bn,ocb:Pn},Ln=rt((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},n=new Uint8Array(32);n[0]=9;var i=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),h=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),u=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),l=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function y(e,t,r,n){return function(e,t,r,n,i){var a,s=0;for(a=0;a<i;a++)s|=e[t+a]^r[n+a];return(1&s-1>>>8)-1}(e,t,r,n,32)}function d(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function p(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function f(e,t,r){for(var n,i=~(r-1),a=0;a<16;a++)n=i&(e[a]^t[a]),e[a]^=n,t[a]^=n}function g(e,r){var n,i,a,s=t(),o=t();for(n=0;n<16;n++)o[n]=r[n];for(p(o),p(o),p(o),i=0;i<2;i++){for(s[0]=o[0]-65517,n=1;n<15;n++)s[n]=o[n]-65535-(s[n-1]>>16&1),s[n-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,f(o,s,1-a)}for(n=0;n<16;n++)e[2*n]=255&o[n],e[2*n+1]=o[n]>>8}function m(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return g(r,e),g(n,t),y(r,0,n,0)}function w(e){var t=new Uint8Array(32);return g(t,e),1&t[0]}function b(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function k(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function v(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function A(e,t,r){var n,i,a=0,s=0,o=0,c=0,h=0,u=0,l=0,y=0,d=0,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=0,S=0,K=0,x=0,P=0,U=0,D=0,C=0,I=0,T=0,B=0,z=0,R=r[0],M=r[1],L=r[2],N=r[3],O=r[4],F=r[5],H=r[6],j=r[7],q=r[8],G=r[9],V=r[10],W=r[11],$=r[12],Z=r[13],X=r[14],Y=r[15];a+=(n=t[0])*R,s+=n*M,o+=n*L,c+=n*N,h+=n*O,u+=n*F,l+=n*H,y+=n*j,d+=n*q,p+=n*G,f+=n*V,g+=n*W,m+=n*$,w+=n*Z,b+=n*X,k+=n*Y,s+=(n=t[1])*R,o+=n*M,c+=n*L,h+=n*N,u+=n*O,l+=n*F,y+=n*H,d+=n*j,p+=n*q,f+=n*G,g+=n*V,m+=n*W,w+=n*$,b+=n*Z,k+=n*X,v+=n*Y,o+=(n=t[2])*R,c+=n*M,h+=n*L,u+=n*N,l+=n*O,y+=n*F,d+=n*H,p+=n*j,f+=n*q,g+=n*G,m+=n*V,w+=n*W,b+=n*$,k+=n*Z,v+=n*X,A+=n*Y,c+=(n=t[3])*R,h+=n*M,u+=n*L,l+=n*N,y+=n*O,d+=n*F,p+=n*H,f+=n*j,g+=n*q,m+=n*G,w+=n*V,b+=n*W,k+=n*$,v+=n*Z,A+=n*X,_+=n*Y,h+=(n=t[4])*R,u+=n*M,l+=n*L,y+=n*N,d+=n*O,p+=n*F,f+=n*H,g+=n*j,m+=n*q,w+=n*G,b+=n*V,k+=n*W,v+=n*$,A+=n*Z,_+=n*X,E+=n*Y,u+=(n=t[5])*R,l+=n*M,y+=n*L,d+=n*N,p+=n*O,f+=n*F,g+=n*H,m+=n*j,w+=n*q,b+=n*G,k+=n*V,v+=n*W,A+=n*$,_+=n*Z,E+=n*X,S+=n*Y,l+=(n=t[6])*R,y+=n*M,d+=n*L,p+=n*N,f+=n*O,g+=n*F,m+=n*H,w+=n*j,b+=n*q,k+=n*G,v+=n*V,A+=n*W,_+=n*$,E+=n*Z,S+=n*X,K+=n*Y,y+=(n=t[7])*R,d+=n*M,p+=n*L,f+=n*N,g+=n*O,m+=n*F,w+=n*H,b+=n*j,k+=n*q,v+=n*G,A+=n*V,_+=n*W,E+=n*$,S+=n*Z,K+=n*X,x+=n*Y,d+=(n=t[8])*R,p+=n*M,f+=n*L,g+=n*N,m+=n*O,w+=n*F,b+=n*H,k+=n*j,v+=n*q,A+=n*G,_+=n*V,E+=n*W,S+=n*$,K+=n*Z,x+=n*X,P+=n*Y,p+=(n=t[9])*R,f+=n*M,g+=n*L,m+=n*N,w+=n*O,b+=n*F,k+=n*H,v+=n*j,A+=n*q,_+=n*G,E+=n*V,S+=n*W,K+=n*$,x+=n*Z,P+=n*X,U+=n*Y,f+=(n=t[10])*R,g+=n*M,m+=n*L,w+=n*N,b+=n*O,k+=n*F,v+=n*H,A+=n*j,_+=n*q,E+=n*G,S+=n*V,K+=n*W,x+=n*$,P+=n*Z,U+=n*X,D+=n*Y,g+=(n=t[11])*R,m+=n*M,w+=n*L,b+=n*N,k+=n*O,v+=n*F,A+=n*H,_+=n*j,E+=n*q,S+=n*G,K+=n*V,x+=n*W,P+=n*$,U+=n*Z,D+=n*X,C+=n*Y,m+=(n=t[12])*R,w+=n*M,b+=n*L,k+=n*N,v+=n*O,A+=n*F,_+=n*H,E+=n*j,S+=n*q,K+=n*G,x+=n*V,P+=n*W,U+=n*$,D+=n*Z,C+=n*X,I+=n*Y,w+=(n=t[13])*R,b+=n*M,k+=n*L,v+=n*N,A+=n*O,_+=n*F,E+=n*H,S+=n*j,K+=n*q,x+=n*G,P+=n*V,U+=n*W,D+=n*$,C+=n*Z,I+=n*X,T+=n*Y,b+=(n=t[14])*R,k+=n*M,v+=n*L,A+=n*N,_+=n*O,E+=n*F,S+=n*H,K+=n*j,x+=n*q,P+=n*G,U+=n*V,D+=n*W,C+=n*$,I+=n*Z,T+=n*X,B+=n*Y,k+=(n=t[15])*R,s+=38*(A+=n*L),o+=38*(_+=n*N),c+=38*(E+=n*O),h+=38*(S+=n*F),u+=38*(K+=n*H),l+=38*(x+=n*j),y+=38*(P+=n*q),d+=38*(U+=n*G),p+=38*(D+=n*V),f+=38*(C+=n*W),g+=38*(I+=n*$),m+=38*(T+=n*Z),w+=38*(B+=n*X),b+=38*(z+=n*Y),a=(n=(a+=38*(v+=n*M))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),k=(n=k+i+65535)-65536*(i=Math.floor(n/65536)),a=(n=(a+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),s=(n=s+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),k=(n=k+i+65535)-65536*(i=Math.floor(n/65536)),a+=i-1+37*(i-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=h,e[5]=u,e[6]=l,e[7]=y,e[8]=d,e[9]=p,e[10]=f,e[11]=g,e[12]=m,e[13]=w,e[14]=b,e[15]=k}function _(e,t){A(e,t,t)}function E(e,r){var n,i=t();for(n=0;n<16;n++)i[n]=r[n];for(n=253;n>=0;n--)_(i,i),2!==n&&4!==n&&A(i,i,r);for(n=0;n<16;n++)e[n]=i[n]}function S(e,r,n){var i,a,o=new Uint8Array(32),c=new Float64Array(80),h=t(),u=t(),l=t(),y=t(),d=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,b(c,n),a=0;a<16;a++)u[a]=c[a],y[a]=h[a]=l[a]=0;for(h[0]=y[0]=1,a=254;a>=0;--a)f(h,u,i=o[a>>>3]>>>(7&a)&1),f(l,y,i),k(d,h,l),v(h,h,l),k(l,u,y),v(u,u,y),_(y,d),_(p,h),A(h,l,h),A(l,u,d),k(d,h,l),v(h,h,l),_(u,h),v(l,y,p),A(h,l,s),k(h,h,y),A(l,l,h),A(h,y,p),A(y,u,c),_(u,d),f(h,u,i),f(l,y,i);for(a=0;a<16;a++)c[a+16]=h[a],c[a+32]=l[a],c[a+48]=u[a],c[a+64]=y[a];var m=c.subarray(32),w=c.subarray(16);return E(m,m),A(w,w,m),g(e,w),0}function K(e,t){return S(e,t,n)}function x(e,r){var n=t(),i=t(),a=t(),s=t(),o=t(),h=t(),u=t(),l=t(),y=t();v(n,e[1],e[0]),v(y,r[1],r[0]),A(n,n,y),k(i,e[0],e[1]),k(y,r[0],r[1]),A(i,i,y),A(a,e[3],r[3]),A(a,a,c),A(s,e[2],r[2]),k(s,s,s),v(o,i,n),v(h,s,a),k(u,s,a),k(l,i,n),A(e[0],o,h),A(e[1],l,u),A(e[2],u,h),A(e[3],o,l)}function P(e,t,r){var n;for(n=0;n<4;n++)f(e[n],t[n],r)}function U(e,r){var n=t(),i=t(),a=t();E(a,r[2]),A(n,r[0],a),A(i,r[1],a),g(e,i),e[31]^=w(n)<<7}function D(e,t,r){var n,s;for(d(e[0],i),d(e[1],a),d(e[2],a),d(e[3],i),s=255;s>=0;--s)P(e,t,n=r[s/8|0]>>(7&s)&1),x(t,e),x(e,e),P(e,t,n)}function C(e,r){var n=[t(),t(),t(),t()];d(n[0],h),d(n[1],u),d(n[2],a),A(n[3],h,u),D(e,n,r)}function I(n,i,a){var s,o,c=[t(),t(),t(),t()];for(a||r(i,32),(s=e.hash(i.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,C(c,s),U(n,c),o=0;o<32;o++)i[o+32]=n[o];return 0}var T=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function B(e,t){var r,n,i,a;for(n=63;n>=32;--n){for(r=0,i=n-32,a=n-12;i<a;++i)t[i]+=r-16*t[n]*T[i-(n-32)],r=Math.floor((t[i]+128)/256),t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*T[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*T[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function z(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;B(e,r)}function R(e,r){var n=t(),s=t(),c=t(),h=t(),u=t(),y=t(),p=t();return d(e[2],a),b(e[1],r),_(c,e[1]),A(h,c,o),v(c,c,e[2]),k(h,e[2],h),_(u,h),_(y,u),A(p,y,u),A(n,p,c),A(n,n,h),function(e,r){var n,i=t();for(n=0;n<16;n++)i[n]=r[n];for(n=250;n>=0;n--)_(i,i),1!==n&&A(i,i,r);for(n=0;n<16;n++)e[n]=i[n]}(n,n),A(n,n,c),A(n,n,h),A(n,n,h),A(e[0],n,h),_(s,e[0]),A(s,s,h),m(s,c)&&A(e[0],e[0],l),_(s,e[0]),A(s,s,h),m(s,c)?-1:(w(e[0])===r[31]>>7&&v(e[0],i,e[0]),A(e[3],e[0],e[1]),0)}var M=64;function L(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function N(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(L(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return S(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,n=new Uint8Array(32),i=new Uint8Array(32);return e=n,r(t=i,32),K(e,t),{publicKey:n,secretKey:i}},e.box.keyPair.fromSecretKey=function(e){if(L(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return K(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,n){if(L(r,n),64!==n.length)throw Error("bad secret key size");var i=new Uint8Array(M+r.length);return function(r,n,i,a){var s,o,c,h,u,l=new Float64Array(64),y=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var d=i+64;for(h=0;h<i;h++)r[64+h]=n[h];for(h=0;h<32;h++)r[32+h]=s[32+h];for(z(c=e.hash(r.subarray(32,d))),C(y,c),U(r,y),h=32;h<64;h++)r[h]=a[h];for(z(o=e.hash(r.subarray(0,d))),h=0;h<64;h++)l[h]=0;for(h=0;h<32;h++)l[h]=c[h];for(h=0;h<32;h++)for(u=0;u<32;u++)l[h+u]+=o[h]*s[u];B(r.subarray(32),l)}(i,r,r.length,n),i},e.sign.detached=function(t,r){for(var n=e.sign(t,r),i=new Uint8Array(M),a=0;a<i.length;a++)i[a]=n[a];return i},e.sign.detached.verify=function(r,n,i){if(L(r,n,i),n.length!==M)throw Error("bad signature size");if(32!==i.length)throw Error("bad public key size");var a,s=new Uint8Array(M+r.length),o=new Uint8Array(M+r.length);for(a=0;a<M;a++)s[a]=n[a];for(a=0;a<r.length;a++)s[a+M]=r[a];return function(r,n,i,a){var s,o,c=new Uint8Array(32),h=[t(),t(),t(),t()],u=[t(),t(),t(),t()];if(i<64)return-1;if(R(u,a))return-1;for(s=0;s<i;s++)r[s]=n[s];for(s=0;s<32;s++)r[s+32]=a[s];if(z(o=e.hash(r.subarray(0,i))),D(h,u,o),C(u,n.subarray(32)),x(h,u),U(c,h),i-=64,y(n,0,c,0)){for(s=0;s<i;s++)r[s]=0;return-1}for(s=0;s<i;s++)r[s]=n[s+64];return i}(o,s,s.length,i)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return I(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(L(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(L(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),n=0;n<32;n++)r[n]=e[n];return I(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var n,i=new Uint8Array(r);for(n=0;n<r;n+=65536)t.getRandomValues(i.subarray(n,n+Math.min(r-n,65536)));for(n=0;n<r;n++)e[n]=i[n];N(i)}))}else void 0!==nt&&(t=void 0)&&t.randomBytes&&e.setPRNG((function(e,r){var n,i=t.randomBytes(r);for(n=0;n<r;n++)e[n]=i[n];N(i)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const Nn=X.getNodeCrypto();function On(e){const t=new Uint8Array(e);if(Nn){const e=Nn.randomBytes(t.length);t.set(e)}else{if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("No secure random number generator available.");crypto.getRandomValues(t)}return t}async function Fn(e,t){const r=await X.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const n=t.sub(e),i=n.byteLength();return new r(await On(i+8)).mod(n).add(e)}var Hn=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:On,getRandomBigInteger:Fn});async function jn(e,t,r){const n=await X.getBigInteger(),i=new n(1),a=i.leftShift(new n(e-1)),s=new n(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await Fn(a,a.leftShift(i));let h=c.mod(s).toNumber();do{c.iadd(new n(o[h])),h=(h+o[h])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(i)).iadd(a),h=c.mod(s).toNumber())}while(!await qn(c,t,r));return c}async function qn(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await X.getBigInteger();return Gn.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await X.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const n=await X.getBigInteger(),i=e.bitLength();t||(t=Math.max(1,i/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new n(s));for(;t>0;t--){let t,i=(r?r():await Fn(new n(2),a)).modExp(o,e);if(!i.isOne()&&!i.equal(a)){for(t=1;t<s;t++){if(i=i.mul(i).mod(e),i.isOne())return!1;if(i.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const Gn=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const Vn=[];function Wn(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const n=On(e-r);for(let e=0;e<n.length;e++)0!==n[e]&&(t[r++]=n[e])}return t}(t-r-3),i=new Uint8Array(t);return i[1]=2,i.set(n,2),i.set(e,t-r),i}function $n(e,t){let r=2,n=1;for(let t=r;t<e.length;t++)n&=0!==e[t],r+=n;const i=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&i>=8&!n;if(t)return X.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function Zn(e,t,r){let n;if(t.length!==Gr.getHashByteLength(e))throw Error("Invalid hash length");const i=new Uint8Array(Vn[e].length);for(n=0;n<Vn[e].length;n++)i[n]=Vn[e][n];const a=i.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(i,r-a),o.set(t,r-t.length),o}Vn[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Vn[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Vn[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Vn[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Vn[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Vn[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Vn[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var Xn=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:Wn,emeDecode:$n,emsaEncode:Zn});const Yn=X.getWebCrypto(),Qn=X.getNodeCrypto(),Jn=void 0,ei=Qn?Jn.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,ti=Qn?Jn.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var ri=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a,s,o,c){if(t&&!X.isStream(t))if(X.getWebCrypto())try{return await async function(e,t,r,n,i,a,s,o){const c=await async function(e,t,r,n,i,a){const s=await X.getBigInteger(),o=new s(n),c=new s(i),h=new s(r);let u=h.mod(c.dec()),l=h.mod(o.dec());return l=l.toUint8Array(),u=u.toUint8Array(),{kty:"RSA",n:ne(e,!0),e:ne(t,!0),d:ne(r,!0),p:ne(i,!0),q:ne(n,!0),dp:ne(u,!0),dq:ne(l,!0),qi:ne(a,!0),ext:!0}}(r,n,i,a,s,o),h={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},u=await Yn.importKey("jwk",c,h,!1,["sign"]);return new Uint8Array(await Yn.sign("RSASSA-PKCS1-v1_5",u,t))}($.read($.webHash,e),t,r,n,i,a,s,o)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto())return async function(e,t,r,n,i,a,s,o){const{default:c}=await import("./bn.min.mjs"),h=new c(a),u=new c(s),l=new c(i),y=l.mod(u.subn(1)),d=l.mod(h.subn(1)),p=Qn.createSign($.read($.hash,e));p.write(t),p.end();const f={version:0,modulus:new c(r),publicExponent:new c(n),privateExponent:new c(i),prime1:new c(s),prime2:new c(a),exponent1:y,exponent2:d,coefficient:new c(o)};if(void 0!==Qn.createPrivateKey){const e=ei.encode(f,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const g=ei.encode(f,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(g))}(e,t,r,n,i,a,s,o);return async function(e,t,r,n){const i=await X.getBigInteger();t=new i(t);const a=new i(await Zn(e,n,t.byteLength()));if(r=new i(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,i,c)},verify:async function(e,t,r,n,i,a){if(t&&!X.isStream(t))if(X.getWebCrypto())try{return await async function(e,t,r,n,i){const a=function(e,t){return{kty:"RSA",n:ne(e,!0),e:ne(t,!0),ext:!0}}(n,i),s=await Yn.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Yn.verify("RSASSA-PKCS1-v1_5",s,r,t)}($.read($.webHash,e),t,r,n,i)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto())return async function(e,t,r,n,i){const{default:a}=await import("./bn.min.mjs"),s=Qn.createVerify($.read($.hash,e));s.write(t),s.end();const o={modulus:new a(n),publicExponent:new a(i)};let c;if(void 0!==Qn.createPrivateKey){c={key:ti.encode(o,"der"),format:"der",type:"pkcs1"}}else c=ti.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,n,i);return async function(e,t,r,n,i){const a=await X.getBigInteger();if(r=new a(r),t=new a(t),n=new a(n),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(n,r).toUint8Array("be",r.byteLength()),o=await Zn(e,i,r.byteLength());return X.equalsUint8Array(s,o)}(e,r,n,i,a)},encrypt:async function(e,t,r){return X.getNodeCrypto()?async function(e,t,r){const{default:n}=await import("./bn.min.mjs"),i={modulus:new n(t),publicExponent:new n(r)};let a;if(void 0!==Qn.createPrivateKey){a={key:ti.encode(i,"der"),format:"der",type:"pkcs1",padding:Qn.constants.RSA_PKCS1_PADDING}}else{a={key:ti.encode(i,"pem",{label:"RSA PUBLIC KEY"}),padding:Qn.constants.RSA_PKCS1_PADDING}}return new Uint8Array(Qn.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const n=await X.getBigInteger();if(t=new n(t),e=new n(Wn(e,t.byteLength())),r=new n(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,n,i,a,s,o){if(X.getNodeCrypto()&&!o)try{return await async function(e,t,r,n,i,a,s){const{default:o}=await import("./bn.min.mjs"),c=new o(i),h=new o(a),u=new o(n),l=u.mod(h.subn(1)),y=u.mod(c.subn(1)),d={version:0,modulus:new o(t),publicExponent:new o(r),privateExponent:new o(n),prime1:new o(a),prime2:new o(i),exponent1:l,exponent2:y,coefficient:new o(s)};let p;if(void 0!==Qn.createPrivateKey){p={key:ei.encode(d,"der"),format:"der",type:"pkcs1",padding:Qn.constants.RSA_PKCS1_PADDING}}else{p={key:ei.encode(d,"pem",{label:"RSA PRIVATE KEY"}),padding:Qn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Qn.privateDecrypt(p,e))}catch(e){throw Error("Decryption error")}}(e,t,r,n,i,a,s)}catch(e){X.printDebugError(e)}return async function(e,t,r,n,i,a,s,o){const c=await X.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),n=new c(n),i=new c(i),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const h=n.mod(a.dec()),u=n.mod(i.dec()),l=(await Fn(new c(2),t)).mod(t),y=l.modInv(t).modExp(r,t);e=e.mul(y).mod(t);const d=e.modExp(u,i),p=e.modExp(h,a),f=s.mul(p.sub(d)).mod(a);let g=f.mul(i).add(d);return g=g.mul(l).mod(t),$n(g.toUint8Array("be",t.byteLength()),o)}(e,t,r,n,i,a,s,o)},generate:async function(e,t){if(t=new(await X.getBigInteger())(t),X.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},n=await Yn.generateKey(r,!0,["sign","verify"]),i=await Yn.exportKey("jwk",n.privateKey);return{n:re(i.n),e:t.toUint8Array(),d:re(i.d),p:re(i.q),q:re(i.p),u:re(i.qi)}}if(X.getNodeCrypto()&&Qn.generateKeyPair&&ei){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},n=await new Promise(((e,t)=>{Qn.generateKeyPair("rsa",r,((r,n,i)=>{r?t(r):e(ei.decode(i,"der"))}))}));return{n:n.modulus.toArrayLike(Uint8Array),e:n.publicExponent.toArrayLike(Uint8Array),d:n.privateExponent.toArrayLike(Uint8Array),p:n.prime2.toArrayLike(Uint8Array),q:n.prime1.toArrayLike(Uint8Array),u:n.coefficient.toArrayLike(Uint8Array)}}let r,n,i;do{n=await jn(e-(e>>1),t,40),r=await jn(e>>1,t,40),i=r.mul(n)}while(i.bitLength()!==e);const a=r.dec().imul(n.dec());return n.lt(r)&&([r,n]=[n,r]),{n:i.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:n.toUint8Array(),u:r.modInv(n).toUint8Array()}},validateParams:async function(e,t,r,n,i,a){const s=await X.getBigInteger();if(e=new s(e),n=new s(n),i=new s(i),!n.mul(i).equal(e))return!1;const o=new s(2);if(a=new s(a),!n.mul(a).mod(i).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),h=await Fn(o,o.leftShift(c)),u=h.mul(r).mul(t);return!(!u.mod(n.dec()).equal(h)||!u.mod(i.dec()).equal(h))}});var ni=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,n){const i=await X.getBigInteger();t=new i(t),r=new i(r),n=new i(n);const a=new i(Wn(e,t.byteLength())),s=await Fn(new i(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:n.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,n,i){const a=await X.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),n=new a(n),$n(e.modExp(n,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),i)},validateParams:async function(e,t,r,n){const i=await X.getBigInteger();e=new i(e),t=new i(t),r=new i(r);const a=new i(1);if(t.lte(a)||t.gte(e))return!1;const s=new i(e.bitLength()),o=new i(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const h=new i(1),u=new i(2).leftShift(new i(17));for(;h.lt(u);){if(c=c.mul(t).imod(e),c.isOne())return!1;h.iinc()}n=new i(n);const l=new i(2),y=await Fn(l.leftShift(s.dec()),l.leftShift(s)),d=e.dec().imul(y).iadd(n);return!!r.equal(t.modExp(d,e))}});class ii{constructor(e){if(e instanceof ii)this.oid=e.oid;else if(X.isArray(e)||X.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return X.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return X.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if($.curve[e])return $.write($.curve,e);throw Error("Unknown curve object identifier.")}}function ai(e,t){return e.keyPair({priv:t})}function si(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function oi(e){if(!ie.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await import("./elliptic.min.mjs");return new t.ec(e)}function ci(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=X.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function hi(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):X.concatUint8Array([new Uint8Array([255]),X.writeNumber(e,4)])}function ui(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function li(e){return new Uint8Array([192|e])}function yi(e,t){return X.concatUint8Array([li(e),hi(t)])}function di(e){return[$.packet.literalData,$.packet.compressedData,$.packet.symmetricallyEncryptedData,$.packet.symEncryptedIntegrityProtectedData,$.packet.aeadEncryptedData].includes(e)}async function pi(e,t){const r=D(e);let n,i;try{const s=await r.peekBytes(2);if(!s||s.length<2||0==(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const o=await r.readByte();let c,h,u=-1,l=-1;l=0,0!=(64&o)&&(l=1),l?u=63&o:(u=(63&o)>>2,h=3&o);const y=di(u);let d,p=null;if(y){if("array"===X.isStream(e)){const e=new a;n=C(e),p=e}else{const e=new E;n=C(e.writable),p=e.readable}i=t({tag:u,packet:p})}else p=[];do{if(l){const e=await r.readByte();if(d=!1,e<192)c=e;else if(e>=192&&e<224)c=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(c=1<<(31&e),d=!0,!y)throw new TypeError("This packet type does not support partial lengths.")}else c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(h){case 0:c=await r.readByte();break;case 1:c=await r.readByte()<<8|await r.readByte();break;case 2:c=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:c=1/0}if(c>0){let e=0;for(;;){n&&await n.ready;const{done:t,value:i}=await r.read();if(t){if(c===1/0)break;throw Error("Unexpected end of packet")}const a=c===1/0?i:i.subarray(0,c-e);if(n?await n.write(a):p.push(a),e+=i.length,e>=c){r.unshift(i.subarray(c-e+i.length));break}}}}while(d);const f=await r.peekBytes(y?1/0:2);return n?(await n.ready,await n.close()):(p=X.concatUint8Array(p),await t({tag:u,packet:p})),!f||!f.length}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i,r.releaseLock()}}class fi extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,fi),this.name="UnsupportedError"}}class gi{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const mi=X.getWebCrypto(),wi=X.getNodeCrypto(),bi={p256:"P-256",p384:"P-384",p521:"P-521"},ki=wi?wi.getCurves():[],vi=wi?{secp256k1:ki.includes("secp256k1")?"secp256k1":void 0,p256:ki.includes("prime256v1")?"prime256v1":void 0,p384:ki.includes("secp384r1")?"secp384r1":void 0,p521:ki.includes("secp521r1")?"secp521r1":void 0,ed25519:ki.includes("ED25519")?"ED25519":void 0,curve25519:ki.includes("X25519")?"X25519":void 0,brainpoolP256r1:ki.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:ki.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:ki.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Ai={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.p256,web:bi.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:$.publicKey.ecdsa,hash:$.hash.sha384,cipher:$.symmetric.aes192,node:vi.p384,web:bi.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:$.publicKey.ecdsa,hash:$.hash.sha512,cipher:$.symmetric.aes256,node:vi.p521,web:bi.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:$.publicKey.eddsaLegacy,hash:$.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:$.publicKey.ecdh,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:$.publicKey.ecdsa,hash:$.hash.sha256,cipher:$.symmetric.aes128,node:vi.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:$.publicKey.ecdsa,hash:$.hash.sha384,cipher:$.symmetric.aes192,node:vi.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:$.publicKey.ecdsa,hash:$.hash.sha512,cipher:$.symmetric.aes256,node:vi.brainpoolP512r1,payloadSize:64}};class _i{constructor(e,t){try{(X.isArray(e)||X.isUint8Array(e))&&(e=new ii(e)),e instanceof ii&&(e=e.getName()),this.name=$.write($.curve,e)}catch(e){throw new fi("Unknown curve")}t=t||Ai[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&Ai[this.name],this.web=t.web&&Ai[this.name],this.payloadSize=t.payloadSize,this.web&&X.getWebCrypto()?this.type="web":this.node&&X.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await mi.generateKey({name:"ECDSA",namedCurve:bi[e]},!0,["sign","verify"]),r=await mi.exportKey("jwk",t.privateKey),n=await mi.exportKey("jwk",t.publicKey);return{publicKey:Si(n),privateKey:re(r.d)}}(this.name)}catch(e){X.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=wi.createECDH(vi[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=On(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=Ln.box.keyPair.fromSecretKey(r);return{publicKey:X.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=On(32),t=Ln.sign.keyPair.fromSeed(e);return{publicKey:X.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await oi(this.name);return e=await t.genKeyPair({entropy:X.uint8ArrayToString(On(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function Ei(e,t,r,n){const i={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===$.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!i[a])return!1;if("curve25519"===a){n=n.slice().reverse();const{publicKey:e}=Ln.box.keyPair.fromSecretKey(n);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!X.equalsUint8Array(t,r)}const s=await oi(a);try{r=si(s,r).getPublic()}catch(e){return!1}return!!ai(s,n).getPublic().eq(r)}function Si(e){const t=re(e.x),r=re(e.y),n=new Uint8Array(t.length+r.length+1);return n[0]=4,n.set(t,1),n.set(r,t.length+1),n}function Ki(e,t,r){const n=e,i=r.slice(1,n+1),a=r.slice(n+1,2*n+1);return{kty:"EC",crv:t,x:ne(i,!0),y:ne(a,!0),ext:!0}}function xi(e,t,r,n){const i=Ki(e,t,r);return i.d=ne(n,!0),i}const Pi=X.getWebCrypto(),Ui=X.getNodeCrypto();async function Di(e,t,r,n,i,a){const s=new _i(e);if(r&&!X.isStream(r)){const e={publicKey:n,privateKey:i};switch(s.type){case"web":try{return await async function(e,t,r,n){const i=e.payloadSize,a=xi(e.payloadSize,bi[e.name],n.publicKey,n.privateKey),s=await Pi.importKey("jwk",a,{name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Pi.sign({name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,t)}},s,r));return{r:o.slice(0,i),s:o.slice(i,i<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const n=await async function(e,t,r,n){const i=Ui.createSign($.read($.hash,t));i.write(r),i.end();const a=Bi.encode({version:1,parameters:e.oid,privateKey:Array.from(n.privateKey),publicKey:{unused:0,data:Array.from(n.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return Ti.decode(i.sign(a),"der")}(s,t,r,e);return{r:n.r.toArrayLike(Uint8Array),s:n.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const n=await oi(e.name),i=ai(n,r),a=i.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,i)}async function Ci(e,t,r,n,i,a){const s=new _i(e);if(n&&!X.isStream(n))switch(s.type){case"web":try{return await async function(e,t,{r,s:n},i,a){const s=Ki(e.payloadSize,bi[e.name],a),o=await Pi.importKey("jwk",s,{name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,e.hash)}},!1,["verify"]),c=X.concatUint8Array([r,n]).buffer;return Pi.verify({name:"ECDSA",namedCurve:bi[e.name],hash:{name:$.read($.webHash,t)}},o,c,i)}(s,t,r,n,i)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:n},i,a){const{default:s}=await import("./bn.min.mjs"),o=Ui.createVerify($.read($.hash,t));o.write(i),o.end();const c=Ri.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),h=Ti.encode({r:new s(r),s:new s(n)},"der");try{return o.verify(c,h)}catch(e){return!1}}(s,t,r,n,i)}return async function(e,t,r,n){const i=await oi(e.name),a=si(i,n);return a.verify(r,t)}(s,r,void 0===t?n:a,i)}const Ii=void 0,Ti=Ui?Ii.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Bi=Ui?Ii.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,zi=Ui?Ii.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,Ri=Ui?Ii.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(zi),this.key("subjectPublicKey").bitstr())})):void 0;var Mi=/*#__PURE__*/Object.freeze({__proto__:null,sign:Di,verify:Ci,validateParams:async function(e,t,r){const n=new _i(e);if(n.keyType!==$.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=On(8),i=$.hash.sha256,a=await Gr.digest(i,n);try{const s=await Di(e,i,n,t,r,a);return await Ci(e,i,s,n,t,a)}catch(e){return!1}}default:return Ei($.publicKey.ecdsa,e,t,r)}}});Ln.hash=e=>new Uint8Array(Qt().update(e).digest());var Li=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength($.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const s=X.concatUint8Array([i,n.subarray(1)]),o=Ln.sign.detached(a,s);if(ie.checkEdDSAFaultySignatures&&!Ln.sign.detached.verify(a,o,n.subarray(1)))throw Error("Transient signing failure");return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:n},i,a,s){if(Gr.getHashByteLength(t)<Gr.getHashByteLength($.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const o=X.concatUint8Array([r,n]);return Ln.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:n}=Ln.sign.keyPair.fromSeed(r),i=new Uint8Array([64,...n]);return X.equalsUint8Array(t,i)}});function Ni(e){if(e===$.publicKey.ed25519)return $.hash.sha256;throw Error("Unknown EdDSA algo")}Ln.hash=e=>new Uint8Array(Qt().update(e).digest());var Oi=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.ed25519){const e=On(32),{publicKey:t}=Ln.sign.keyPair.fromSeed(e);return{A:t,seed:e}}throw Error("Unsupported EdDSA algorithm")},sign:async function(e,t,r,n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(Ni(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case $.publicKey.ed25519:{const e=X.concatUint8Array([i,n]),t=Ln.sign.detached(a,e);if(ie.checkEdDSAFaultySignatures&&!Ln.sign.detached.verify(a,t,n))throw Error("Transient signing failure");return{RS:t}}case $.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(e,t,{RS:r},n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(Ni(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case $.publicKey.ed25519:return Ln.sign.detached.verify(a,r,i);case $.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},validateParams:async function(e,t,r){switch(e){case $.publicKey.ed25519:{const{publicKey:e}=Ln.sign.keyPair.fromSeed(r);return X.equalsUint8Array(t,e)}case $.publicKey.ed448:default:return!1}},getPreferredHashAlgo:Ni});function Fi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=ji(t);let a=n;const s=i,o=i.length/2,c=new Uint32Array([0,0]);let h=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),h[0]=a[0],h[1]=a[1],h[2]=s[2*t],h[3]=s[2*t+1],h=ji(r.encrypt(qi(h))),a=h.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=h[2],s[2*t+1]=h[3];return qi(a,s)}function Hi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=ji(t);let a=i.subarray(0,2);const s=i.subarray(2),o=i.length/2-1,c=new Uint32Array([0,0]);let h=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),h[0]=a[0]^c[0],h[1]=a[1]^c[1],h[2]=s[2*t],h[3]=s[2*t+1],h=ji(r.decrypt(qi(h))),a=h.subarray(0,2),s[2*t]=h[2],s[2*t+1]=h[3];if(a[0]===n[0]&&a[1]===n[1])return qi(s);throw Error("Key Data Integrity failed")}function ji(e){const{length:t}=e,r=function(e){if(X.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),n=new Uint8Array(r);for(let r=0;r<t;++r)n[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),n=new DataView(r),i=new Uint32Array(t/4);for(let e=0;e<t/4;++e)i[e]=n.getUint32(4*e);return i}function qi(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let n=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(n+4*t,arguments[e][t]);n+=4*arguments[e].length}return new Uint8Array(t)}var Gi=/*#__PURE__*/Object.freeze({__proto__:null,wrap:Fi,unwrap:Hi});function Vi(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Wi(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(X.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var $i=/*#__PURE__*/Object.freeze({__proto__:null,encode:Vi,decode:Wi});const Zi=X.getWebCrypto(),Xi=X.getNodeCrypto();function Yi(e,t,r,n){return X.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),X.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||n.subarray(0,20)])}async function Qi(e,t,r,n,i=!1,a=!1){let s;if(i){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await Gr.digest(e,X.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function Ji(e,t){switch(e.type){case"curve25519":{const r=On(32),{secretKey:n,sharedKey:i}=await ea(e,t,null,r);let{publicKey:a}=Ln.box.keyPair.fromSecretKey(n);return a=X.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:i}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t){const r=Ki(e.payloadSize,e.web.web,t);let n=Zi.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),i=Zi.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[n,i]=await Promise.all([n,i]);let a=Zi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:i},n.privateKey,e.web.sharedSize),s=Zi.exportKey("jwk",n.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(Si(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){X.printDebugError(e)}break;case"node":return async function(e,t){const r=Xi.createECDH(e.node.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t)),i=new Uint8Array(r.getPublicKey());return{publicKey:i,sharedKey:n}}(e,t)}return async function(e,t){const r=await oi(e.name),n=await e.genKeyPair();t=si(r,t);const i=ai(r,n.privateKey),a=n.publicKey,s=i.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function ea(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519":{const e=n.slice().reverse();return{secretKey:e,sharedKey:Ln.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t,r,n){const i=xi(e.payloadSize,e.web.web,r,n);let a=Zi.importKey("jwk",i,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=Ki(e.payloadSize,e.web.web,t);let o=Zi.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=Zi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),h=Zi.exportKey("jwk",a);[c,h]=await Promise.all([c,h]);const u=new Uint8Array(c);return{secretKey:re(h.d),sharedKey:u}}(e,t,r,n)}catch(e){X.printDebugError(e)}break;case"node":return async function(e,t,r){const n=Xi.createECDH(e.node.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n)}return async function(e,t,r){const n=await oi(e.name);t=si(n,t),r=ai(n,r);const i=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=n.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:i,sharedKey:o}}(e,t,n)}var ta=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Ei($.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,n,i){const a=Vi(r),s=new _i(e),{publicKey:o,sharedKey:c}=await Ji(s,n),h=Yi($.publicKey.ecdh,e,t,i),{keySize:u}=Wr(t.cipher);return{publicKey:o,wrappedKey:Fi(await Qi(t.hash,c,u,h),a)}},decrypt:async function(e,t,r,n,i,a,s){const o=new _i(e),{sharedKey:c}=await ea(o,r,i,a),h=Yi($.publicKey.ecdh,e,t,s),{keySize:u}=Wr(t.cipher);let l;for(let e=0;e<3;e++)try{return Wi(Hi(await Qi(t.hash,c,u,h,1===e,2===e),n))}catch(e){l=e}throw l}});const ra=X.getWebCrypto(),na=X.getNodeCrypto(),ia=na&&na.webcrypto&&na.webcrypto.subtle;async function aa(e,t,r,n,i){const a=$.read($.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");if(ra||ia){const e=ra||ia,s=await e.importKey("raw",t,"HKDF",!1,["deriveBits"]),o=await e.deriveBits({name:"HKDF",hash:a,salt:r,info:n},s,8*i);return new Uint8Array(o)}if(na){const a=$.read($.hash,e),s=(e,t)=>na.createHmac(a,e).update(t).digest(),o=s(r,t),c=o.length,h=Math.ceil(i/c),u=new Uint8Array(h*c),l=new Uint8Array(c+n.length+1);l.set(n,c);for(let e=0;e<h;e++){l[l.length-1]=e+1;const t=s(o,e>0?l:l.subarray(c));l.set(t,0),u.set(t,e*c)}return u.subarray(0,i)}throw Error("No HKDF implementation available")}const sa={x25519:X.encodeUTF8("OpenPGP X25519")};var oa=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.x25519){const e=On(32),{publicKey:t}=Ln.box.keyPair.fromSecretKey(e);return{A:t,k:e}}throw Error("Unsupported ECDH algorithm")},validateParams:async function(e,t,r){if(e===$.publicKey.x25519){const{publicKey:e}=Ln.box.keyPair.fromSecretKey(r);return X.equalsUint8Array(t,e)}return!1},encrypt:async function(e,t,r){if(e===$.publicKey.x25519){const e=On(32),n=Ln.scalarMult(e,r),{publicKey:i}=Ln.box.keyPair.fromSecretKey(e),a=X.concatUint8Array([i,r,n]),{keySize:s}=Wr($.symmetric.aes128);return{ephemeralPublicKey:i,wrappedKey:Fi(await aa($.hash.sha256,a,new Uint8Array,sa.x25519,s),t)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(e,t,r,n,i){if(e===$.publicKey.x25519){const e=Ln.scalarMult(i,t),a=X.concatUint8Array([t,n,e]),{keySize:s}=Wr($.symmetric.aes128);return Hi(await aa($.hash.sha256,a,new Uint8Array,sa.x25519,s),r)}throw Error("Unsupported ECDH algorithm")}}),ca=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:_i,ecdh:ta,ecdhX:oa,ecdsa:Mi,eddsaLegacy:Li,eddsa:Oi,generate:async function(e){const t=await X.getBigInteger();e=new _i(e);const r=await e.genKeyPair(),n=new t(r.publicKey).toUint8Array(),i=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:n,secret:i,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return Ai[$.write($.curve,e.toHex())].hash}});var ha=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){const s=await X.getBigInteger(),o=new s(1);let c,h,u,l;n=new s(n),i=new s(i),r=new s(r),a=new s(a),r=r.mod(n),a=a.mod(i);const y=new s(t.subarray(0,i.byteLength())).mod(i);for(;;){if(c=await Fn(o,i),h=r.modExp(c,n).imod(i),h.isZero())continue;const e=a.mul(h).imod(i);if(l=y.add(e).imod(i),u=c.modInv(i).imul(l).imod(i),!u.isZero())break}return{r:h.toUint8Array("be",i.byteLength()),s:u.toUint8Array("be",i.byteLength())}},verify:async function(e,t,r,n,i,a,s,o){const c=await X.getBigInteger(),h=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),i=new c(i),o=new c(o),t.lte(h)||t.gte(s)||r.lte(h)||r.gte(s))return X.printDebug("invalid DSA Signature"),!1;const u=new c(n.subarray(0,s.byteLength())).imod(s),l=r.modInv(s);if(l.isZero())return X.printDebug("invalid DSA Signature"),!1;i=i.mod(a),o=o.mod(a);const y=u.mul(l).imod(s),d=t.mul(l).imod(s),p=i.modExp(y,a),f=o.modExp(d,a);return p.mul(f).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,n,i){const a=await X.getBigInteger();e=new a(e),t=new a(t),r=new a(r),n=new a(n);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await qn(t,null,32))return!1;i=new a(i);const h=new a(2),u=await Fn(h.leftShift(o.dec()),h.leftShift(o)),l=t.mul(u).add(i);return!!n.equal(r.modExp(l,e))}}),ua={rsa:ri,elgamal:ni,elliptic:ca,dsa:ha,nacl:Ln};function la(e,t,r){switch(e){case $.hash.sha1:case $.hash.sha256:case $.hash.sha512:return async function(e,t,r){const n=Gr.getBlockSize(e),i=new Uint8Array(n);i.fill(92),ya(i,t);const a=new Uint8Array(n);a.fill(54),ya(a,t);const s=X.concatUint8Array([a,r]),o=await Gr.digest(e,s),c=X.concatUint8Array([i,o]);return Gr.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function ya(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class da{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!X.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return X.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var pa=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:return{s:X.readMPI(t.subarray(r))};case $.publicKey.dsa:case $.publicKey.ecdsa:{const e=X.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:X.readMPI(t.subarray(r))}}case $.publicKey.eddsaLegacy:{let e=X.readMPI(t.subarray(r));r+=e.length+2,e=X.leftPad(e,32);let n=X.readMPI(t.subarray(r));return n=X.leftPad(n,32),{r:e,s:n}}case $.publicKey.ed25519:{const e=t.subarray(r,r+64);return r+=e.length,{RS:e}}case $.publicKey.hmac:{const e=new da;return e.read(t.subarray(r)),{mac:e}}default:throw new fi("Unknown signature algorithm.")}},verify:async function(e,t,r,n,i,a,s){switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:{const{n:e,e:i}=n,o=X.leftPad(r.s,e.length);return ua.rsa.verify(t,a,o,e,i,s)}case $.publicKey.dsa:{const{g:e,p:i,q:a,y:o}=n,{r:c,s:h}=r;return ua.dsa.verify(t,c,h,s,e,i,a,o)}case $.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new ua.elliptic.CurveWithOID(e).payloadSize,c=X.leftPad(r.r,o),h=X.leftPad(r.s,o);return ua.elliptic.ecdsa.verify(e,t,{r:c,s:h},a,i,s)}case $.publicKey.eddsaLegacy:{const{oid:e,Q:i}=n;return ua.elliptic.eddsaLegacy.verify(e,t,r,a,i,s)}case $.publicKey.ed25519:{const{A:i}=n;return ua.elliptic.eddsa.verify(e,t,r,a,i,s)}case $.publicKey.hmac:{if(!i)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=n,{keyMaterial:t}=i,a=await la(e.getValue(),t,s);return X.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,n,i,a){if(!r||!n)throw Error("Missing key parameters");switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:case $.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:h,u}=n;return{s:await ua.rsa.sign(t,i,e,s,o,c,h,u,a)}}case $.publicKey.dsa:{const{g:e,p:i,q:s}=r,{x:o}=n;return ua.dsa.sign(t,a,e,i,s,o)}case $.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case $.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=n;return ua.elliptic.ecdsa.sign(e,t,i,s,o,a)}case $.publicKey.eddsaLegacy:{const{oid:e,Q:s}=r,{seed:o}=n;return ua.elliptic.eddsaLegacy.sign(e,t,i,s,o,a)}case $.publicKey.ed25519:{const{A:s}=r,{seed:o}=n;return ua.elliptic.eddsa.sign(e,t,i,s,o,a)}case $.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await la(e.getValue(),t,a);return{mac:new da(i)}}default:throw Error("Unknown signature algorithm.")}}});class fa{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return X.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ga{constructor(e){if(e){const{version:t,hash:r,cipher:n,replacementFingerprint:i}=e;this.version=t||1,this.hash=r,this.cipher=n,this.replacementFingerprint=i}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new fi("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const n=t-r+1;this.replacementFingerprint=e.slice(r,r+n),r+=n}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return X.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const ma=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=$.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return $.read(e,this.data)}getValue(){return this.data}},wa=ma($.aead),ba=ma($.symmetric),ka=ma($.hash);class va{static fromObject({wrappedKey:e,algorithm:t}){const r=new va;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=e.subarray(t,t+r),t+=r}write(){return X.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Aa(e,t){const r=On(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function _a(e){const{keySize:t}=Wr(e);return On(t)}function Ea(e){const t=$.read($.aead,e);return Mn[t]}function Sa(e){try{e.getName()}catch(e){throw new fi("Unknown curve OID")}}var Ka=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,n,i,a){switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await ua.rsa.encrypt(i,e,t)}}case $.publicKey.elgamal:{const{p:e,g:t,y:n}=r;return ua.elgamal.encrypt(i,e,t,n)}case $.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:n}=r,{publicKey:s,wrappedKey:o}=await ua.elliptic.ecdh.encrypt(e,n,i,t,a);return{V:s,C:new fa(o)}}case $.publicKey.x25519:{if(!X.isAES(t))throw Error("X25519 keys can only encrypt AES session keys");const{A:n}=r,{ephemeralPublicKey:a,wrappedKey:s}=await ua.elliptic.ecdhX.encrypt(e,i,n);return{ephemeralPublicKey:a,C:va.fromObject({algorithm:t,wrappedKey:s})}}case $.publicKey.aead:{if(!n)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:a}=n,s=ie.preferredAEADAlgorithm,o=Ea(ie.preferredAEADAlgorithm),{ivLength:c}=o,h=On(c),u=await o(t,a),l=await u.encrypt(i,h,new Uint8Array);return{aeadMode:new wa(s),iv:h,c:new da(l)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,n,i,a){switch(e){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:s}=t,{d:o,p:c,q:h,u}=r;return ua.rsa.decrypt(e,i,s,o,c,h,u,a)}case $.publicKey.elgamal:{const{c1:e,c2:i}=n,s=t.p,o=r.x;return ua.elgamal.decrypt(e,i,s,o,a)}case $.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:h}=n;return ua.elliptic.ecdh.decrypt(e,s,c,h.data,a,o,i)}case $.publicKey.x25519:{const{A:i}=t,{k:a}=r,{ephemeralPublicKey:s,C:o}=n;if(!X.isAES(o.algorithm))throw Error("AES session key expected");return ua.elliptic.ecdhX.decrypt(e,s,o.wrappedKey,i,a)}case $.publicKey.aead:{const{cipher:e}=t,i=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=n,h=Ea(s.getValue());return(await h(i,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case $.publicKey.dsa:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=X.readMPI(t.subarray(r));r+=i.length+2;const a=X.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:a}}}case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=X.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case $.publicKey.ecdsa:{const e=new ii;r+=e.read(t),Sa(e);const n=X.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case $.publicKey.eddsaLegacy:{const e=new ii;r+=e.read(t),Sa(e);let n=X.readMPI(t.subarray(r));return r+=n.length+2,n=X.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case $.publicKey.ecdh:{const e=new ii;r+=e.read(t),Sa(e);const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=new ga;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case $.publicKey.ed25519:case $.publicKey.x25519:{const e=t.subarray(r,r+32);return r+=e.length,{read:r,publicParams:{A:e}}}case $.publicKey.hmac:case $.publicKey.aead:{const e=new ba;r+=e.read(t);const n=Gr.getHashByteLength($.hash.sha256),i=t.subarray(r,r+n);return r+=n,{read:r,publicParams:{cipher:e,digest:i}}}default:throw new fi("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let n=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const e=X.readMPI(t.subarray(n));n+=e.length+2;const r=X.readMPI(t.subarray(n));n+=r.length+2;const i=X.readMPI(t.subarray(n));n+=i.length+2;const a=X.readMPI(t.subarray(n));return n+=a.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:a}}}case $.publicKey.dsa:case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case $.publicKey.ecdsa:case $.publicKey.ecdh:{const e=new _i(r.oid);let i=X.readMPI(t.subarray(n));return n+=i.length+2,i=X.leftPad(i,e.payloadSize),{read:n,privateParams:{d:i}}}case $.publicKey.eddsaLegacy:{const e=new _i(r.oid);let i=X.readMPI(t.subarray(n));return n+=i.length+2,i=X.leftPad(i,e.payloadSize),{read:n,privateParams:{seed:i}}}case $.publicKey.ed25519:{const e=t.subarray(n,n+32);return n+=e.length,{read:n,privateParams:{seed:e}}}case $.publicKey.x25519:{const e=t.subarray(n,n+32);return n+=e.length,{read:n,privateParams:{k:e}}}case $.publicKey.hmac:{const{cipher:e}=r,i=Gr.getHashByteLength(e.getValue()),a=t.subarray(n,n+32);n+=32;const s=t.subarray(n,n+i);return n+=i,{read:n,privateParams:{hashSeed:a,keyMaterial:s}}}case $.publicKey.aead:{const{cipher:e}=r,i=t.subarray(n,n+32);n+=32;const{keySize:a}=Wr(e.getValue()),s=t.subarray(n,n+a);return n+=a,{read:n,privateParams:{hashSeed:i,keyMaterial:s}}}default:throw new fi("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:return{c:X.readMPI(t.subarray(r))};case $.publicKey.elgamal:{const e=X.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:X.readMPI(t.subarray(r))}}case $.publicKey.ecdh:{const e=X.readMPI(t.subarray(r));r+=e.length+2;const n=new fa;return n.read(t.subarray(r)),{V:e,C:n}}case $.publicKey.x25519:{const e=t.subarray(r,r+32);r+=e.length;const n=new va;return n.read(t.subarray(r)),{ephemeralPublicKey:e,C:n}}case $.publicKey.aead:{const e=new wa;r+=e.read(t.subarray(r));const{ivLength:n}=Ea(e.getValue()),i=t.subarray(r,r+n);r+=n;const a=new da;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:i,c:a}}default:throw new fi("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){const r=new Set([$.publicKey.ed25519,$.publicKey.x25519,$.publicKey.aead,$.publicKey.hmac]),n=Object.keys(t).map((n=>{const i=t[n];return X.isUint8Array(i)?r.has(e)?i:X.uint8ArrayToMPI(i):i.write()}));return X.concatUint8Array(n)},generateParams:function(e,t,r,n){switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:return ua.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:n,q:i,u:a})=>({privateParams:{d:r,p:n,q:i,u:a},publicParams:{n:e,e:t}})));case $.publicKey.ecdsa:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.eddsaLegacy:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.ecdh:return ua.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t,kdfParams:new ga({hash:n,cipher:i})}})));case $.publicKey.ed25519:return ua.elliptic.eddsa.generate(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case $.publicKey.x25519:return ua.elliptic.ecdhX.generate(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case $.publicKey.hmac:{const e=$.write($.hash,n);return Aa(On(Gr.getHashByteLength(e)),new ka(e))}case $.publicKey.aead:{const e=$.write($.symmetric,n);return Aa(_a(e),new ba(e))}case $.publicKey.dsa:case $.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:{const{n:e,e:n}=t,{d:i,p:a,q:s,u:o}=r;return ua.rsa.validateParams(e,n,i,a,s,o)}case $.publicKey.dsa:{const{p:e,q:n,g:i,y:a}=t,{x:s}=r;return ua.dsa.validateParams(e,n,i,a,s)}case $.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:a}=r;return ua.elgamal.validateParams(e,n,i,a)}case $.publicKey.ecdsa:case $.publicKey.ecdh:{const n=ua.elliptic[$.read($.publicKey,e)],{oid:i,Q:a}=t,{d:s}=r;return n.validateParams(i,a,s)}case $.publicKey.eddsaLegacy:{const{Q:e,oid:n}=t,{seed:i}=r;return ua.elliptic.eddsaLegacy.validateParams(n,e,i)}case $.publicKey.ed25519:{const{A:n}=t,{seed:i}=r;return ua.elliptic.eddsa.validateParams(e,n,i)}case $.publicKey.x25519:{const{A:n}=t,{k:i}=r;return ua.elliptic.ecdhX.validateParams(e,n,i)}case $.publicKey.hmac:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r;return Gr.getHashByteLength(e.getValue())===a.length&&X.equalsUint8Array(n,await Gr.sha256(i))}case $.publicKey.aead:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r,{keySize:s}=Wr(e.getValue());return s===a.length&&X.equalsUint8Array(n,await Gr.sha256(i))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=Wr(e),r=await On(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return X.concat([r,n])},generateSessionKey:_a,getAEADMode:Ea,getCipher:Wr,getPreferredCurveHashAlgo:function(e,t){switch(e){case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:return ua.elliptic.getPreferredHashAlgo(t);case $.publicKey.ed25519:return ua.elliptic.eddsa.getPreferredHashAlgo(e);default:throw Error("Unknown elliptic signing algo")}}});const xa={cipher:qe,hash:Gr,mode:Mn,publicKey:ua,signature:pa,random:Hn,pkcs1:Xn,pkcs5:$i,aesKW:Gi};Object.assign(xa,Ka);class Pa extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Pa),this.name="Argon2OutOfMemoryError"}}let Ua,Da,Ca=2<<19;class Ia{static get ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(){return Ca}static set ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(e){Ca=e}static reloadWasmModule(){Ua&&(Da=Ua(),Da.catch((()=>{})))}constructor(e=ie){const{passes:t,parallelism:r,memoryExponent:n}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=n}generateSalt(){this.salt=xa.random.getRandomBytes(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([$.write($.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return X.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Ua=Ua||(await import("./argon2id.min.mjs")).default,Da=Da||Ua();const n=await Da,i=n({version:19,type:2,password:X.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>Ia.ARGON2_WASM_MEMORY_THRESHOLD_RELOAD&&Ia.reloadWasmModule(),i}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new Pa("Could not allocate required memory for Argon2"):e}}}class Ta{constructor(e,t=ie){this.algorithm=$.hash.sha256,this.type=$.read($.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=xa.random.getRandomBytes(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==X.uint8ArrayToString(e.subarray(t,t+3)))throw new fi("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new fi("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new fi("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...X.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([$.write($.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return X.concatUint8Array(e)}async produceKey(e,t){e=X.encodeUTF8(e);const r=[];let n=0,i=0;for(;n<t;){let t;switch(this.type){case"simple":t=X.concatUint8Array([new Uint8Array(i),e]);break;case"salted":t=X.concatUint8Array([new Uint8Array(i),this.salt,e]);break;case"iterated":{const r=X.concatUint8Array([this.salt,e]);let n=r.length;const a=Math.max(this.getCount(),n);t=new Uint8Array(i+a),t.set(r,i);for(let e=i+n;e<a;e+=n,n*=2)t.copyWithin(e,i,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await xa.hash.digest(this.algorithm,t);r.push(a),n+=a.length,i++}return X.concatUint8Array(r).subarray(0,t)}}const Ba=new Set([$.s2k.argon2,$.s2k.iterated]);function za(e,t=ie){switch(e){case $.s2k.argon2:return new Ia(t);case $.s2k.iterated:case $.s2k.gnu:case $.s2k.salted:case $.s2k.simple:return new Ta(e,t);default:throw new fi("Unsupported S2K type "+e)}}function Ra(e){const{s2kType:t}=e;if(!Ba.has(t))throw Error("The provided `config.s2kType` value is not allowed");return za(t,e)}var Ma="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function La(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const Na={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(let a=0;a<n;a++)e[i+a]=t[r+a]},flattenChunks:function(e){let t,r,n,i,a;for(n=0,t=0,r=e.length;t<r;t++)n+=e[t].length;const s=new Uint8Array(n);for(i=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,i),i+=a.length;return s}},Oa={arraySet:function(e,t,r,n,i){for(let a=0;a<n;a++)e[i+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let Fa=Ma?Uint8Array:Array,Ha=Ma?Uint16Array:Array,ja=Ma?Int32Array:Array,qa=Ma?Na.flattenChunks:Oa.flattenChunks,Ga=Ma?Na.arraySet:Oa.arraySet;const Va=0,Wa=1,$a=2,Za=3,Xa=4,Ya=5,Qa=6,Ja=0,es=1,ts=2,rs=-2,ns=-3,is=-5,as=-1,ss=1,os=2,cs=3,hs=4,us=0,ls=1,ys=2,ds=8;function ps(e){let t=e.length;for(;--t>=0;)e[t]=0}const fs=0,gs=1,ms=2,ws=29,bs=256,ks=bs+1+ws,vs=30,As=19,_s=2*ks+1,Es=15,Ss=16,Ks=7,xs=256,Ps=16,Us=17,Ds=18,Cs=[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],Is=[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],Ts=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Bs=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],zs=Array(2*(ks+2));ps(zs);const Rs=Array(2*vs);ps(Rs);const Ms=Array(512);ps(Ms);const Ls=Array(256);ps(Ls);const Ns=Array(ws);ps(Ns);const Os=Array(vs);function Fs(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Hs,js,qs;function Gs(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Vs(e){return e<256?Ms[e]:Ms[256+(e>>>7)]}function Ws(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function $s(e,t,r){e.bi_valid>Ss-r?(e.bi_buf|=t<<e.bi_valid&65535,Ws(e,e.bi_buf),e.bi_buf=t>>Ss-e.bi_valid,e.bi_valid+=r-Ss):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function Zs(e,t,r){$s(e,r[2*t],r[2*t+1])}function Xs(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Ys(e,t,r){const n=Array(Es+1);let i,a,s=0;for(i=1;i<=Es;i++)n[i]=s=s+r[i-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=Xs(n[t]++,t))}}function Qs(e){let t;for(t=0;t<ks;t++)e.dyn_ltree[2*t]=0;for(t=0;t<vs;t++)e.dyn_dtree[2*t]=0;for(t=0;t<As;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*xs]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Js(e){e.bi_valid>8?Ws(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function eo(e,t,r,n){const i=2*t,a=2*r;return e[i]<e[a]||e[i]===e[a]&&n[t]<=n[r]}function to(e,t,r){const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&eo(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!eo(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function ro(e,t,r){let n,i,a,s,o=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?Zs(e,i,t):(a=Ls[i],Zs(e,a+bs+1,t),s=Cs[a],0!==s&&(i-=Ns[a],$s(e,i,s)),n--,a=Vs(n),Zs(e,a,r),s=Is[a],0!==s&&(n-=Os[a],$s(e,n,s)))}while(o<e.last_lit);Zs(e,xs,t)}function no(e,t){const r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,h=-1;for(e.heap_len=0,e.heap_max=_s,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=h=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=h<2?++h:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,i&&(e.static_len-=n[2*c+1]);for(t.max_code=h,s=e.heap_len>>1;s>=1;s--)to(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],to(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,to(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let h,u,l,y,d,p,f=0;for(y=0;y<=Es;y++)e.bl_count[y]=0;for(r[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<_s;h++)u=e.heap[h],y=r[2*r[2*u+1]+1]+1,y>c&&(y=c,f++),r[2*u+1]=y,u>n||(e.bl_count[y]++,d=0,u>=o&&(d=s[u-o]),p=r[2*u],e.opt_len+=p*(y+d),a&&(e.static_len+=p*(i[2*u+1]+d)));if(0!==f){do{for(y=c-1;0===e.bl_count[y];)y--;e.bl_count[y]--,e.bl_count[y+1]+=2,e.bl_count[c]--,f-=2}while(f>0);for(y=c;0!==y;y--)for(u=e.bl_count[y];0!==u;)l=e.heap[--h],l>n||(r[2*l+1]!==y&&(e.opt_len+=(y-r[2*l+1])*r[2*l],r[2*l+1]=y),u--)}}(e,t),Ys(r,h,e.bl_count)}function io(e,t,r){let n,i,a=-1,s=t[1],o=0,c=7,h=4;for(0===s&&(c=138,h=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=t[2*(n+1)+1],++o<c&&i===s||(o<h?e.bl_tree[2*i]+=o:0!==i?(i!==a&&e.bl_tree[2*i]++,e.bl_tree[2*Ps]++):o<=10?e.bl_tree[2*Us]++:e.bl_tree[2*Ds]++,o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4))}function ao(e,t,r){let n,i,a=-1,s=t[1],o=0,c=7,h=4;for(0===s&&(c=138,h=3),n=0;n<=r;n++)if(i=s,s=t[2*(n+1)+1],!(++o<c&&i===s)){if(o<h)do{Zs(e,i,e.bl_tree)}while(0!=--o);else 0!==i?(i!==a&&(Zs(e,i,e.bl_tree),o--),Zs(e,Ps,e.bl_tree),$s(e,o-3,2)):o<=10?(Zs(e,Us,e.bl_tree),$s(e,o-3,3)):(Zs(e,Ds,e.bl_tree),$s(e,o-11,7));o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4)}}ps(Os);let so=!1;function oo(e){so||(!function(){let e,t,r,n,i;const a=Array(Es+1);for(r=0,n=0;n<ws-1;n++)for(Ns[n]=r,e=0;e<1<<Cs[n];e++)Ls[r++]=n;for(Ls[r-1]=n,i=0,n=0;n<16;n++)for(Os[n]=i,e=0;e<1<<Is[n];e++)Ms[i++]=n;for(i>>=7;n<vs;n++)for(Os[n]=i<<7,e=0;e<1<<Is[n]-7;e++)Ms[256+i++]=n;for(t=0;t<=Es;t++)a[t]=0;for(e=0;e<=143;)zs[2*e+1]=8,e++,a[8]++;for(;e<=255;)zs[2*e+1]=9,e++,a[9]++;for(;e<=279;)zs[2*e+1]=7,e++,a[7]++;for(;e<=287;)zs[2*e+1]=8,e++,a[8]++;for(Ys(zs,ks+1,a),e=0;e<vs;e++)Rs[2*e+1]=5,Rs[2*e]=Xs(e,5);Hs=new Fs(zs,Cs,bs+1,ks,Es),js=new Fs(Rs,Is,0,vs,Es),qs=new Fs([],Ts,0,As,Ks)}(),so=!0),e.l_desc=new Gs(e.dyn_ltree,Hs),e.d_desc=new Gs(e.dyn_dtree,js),e.bl_desc=new Gs(e.bl_tree,qs),e.bi_buf=0,e.bi_valid=0,Qs(e)}function co(e,t,r,n){$s(e,(fs<<1)+(n?1:0),3),function(e,t,r,n){Js(e),n&&(Ws(e,r),Ws(e,~r)),Ga(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function ho(e){$s(e,gs<<1,3),Zs(e,xs,zs),function(e){16===e.bi_valid?(Ws(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function uo(e,t,r,n){let i,a,s=0;e.level>0?(e.strm.data_type===ys&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return us;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return ls;for(t=32;t<bs;t++)if(0!==e.dyn_ltree[2*t])return ls;return us}(e)),no(e,e.l_desc),no(e,e.d_desc),s=function(e){let t;for(io(e,e.dyn_ltree,e.l_desc.max_code),io(e,e.dyn_dtree,e.d_desc.max_code),no(e,e.bl_desc),t=As-1;t>=3&&0===e.bl_tree[2*Bs[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==t?co(e,t,r,n):e.strategy===hs||a===i?($s(e,(gs<<1)+(n?1:0),3),ro(e,zs,Rs)):($s(e,(ms<<1)+(n?1:0),3),function(e,t,r,n){let i;for($s(e,t-257,5),$s(e,r-1,5),$s(e,n-4,4),i=0;i<n;i++)$s(e,e.bl_tree[2*Bs[i]+1],3);ao(e,e.dyn_ltree,t-1),ao(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),ro(e,e.dyn_ltree,e.dyn_dtree)),Qs(e),n&&Js(e)}function lo(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(Ls[r]+bs+1)]++,e.dyn_dtree[2*Vs(t)]++),e.last_lit===e.lit_bufsize-1}function yo(e,t,r,n){let i=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{i=i+t[n++]|0,a=a+i|0}while(--s);i%=65521,a%=65521}return i|a<<16|0}const po=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function fo(e,t,r,n){const i=po,a=n+r;e^=-1;for(let r=n;r<a;r++)e=e>>>8^i[255&(e^t[r])];return-1^e}var go={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const mo=9,wo=3,bo=258,ko=bo+wo+1,vo=32,Ao=42,_o=69,Eo=73,So=91,Ko=103,xo=113,Po=666,Uo=1,Do=2,Co=3,Io=4,To=3;function Bo(e,t){return e.msg=go[t],t}function zo(e){return(e<<1)-(e>4?9:0)}function Ro(e){let t=e.length;for(;--t>=0;)e[t]=0}function Mo(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(Ga(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function Lo(e,t){uo(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Mo(e.strm)}function No(e,t){e.pending_buf[e.pending++]=t}function Oo(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Fo(e,t,r,n){let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,Ga(t,e.input,e.next_in,i,r),1===e.state.wrap?e.adler=yo(e.adler,t,i,r):2===e.state.wrap&&(e.adler=fo(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Ho(e,t){let r,n,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-ko?e.strstart-(e.w_size-ko):0,h=e.window,u=e.w_mask,l=e.prev,y=e.strstart+bo;let d=h[a+s-1],p=h[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,h[r+s]===p&&h[r+s-1]===d&&h[r]===h[a]&&h[++r]===h[a+1]){a+=2,r++;do{}while(h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&h[++a]===h[++r]&&a<y);if(n=bo-(y-a),a=y-bo,n>s){if(e.match_start=t,s=n,n>=o)break;d=h[a+s-1],p=h[a+s]}}}while((t=l[t&u])>c&&0!=--i);return s<=e.lookahead?s:e.lookahead}function jo(e){const t=e.w_size;let r,n,i,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ko)){Ga(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,n=e.hash_size,r=n;do{i=e.head[--r],e.head[r]=i>=t?i-t:0}while(--n);n=t,r=n;do{i=e.prev[--r],e.prev[r]=i>=t?i-t:0}while(--n);a+=t}if(0===e.strm.avail_in)break;if(n=Fo(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=wo)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+wo-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<wo)););}while(e.lookahead<ko&&0!==e.strm.avail_in)}function qo(e,t){let r,n;for(;;){if(e.lookahead<ko){if(jo(e),e.lookahead<ko&&t===Va)return Uo;if(0===e.lookahead)break}if(r=0,e.lookahead>=wo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+wo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-ko&&(e.match_length=Ho(e,r)),e.match_length>=wo)if(n=lo(e,e.strstart-e.match_start,e.match_length-wo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=wo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+wo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=lo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(Lo(e,!1),0===e.strm.avail_out))return Uo}return e.insert=e.strstart<wo-1?e.strstart:wo-1,t===Xa?(Lo(e,!0),0===e.strm.avail_out?Co:Io):e.last_lit&&(Lo(e,!1),0===e.strm.avail_out)?Uo:Do}function Go(e,t){let r,n,i;for(;;){if(e.lookahead<ko){if(jo(e),e.lookahead<ko&&t===Va)return Uo;if(0===e.lookahead)break}if(r=0,e.lookahead>=wo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+wo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=wo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ko&&(e.match_length=Ho(e,r),e.match_length<=5&&(e.strategy===ss||e.match_length===wo&&e.strstart-e.match_start>4096)&&(e.match_length=wo-1)),e.prev_length>=wo&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-wo,n=lo(e,e.strstart-1-e.prev_match,e.prev_length-wo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+wo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=wo-1,e.strstart++,n&&(Lo(e,!1),0===e.strm.avail_out))return Uo}else if(e.match_available){if(n=lo(e,0,e.window[e.strstart-1]),n&&Lo(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return Uo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=lo(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<wo-1?e.strstart:wo-1,t===Xa?(Lo(e,!0),0===e.strm.avail_out?Co:Io):e.last_lit&&(Lo(e,!1),0===e.strm.avail_out)?Uo:Do}class Vo{constructor(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}}const Wo=[new Vo(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(jo(e),0===e.lookahead&&t===Va)return Uo;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,Lo(e,!1),0===e.strm.avail_out))return Uo;if(e.strstart-e.block_start>=e.w_size-ko&&(Lo(e,!1),0===e.strm.avail_out))return Uo}return e.insert=0,t===Xa?(Lo(e,!0),0===e.strm.avail_out?Co:Io):(e.strstart>e.block_start&&(Lo(e,!1),e.strm.avail_out),Uo)})),new Vo(4,4,8,4,qo),new Vo(4,5,16,8,qo),new Vo(4,6,32,32,qo),new Vo(4,4,16,16,Go),new Vo(8,16,32,32,Go),new Vo(8,16,128,128,Go),new Vo(8,32,128,256,Go),new Vo(32,128,258,1024,Go),new Vo(32,258,258,4096,Go)];class $o{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ds,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ha(1146),this.dyn_dtree=new Ha(122),this.bl_tree=new Ha(78),Ro(this.dyn_ltree),Ro(this.dyn_dtree),Ro(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ha(16),this.heap=new Ha(573),Ro(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ha(573),Ro(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function Zo(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=ys,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ao:xo,e.adler=2===t.wrap?0:1,t.last_flush=Va,oo(t),Ja):Bo(e,rs)}(e);return t===Ja&&function(e){e.window_size=2*e.w_size,Ro(e.head),e.max_lazy_match=Wo[e.level].max_lazy,e.good_match=Wo[e.level].good_length,e.nice_match=Wo[e.level].nice_length,e.max_chain_length=Wo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=wo-1,e.match_available=0,e.ins_h=0}(e.state),t}function Xo(e,t){let r,n,i,a;if(!e||!e.state||t>Ya||t<0)return e?Bo(e,rs):rs;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Po&&t!==Xa)return Bo(e,0===e.avail_out?is:rs);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Ao)if(2===n.wrap)e.adler=0,No(n,31),No(n,139),No(n,8),n.gzhead?(No(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),No(n,255&n.gzhead.time),No(n,n.gzhead.time>>8&255),No(n,n.gzhead.time>>16&255),No(n,n.gzhead.time>>24&255),No(n,9===n.level?2:n.strategy>=os||n.level<2?4:0),No(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(No(n,255&n.gzhead.extra.length),No(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=fo(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=_o):(No(n,0),No(n,0),No(n,0),No(n,0),No(n,0),No(n,9===n.level?2:n.strategy>=os||n.level<2?4:0),No(n,To),n.status=xo);else{let t=ds+(n.w_bits-8<<4)<<8,r=-1;r=n.strategy>=os||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=r<<6,0!==n.strstart&&(t|=vo),t+=31-t%31,n.status=xo,Oo(n,t),0!==n.strstart&&(Oo(n,e.adler>>>16),Oo(n,65535&e.adler)),e.adler=1}if(n.status===_o)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),Mo(e),i=n.pending,n.pending!==n.pending_buf_size));)No(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Eo)}else n.status=Eo;if(n.status===Eo)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),Mo(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}a=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,No(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.gzindex=0,n.status=So)}else n.status=So;if(n.status===So)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),Mo(e),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}a=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,No(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=fo(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.status=Ko)}else n.status=Ko;if(n.status===Ko&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Mo(e),n.pending+2<=n.pending_buf_size&&(No(n,255&e.adler),No(n,e.adler>>8&255),e.adler=0,n.status=xo)):n.status=xo),0!==n.pending){if(Mo(e),0===e.avail_out)return n.last_flush=-1,Ja}else if(0===e.avail_in&&zo(t)<=zo(r)&&t!==Xa)return Bo(e,is);if(n.status===Po&&0!==e.avail_in)return Bo(e,is);if(0!==e.avail_in||0!==n.lookahead||t!==Va&&n.status!==Po){var s=n.strategy===os?function(e,t){let r;for(;;){if(0===e.lookahead&&(jo(e),0===e.lookahead)){if(t===Va)return Uo;break}if(e.match_length=0,r=lo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Lo(e,!1),0===e.strm.avail_out))return Uo}return e.insert=0,t===Xa?(Lo(e,!0),0===e.strm.avail_out?Co:Io):e.last_lit&&(Lo(e,!1),0===e.strm.avail_out)?Uo:Do}(n,t):n.strategy===cs?function(e,t){let r,n,i,a;const s=e.window;for(;;){if(e.lookahead<=bo){if(jo(e),e.lookahead<=bo&&t===Va)return Uo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=wo&&e.strstart>0&&(i=e.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=e.strstart+bo;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&i<a);e.match_length=bo-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=wo?(r=lo(e,1,e.match_length-wo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=lo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Lo(e,!1),0===e.strm.avail_out))return Uo}return e.insert=0,t===Xa?(Lo(e,!0),0===e.strm.avail_out?Co:Io):e.last_lit&&(Lo(e,!1),0===e.strm.avail_out)?Uo:Do}(n,t):Wo[n.level].func(n,t);if(s!==Co&&s!==Io||(n.status=Po),s===Uo||s===Co)return 0===e.avail_out&&(n.last_flush=-1),Ja;if(s===Do&&(t===Wa?ho(n):t!==Ya&&(co(n,0,0,!1),t===Za&&(Ro(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Mo(e),0===e.avail_out))return n.last_flush=-1,Ja}return t!==Xa?Ja:n.wrap<=0?es:(2===n.wrap?(No(n,255&e.adler),No(n,e.adler>>8&255),No(n,e.adler>>16&255),No(n,e.adler>>24&255),No(n,255&e.total_in),No(n,e.total_in>>8&255),No(n,e.total_in>>16&255),No(n,e.total_in>>24&255)):(Oo(n,e.adler>>>16),Oo(n,65535&e.adler)),Mo(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?Ja:es)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Yo=new Fa(256);for(let e=0;e<256;e++)Yo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function Qo(e){let t,r,n,i,a=0;const s=e.length;for(n=0;n<s;n++)t=e.charCodeAt(n),55296==(64512&t)&&n+1<s&&(r=e.charCodeAt(n+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),n++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new Fa(a);for(i=0,n=0;i<a;n++)t=e.charCodeAt(n),55296==(64512&t)&&n+1<s&&(r=e.charCodeAt(n+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),n++)),t<128?o[i++]=t:t<2048?(o[i++]=192|t>>>6,o[i++]=128|63&t):t<65536?(o[i++]=224|t>>>12,o[i++]=128|t>>>6&63,o[i++]=128|63&t):(o[i++]=240|t>>>18,o[i++]=128|t>>>12&63,o[i++]=128|t>>>6&63,o[i++]=128|63&t);return o}Yo[254]=Yo[254]=1;class Jo{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class ec{constructor(e){this.options={level:as,method:ds,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Jo,this.strm.avail_out=0;var r,n,i=function(e,t,r,n,i,a){if(!e)return rs;let s=1;if(t===as&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>mo||r!==ds||n<8||n>15||t<0||t>9||a<0||a>hs)return Bo(e,rs);8===n&&(n=9);const o=new $o;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+wo-1)/wo),o.window=new Fa(2*o.w_size),o.head=new Ha(o.hash_size),o.prev=new Ha(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Fa(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,Zo(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==Ja)throw Error(go[i]);if(t.header&&(r=this.strm,n=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=n))),t.dictionary){let e;if(e="string"==typeof t.dictionary?Qo(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,i=function(e,t){let r,n,i,a,s,o,c,h,u=t.length;if(!e||!e.state)return rs;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==Ao||r.lookahead)return rs;for(1===a&&(e.adler=yo(e.adler,t,u,0)),r.wrap=0,u>=r.w_size&&(0===a&&(Ro(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new Fa(r.w_size),Ga(h,t,u-r.w_size,r.w_size,0),t=h,u=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=u,e.next_in=0,e.input=t,jo(r);r.lookahead>=wo;){n=r.strstart,i=r.lookahead-(wo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+wo-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++}while(--i);r.strstart=n,r.lookahead=wo-1,jo(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=wo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Ja}(this.strm,e),i!==Ja)throw Error(go[i]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:n}}=this;var i,a;if(this.ended)return!1;a=t===~~t?t:!0===t?Xa:Va,"string"==typeof e?r.input=Qo(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Fa(n),r.next_out=0,r.avail_out=n),(i=Xo(r,a))!==es&&i!==Ja)return this.onEnd(i),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==Xa&&a!==$a)||this.onData(La(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&i!==es);return a===Xa?(i=function(e){let t;return e&&e.state?(t=e.state.status,t!==Ao&&t!==_o&&t!==Eo&&t!==So&&t!==Ko&&t!==xo&&t!==Po?Bo(e,rs):(e.state=null,t===xo?Bo(e,ns):Ja)):rs}(this.strm),this.onEnd(i),this.ended=!0,i===Ja):a!==$a||(this.onEnd(Ja),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ja&&(this.result=qa(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const tc=30,rc=12;function nc(e,t){let r,n,i,a,s,o,c,h,u,l;const y=e.state;r=e.next_in;const d=e.input,p=r+(e.avail_in-5);n=e.next_out;const f=e.output,g=n-(t-e.avail_out),m=n+(e.avail_out-257),w=y.dmax,b=y.wsize,k=y.whave,v=y.wnext,A=y.window;i=y.hold,a=y.bits;const _=y.lencode,E=y.distcode,S=(1<<y.lenbits)-1,K=(1<<y.distbits)-1;e:do{a<15&&(i+=d[r++]<<a,a+=8,i+=d[r++]<<a,a+=8),s=_[i&S];t:for(;;){if(o=s>>>24,i>>>=o,a-=o,o=s>>>16&255,0===o)f[n++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=_[(65535&s)+(i&(1<<o)-1)];continue t}if(32&o){y.mode=rc;break e}e.msg="invalid literal/length code",y.mode=tc;break e}c=65535&s,o&=15,o&&(a<o&&(i+=d[r++]<<a,a+=8),c+=i&(1<<o)-1,i>>>=o,a-=o),a<15&&(i+=d[r++]<<a,a+=8,i+=d[r++]<<a,a+=8),s=E[i&K];r:for(;;){if(o=s>>>24,i>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=E[(65535&s)+(i&(1<<o)-1)];continue r}e.msg="invalid distance code",y.mode=tc;break e}if(h=65535&s,o&=15,a<o&&(i+=d[r++]<<a,a+=8,a<o&&(i+=d[r++]<<a,a+=8)),h+=i&(1<<o)-1,h>w){e.msg="invalid distance too far back",y.mode=tc;break e}if(i>>>=o,a-=o,o=n-g,h>o){if(o=h-o,o>k&&y.sane){e.msg="invalid distance too far back",y.mode=tc;break e}if(u=0,l=A,0===v){if(u+=b-o,o<c){c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}}else if(v<o){if(u+=b+v-o,o-=v,o<c){c-=o;do{f[n++]=A[u++]}while(--o);if(u=0,v<c){o=v,c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}}}else if(u+=v-o,o<c){c-=o;do{f[n++]=A[u++]}while(--o);u=n-h,l=f}for(;c>2;)f[n++]=l[u++],f[n++]=l[u++],f[n++]=l[u++],c-=3;c&&(f[n++]=l[u++],c>1&&(f[n++]=l[u++]))}else{u=n-h;do{f[n++]=f[u++],f[n++]=f[u++],f[n++]=f[u++],c-=3}while(c>2);c&&(f[n++]=f[u++],c>1&&(f[n++]=f[u++]))}break}}break}}while(r<p&&n<m);c=a>>3,r-=c,a-=c<<3,i&=(1<<a)-1,e.next_in=r,e.next_out=n,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=n<m?m-n+257:257-(n-m),y.hold=i,y.bits=a}const ic=15,ac=852,sc=592,oc=0,cc=1,hc=2,uc=[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],lc=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],yc=[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,0,0],dc=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function pc(e,t,r,n,i,a,s,o){const c=o.bits;let h,u,l,y,d,p=0,f=0,g=0,m=0,w=0,b=0,k=0,v=0,A=0,_=0,E=null,S=0;const K=new Ha(ic+1),x=new Ha(ic+1);let P,U,D,C=null,I=0;for(p=0;p<=ic;p++)K[p]=0;for(f=0;f<n;f++)K[t[r+f]]++;for(w=c,m=ic;m>=1&&0===K[m];m--);if(w>m&&(w=m),0===m)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(g=1;g<m&&0===K[g];g++);for(w<g&&(w=g),v=1,p=1;p<=ic;p++)if(v<<=1,v-=K[p],v<0)return-1;if(v>0&&(e===oc||1!==m))return-1;for(x[1]=0,p=1;p<ic;p++)x[p+1]=x[p]+K[p];for(f=0;f<n;f++)0!==t[r+f]&&(s[x[t[r+f]]++]=f);e===oc?(E=C=s,d=19):e===cc?(E=uc,S-=257,C=lc,I-=257,d=256):(E=yc,C=dc,d=-1),_=0,f=0,p=g,y=a,b=w,k=0,l=-1,A=1<<w;const T=A-1;if(e===cc&&A>ac||e===hc&&A>sc)return 1;for(;;){P=p-k,s[f]<d?(U=0,D=s[f]):s[f]>d?(U=C[I+s[f]],D=E[S+s[f]]):(U=96,D=0),h=1<<p-k,u=1<<b,g=u;do{u-=h,i[y+(_>>k)+u]=P<<24|U<<16|D|0}while(0!==u);for(h=1<<p-1;_&h;)h>>=1;if(0!==h?(_&=h-1,_+=h):_=0,f++,0==--K[p]){if(p===m)break;p=t[r+s[f]]}if(p>w&&(_&T)!==l){for(0===k&&(k=w),y+=g,b=p-k,v=1<<b;b+k<m&&(v-=K[b+k],!(v<=0));)b++,v<<=1;if(A+=1<<b,e===cc&&A>ac||e===hc&&A>sc)return 1;l=_&T,i[l]=w<<24|b<<16|y-a|0}}return 0!==_&&(i[y+_]=p-k<<24|64<<16|0),o.bits=w,0}const fc=0,gc=1,mc=2,wc=1,bc=2,kc=3,vc=4,Ac=5,_c=6,Ec=7,Sc=8,Kc=9,xc=10,Pc=11,Uc=12,Dc=13,Cc=14,Ic=15,Tc=16,Bc=17,zc=18,Rc=19,Mc=20,Lc=21,Nc=22,Oc=23,Fc=24,Hc=25,jc=26,qc=27,Gc=28,Vc=29,Wc=30,$c=852,Zc=592;function Xc(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Yc{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Ha(320),this.work=new Ha(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Qc(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=wc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new ja($c),t.distcode=t.distdyn=new ja(Zc),t.sane=1,t.back=-1,Ja):rs}(e)):rs}function Jc(e,t){let r,n;return e?(n=new Yc,e.state=n,n.window=null,r=function(e,t){let r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?rs:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Qc(e))):rs}(e,t),r!==Ja&&(e.state=null),r):rs}let eh,th,rh=!0;function nh(e){if(rh){let t;for(eh=new ja(512),th=new ja(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(pc(gc,e.lens,0,288,eh,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;pc(mc,e.lens,0,32,th,0,e.work,{bits:5}),rh=!1}e.lencode=eh,e.lenbits=9,e.distcode=th,e.distbits=5}function ih(e,t,r,n){let i;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Fa(a.wsize)),n>=a.wsize?(Ga(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),Ga(a.window,t,r-n,i,a.wnext),(n-=i)?(Ga(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function ah(e,t){let r,n,i,a,s,o,c,h,u,l,y,d,p,f,g,m,w,b,k,v,A,_,E,S,K=0,x=new Fa(4);const P=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return rs;r=e.state,r.mode===Uc&&(r.mode=Dc),s=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,o=e.avail_in,h=r.hold,u=r.bits,l=o,y=c,_=Ja;e:for(;;)switch(r.mode){case wc:if(0===r.wrap){r.mode=Dc;break}for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(2&r.wrap&&35615===h){r.check=0,x[0]=255&h,x[1]=h>>>8&255,r.check=fo(r.check,x,2,0),h=0,u=0,r.mode=bc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",r.mode=Wc;break}if((15&h)!==ds){e.msg="unknown compression method",r.mode=Wc;break}if(h>>>=4,u-=4,A=8+(15&h),0===r.wbits)r.wbits=A;else if(A>r.wbits){e.msg="invalid window size",r.mode=Wc;break}r.dmax=1<<A,e.adler=r.check=1,r.mode=512&h?xc:Uc,h=0,u=0;break;case bc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.flags=h,(255&r.flags)!==ds){e.msg="unknown compression method",r.mode=Wc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=Wc;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=fo(r.check,x,2,0)),h=0,u=0,r.mode=kc;case kc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.head&&(r.head.time=h),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,x[2]=h>>>16&255,x[3]=h>>>24&255,r.check=fo(r.check,x,4,0)),h=0,u=0,r.mode=vc;case vc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.head&&(r.head.xflags=255&h,r.head.os=h>>8),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=fo(r.check,x,2,0)),h=0,u=0,r.mode=Ac;case Ac:if(1024&r.flags){for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.length=h,r.head&&(r.head.extra_len=h),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=fo(r.check,x,2,0)),h=0,u=0}else r.head&&(r.head.extra=null);r.mode=_c;case _c:if(1024&r.flags&&(d=r.length,d>o&&(d=o),d&&(r.head&&(A=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),Ga(r.head.extra,n,a,d,A)),512&r.flags&&(r.check=fo(r.check,n,d,a)),o-=d,a+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Ec;case Ec:if(2048&r.flags){if(0===o)break e;d=0;do{A=n[a+d++],r.head&&A&&r.length<65536&&(r.head.name+=String.fromCharCode(A))}while(A&&d<o);if(512&r.flags&&(r.check=fo(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Sc;case Sc:if(4096&r.flags){if(0===o)break e;d=0;do{A=n[a+d++],r.head&&A&&r.length<65536&&(r.head.comment+=String.fromCharCode(A))}while(A&&d<o);if(512&r.flags&&(r.check=fo(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.comment=null);r.mode=Kc;case Kc:if(512&r.flags){for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h!==(65535&r.check)){e.msg="header crc mismatch",r.mode=Wc;break}h=0,u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Uc;break;case xc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}e.adler=r.check=Xc(h),h=0,u=0,r.mode=Pc;case Pc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,ts;e.adler=r.check=1,r.mode=Uc;case Uc:if(t===Ya||t===Qa)break e;case Dc:if(r.last){h>>>=7&u,u-=7&u,r.mode=qc;break}for(;u<3;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}switch(r.last=1&h,h>>>=1,u-=1,3&h){case 0:r.mode=Cc;break;case 1:if(nh(r),r.mode=Mc,t===Qa){h>>>=2,u-=2;break e}break;case 2:r.mode=Bc;break;case 3:e.msg="invalid block type",r.mode=Wc}h>>>=2,u-=2;break;case Cc:for(h>>>=7&u,u-=7&u;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if((65535&h)!=(h>>>16^65535)){e.msg="invalid stored block lengths",r.mode=Wc;break}if(r.length=65535&h,h=0,u=0,r.mode=Ic,t===Qa)break e;case Ic:r.mode=Tc;case Tc:if(d=r.length,d){if(d>o&&(d=o),d>c&&(d=c),0===d)break e;Ga(i,n,a,d,s),o-=d,a+=d,c-=d,s+=d,r.length-=d;break}r.mode=Uc;break;case Bc:for(;u<14;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.nlen=257+(31&h),h>>>=5,u-=5,r.ndist=1+(31&h),h>>>=5,u-=5,r.ncode=4+(15&h),h>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=Wc;break}r.have=0,r.mode=zc;case zc:for(;r.have<r.ncode;){for(;u<3;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.lens[P[r.have++]]=7&h,h>>>=3,u-=3}for(;r.have<19;)r.lens[P[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,E={bits:r.lenbits},_=pc(fc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=Wc;break}r.have=0,r.mode=Rc;case Rc:for(;r.have<r.nlen+r.ndist;){for(;K=r.lencode[h&(1<<r.lenbits)-1],g=K>>>24,m=K>>>16&255,w=65535&K,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(w<16)h>>>=g,u-=g,r.lens[r.have++]=w;else{if(16===w){for(S=g+2;u<S;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h>>>=g,u-=g,0===r.have){e.msg="invalid bit length repeat",r.mode=Wc;break}A=r.lens[r.have-1],d=3+(3&h),h>>>=2,u-=2}else if(17===w){for(S=g+3;u<S;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=g,u-=g,A=0,d=3+(7&h),h>>>=3,u-=3}else{for(S=g+7;u<S;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=g,u-=g,A=0,d=11+(127&h),h>>>=7,u-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=Wc;break}for(;d--;)r.lens[r.have++]=A}}if(r.mode===Wc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=Wc;break}if(r.lenbits=9,E={bits:r.lenbits},_=pc(gc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=Wc;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=pc(mc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=Wc;break}if(r.mode=Mc,t===Qa)break e;case Mc:r.mode=Lc;case Lc:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,nc(e,y),s=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,n=e.input,o=e.avail_in,h=r.hold,u=r.bits,r.mode===Uc&&(r.back=-1);break}for(r.back=0;K=r.lencode[h&(1<<r.lenbits)-1],g=K>>>24,m=K>>>16&255,w=65535&K,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(m&&0==(240&m)){for(b=g,k=m,v=w;K=r.lencode[v+((h&(1<<b+k)-1)>>b)],g=K>>>24,m=K>>>16&255,w=65535&K,!(b+g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=b,u-=b,r.back+=b}if(h>>>=g,u-=g,r.back+=g,r.length=w,0===m){r.mode=jc;break}if(32&m){r.back=-1,r.mode=Uc;break}if(64&m){e.msg="invalid literal/length code",r.mode=Wc;break}r.extra=15&m,r.mode=Nc;case Nc:if(r.extra){for(S=r.extra;u<S;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.length+=h&(1<<r.extra)-1,h>>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Oc;case Oc:for(;K=r.distcode[h&(1<<r.distbits)-1],g=K>>>24,m=K>>>16&255,w=65535&K,!(g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(0==(240&m)){for(b=g,k=m,v=w;K=r.distcode[v+((h&(1<<b+k)-1)>>b)],g=K>>>24,m=K>>>16&255,w=65535&K,!(b+g<=u);){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}h>>>=b,u-=b,r.back+=b}if(h>>>=g,u-=g,r.back+=g,64&m){e.msg="invalid distance code",r.mode=Wc;break}r.offset=w,r.extra=15&m,r.mode=Fc;case Fc:if(r.extra){for(S=r.extra;u<S;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}r.offset+=h&(1<<r.extra)-1,h>>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=Wc;break}r.mode=Hc;case Hc:if(0===c)break e;if(d=y-c,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=Wc;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),f=r.window}else f=i,p=s-r.offset,d=r.length;d>c&&(d=c),c-=d,r.length-=d;do{i[s++]=f[p++]}while(--d);0===r.length&&(r.mode=Lc);break;case jc:if(0===c)break e;i[s++]=r.length,c--,r.mode=Lc;break;case qc:if(r.wrap){for(;u<32;){if(0===o)break e;o--,h|=n[a++]<<u,u+=8}if(y-=c,e.total_out+=y,r.total+=y,y&&(e.adler=r.check=r.flags?fo(r.check,i,y,s-y):yo(r.check,i,y,s-y)),y=c,(r.flags?h:Xc(h))!==r.check){e.msg="incorrect data check",r.mode=Wc;break}h=0,u=0}r.mode=Gc;case Gc:if(r.wrap&&r.flags){for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(h!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=Wc;break}h=0,u=0}r.mode=Vc;case Vc:_=es;break e;case Wc:_=ns;break e;default:return rs}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=h,r.bits=u,(r.wsize||y!==e.avail_out&&r.mode<Wc&&(r.mode<qc||t!==Xa))&&ih(e,e.output,e.next_out,y-e.avail_out),l-=e.avail_in,y-=e.avail_out,e.total_in+=l,e.total_out+=y,r.total+=y,r.wrap&&y&&(e.adler=r.check=r.flags?fo(r.check,i,y,e.next_out-y):yo(r.check,i,y,e.next_out-y)),e.data_type=r.bits+(r.last?64:0)+(r.mode===Uc?128:0)+(r.mode===Mc||r.mode===Ic?256:0),(0===l&&0===y||t===Xa)&&_===Ja&&(_=is),_}function sh(e,t){const r=t.length;let n,i;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==Pc?rs:n.mode===Pc&&(i=1,i=yo(i,t,r,0),i!==n.check)?ns:(ih(e,t,r,r),n.havedict=1,Ja)):rs}class oh{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class ch{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Jo,this.strm.avail_out=0;let r=Jc(this.strm,t.windowBits);if(r!==Ja)throw Error(go[r]);if(this.header=new oh,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Qo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=sh(this.strm,t.dictionary),r!==Ja)))throw Error(go[r])}push(e,t){const{strm:r,options:{chunkSize:n,dictionary:i}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?Xa:Va,"string"==typeof e?r.input=function(e){const t=new Fa(e.length);for(let r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Fa(n),r.next_out=0,r.avail_out=n),a=ah(r,Va),a===ts&&i&&(a=sh(this.strm,i)),a===is&&!0===o&&(a=Ja,o=!1),a!==es&&a!==Ja)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==es&&(0!==r.avail_in||s!==Xa&&s!==$a)||this.onData(La(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==es);return a===es&&(s=Xa),s===Xa?(a=function(e){if(!e||!e.state)return rs;const t=e.state;return t.window&&(t.window=null),e.state=null,Ja}(this.strm),this.onEnd(a),this.ended=!0,a===Ja):s!==$a||(this.onEnd(Ja),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ja&&(this.result=qa(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var hh=[0,1,3,7,15,31,63,127,255],uh=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};uh.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},uh.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=hh[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var n=r-e;t|=(this.curByte&hh[e]<<n)>>n,this.bitOffset+=e,e=0}}return t},uh.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},uh.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var lh=uh,yh=function(){};yh.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},yh.prototype.read=function(e,t,r){for(var n=0;n<r;){var i=this.readByte();if(i<0)return 0===n?-1:n;e[t++]=i,n++}return n},yh.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},yh.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},yh.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},yh.prototype.flush=function(){};var dh,ph=yh,fh=(dh=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^dh[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^dh[255&(e>>>24^t)]}}),gh=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},mh={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},wh={};wh[mh.LAST_BLOCK]="Bad file checksum",wh[mh.NOT_BZIP_DATA]="Not bzip data",wh[mh.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",wh[mh.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",wh[mh.DATA_ERROR]="Data error",wh[mh.OUT_OF_MEMORY]="Out of memory",wh[mh.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var bh=function(e,t){var r=wh[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},kh=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};kh.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new fh,!0):(this.writeCount=-1,!1)},kh.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||bh(mh.NOT_BZIP_DATA,"bad magic");var n=r[3]-48;(n<1||n>9)&&bh(mh.NOT_BZIP_DATA,"level out of range"),this.reader=new lh(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},kh.prototype._get_next_block=function(){var e,t,r,n=this.reader,i=n.pi();if("177245385090"===i)return!1;"314159265359"!==i&&bh(mh.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&bh(mh.OBSOLETE_INPUT);var a=n.read(24);a>this.dbufSize&&bh(mh.DATA_ERROR,"initial position out of bounds");var s=n.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var h=16*e;for(r=n.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=h+t)}var u=n.read(3);(u<2||u>6)&&bh(mh.DATA_ERROR);var l=n.read(15);0===l&&bh(mh.DATA_ERROR);var y=new Uint8Array(256);for(e=0;e<u;e++)y[e]=e;var d=new Uint8Array(l);for(e=0;e<l;e++){for(t=0;n.read(1);t++)t>=u&&bh(mh.DATA_ERROR);d[e]=gh(y,t)}var p,f=c+2,g=[];for(t=0;t<u;t++){var m,w,b=new Uint8Array(f),k=new Uint16Array(21);for(s=n.read(5),e=0;e<f;e++){for(;(s<1||s>20)&&bh(mh.DATA_ERROR),n.read(1);)n.read(1)?s--:s++;b[e]=s}for(m=w=b[0],e=1;e<f;e++)b[e]>w?w=b[e]:b[e]<m&&(m=b[e]);p={},g.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=m,p.maxLen=w;var v=0;for(e=m;e<=w;e++)for(k[e]=p.limit[e]=0,s=0;s<f;s++)b[s]===e&&(p.permute[v++]=s);for(e=0;e<f;e++)k[b[e]]++;for(v=s=0,e=m;e<w;e++)v+=k[e],p.limit[e]=v-1,v<<=1,s+=k[e],p.base[e+1]=v-s;p.limit[w+1]=Number.MAX_VALUE,p.limit[w]=v+k[w]-1,p.base[m]=0}var A=new Uint32Array(256);for(e=0;e<256;e++)y[e]=e;var _,E=0,S=0,K=0,x=this.dbuf=new Uint32Array(this.dbufSize);for(f=0;;){for(f--||(f=49,K>=l&&bh(mh.DATA_ERROR),p=g[d[K++]]),e=p.minLen,t=n.read(e);e>p.maxLen&&bh(mh.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|n.read(1);((t-=p.base[e])<0||t>=258)&&bh(mh.DATA_ERROR);var P=p.permute[t];if(0!==P&&1!==P){if(E)for(E=0,S+s>this.dbufSize&&bh(mh.DATA_ERROR),A[_=o[y[0]]]+=s;s--;)x[S++]=_;if(P>c)break;S>=this.dbufSize&&bh(mh.DATA_ERROR),A[_=o[_=gh(y,e=P-1)]]++,x[S++]=_}else E||(E=1,s=0),s+=0===P?E:2*E,E<<=1}for((a<0||a>=S)&&bh(mh.DATA_ERROR),t=0,e=0;e<256;e++)r=t+A[e],A[e]=t,t=r;for(e=0;e<S;e++)x[A[_=255&x[e]]]|=e<<8,A[_]++;var U=0,D=0,C=0;return S&&(D=255&(U=x[a]),U>>=8,C=-1),this.writePos=U,this.writeCurrent=D,this.writeCount=S,this.writeRun=C,!0},kh.prototype._read_bunzip=function(e,t){var r,n,i;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var h=this.writeRun;c;){for(c--,n=o,o=255&(s=a[s]),s>>=8,3==h++?(r=o,i=n,o=-1):(r=1,i=o),this.blockCRC.updateCRCRun(i,r);r--;)this.outputStream.writeByte(i),this.nextoutput++;o!=n&&(h=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&bh(mh.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var vh=function(e){if("readByte"in e)return e;var t=new ph;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},Ah=function(e){var t=new ph,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var _h=function(e,t,r){for(var n=vh(e),i=Ah(t),a=new kh(n,i);!("eof"in n)||!n.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&bh(mh.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in n)||n.eof())break;a._start_bunzip(n,i)}if("getBuffer"in i)return i.getBuffer()};class Eh{static get tag(){return $.packet.literalData}constructor(e=new Date){this.format=$.literal.utf8,this.date=X.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=$.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||X.isStream(this.text))&&(this.text=X.decodeUTF8(X.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=X.canonicalizeEOL(X.encodeUTF8(this.text))),e?N(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await M(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=X.decodeUTF8(await e.readBytes(r)),this.date=X.readDate(await e.readBytes(4));let n=e.remainder();s(n)&&(n=await H(n)),this.setBytes(n,t)}))}writeHeader(){const e=X.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=X.writeDate(this.date);return X.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return X.concat([e,t])}}const Sh=Symbol("verified"),Kh=new Set([$.signatureSubpacket.issuer,$.signatureSubpacket.issuerFingerprint,$.signatureSubpacket.embeddedSignature]);class xh{static get tag(){return $.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[Sh]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new fi(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=xa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?q((async()=>xa.serializeParams(this.publicKeyAlgorithm,await this.params))):xa.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),X.concat(e)}async sign(e,t,r=new Date,n=!1){5===e.version?this.version=5:this.version=4;const i=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=X.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),i.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=X.concat(i);const a=this.toHash(this.signatureType,t,n),s=await this.hash(this.signatureType,t,a,n);this.signedHashValue=F(L(s),0,2);const o=async()=>xa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await H(s));X.isStream(s)?this.params=o():(this.params=await o(),this[Sh]=!0)}writeHashedSubPackets(){const e=$.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(Ph(e.signatureCreationTime,!0,X.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Ph(e.signatureExpirationTime,!0,X.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Ph(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Ph(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Ph(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Ph(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Ph(e.keyExpirationTime,!0,X.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Ph(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=X.concat([r,this.revocationKeyFingerprint]),t.push(Ph(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(Ph(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:n,value:i,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=X.encodeUTF8(n);r.push(X.writeNumber(o.length,2)),r.push(X.writeNumber(i.length,2)),r.push(o),r.push(i),r=X.concat(r),t.push(Ph(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Ph(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Ph(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyServerPreferences)),t.push(Ph(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Ph(e.preferredKeyServer,!1,X.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Ph(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Ph(e.policyURI,!1,X.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyFlags)),t.push(Ph(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Ph(e.signersUserID,!1,X.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=X.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Ph(e.reasonForRevocation,!0,r))),null!==this.features&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.features)),t.push(Ph(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(X.stringToUint8Array(this.signatureTargetHash)),r=X.concat(r),t.push(Ph(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Ph(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=X.concat(r),t.push(Ph(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Ph(e.preferredAEADAlgorithms,!1,r)));const n=X.concat(t),i=X.writeNumber(n.length,2);return X.concat([i,n])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(hi(t.length)),e.push(t)}));const t=X.concat(e),r=X.writeNumber(t.length,2);return X.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),Kh.has(i)))switch(r++,i){case $.signatureSubpacket.signatureCreationTime:this.created=X.readDate(e.subarray(r,e.length));break;case $.signatureSubpacket.signatureExpirationTime:{const t=X.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case $.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case $.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case $.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case $.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case $.signatureSubpacket.keyExpirationTime:{const t=X.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case $.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case $.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case $.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=X.readNumber(e.subarray(r,r+2));r+=2;const a=X.readNumber(e.subarray(r,r+2));r+=2;const s=X.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:n}),t&&(this.notations[s]=X.decodeUTF8(o));break}case $.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case $.signatureSubpacket.policyURI:this.policyURI=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.signersUserID:this.signersUserID=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=X.decodeUTF8(e.subarray(r,e.length));break;case $.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case $.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=xa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=X.uint8ArrayToString(e.subarray(r,r+t));break}case $.signatureSubpacket.embeddedSignature:this.embeddedSignature=new xh,this.embeddedSignature.read(e.subarray(r,e.length));break;case $.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case $.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+i);if(n)throw e;X.printDebug(e)}}}readSubPackets(e,t=!0,r){const n=X.readNumber(e.subarray(0,2));let i=2;for(;i<2+n;){const n=ci(e.subarray(i,e.length));i+=n.offset,this.readSubPacket(e.subarray(i,i+n.len),t,r),i+=n.len}return i}toSign(e,t){const r=$.signature;switch(e){case r.binary:return null!==t.text?X.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return X.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,n;if(t.userID)n=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");n=209,e=t.userAttribute}const i=e.write();return X.concat([this.toSign(r.key,t),new Uint8Array([n]),X.writeNumber(i.length,4),i])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return X.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return z(L(this.signatureData),(e=>{r+=e.length}),(()=>{const n=[];return 5!==this.version||this.signatureType!==$.signature.binary&&this.signatureType!==$.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(X.writeNumber(r,4)),X.concat(n)}))}toHash(e,t,r=!1){const n=this.toSign(e,t);return X.concat([n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){return r||(r=this.toHash(e,t,n)),xa.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,a=ie){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===$.signature.binary||t===$.signature.text;if(!(this[Sh]&&!s)){let n,a;if(this.hashed?a=await this.hashed:(n=this.toHash(t,r,i),a=await this.hash(t,r,n)),a=await H(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===$.publicKey.hmac?e.privateParams:null;if(this[Sh]=await xa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,n,a),!this[Sh])throw Error("Signature verification failed")}const o=X.normalizeDate(n);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+$.read($.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[$.signature.binary,$.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+$.read($.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=X.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function Ph(e,t,r){const n=[];return n.push(hi(r.length+1)),n.push(new Uint8Array([(t?128:0)|e])),n.push(r),X.concat(n)}class Uh{static get tag(){return $.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new fi(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return X.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return q((async()=>xh.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==$.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Dh(e,t){if(!t[e]){let t;try{t=$.read($.packet,e)}catch(t){throw new fi("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}Uh.prototype.hash=xh.prototype.hash,Uh.prototype.toHash=xh.prototype.toHash,Uh.prototype.toSign=xh.prototype.toSign;class Ch extends Array{static async fromBinary(e,t,r=ie){const n=new Ch;return await n.read(e,t,r),n}async read(e,t,r=ie){r.additionalAllowedPackets.length&&(t={...t,...X.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=R(e,(async(e,n)=>{const i=C(n);try{for(;;){await i.ready;if(await pi(e,(async e=>{try{if(e.tag===$.packet.marker||e.tag===$.packet.trust)return;const n=Dh(e.tag,t);n.packets=new Ch,n.fromStream=X.isStream(e.packet),await n.read(e.packet,r),await i.write(n)}catch(t){const n=!r.ignoreUnsupportedPackets&&t instanceof fi,a=!(r.ignoreMalformedPackets||t instanceof fi);if(n||a||di(e.tag))await i.abort(t);else{const t=new gi(e.tag,e.packet);await i.write(t)}X.printDebugError(t)}})))return await i.ready,void await i.close()}}catch(e){await i.abort(e)}}));const n=D(this.stream);for(;;){const{done:e,value:t}=await n.read();if(e?this.stream=null:this.push(t),e||di(t.constructor.tag))break}n.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof gi?this[t].tag:this[t].constructor.tag,n=this[t].write();if(X.isStream(n)&&di(this[t].constructor.tag)){let t=[],i=0;const a=512;e.push(li(r)),e.push(z(n,(e=>{if(t.push(e),i+=e.length,i>=a){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=X.concat([ui(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}}),(()=>X.concat([hi(i)].concat(t)))))}else{if(X.isStream(n)){let t=0;e.push(z(L(n),(e=>{t+=e.length}),(()=>yi(r,t))))}else e.push(yi(r,n.length));e.push(n)}}return X.concat(e)}filterByTag(...e){const t=new Ch,r=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(r(this[n].constructor.tag))&&t.push(this[n]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(n(r[i].constructor.tag))&&t.push(i);return t}}const Ih=/*#__PURE__*/X.constructAllowedPackets([Eh,Uh,xh]);class Th{static get tag(){return $.packet.compressedData}constructor(e=ie){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=ie){await M(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),X.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=ie){const t=$.read($.compression,this.algorithm),r=Oh[t];if(!r)throw Error(t+" decompression not supported");this.packets=await Ch.fromBinary(r(this.compressed),Ih,e)}compress(){const e=$.read($.compression,this.algorithm),t=Nh[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Bh=X.getNodeZlib();function zh(e){return e}function Rh(e,t,r={}){return function(n){return!X.isStream(n)||s(n)?q((()=>H(n).then((t=>new Promise(((n,i)=>{e(t,r,((e,t)=>{if(e)return i(e);n(t)}))})))))):f(g(n).pipe(t(r)))}}function Mh(e,t={}){return function(r){const n=new e(t);return z(r,(e=>{if(e.length)return n.push(e,$a),n.result}),(()=>{if(e===ec)return n.push([],Xa),n.result}))}}function Lh(e){return function(t){return q((async()=>e(await H(t))))}}const Nh=Bh?{zip:/*#__PURE__*/(e,t)=>Rh(Bh.deflateRaw,Bh.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Rh(Bh.deflate,Bh.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>Mh(ec,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>Mh(ec,{level:t})(e)},Oh=Bh?{uncompressed:zh,zip:/*#__PURE__*/Rh(Bh.inflateRaw,Bh.createInflateRaw),zlib:/*#__PURE__*/Rh(Bh.inflate,Bh.createInflate),bzip2:/*#__PURE__*/Lh(_h)}:{uncompressed:zh,zip:/*#__PURE__*/Mh(ch,{raw:!0}),zlib:/*#__PURE__*/Mh(ch),bzip2:/*#__PURE__*/Lh(_h)},Fh=/*#__PURE__*/X.constructAllowedPackets([Eh,Th,Uh,xh]);class Hh{static get tag(){return $.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await M(e,(async e=>{const t=await e.readByte();if(1!==t)throw new fi(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return X.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=ie){const{blockSize:n}=xa.getCipher(e);let i=this.packets.write();s(i)&&(i=await H(i));const a=await xa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=X.concat([a,i,o]),h=await xa.hash.sha1(N(c)),u=X.concat([c,h]);return this.encrypted=await xa.mode.cfb.encrypt(e,t,u,new Uint8Array(n),r),!0}async decrypt(e,t,r=ie){const{blockSize:n}=xa.getCipher(e);let i=L(this.encrypted);s(i)&&(i=await H(i));const a=await xa.mode.cfb.decrypt(e,t,i,new Uint8Array(n)),o=F(N(a),-20),c=F(a,0,-20),h=Promise.all([H(await xa.hash.sha1(N(c))),H(o)]).then((([e,t])=>{if(!X.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),u=F(c,n+2);let l=F(u,0,-2);return l=U([l,q((()=>h))]),X.isStream(i)&&r.allowUnauthenticatedStream||(l=await H(l)),this.packets=await Ch.fromBinary(l,Fh,r),!0}}const jh=/*#__PURE__*/X.constructAllowedPackets([Eh,Th,Uh,xh]);class qh{static get tag(){return $.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=$.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await M(e,(async e=>{const t=await e.readByte();if(1!==t)throw new fi(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=xa.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return X.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=ie){this.packets=await Ch.fromBinary(await this.crypt("decrypt",t,L(this.encrypted)),jh,r)}async encrypt(e,t,r=ie){this.cipherAlgorithm=e;const{ivLength:n}=xa.getAEADMode(this.aeadAlgorithm);this.iv=xa.random.getRandomBytes(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await this.crypt("encrypt",t,i)}async crypt(e,t,r){const n=xa.getAEADMode(this.aeadAlgorithm),i=await n(this.cipherAlgorithm,t),a="decrypt"===e?n.tagLength:0,s="encrypt"===e?n.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),h=new Uint8Array(c,0,13),u=new Uint8Array(c),l=new DataView(c),y=new Uint8Array(c,5,8);h.set([192|qh.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let d=0,p=Promise.resolve(),f=0,g=0;const m=this.iv;return R(r,(async(t,r)=>{if("array"!==X.isStream(t)){const e=new E({},{highWaterMark:X.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});I(e.readable,r),r=e.writable}const c=D(t),w=C(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let b,k;if(t=t.subarray(0,t.length-a),!d||t.length?(c.unshift(r),b=i[e](t,n.getNonce(m,y),h),g+=t.length-a+s):(l.setInt32(17,f),b=i[e](r,n.getNonce(m,y),u),g+=s,k=!0),f+=t.length-a,p=p.then((()=>b)).then((async e=>{await w.ready,await w.write(e),g-=e.length})).catch((e=>w.abort(e))),(k||g>w.desiredSize)&&await p,k){await w.close();break}l.setInt32(9,++d)}}catch(e){await w.abort(e)}}))}}class Gh{static get tag(){return $.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new fi(`Version ${this.version} of the PKESK packet is unsupported.`);t+=this.publicKeyID.read(e.subarray(t)),this.publicKeyAlgorithm=e[t++],this.encrypted=xa.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(t),this.version),this.publicKeyAlgorithm===$.publicKey.x25519&&(this.sessionKeyAlgorithm=$.write($.symmetric,this.encrypted.C.algorithm))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),xa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return X.concatUint8Array(e)}async encrypt(e){const t=$.write($.publicKey,this.publicKeyAlgorithm),r=Vh(this.version,t,this.sessionKeyAlgorithm,this.sessionKey),n=t===$.publicKey.aead?e.privateParams:null;this.encrypted=await xa.publicKeyEncrypt(t,this.sessionKeyAlgorithm,e.publicParams,n,r,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?Vh(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=await xa.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),{sessionKey:i,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.elgamal:case $.publicKey.ecdh:case $.publicKey.aead:{const e=r.subarray(0,r.length-2),t=r.subarray(r.length-2),i=X.writeChecksum(e.subarray(e.length%8)),a=i[0]===t[0]&i[1]===t[1],s={sessionKeyAlgorithm:e[0],sessionKey:e.subarray(1)};if(n){const e=a&s.sessionKeyAlgorithm===n.sessionKeyAlgorithm&s.sessionKey.length===n.sessionKey.length;return{sessionKey:X.selectUint8Array(e,s.sessionKey,n.sessionKey),sessionKeyAlgorithm:X.selectUint8(e,s.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&$.read($.symmetric,s.sessionKeyAlgorithm))return s;throw Error("Decryption error")}case $.publicKey.x25519:return{sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,n,t);this.publicKeyAlgorithm!==$.publicKey.x25519&&(this.sessionKeyAlgorithm=a),this.sessionKey=i}}function Vh(e,t,r,n){switch(t){case $.publicKey.rsaEncrypt:case $.publicKey.rsaEncryptSign:case $.publicKey.elgamal:case $.publicKey.ecdh:case $.publicKey.aead:return X.concatUint8Array([new Uint8Array([r]),n,X.writeChecksum(n.subarray(n.length%8))]);case $.publicKey.x25519:return n;default:throw Error("Unsupported public key algorithm")}}class Wh{static get tag(){return $.packet.symEncryptedSessionKey}constructor(e=ie){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=$.symmetric.aes256,this.aeadAlgorithm=$.write($.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new fi(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];5===this.version&&(this.aeadAlgorithm=e[t++]);const n=e[t++];if(this.s2k=za(n),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=xa.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=X.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=X.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=X.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:n}=xa.getCipher(t),i=await this.s2k.produceKey(e,n);if(5===this.version){const e=xa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Wh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=await e(t,i);this.sessionKey=await n.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await xa.mode.cfb.decrypt(t,i,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=$.write($.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=i}async encrypt(e,t=ie){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Ra(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=xa.getCipher(r),a=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=xa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=xa.getAEADMode(this.aeadAlgorithm);this.iv=xa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Wh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=await e(r,a);this.encrypted=await n.encrypt(this.sessionKey,this.iv,t)}else{const e=X.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await xa.mode.cfb.encrypt(r,a,e,new Uint8Array(n),t)}}}class $h{static get tag(){return $.packet.publicKey}constructor(e=new Date,t=ie){this.version=t.v5Keys?5:4,this.created=X.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new $h,{version:r,created:n,algorithm:i,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=X.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:n}=xa.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=n,t+=r,await this.computeFingerprintAndKeyID(),t}throw new fi(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(X.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=xa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push(X.writeNumber(t.length,4)),e.push(t),X.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?X.concatUint8Array([new Uint8Array([154]),X.writeNumber(t.length,4),t]):X.concatUint8Array([new Uint8Array([153]),X.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await xa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await xa.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return X.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&X.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=$.read($.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=X.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}$h.prototype.readPublicKey=$h.prototype.read,$h.prototype.writePublicKey=$h.prototype.write;const Zh=/*#__PURE__*/X.constructAllowedPackets([Eh,Th,Uh,xh]);class Xh{static get tag(){return $.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=ie){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:n}=xa.getCipher(e),i=await H(L(this.encrypted)),a=await xa.mode.cfb.decrypt(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Ch.fromBinary(a,Zh,r)}async encrypt(e,t,r=ie){const n=this.packets.write(),{blockSize:i}=xa.getCipher(e),a=await xa.getPrefixRandom(e),s=await xa.mode.cfb.encrypt(e,t,a,new Uint8Array(i),r),o=await xa.mode.cfb.encrypt(e,t,n,s.subarray(2),r);this.encrypted=X.concat([s,o])}}class Yh{static get tag(){return $.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Qh extends $h{static get tag(){return $.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Qh,{version:r,created:n,algorithm:i,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class Jh{static get tag(){return $.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=ci(e.subarray(t,e.length));t+=r.offset,this.attributes.push(X.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(hi(this.attributes[t].length)),e.push(X.stringToUint8Array(this.attributes[t]));return X.concatUint8Array(e)}equals(e){return!!(e&&e instanceof Jh)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class eu extends $h{static get tag(){return $.packet.secretKey}constructor(e=new Date,t=ie){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);const r=t;this.s2kUsage=e[t++],5===this.version&&t++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]);const r=e[t++];if(this.s2k=za(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.iv=e.subarray(t,t+xa.getCipher(this.symmetric).blockSize),t+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(r),this.isEncrypted=!0}if(5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!X.equalsUint8Array(X.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=xa.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof fi)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return X.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead),r.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),5===this.version&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=xa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&t.push(X.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||t.push(X.writeChecksum(this.keyMaterial))),X.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=ie){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=za($.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=$.symmetric.aes256)}async encrypt(e,t=ie){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=Ra(t),this.s2k.generateSalt();const r=xa.serializeParams(this.algorithm,this.privateParams);this.symmetric=$.symmetric.aes256;const n=await tu(this.s2k,e,this.symmetric),{blockSize:i}=xa.getCipher(this.symmetric);if(this.iv=xa.random.getRandomBytes(i),t.aeadProtect){this.s2kUsage=253,this.aead=$.aead.eax;const e=xa.getAEADMode(this.aead),t=await e(this.symmetric,n);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await xa.mode.cfb.encrypt(this.symmetric,n,X.concatUint8Array([r,await xa.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await tu(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=xa.getAEADMode(this.aead),n=await e(this.symmetric,t);try{r=await n.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await xa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const n=await xa.hash.sha1(r);if(!X.equalsUint8Array(n,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=xa.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await xa.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:n,publicParams:i}=await xa.generateParams(this.algorithm,e,t,r);this.privateParams=n,this.publicParams=i,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function tu(e,t,r){const{keySize:n}=xa.getCipher(r);return e.produceKey(t,n)}var ru=rt((function(e){!function(t){function r(e){function t(){return _e<Ee}function r(){return _e}function i(e){_e=e}function a(){_e=0,Ee=Ae.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function h(e){var r;return t()&&e(r=Ae[_e])?(_e+=1,s("token",r)):null}function u(e){return function(){return o("literal",h((function(t){return t===e})))}}function l(){var e=arguments;return function(){var t,n,a,o;for(o=r(),n=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return i(o),null;c(n,a)}return n}}function y(){var e=arguments;return function(){var t,n,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(n=e[t]()))return n;i(a)}return null}}function d(e){return function(){var t,n;return n=r(),null!==(t=e())?t:(i(n),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function f(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function g(e,t){return function(){var n,a,o,h,u;for(h=r(),n=s("star"),o=0,u=void 0===t?0:t;null!==(a=e());)o+=1,c(n,a);return o>=u?n:(i(h),null)}}function m(e){return e.charCodeAt(0)>=128}function w(){return o("cr",u("\r")())}function b(){return o("crlf",l(w,A)())}function k(){return o("dquote",u('"')())}function v(){return o("htab",u("\t")())}function A(){return o("lf",u("\n")())}function _(){return o("sp",u(" ")())}function E(){return o("vchar",h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n})))}function S(){return o("wsp",y(_,v)())}function K(){var e=o("quoted-pair",y(l(u("\\"),y(E,S)),ne)());return null===e?null:(e.semantic=e.semantic[1],e)}function x(){return o("fws",y(ae,l(d(l(g(S),p(b))),g(S,1)))())}function P(){return o("ctext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),te)())}function U(){return o("ccontent",y(P,K,D)())}function D(){return o("comment",l(u("("),g(l(d(x),U)),d(x),u(")"))())}function C(){return o("cfws",y(l(g(l(d(x),D),1),d(x)),x)())}function I(){return o("atext",h((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||m(t)),r})))}function T(){return o("atom",l(f(d(C)),g(I,1),f(d(C)))())}function B(){var e,t;return null===(e=o("dot-atom-text",g(I,1)()))||null!==(t=g(l(u("."),g(I,1)))())&&c(e,t),e}function z(){return o("dot-atom",l(p(d(C)),B,p(d(C)))())}function R(){return o("qtext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),re)())}function M(){return o("qcontent",y(R,K)())}function L(){return o("quoted-string",l(p(d(C)),p(k),g(l(d(f(x)),M)),d(p(x)),p(k),p(d(C)))())}function N(){return o("word",y(T,L)())}function O(){return o("address",y(F,q)())}function F(){return o("mailbox",y(H,J)())}function H(){return o("name-addr",l(d(G),j)())}function j(){return o("angle-addr",y(l(p(d(C)),u("<"),J,u(">"),p(d(C))),se)())}function q(){return o("group",l(G,u(":"),d($),u(";"),p(d(C)))())}function G(){return o("display-name",(null!==(e=o("phrase",y(ie,g(N,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function V(){return o("mailbox-list",y(l(F,g(l(u(","),F))),he)())}function W(){return o("address-list",y(l(O,g(l(u(","),O))),ue)())}function $(){return o("group-list",y(V,p(C),le)())}function Z(){return o("local-part",y(ye,z,L)())}function X(){return o("dtext",y((function(){return h((function(t){var r=t.charCodeAt(0),n=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(n=n||m(t)),n}))}),pe)())}function Y(){return o("domain-literal",l(p(d(C)),u("["),g(l(d(x),X)),d(x),u("]"),p(d(C)))())}function Q(){return o("domain",(t=y(de,z,Y)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function J(){return o("addr-spec",l(Z,u("@"),Q)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",h((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ne(){return e.strict?null:o("obs-qp",l(u("\\"),y(u("\0"),ee,A,w))())}function ie(){return e.strict?null:e.atInDisplayName?o("obs-phrase",l(N,g(y(N,u("."),u("@"),f(C))))()):o("obs-phrase",l(N,g(y(N,u("."),f(C))))())}function ae(){return e.strict?null:o("obs-FWS",g(l(p(d(b)),S),1)())}function se(){return e.strict?null:o("obs-angle-addr",l(p(d(C)),u("<"),oe,J,u(">"),p(d(C)))())}function oe(){return e.strict?null:o("obs-route",l(ce,u(":"))())}function ce(){return e.strict?null:o("obs-domain-list",l(g(y(p(C),u(","))),u("@"),Q,g(l(u(","),p(d(C)),d(l(u("@"),Q)))))())}function he(){return e.strict?null:o("obs-mbox-list",l(g(l(p(d(C)),u(","))),F,g(l(u(","),d(l(F,p(C))))))())}function ue(){return e.strict?null:o("obs-addr-list",l(g(l(p(d(C)),u(","))),O,g(l(u(","),d(l(O,p(C))))))())}function le(){return e.strict?null:o("obs-group-list",l(g(l(p(d(C)),u(",")),1),p(d(C)))())}function ye(){return e.strict?null:o("obs-local-part",l(N,g(l(u("."),N)))())}function de(){return e.strict?null:o("obs-domain",l(T,g(l(u("."),T)))())}function pe(){return e.strict?null:o("obs-dtext",y(ee,K)())}function fe(e,t){var r,n,i;if(null==t)return null;for(n=[t];n.length>0;){if((i=n.pop()).name===e)return i;for(r=i.children.length-1;r>=0;r-=1)n.push(i.children[r])}return null}function ge(e,t){var r,n,i,a,s;if(null==t)return null;for(n=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;n.length>0;)if((i=n.pop()).name in s)a.push(i);else for(r=i.children.length-1;r>=0;r-=1)n.push(i.children[r]);return a}function me(t){var r,n,i,a,s;if(null===t)return null;for(r=[],n=ge(["group","mailbox"],t),i=0;i<n.length;i+=1)"group"===(a=n[i]).name?r.push(we(a)):"mailbox"===a.name&&r.push(be(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function we(e){var t,r=fe("display-name",e),n=[],i=ge(["mailbox"],e);for(t=0;t<i.length;t+=1)n.push(be(i[t]));return{node:e,parts:{name:r},type:e.name,name:ke(r),addresses:n}}function be(e){var t=fe("display-name",e),r=fe("addr-spec",e),n=function(e,t){var r,n,i,a;if(null==t)return null;for(n=[t],a=[];n.length>0;)for((i=n.pop()).name===e&&a.push(i),r=i.children.length-1;r>=0;r-=1)n.push(i.children[r]);return a}("cfws",e),i=ge(["comment"],e),a=fe("local-part",r),s=fe("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:n},type:e.name,name:ke(t),address:ke(r),local:ke(a),domain:ke(s),comments:ve(i),groupName:ke(e.groupName)}}function ke(e){return null!=e?e.semantic:null}function ve(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=ke(e[r]);return t}var Ae,_e,Ee,Se,Ke;if(null===(e=n(e,{})))return null;if(Ae=e.input,Ke={address:O,"address-list":W,"angle-addr":j,from:function(){return o("from",y(V,W)())},group:q,mailbox:F,"mailbox-list":V,"reply-to":function(){return o("reply-to",W())},sender:function(){return o("sender",y(F,O)())}}[e.startAt]||W,!e.strict){if(a(),e.strict=!0,Se=Ke(Ae),e.partial||!t())return me(Se);e.strict=!1}return a(),Se=Ke(Ae),!e.partial&&t()?null:me(Se)}function n(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function n(e){return null==e}var i,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in i={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})n(e[a])&&(e[a]=n(t[a])?i[a]:t[a]);return e}r.parseOneAddress=function(e){return r(n(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(n(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(n(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class nu{static get tag(){return $.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(X.isString(e)||e.name&&!X.isString(e.name)||e.email&&!X.isEmailAddress(e.email)||e.comment&&!X.isString(e.comment))throw Error("Invalid user ID format");const t=new nu;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=ie){const r=X.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:n}=ru.parseOneAddress({input:r,atInDisplayName:!0});this.comment=n.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return X.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class iu extends eu{static get tag(){return $.packet.secretSubkey}constructor(e=new Date,t=ie){super(e,t)}}class au{static get tag(){return $.packet.trust}read(){throw new fi("Trust packets are not supported")}write(){throw new fi("Trust packets are not supported")}}const su=/*#__PURE__*/X.constructAllowedPackets([xh]);class ou{constructor(e){this.packets=e||new Ch}write(){return this.packets.write()}armor(e=ie){return de($.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function cu({armoredSignature:e,binarySignature:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!X.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!X.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:e,data:t}=await ye(i,r);if(e!==$.armor.signature)throw Error("Armored text not of type signature");i=t}const s=await Ch.fromBinary(i,su,r);return new ou(s)}async function hu(e,t){const r=new iu(e.date,t);return r.packets=null,r.algorithm=$.write($.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function uu(e,t){const r=new eu(e.date,t);return r.packets=null,r.algorithm=$.write($.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function lu(e,t,r,n,i=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,n,i,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw X.wrapError(`Could not find valid ${$.read($.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function yu(e,t,r=new Date){const n=X.normalizeDate(r);if(null!==n){const r=bu(e,t);return!(e.created<=n&&n<r)}return!1}async function du(e,t,r,n){const i={};i.key=t,i.bind=e;const a={signatureType:$.signature.subkeyBinding};r.sign?(a.keyFlags=[$.keyFlags.signData],a.embeddedSignature=await gu(i,null,e,{signatureType:$.signature.keyBinding},r.date,void 0,void 0,void 0,n)):a.keyFlags=r.forwarding?[$.keyFlags.forwardedCommunication]:[$.keyFlags.encryptCommunication|$.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1);return await gu(i,null,t,a,r.date,void 0,void 0,void 0,n)}async function pu(e,t,r=new Date,n={},i){let a=i.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,n,i);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=xa.hash.getHashByteLength(a)<=xa.hash.getHashByteLength(s)?s:a)}switch(t.algorithm){case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:case $.publicKey.ed25519:s=xa.getPreferredCurveHashAlgo(t.algorithm,t.publicParams.oid)}return xa.hash.getHashByteLength(a)<=xa.hash.getHashByteLength(s)?s:a}async function fu(e,t=[],r=new Date,n=[],i=ie){const a={symmetric:$.symmetric.aes128,aead:$.aead.eax,compression:$.compression.uncompressed}[e],s={symmetric:i.preferredSymmetricAlgorithm,aead:i.preferredAEADAlgorithm,compression:i.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e];return(await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,n[t],i)).selfCertification[o];return!!a&&a.indexOf(s)>=0})))).every(Boolean)?s:a}async function gu(e,t,r,n,i,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const h=new xh;return Object.assign(h,n),h.publicKeyAlgorithm=r.algorithm,h.hashAlgorithm=await pu(t,r,i,a,c),h.rawNotations=s,await h.sign(r,e,i,o),h}async function mu(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some((function(t){return X.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function wu(e,t,r,n,i,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(n.map((async function(e){try{i&&!e.issuerKeyID.equals(i.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),i?(i.revoked=!!c.some((e=>e.equals(i.issuerKeyID)))||(i.revoked||!1),i.revoked):c.length>0}function bu(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function ku(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=X.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"ecc":try{e.curve=$.write($.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==$.curve.ed25519Legacy&&e.curve!==$.curve.curve25519Legacy||(e.curve=e.sign?$.curve.ed25519Legacy:$.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===$.curve.ed25519Legacy?$.publicKey.eddsaLegacy:$.publicKey.ecdsa:e.algorithm=$.publicKey.ecdh;break;case"rsa":e.algorithm=$.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=$.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=$.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function vu(e,t){const r=e.algorithm;return r!==$.publicKey.rsaEncrypt&&r!==$.publicKey.elgamal&&r!==$.publicKey.ecdh&&r!==$.publicKey.x25519&&(!t.keyFlags||0!=(t.keyFlags[0]&$.keyFlags.signData))}function Au(e,t){const r=e.algorithm;return r!==$.publicKey.dsa&&r!==$.publicKey.rsaSign&&r!==$.publicKey.ecdsa&&r!==$.publicKey.eddsaLegacy&&r!==$.publicKey.ed25519&&(!t.keyFlags||0!=(t.keyFlags[0]&$.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&$.keyFlags.encryptStorage))}function _u(e,t){return!(e.keyFlags&&0==(e.keyFlags[0]&$.keyFlags.sign)&&0==(e.keyFlags[0]&$.keyFlags.certifyKeys)&&0==(e.keyFlags[0]&$.keyFlags.authentication)||!t.allowInsecureDecryptionWithSigningKeys)||(!e.keyFlags||0!=(e.keyFlags[0]&$.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&$.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&$.keyFlags.forwardedCommunication))}function Eu(e,t){const r=$.write($.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(n.algorithm+" keys are considered too weak.");switch(r){case $.publicKey.rsaEncryptSign:case $.publicKey.rsaSign:case $.publicKey.rsaEncrypt:if(n.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case $.publicKey.ecdsa:case $.publicKey.eddsaLegacy:case $.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class Su{constructor(e,t){this.userID=e.constructor.tag===$.packet.userID?e:null,this.userAttribute=e.constructor.tag===$.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ch;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new Su(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n},a=new Su(i.userID||i.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(n))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return gu(i,e,a.keyPacket,{signatureType:$.signature.certGeneric,keyFlags:[$.keyFlags.certifyKeys|$.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,n=ie){const i=this.mainKey.keyPacket;return wu(i,$.signature.certRevocation,{key:i,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,n)}async verifyCertificate(e,t,r=new Date,n){const i=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,a.keyPacket,r,n))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,$.signature.certGeneric,s,r,void 0,n)}catch(e){throw X.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map((async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(n,$.signature.certGeneric,i,e,void 0,t)}catch(e){throw X.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await mu(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(n,$.signature.certGeneric,i,t,!1,r),!0}catch(e){return!1}})),await mu(e,this,"otherCertifications",t),await mu(e,this,"revocationSignatures",t,(function(e){return wu(n,$.signature.certRevocation,i,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=$.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new Su(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await gu(a,null,e,{signatureType:$.signature.certRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await s.update(this),s}}class Ku{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Ch;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Ku(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=ie){const i=this.mainKey.keyPacket;return wu(i,$.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=ie){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await lu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(yu(this.keyPacket,i,e))throw Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=ie){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await lu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t)}catch(e){return null}const a=bu(this.keyPacket,i),s=i.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=ie){const n=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===$.packet.publicSubkey&&e.keyPacket.constructor.tag===$.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const i=this,a={key:n,bind:i.keyPacket};await mu(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<i.bindingSignatures.length;t++)if(i.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>i.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,$.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await mu(e,this,"revocationSignatures",t,(function(e){return wu(n,$.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=$.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={key:e,bind:this.keyPacket},s=new Ku(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await gu(a,null,e,{signatureType:$.signature.subkeyRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{Ku.prototype[e]=function(){return this.keyPacket[e]()}}));const xu=/*#__PURE__*/X.constructAllowedPackets([xh]),Pu=new Set([$.packet.publicKey,$.packet.privateKey]),Uu=new Set([$.packet.publicKey,$.packet.privateKey,$.packet.publicSubkey,$.packet.privateSubkey]);class Du{packetListToStructure(e,t=new Set){let r,n,i,a;for(const s of e){if(s instanceof gi){Uu.has(s.tag)&&!a&&(a=Pu.has(s.tag)?Pu:Uu);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case $.packet.publicKey:case $.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,n=this.getKeyID(),!n)throw Error("Missing Key ID");break;case $.packet.userID:case $.packet.userAttribute:r=new Su(s,this),this.users.push(r);break;case $.packet.publicSubkey:case $.packet.secretSubkey:r=null,i=new Ku(s,this),this.subkeys.push(i);break;case $.packet.signature:switch(s.signatureType){case $.signature.certGeneric:case $.signature.certPersona:case $.signature.certCasual:case $.signature.certPositive:if(!r){X.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(n)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case $.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case $.signature.key:this.directSignatures.push(s);break;case $.signature.subkeyBinding:if(!i){X.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(s);break;case $.signature.keyRevocation:this.revocationSignatures.push(s);break;case $.signature.subkeyRevocation:if(!i){X.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(s)}}}}toPacketList(){const e=new Ch;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=ie){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},a=await lu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(!vu(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await lu([a.embeddedSignature],r.keyPacket,$.signature.keyBinding,e,t,n),Eu(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&vu(i,a.selfCertification))return Eu(i,n),this}catch(e){s=e}throw X.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},n=ie){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},a=await lu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(Au(r.keyPacket,a))return Eu(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&Au(i,a.selfCertification))return Eu(i,n),this}catch(e){s=e}throw X.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,n=ie){return wu(this.keyPacket,$.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=ie){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:i}=await this.getPrimaryUser(e,t,r);if(yu(n,i,e))throw Error("Primary key is expired");const a=await lu(this.directSignatures,n,$.signature.key,{key:n},e,r).catch((()=>{}));if(a&&yu(n,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=ie){let r;try{const{selfCertification:n}=await this.getPrimaryUser(null,e,t),i=bu(this.keyPacket,n),a=n.getExpirationTime(),s=await lu(this.directSignatures,this.keyPacket,$.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=bu(this.keyPacket,s);r=Math.min(i,a,e)}else r=i<a?i:a}catch(e){r=null}return X.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=ie){const n=this.keyPacket,i=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:n},c=await lu(a.selfCertifications,n,$.signature.certGeneric,o,e,r);i.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!i.length)throw a||Error("Could not find primary user");await Promise.all(i.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=i.sort((function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=ie){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await mu(e,n,"revocationSignatures",t,(i=>wu(n.keyPacket,$.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await mu(e,n,"directSignatures",t),await Promise.all(e.users.map((async e=>{const i=n.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const i=n.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}}))),n}async getRevocationCertificate(e=new Date,t=ie){const r={key:this.keyPacket},n=await lu(this.revocationSignatures,this.keyPacket,$.signature.keyRevocation,r,e,t),i=new Ch;return i.push(n),de($.armor.publicKey,i.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=ie){const n=await ye(e,r),i=(await Ch.fromBinary(n.data,xu,r)).findPacket($.packet.signature);if(!i||i.signatureType!==$.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,$.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw X.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(i),a}async signPrimaryUser(e,t,r,n=ie){const{index:i,user:a}=await this.getPrimaryUser(t,r,n),s=await a.certify(e,t,n),o=this.clone();return o.users[i]=s,o}async signAllUsers(e,t=new Date,r=ie){const n=this.clone();return n.users=await Promise.all(this.users.map((function(n){return n.certify(e,t,r)}))),n}async verifyPrimaryUser(e,t=new Date,r,n=ie){const i=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,n);return e?await a.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await a.verify(t,n).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=ie){const n=this.keyPacket,i=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];i.push(...s.map((e=>({userID:a.userID?a.userID.userID:null,userAttribute:a.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{Du.prototype[e]=Ku.prototype[e]}));class Cu extends Du{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([$.packet.secretKey,$.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=ie){return de($.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class Iu extends Cu{constructor(e){if(super(),this.packetListToStructure(e,new Set([$.packet.publicKey,$.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Ch,t=this.toPacketList();let r=!1;for(const n of t)if(!r||n.constructor.tag!==$.packet.Signature)switch(r&&(r=!1),n.constructor.tag){case $.packet.secretKey:{const t=$.write($.publicKey,n.algorithm);if(t===$.publicKey.aead||t===$.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=$h.fromSecretKeyPacket(n);e.push(r);break}case $.packet.secretSubkey:{const t=$.write($.publicKey,n.algorithm);if(t===$.publicKey.aead||t===$.publicKey.hmac){r=!0;break}const i=Qh.fromSecretSubkeyPacket(n);e.push(i);break}default:e.push(n)}return new Cu(e)}armor(e=ie){return de($.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},n=ie){const i=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:i,bind:this.subkeys[r].keyPacket};_u(await lu(this.subkeys[r].bindingSignatures,i,$.signature.subkeyBinding,e,t,n),n)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,n);return e&&!i.getKeyID().equals(e,!0)||!_u(s.selfCertification,n)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=ie){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map((e=>e.keyPacket.isDummy())).every(Boolean))throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=$.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=ie){if(!this.isPrivate())throw Error("Need private key for revoking");const i={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await gu(i,null,this.keyPacket,{signatureType:$.signature.keyRevocation,reasonForRevocationFlag:$.write($.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),a}async addSubkey(e={}){const t={...ie,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const n=r.getAlgorithmInfo();n.type=n.curve?"ecc":"rsa",n.rsaBits=n.bits||4096,n.curve=n.curve||"curve25519",e=ku(e,n);const i=await hu(e);Eu(i,t);const a=await du(i,r,e,t),s=this.toPacketList();return s.push(i,a),new Iu(s)}}const Tu=/*#__PURE__*/X.constructAllowedPackets([$h,Qh,eu,iu,nu,Jh,xh]);function Bu(e){for(const t of e)switch(t.constructor.tag){case $.packet.secretKey:return new Iu(e);case $.packet.publicKey:return new Cu(e)}throw Error("No key packet found")}async function zu(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map((async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)})));const i=new Ch;i.push(e),await Promise.all(r.userIDs.map((async function(t,i){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=nu.fromObject(t),o={};o.userID=s,o.key=e;const c={};c.signatureType=$.signature.certGeneric,c.keyFlags=[$.keyFlags.certifyKeys|$.keyFlags.signData],c.preferredSymmetricAlgorithms=a([$.symmetric.aes256,$.symmetric.aes128,$.symmetric.aes192],n.preferredSymmetricAlgorithm),n.aeadProtect&&(c.preferredAEADAlgorithms=a([$.aead.eax,$.aead.ocb],n.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([$.hash.sha256,$.hash.sha512],n.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([$.compression.zlib,$.compression.zip,$.compression.uncompressed],n.preferredCompressionAlgorithm),0===i&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=$.features.modificationDetection,n.aeadProtect&&(c.features[0]|=$.features.aead),n.v5Keys&&(c.features[0]|=$.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1);return{userIDPacket:s,signaturePacket:await gu(o,null,e,c,r.date,void 0,void 0,void 0,n)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)}))})),await Promise.all(t.map((async function(t,i){const a=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await du(t,e,a,n)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)}))}));const a={key:e};return i.push(await gu(a,null,e,{signatureType:$.signature.keyRevocation,reasonForRevocationFlag:$.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new Iu(i)}async function Ru({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...ie,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!X.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!X.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let a;if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.publicKey&&t!==$.armor.privateKey)throw Error("Armored text not of type key");a=n}else a=t;return Bu(await Ch.fromBinary(a,Tu,r))}async function Mu({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...ie,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!X.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!X.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let a;if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.privateKey)throw Error("Armored text not of type private key");a=n}else a=t;const s=await Ch.fromBinary(a,Tu,r);return new Iu(s)}async function Lu({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!X.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!X.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));if(e){const{type:t,data:n}=await ye(e,r);if(t!==$.armor.publicKey&&t!==$.armor.privateKey)throw Error("Armored text not of type key");i=n}const s=[],o=await Ch.fromBinary(i,Tu,r),c=o.indexOfTag($.packet.publicKey,$.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=Bu(o.slice(c[e],c[e+1]));s.push(t)}return s}async function Nu({armoredKeys:e,binaryKeys:t,config:r}){r={...ie,...r};let n=e||t;if(!n)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!X.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!X.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:i}=await ye(e,r);if(t!==$.armor.privateKey)throw Error("Armored text not of type private key");n=i}const i=[],a=await Ch.fromBinary(n,Tu,r),s=a.indexOfTag($.packet.secretKey);if(0===s.length)throw Error("No secret key packet found");for(let e=0;e<s.length;e++){const t=a.slice(s[e],s[e+1]),r=new Iu(t);i.push(r)}return i}const Ou=/*#__PURE__*/X.constructAllowedPackets([Eh,Th,qh,Hh,Xh,Gh,Wh,Uh,xh]),Fu=/*#__PURE__*/X.constructAllowedPackets([Wh]),Hu=/*#__PURE__*/X.constructAllowedPackets([xh]);class ju{constructor(e){this.packets=e||new Ch}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag($.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag($.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag($.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,n=new Date,i=ie){const a=r||await this.decryptSessionKeys(e,t,n,i),s=this.packets.filterByTag($.packet.symmetricallyEncryptedData,$.packet.symEncryptedIntegrityProtectedData,$.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const h=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!X.isUint8Array(t)||!X.isString(e))throw Error("Invalid session key for decryption.");try{const r=$.write($.symmetric,e);await o.decrypt(r,t,i)}catch(e){X.printDebugError(e),c=e}})));if(j(o.encrypted),o.encrypted=null,await h,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const u=new ju(o.packets);return o.packets=new Ch,u}async decryptSessionKeys(e,t,r=new Date,n=ie){let i,a=[];if(t){const e=this.packets.filterByTag($.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let s;s=r?await Ch.fromBinary(e.write(),Fu,n):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){X.printDebugError(e),e instanceof Pa&&(i=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag($.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[$.symmetric.aes256,$.symmetric.aes128,$.symmetric.tripledes,$.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,n);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,n)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(n.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===$.publicKey.rsaEncrypt||t.publicKeyAlgorithm===$.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===$.publicKey.rsaSign||t.publicKeyAlgorithm===$.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(n.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const n=new Gh;n.read(r);const s={sessionKeyAlgorithm:t,sessionKey:xa.generateSessionKey(t)};try{await n.decrypt(e,s),a.push(n)}catch(e){X.printDebugError(e),i=e}})))}else try{if(await t.decrypt(e),!s.includes($.write($.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){X.printDebugError(e),i=e}})))}))),j(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+X.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:$.read($.symmetric,e.sessionKeyAlgorithm)})))}throw i||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket($.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=ie){const i=await fu("symmetric",e,t,r,n),a=$.read($.symmetric,i),s=n.aeadProtect&&await async function(e,t=new Date,r=[],n=ie){let i=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],n);s.selfCertification.features&&s.selfCertification.features[0]&$.features.aead||(i=!1)}))),i}(e,t,r,n)?$.read($.aead,await fu("aead",e,t,r,n)):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&e.keyPacket.algorithm===$.publicKey.x25519&&!X.isAES(i))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:xa.generateSessionKey(i),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,n=!1,i=[],a=new Date,s=[],o=ie){if(r){if(!X.isUint8Array(r.data)||!X.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await ju.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await ju.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:h,aeadAlgorithm:u}=r,l=await ju.encryptSessionKey(c,h,u,e,t,n,i,a,s,o);let y;u?(y=new qh,y.aeadAlgorithm=$.write($.aead,u)):y=new Hh,y.packets=this.packets;const d=$.write($.symmetric,h);return await y.encrypt(d,c,o),l.packets.push(y),y.packets=new Ch,l}static async encryptSessionKey(e,t,r,n,i,a=!1,s=[],o=new Date,c=[],h=ie){const u=new Ch,l=$.write($.symmetric,t),y=r&&$.write($.aead,r);if(n){const t=await Promise.all(n.map((async function(t,r){const n=await t.getEncryptionKey(s[r],o,c,h),i=new Gh;return i.publicKeyID=a?pe.wildcard():n.getKeyID(),i.publicKeyAlgorithm=n.keyPacket.algorithm,i.sessionKey=e,i.sessionKeyAlgorithm=l,await i.encrypt(n.keyPacket),delete i.sessionKey,i})));u.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,n=async function(e,a,s,o){const c=new Wh(h);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,h),h.passwordCollisionCheck){if(1!==(await Promise.all(i.map((e=>t(c,e))))).reduce(r))return n(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(i.map((t=>n(e,l,y,t))));u.push(...a)}return new ju(u)}async sign(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new Ch,c=this.packets.findPacket($.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let h,u;const l=null===c.text?$.signature.binary:$.signature.text;if(t)for(u=t.packets.filterByTag($.packet.signature),h=u.length-1;h>=0;h--){const t=u[h],r=new Uh;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==h||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,n,i,s),h=new Uh;return h.signatureType=l,h.hashAlgorithm=await pu(t,c.keyPacket,n,i,s),h.publicKeyAlgorithm=c.keyPacket.algorithm,h.issuerKeyID=c.getKeyID(),a===e.length-1&&(h.flags=1),h}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await qu(c,e,t,r,n,i,a,!1,s)),new ju(o)}compress(e,t=ie){if(e===$.compression.uncompressed)return this;const r=new Th(t);r.algorithm=e,r.packets=this.packets;const n=new Ch;return n.push(r),new ju(n)}async signDetached(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=this.packets.findPacket($.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new ou(await qu(o,e,t,r,n,i,a,!0,s))}async verify(e,t=new Date,r=ie){const n=this.unwrapCompressed(),i=n.packets.filterByTag($.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");s(n.packets.stream)&&n.packets.push(...await H(n.packets.stream,(e=>e||[])));const a=n.packets.filterByTag($.packet.onePassSignature).reverse(),o=n.packets.filterByTag($.packet.signature);return a.length&&!o.length&&X.isStream(n.packets.stream)&&!s(n.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=q((async()=>(await e.correspondingSig).signatureData)),e.hashed=H(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch((()=>{}))}))),n.packets.stream=R(n.packets.stream,(async(e,t)=>{const r=D(e),n=C(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await n.ready,await n.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await n.abort(e)}})),Gu(a,i,e,t,!1,r)):Gu(o,i,e,t,!1,r)}verifyDetached(e,t,r=new Date,n=ie){const i=this.unwrapCompressed().packets.filterByTag($.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");return Gu(e.packets.filterByTag($.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag($.packet.compressedData);return e.length?new ju(e[0].packets):this}async appendSignature(e,t=ie){await this.packets.read(X.isUint8Array(e)?e:(await ye(e)).data,Hu,t)}write(){return this.packets.write()}armor(e=ie){return de($.armor.message,this.write(),null,null,null,e)}}async function qu(e,t,r=null,n=[],i=new Date,a=[],s=[],o=!1,c=ie){const h=new Ch,u=null===e.text?$.signature.binary:$.signature.text;if(await Promise.all(t.map((async(t,r)=>{const h=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const l=await t.getSigningKey(n[r],i,h,c);return gu(e,t,l.keyPacket,{signatureType:u},i,h,s,o,c)}))).then((e=>{h.push(...e)})),r){const e=r.packets.filterByTag($.packet.signature);h.push(...e)}return h}async function Gu(e,t,r,n=new Date,i=!1,a=ie){return Promise.all(e.filter((function(e){return["text","binary"].includes($.read($.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,n=new Date,i=!1,a=ie){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof Uh?e.correspondingSig:e,h={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],n,i,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),n,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new Ch;return e&&t.push(e),new ou(t)})()};return h.signature.catch((()=>{})),h.verified.catch((()=>{})),h}(e,t,r,n,i,a)})))}async function Vu({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...ie,...r};let i=e||t;if(!i)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!X.isString(e)&&!X.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!X.isUint8Array(t)&&!X.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const a=Object.keys(n);if(a.length>0)throw Error("Unknown option: "+a.join(", "));const s=X.isStream(i);if(s&&(await S(),i=x(i)),e){const{type:e,data:t}=await ye(i,r);if(e!==$.armor.message)throw Error("Armored text not of type message");i=t}const o=await Ch.fromBinary(i,Ou,r),c=new ju(o);return c.fromStream=s,c}async function Wu({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...a}){let s=void 0!==e?e:t;if(void 0===s)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!X.isString(e)&&!X.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!X.isUint8Array(t)&&!X.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=X.isStream(s);c&&(await S(),s=x(s));const h=new Eh(n);void 0!==e?h.setText(s,$.write($.literal,i)):h.setBytes(s,$.write($.literal,i)),void 0!==r&&h.setFilename(r);const u=new Ch;u.push(h);const l=new ju(u);return l.fromStream=c,l}const $u=/*#__PURE__*/X.constructAllowedPackets([xh]);class Zu{constructor(e,t){if(this.text=X.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof ou))throw Error("Invalid signature input");this.signature=t||new ou(new Ch)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new Eh;o.setText(this.text);const c=new ou(await qu(o,e,t,r,n,i,a,!0,s));return new Zu(this.text,c)}verify(e,t=new Date,r=ie){const n=this.signature.packets.filterByTag($.packet.signature),i=new Eh;return i.setText(this.text),Gu(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=ie){let t=this.signature.packets.map((function(e){return $.read($.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return de($.armor.signed,r,void 0,void 0,void 0,e)}}async function Xu({cleartextMessage:e,config:t,...r}){if(t={...ie,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!X.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw Error("Unknown option: "+n.join(", "));const i=await ye(e);if(i.type!==$.armor.signed)throw Error("No cleartext signed message.");const a=await Ch.fromBinary(i.data,$u,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n<t.length;n++)if(t[n].constructor.tag===$.packet.signature&&!e.some(r(t[n])))return!1;return!0};let n=null,i=[];if(e.forEach((function(e){if(n=e.match(/^Hash: (.+)$/),!n)throw Error('Only "Hash" header allowed in cleartext signed message');n=n[1].replace(/\s/g,""),n=n.split(","),n=n.map((function(e){e=e.toLowerCase();try{return $.write($.hash,e)}catch(t){throw Error("Unknown hash algorithm in armor header: "+e)}})),i=i.concat(n)})),!i.length&&!r([$.hash.md5]))throw Error('If no "Hash" header in cleartext signed message, then only MD5 signatures allowed');if(i.length&&!r(i))throw Error("Hash algorithm mismatch in armor header and signature")}(i.headers,a);const s=new ou(a);return new Zu(i.text,s)}async function Yu({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!X.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new Zu(e)}async function Qu({userIDs:e=[],passphrase:t,type:r="ecc",rsaBits:n=4096,curve:i="curve25519",keyExpirationTime:a=0,date:s=new Date,subkeys:o=[{}],format:c="armored",config:h,symmetricHash:u="sha256",symmetricCipher:l="aes256",...y}){pl(h={...ie,...h}),e=fl(e);const d=Object.keys(y);if(d.length>0)throw Error("Unknown option: "+d.join(", "));if(0===e.length)throw Error("UserIDs are required for key generation");if("rsa"===r&&n<h.minRSABits)throw Error(`rsaBits should be at least ${h.minRSABits}, got: ${n}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:n,curve:i,keyExpirationTime:a,date:s,subkeys:o,symmetricHash:u,symmetricCipher:l};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=ku(e)).subkeys=e.subkeys.map(((t,r)=>ku(e.subkeys[r],e)));let r=[uu(e,t)];r=r.concat(e.subkeys.map((e=>hu(e,t))));const n=await Promise.all(r),i=await zu(n[0],n.slice(1),e,t),a=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:a}}(p,h);return e.getKeys().forEach((({keyPacket:e})=>Eu(e,h))),{privateKey:wl(e,c,h),publicKey:"symmetric"!==r?wl(e.toPublic(),c,h):null,revocationCertificate:t}}catch(e){throw X.wrapError("Error generating keypair",e)}}async function Ju({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:a="armored",config:s,...o}){pl(s={...ie,...s}),t=fl(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length)throw Error("UserIDs are required for key reformat");const h={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:n,date:i};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const n=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,i={key:n,bind:r},a=await lu(e.bindingSignatures,n,$.signature.subkeyBinding,i,null,t).catch((()=>({})));return{sign:a.keyFlags&&a.keyFlags[0]&$.keyFlags.signData,forwarding:a.keyFlags&&a.keyFlags[0]&$.keyFlags.forwardedCommunication}}))));const i=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==i.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const a=await zu(n,i,e,t),s=await a.getRevocationCertificate(e.date,t);return a.revocationSignatures=[],{key:a,revocationCertificate:s};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=X.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(h,s);return{privateKey:wl(e,a,s),publicKey:wl(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw X.wrapError("Error reformatting keypair",e)}}async function el({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:a,...s}){pl(a={...ie,...a});const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const s=t?await e.applyRevocationCertificate(t,n,a):await e.revoke(r,n,a);return s.isPrivate()?{privateKey:wl(s,i,a),publicKey:wl(s.toPublic(),i,a)}:{privateKey:null,publicKey:wl(s,i,a)}}catch(e){throw X.wrapError("Error revoking key",e)}}async function tl({privateKey:e,passphrase:t,config:r,...n}){pl(r={...ie,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const a=e.clone(!0),s=X.isArray(t)?t:[t];try{return await Promise.all(a.getKeys().map((e=>X.anyPromise(s.map((t=>e.keyPacket.decrypt(t))))))),await a.validate(r),a}catch(e){throw a.clearPrivateParams(),X.wrapError("Error decrypting private key",e)}}async function rl({privateKey:e,passphrase:t,config:r,...n}){pl(r={...ie,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const a=e.clone(!0),s=a.getKeys(),o=X.isArray(t)?t:Array(s.length).fill(t);if(o.length!==s.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(s.map((async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()}))),a}catch(e){throw a.clearPrivateParams(),X.wrapError("Error encrypting private key",e)}}async function nl({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:a="armored",signature:s=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:h=[],date:u=new Date,signingUserIDs:l=[],encryptionUserIDs:y=[],signatureNotations:d=[],config:p,...f}){if(pl(p={...ie,...p}),ul(e),yl(a),t=fl(t),r=fl(r),n=fl(n),c=fl(c),h=fl(h),l=fl(l),y=fl(y),d=fl(d),f.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(f.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(f.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==f.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(f);if(g.length>0)throw Error("Unknown option: "+g.join(", "));r||(r=[]);const m=e.fromStream;try{if((r.length||s)&&(e=await e.sign(r,s,c,u,l,d,p)),e=e.compress(await fu("compression",t,u,y,p),p),e=await e.encrypt(t,n,i,o,h,u,y,p),"object"===a)return e;const f="armored"===a;return gl(f?e.armor(p):e.write(),m,f?"utf8":"binary")}catch(e){throw X.wrapError("Error encrypting message",e)}}async function il({message:e,decryptionKeys:t,passwords:r,sessionKeys:n,verificationKeys:i,expectSigned:a=!1,format:s="utf8",signature:o=null,date:c=new Date,config:h,...u}){if(pl(h={...ie,...h}),ul(e),i=fl(i),t=fl(t),r=fl(r),n=fl(n),u.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(u.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const l=Object.keys(u);if(l.length>0)throw Error("Unknown option: "+l.join(", "));try{const u=await e.decrypt(t,r,n,c,h);i||(i=[]);const l={};if(l.signatures=o?await u.verifyDetached(o,i,c,h):await u.verify(i,c,h),l.data="binary"===s?u.getLiteralData():u.getText(),l.filename=u.getFilename(),ml(l,e),a){if(0===i.length)throw Error("Verification keys are required to verify message signatures");if(0===l.signatures.length)throw Error("Message is not signed");l.data=U([l.data,q((async()=>{await X.anyPromise(l.signatures.map((e=>e.verified)))}))])}return l.data=await gl(l.data,e.fromStream,s),l}catch(e){throw X.wrapError("Error decrypting message",e)}}async function al({message:e,signingKeys:t,format:r="armored",detached:n=!1,signingKeyIDs:i=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...h}){if(pl(c={...ie,...c}),ll(e),yl(r),t=fl(t),i=fl(i),s=fl(s),o=fl(o),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==h.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const u=Object.keys(h);if(u.length>0)throw Error("Unknown option: "+u.join(", "));if(e instanceof Zu&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Zu&&n)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let h;if(h=n?await e.signDetached(t,void 0,i,a,s,o,c):await e.sign(t,void 0,i,a,s,o,c),"object"===r)return h;const u="armored"===r;return h=u?h.armor(c):h.write(),n&&(h=R(e.packets.write(),(async(e,t)=>{await Promise.all([I(h,t),H(e).catch((()=>{}))])}))),gl(h,e.fromStream,u?"utf8":"binary")}catch(e){throw X.wrapError("Error signing message",e)}}async function sl({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:a=new Date,config:s,...o}){if(pl(s={...ie,...s}),ll(e),t=fl(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof Zu&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof Zu&&i)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=i?await e.verifyDetached(i,t,a,s):await e.verify(t,a,s),o.data="binary"===n?e.getLiteralData():e.getText(),e.fromStream&&ml(o,e),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=U([o.data,q((async()=>{await X.anyPromise(o.signatures.map((e=>e.verified)))}))])}return o.data=await gl(o.data,e.fromStream,n),o}catch(e){throw X.wrapError("Error verifying signed message",e)}}async function ol({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(pl(n={...ie,...n}),e=fl(e),r=fl(r),i.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const a=Object.keys(i);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await ju.generateSessionKey(e,t,r,n)}catch(e){throw X.wrapError("Error generating session key",e)}}async function cl({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:n,passwords:i,format:a="armored",wildcard:s=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:h=[],config:u,...l}){if(pl(u={...ie,...u}),function(e,t){if(!X.isUint8Array(e))throw Error("Parameter ["+(t||"data")+"] must be of type Uint8Array")}(e),function(e,t){if(!X.isString(e))throw Error("Parameter ["+(t||"data")+"] must be of type String")}(t,"algorithm"),yl(a),n=fl(n),i=fl(i),o=fl(o),h=fl(h),l.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const y=Object.keys(l);if(y.length>0)throw Error("Unknown option: "+y.join(", "));if(!(n&&0!==n.length||i&&0!==i.length))throw Error("No encryption keys or passwords provided.");try{return wl(await ju.encryptSessionKey(e,t,r,n,i,s,o,c,h,u),a,u)}catch(e){throw X.wrapError("Error encrypting session key",e)}}async function hl({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...a}){if(pl(i={...ie,...i}),ul(e),t=fl(t),r=fl(r),a.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const s=Object.keys(a);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await e.decryptSessionKeys(t,r,n,i)}catch(e){throw X.wrapError("Error decrypting session keys",e)}}function ul(e){if(!(e instanceof ju))throw Error("Parameter [message] needs to be of type Message")}function ll(e){if(!(e instanceof Zu||e instanceof ju))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function yl(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const dl=Object.keys(ie).length;function pl(e){const t=Object.keys(e);if(t.length!==dl)for(const e of t)if(void 0===ie[e])throw Error("Unknown config property: "+e)}function fl(e){return e&&!X.isArray(e)&&(e=[e]),e}async function gl(e,t,r="utf8"){const n=X.isStream(e);return"array"===n?H(e):"node"===t?(e=g(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===n?v(e):e}function ml(e,t){e.data=R(t.packets.stream,(async(t,r)=>{await I(e.data,r,{preventClose:!0});const n=C(r);try{await H(t,(e=>e)),await n.close()}catch(e){await n.abort(e)}}))}function wl(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}export{qh as AEADEncryptedDataPacket,Pa as Argon2OutOfMemoryError,Ia as Argon2S2K,Zu as CleartextMessage,Th as CompressedDataPacket,ga as KDFParams,Eh as LiteralDataPacket,Yh as MarkerPacket,ju as Message,Uh as OnePassSignaturePacket,Ch as PacketList,Iu as PrivateKey,Cu as PublicKey,Gh as PublicKeyEncryptedSessionKeyPacket,$h as PublicKeyPacket,Qh as PublicSubkeyPacket,eu as SecretKeyPacket,iu as SecretSubkeyPacket,ou as Signature,xh as SignaturePacket,Ku as Subkey,Hh as SymEncryptedIntegrityProtectedDataPacket,Wh as SymEncryptedSessionKeyPacket,Xh as SymmetricallyEncryptedDataPacket,au as TrustPacket,gi as UnparseablePacket,Jh as UserAttributePacket,nu as UserIDPacket,Mt as _,tt as a,de as armor,At as b,rt as c,ie as config,Yu as createCleartextMessage,Wu as createMessage,gt as d,il as decrypt,tl as decryptKey,hl as decryptSessionKeys,zt as e,nl as encrypt,rl as encryptKey,cl as encryptSessionKey,$ as enums,yr as f,Qt as g,Qu as generateKey,ol as generateSessionKey,it as i,Je as m,xr as r,Xu as readCleartextMessage,Ru as readKey,Lu as readKeys,Vu as readMessage,Mu as readPrivateKey,Nu as readPrivateKeys,cu as readSignature,Ju as reformatKey,el as revokeKey,al as sign,dt as u,ye as unarmor,sl as verify};
3
3
  //# sourceMappingURL=openpgp.min.mjs.map