@protontech/openpgp 5.9.1-1 → 5.10.2

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.9.1-1 - 2023-09-06 - 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)||this._cancelling){this._reading=!1;break}}}catch(e){this.emit("error",e)}}_destroy(e){this._reader.cancel(e)}}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=()=>{})}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=>H(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 j(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 N(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 L(e,t[0]),t[1]}return F(e)}function O(e){return s(e)?N(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)}}));L(e,r)}}):F(e)}function L(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 j(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 j(e,t=U){return s(e)?e.readToEnd(t):u(e)?D(e).readToEnd(t):e}async function H(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=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),$={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=$.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return $.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=$.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 $.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)+$.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(!$.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(!$.isUint8Array(e)||!$.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 $.writeNumber(t,2)},printDebug:function(e){W&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){W&&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(!$.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=$.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]?$.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}},Z=$.getNodeBuffer();let Q,Y;function X(e){let t=new Uint8Array;return z(e,(e=>{t=$.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 J(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=Y(t.substr(0,i));return t=t.substr(i),a}),(()=>Y(t)))}function ee(e){return J(e.replace(/-/g,"+").replace(/_/g,"/"))}function te(e,t){let r=X(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}Z?(Q=e=>Z.from(e).toString("base64"),Y=e=>{const t=Z.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(Q=e=>btoa($.uint8ArrayToString(e)),Y=e=>$.stringToUint8Array(atob(e)));const re=Symbol("byValue");var ne={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",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",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,eddsa:22,aedh:23,aedsa:24,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[re]||(e[re]=[],Object.entries(e).forEach((([t,r])=>{e[re][r]=t}))),void 0!==e[re][t])return e[re][t];throw Error("Invalid enum value.")}},ie={preferredHashAlgorithm:ne.hash.sha256,preferredSymmetricAlgorithm:ne.symmetric.aes256,preferredCompressionAlgorithm:ne.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ne.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:ne.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([ne.symmetric.aes128,ne.symmetric.aes192,ne.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.9.1-1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ne.hash.md5,ne.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ne.hash.md5,ne.hash.ripemd,ne.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ne.publicKey.elgamal,ne.publicKey.dsa]),rejectCurves:new Set([ne.curve.secp256k1])};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])?ne.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?ne.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?ne.armor.signed:/MESSAGE/.test(t[1])?ne.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?ne.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?ne.armor.privateKey:/SIGNATURE/.test(t[1])?ne.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 X(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])||$.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||$.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=J(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=$.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=$.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=j(oe(O(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 j(e.data)),e)))}function de(e,t,r,n,i,a=ie){let s,o;e===ne.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=O(t),h=[];switch(e){case ne.armor.multipartSection:h.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case ne.armor.multipartLast:h.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case ne.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(X(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n");break;case ne.armor.message:h.push("-----BEGIN PGP MESSAGE-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP MESSAGE-----\n");break;case ne.armor.publicKey:h.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ne.armor.privateKey:h.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ne.armor.signature:h.push("-----BEGIN PGP SIGNATURE-----\n"),h.push(se(i,a)),h.push(X(t)),h.push("=",oe(c)),h.push("-----END PGP SIGNATURE-----\n")}return $.concat(h)}class pe{constructor(){this.bytes=""}read(e){this.bytes=$.uint8ArrayToString(e.subarray(0,8))}write(){return $.stringToUint8Array(this.bytes)}toHex(){return $.uint8ArrayToHex($.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($.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 N(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 O(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 L(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 j(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 H(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:N,set_nonce:O,set_mask:L,set_counter:F,get_state:j,get_iv:H,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 Ne(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 Oe(){}function Le(e){this.bf=new Oe,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Ne.keySize=Ne.prototype.keySize=32,Ne.blockSize=Ne.prototype.blockSize=16,Oe.prototype.BLOCKSIZE=8,Oe.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]],Oe.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Oe.prototype.NN=16,Oe.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Oe.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},Oe.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)},Oe.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},Oe.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)},Oe.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]},Le.keySize=Le.prototype.keySize=16,Le.blockSize=Le.prototype.blockSize=8;const Fe=xe(128),je=xe(192),He=xe(256);var qe=/*#__PURE__*/Object.freeze({__proto__:null,aes128:Fe,aes192:je,aes256:He,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:Ne,blowfish:Le,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,N=0,O=0,L=0,F=0,j=0,H=0,q=0,G=0,V=0,W=0,$=0,Z=0,Q=0,Y=0,X=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;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=R^C^w^g;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=M^I^b^m;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=N^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=O^B^P^b;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=L^z^U^k;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=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=j^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=H^N^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^O^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^L^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^j^R^B;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^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^N^R;X=K<<1|K>>>31;x=X+(v<<5|v>>>27)+S+(A&_|A&E|_&E)-0x70e44324|0;S=E;E=_;_=A<<30|A>>>2;A=v;v=x;K=Q^G^O^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^L^N;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=X^W^F^O;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^$^j^L;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^H^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^Q^q^j;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^H;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^X^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^Q^$;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^X^Q;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^X;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 Qe=[],Ye=[];class Xe 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=Qe.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 N(){n=v;i=A;a=_;s=E;o=S;c=K;h=x;u=P;l=64;y=0}function O(e,t,r,U,C,I,B,z,R,M,N,O,L,F,j,H){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;N=N|0;O=O|0;L=L|0;F=F|0;j=j|0;H=H|0;T();D(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,U^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,z^0x5c5c5c5c,R^0x5c5c5c5c,M^0x5c5c5c5c,N^0x5c5c5c5c,O^0x5c5c5c5c,L^0x5c5c5c5c,F^0x5c5c5c5c,j^0x5c5c5c5c,H^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,N^0x36363636,O^0x36363636,L^0x36363636,F^0x36363636,j^0x36363636,H^0x36363636);d=n;p=i;f=a;g=s;m=o;w=c;b=h;k=u;l=64;y=0}function L(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;N();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;L(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;N();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:O,hmac_finish:L,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&&(Qe.push(this.heap),Ye.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new Xe).process(e).finish().result}}Xe.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 Nt=dt.rotr64_hi,Ot=dt.rotr64_lo,Lt=dt.shr64_hi,Ft=dt.shr64_lo,jt=dt.sum64,Ht=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,Qt=[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=Qt,this.W=Array(160)}dt.inherits(Yt,Zt);var Xt=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=Nt(e,t,28)^Nt(t,e,2)^Nt(t,e,7);return r<0&&(r+=4294967296),r}function ir(e,t){var r=Ot(e,t,28)^Ot(t,e,2)^Ot(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Nt(e,t,14)^Nt(e,t,18)^Nt(t,e,9);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Ot(e,t,14)^Ot(e,t,18)^Ot(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Nt(e,t,1)^Nt(e,t,8)^Lt(e,t,7);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Ot(e,t,1)^Ot(e,t,8)^Ft(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Nt(e,t,19)^Nt(t,e,29)^Lt(e,t,6);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Ot(e,t,19)^Ot(t,e,29)^Ft(e,t,6);return r<0&&(r+=4294967296),r}function lr(){if(!(this instanceof lr))return new lr;Xt.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=Ht(k,v,A,_),T=qt(k,v,A,_);m=f,w=g,f=d,g=p,d=l,p=y,l=Ht(h,u,D,C),y=qt(u,u,D,C),h=o,u=c,o=a,c=s,a=n,s=i,n=Ht(D,C,I,T),i=qt(D,C,I,T)}jt(this.h,0,n,i),jt(this.h,2,a,s),jt(this.h,4,o,c),jt(this.h,6,h,u),jt(this.h,8,l,y),jt(this.h,10,d,p),jt(this.h,12,f,g),jt(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,Xt);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 Nr=$.getWebCrypto(),Or=$.getNodeCrypto(),Lr=Or&&Or.getHashes();function Fr(e){if(Or&&Lr.includes(e))return async function(t){const r=Or.createHash(e);return z(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function jr(e,t){return async function(r,n=ie){if(s(r)&&(r=await j(r)),!$.isStream(r)&&Nr&&t&&r.length>=n.minBytesForWebCrypto)return new Uint8Array(await Nr.digest(t,r));const i=e();return z(r,(e=>{i.update(e)}),(()=>new Uint8Array(i.digest())))}}function Hr(e,t){return async function(r,n=ie){if(s(r)&&(r=await j(r)),$.isStream(r)){const t=new e;return z(r,(e=>{t.process(e)}),(()=>t.finish().result))}return Nr&&t&&r.length>=n.minBytesForWebCrypto?new Uint8Array(await Nr.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}($.uint8ArrayToString(e));return $.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=Rr(e[t]);return e.join("")}(t))},sha1:Fr("sha1")||Hr(Ze,"SHA-1"),sha224:Fr("sha224")||jr(Mt),sha256:Fr("sha256")||Hr(Xe,"SHA-256"),sha384:Fr("sha384")||jr(yr,"SHA-384"),sha512:Fr("sha512")||jr(Xt,"SHA-512"),ripemd:Fr("ripemd160")||jr(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 ne.hash.md5:return this.md5(t);case ne.hash.sha1:return this.sha1(t);case ne.hash.ripemd:return this.ripemd(t);case ne.hash.sha256:return this.sha256(t);case ne.hash.sha384:return this.sha384(t);case ne.hash.sha512:return this.sha512(t);case ne.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case ne.hash.md5:return 16;case ne.hash.sha1:case ne.hash.ripemd:return 20;case ne.hash.sha256:return 32;case ne.hash.sha384:return 48;case ne.hash.sha512:return 64;case ne.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case ne.hash.md5:case ne.hash.sha1:case ne.hash.ripemd:case ne.hash.sha224:case ne.hash.sha256:return 64;case ne.hash.sha384:case ne.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=ne.read(ne.symmetric,e);return qe[t]}const $r=$.getWebCrypto(),Zr=$.getNodeCrypto(),Qr=Zr?Zr.getCiphers():[],Yr={idea:Qr.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Qr.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Qr.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Qr.includes("bf-cfb")?"bf-cfb":void 0,aes128:Qr.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Qr.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Qr.includes("aes-256-cfb")?"aes-256-cfb":void 0};var Xr=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,n,i){const a=ne.read(ne.symmetric,e);if($.getNodeCrypto()&&Yr[a])return function(e,t,r,n){const i=ne.read(ne.symmetric,e),a=new Zr.createCipheriv(Yr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if("aes"===a.substr(0,3))return function(e,t,r,n,i){if($.getWebCrypto()&&24!==t.length&&!$.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=$.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=$.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=ne.read(ne.symmetric,e);if($.getNodeCrypto()&&Yr[i])return function(e,t,r,n){const i=ne.read(ne.symmetric,e),a=new Zr.createDecipheriv(Yr[i],t,n);return z(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,n);if("aes"===i.substr(0,3))return function(e,t,r,n){if($.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=$.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,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=$.getWebCrypto(),rn=$.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($.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($.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=$.double(await t(sn)),n=$.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=$.getWebCrypto(),hn=$.getNodeCrypto(),un=$.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($.concatUint8Array([e,r]))}}async function wn(e){return $.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)}):$.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!==ne.symmetric.aes128&&e!==ne.symmetric.aes192&&e!==ne.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 $.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(!$.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=$.nbits(Math.max(e.length,t.length)/kn|0)-1;for(let e=a+1;e<=r;e++)i[e]=$.double(i[e-1]);a=r}(t,s);const c=$.concatUint8Array([Kn.subarray(0,vn-n.length),xn,n]),h=63&c[kn-1];c[kn-1]&=192;const u=r(c),l=$.concatUint8Array([u,Sn(u.subarray(0,8),u.subarray(1,9))]),y=$.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=ne.read(ne.symmetric,e),s=new qe[a](t);r=s.encrypt.bind(s),n=s.decrypt.bind(s);const o=r(Kn),c=$.double(o);i=[],i[0]=$.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($.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=$.getWebCrypto(),In=$.getNodeCrypto(),Tn=$.getNodeBuffer(),Bn=16,zn="AES-GCM";async function Rn(e,t){if(e!==ne.symmetric.aes128&&e!==ne.symmetric.aes192&&e!==ne.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if($.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 $.getNodeCrypto()?{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)}}:{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:Xr,gcm:Rn,experimentalGCM:Rn,eax:bn,ocb:Pn},Nn=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],N=r[2],O=r[3],L=r[4],F=r[5],j=r[6],H=r[7],q=r[8],G=r[9],V=r[10],W=r[11],$=r[12],Z=r[13],Q=r[14],Y=r[15];a+=(n=t[0])*R,s+=n*M,o+=n*N,c+=n*O,h+=n*L,u+=n*F,l+=n*j,y+=n*H,d+=n*q,p+=n*G,f+=n*V,g+=n*W,m+=n*$,w+=n*Z,b+=n*Q,k+=n*Y,s+=(n=t[1])*R,o+=n*M,c+=n*N,h+=n*O,u+=n*L,l+=n*F,y+=n*j,d+=n*H,p+=n*q,f+=n*G,g+=n*V,m+=n*W,w+=n*$,b+=n*Z,k+=n*Q,v+=n*Y,o+=(n=t[2])*R,c+=n*M,h+=n*N,u+=n*O,l+=n*L,y+=n*F,d+=n*j,p+=n*H,f+=n*q,g+=n*G,m+=n*V,w+=n*W,b+=n*$,k+=n*Z,v+=n*Q,A+=n*Y,c+=(n=t[3])*R,h+=n*M,u+=n*N,l+=n*O,y+=n*L,d+=n*F,p+=n*j,f+=n*H,g+=n*q,m+=n*G,w+=n*V,b+=n*W,k+=n*$,v+=n*Z,A+=n*Q,_+=n*Y,h+=(n=t[4])*R,u+=n*M,l+=n*N,y+=n*O,d+=n*L,p+=n*F,f+=n*j,g+=n*H,m+=n*q,w+=n*G,b+=n*V,k+=n*W,v+=n*$,A+=n*Z,_+=n*Q,E+=n*Y,u+=(n=t[5])*R,l+=n*M,y+=n*N,d+=n*O,p+=n*L,f+=n*F,g+=n*j,m+=n*H,w+=n*q,b+=n*G,k+=n*V,v+=n*W,A+=n*$,_+=n*Z,E+=n*Q,S+=n*Y,l+=(n=t[6])*R,y+=n*M,d+=n*N,p+=n*O,f+=n*L,g+=n*F,m+=n*j,w+=n*H,b+=n*q,k+=n*G,v+=n*V,A+=n*W,_+=n*$,E+=n*Z,S+=n*Q,K+=n*Y,y+=(n=t[7])*R,d+=n*M,p+=n*N,f+=n*O,g+=n*L,m+=n*F,w+=n*j,b+=n*H,k+=n*q,v+=n*G,A+=n*V,_+=n*W,E+=n*$,S+=n*Z,K+=n*Q,x+=n*Y,d+=(n=t[8])*R,p+=n*M,f+=n*N,g+=n*O,m+=n*L,w+=n*F,b+=n*j,k+=n*H,v+=n*q,A+=n*G,_+=n*V,E+=n*W,S+=n*$,K+=n*Z,x+=n*Q,P+=n*Y,p+=(n=t[9])*R,f+=n*M,g+=n*N,m+=n*O,w+=n*L,b+=n*F,k+=n*j,v+=n*H,A+=n*q,_+=n*G,E+=n*V,S+=n*W,K+=n*$,x+=n*Z,P+=n*Q,U+=n*Y,f+=(n=t[10])*R,g+=n*M,m+=n*N,w+=n*O,b+=n*L,k+=n*F,v+=n*j,A+=n*H,_+=n*q,E+=n*G,S+=n*V,K+=n*W,x+=n*$,P+=n*Z,U+=n*Q,D+=n*Y,g+=(n=t[11])*R,m+=n*M,w+=n*N,b+=n*O,k+=n*L,v+=n*F,A+=n*j,_+=n*H,E+=n*q,S+=n*G,K+=n*V,x+=n*W,P+=n*$,U+=n*Z,D+=n*Q,C+=n*Y,m+=(n=t[12])*R,w+=n*M,b+=n*N,k+=n*O,v+=n*L,A+=n*F,_+=n*j,E+=n*H,S+=n*q,K+=n*G,x+=n*V,P+=n*W,U+=n*$,D+=n*Z,C+=n*Q,I+=n*Y,w+=(n=t[13])*R,b+=n*M,k+=n*N,v+=n*O,A+=n*L,_+=n*F,E+=n*j,S+=n*H,K+=n*q,x+=n*G,P+=n*V,U+=n*W,D+=n*$,C+=n*Z,I+=n*Q,T+=n*Y,b+=(n=t[14])*R,k+=n*M,v+=n*N,A+=n*O,_+=n*L,E+=n*F,S+=n*j,K+=n*H,x+=n*q,P+=n*G,U+=n*V,D+=n*W,C+=n*$,I+=n*Z,T+=n*Q,B+=n*Y,k+=(n=t[15])*R,s+=38*(A+=n*N),o+=38*(_+=n*O),c+=38*(E+=n*L),h+=38*(S+=n*F),u+=38*(K+=n*j),l+=38*(x+=n*H),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*Q),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 N(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function O(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(N(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(N(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(N(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(N(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(N(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(N(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];O(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];O(i)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const On=$.getNodeCrypto();function Ln(e){const t=new Uint8Array(e);if("undefined"!=typeof crypto&&crypto.getRandomValues)crypto.getRandomValues(t);else{if(!On)throw Error("No secure random number generator available.");{const e=On.randomBytes(t.length);t.set(e)}}return t}async function Fn(e,t){const r=await $.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const n=t.sub(e),i=n.byteLength();return new r(await Ln(i+8)).mod(n).add(e)}var jn=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:Ln,getRandomBigInteger:Fn});async function Hn(e,t,r){const n=await $.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 $.getBigInteger();return Gn.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await $.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const n=await $.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=Ln(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 $.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 Qn=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:Wn,emeDecode:$n,emsaEncode:Zn});const Yn=$.getWebCrypto(),Xn=$.getNodeCrypto(),Jn=void 0,ei=Xn?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=Xn?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&&!$.isStream(t))if($.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 $.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:te(e,!0),e:te(t,!0),d:te(r,!0),p:te(i,!0),q:te(n,!0),dp:te(u,!0),dq:te(l,!0),qi:te(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))}(ne.read(ne.webHash,e),t,r,n,i,a,s,o)}catch(e){$.printDebugError(e)}else if($.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=Xn.createSign(ne.read(ne.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!==Xn.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 $.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&&!$.isStream(t))if($.getWebCrypto())try{return await async function(e,t,r,n,i){const a=function(e,t){return{kty:"RSA",n:te(e,!0),e:te(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)}(ne.read(ne.webHash,e),t,r,n,i)}catch(e){$.printDebugError(e)}else if($.getNodeCrypto())return async function(e,t,r,n,i){const{default:a}=await import("./bn.min.mjs"),s=Xn.createVerify(ne.read(ne.hash,e));s.write(t),s.end();const o={modulus:new a(n),publicExponent:new a(i)};let c;if(void 0!==Xn.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 $.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 $.equalsUint8Array(s,o)}(e,r,n,i,a)},encrypt:async function(e,t,r){return $.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!==Xn.createPrivateKey){a={key:ti.encode(i,"der"),format:"der",type:"pkcs1",padding:Xn.constants.RSA_PKCS1_PADDING}}else{a={key:ti.encode(i,"pem",{label:"RSA PUBLIC KEY"}),padding:Xn.constants.RSA_PKCS1_PADDING}}return new Uint8Array(Xn.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const n=await $.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){return $.getNodeCrypto()?async function(e,t,r,n,i,a,s,o){const{default:c}=await import("./bn.min.mjs"),h=new c(i),u=new c(a),l=new c(n),y=l.mod(u.subn(1)),d=l.mod(h.subn(1)),p={version:0,modulus:new c(t),publicExponent:new c(r),privateExponent:new c(n),prime1:new c(a),prime2:new c(i),exponent1:y,exponent2:d,coefficient:new c(s)};let f;if(void 0!==Xn.createPrivateKey){f={key:ei.encode(p,"der"),format:"der",type:"pkcs1",padding:Xn.constants.RSA_PKCS1_PADDING}}else{f={key:ei.encode(p,"pem",{label:"RSA PRIVATE KEY"}),padding:Xn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Xn.privateDecrypt(f,e))}catch(e){if(o)return o;throw Error("Decryption error")}}(e,t,r,n,i,a,s,o):async function(e,t,r,n,i,a,s,o){const c=await $.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 $.getBigInteger())(t),$.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:ee(i.n),e:t.toUint8Array(),d:ee(i.d),p:ee(i.q),q:ee(i.p),u:ee(i.qi)}}if($.getNodeCrypto()&&Xn.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)=>{Xn.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 Hn(e-(e>>1),t,40),r=await Hn(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 $.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 $.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 $.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 $.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($.isArray(e)||$.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 $.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return $.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if(ne.curve[e])return ne.write(ne.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=$.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]):$.concatUint8Array([new Uint8Array([255]),$.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 $.concatUint8Array([li(e),hi(t)])}function di(e){return[ne.packet.literalData,ne.packet.compressedData,ne.packet.symmetricallyEncryptedData,ne.packet.symEncryptedIntegrityProtectedData,ne.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"===$.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=$.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=$.getWebCrypto(),wi=$.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:ne.publicKey.ecdsa,hash:ne.hash.sha256,cipher:ne.symmetric.aes128,node:vi.p256,web:bi.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha384,cipher:ne.symmetric.aes192,node:vi.p384,web:bi.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha512,cipher:ne.symmetric.aes256,node:vi.p521,web:bi.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha256,cipher:ne.symmetric.aes128,node:vi.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ne.publicKey.eddsa,hash:ne.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ne.publicKey.ecdh,hash:ne.hash.sha256,cipher:ne.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha256,cipher:ne.symmetric.aes128,node:vi.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha384,cipher:ne.symmetric.aes192,node:vi.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ne.publicKey.ecdsa,hash:ne.hash.sha512,cipher:ne.symmetric.aes256,node:vi.brainpoolP512r1,payloadSize:64}};class _i{constructor(e,t){try{($.isArray(e)||$.isUint8Array(e))&&(e=new ii(e)),e instanceof ii&&(e=e.getName()),this.name=ne.write(ne.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&&$.getWebCrypto()?this.type="web":this.node&&$.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:ee(r.d)}}(this.name)}catch(e){$.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=Ln(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=Nn.box.keyPair.fromSecretKey(r);return{publicKey:$.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=Ln(32),t=Nn.sign.keyPair.fromSeed(e);return{publicKey:$.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await oi(this.name);return e=await t.genKeyPair({entropy:$.uint8ArrayToString(Ln(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===ne.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}=Nn.box.keyPair.fromSecretKey(n);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!$.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=ee(e.x),r=ee(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:te(i,!0),y:te(a,!0),ext:!0}}function xi(e,t,r,n){const i=Ki(e,t,r);return i.d=te(n,!0),i}const Pi=$.getWebCrypto(),Ui=$.getNodeCrypto();async function Di(e,t,r,n,i,a){const s=new _i(e);if(r&&!$.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:ne.read(ne.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Pi.sign({name:"ECDSA",namedCurve:bi[e.name],hash:{name:ne.read(ne.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;$.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const n=await async function(e,t,r,n){const i=Ui.createSign(ne.read(ne.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&&!$.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:ne.read(ne.webHash,e.hash)}},!1,["verify"]),c=$.concatUint8Array([r,n]).buffer;return Pi.verify({name:"ECDSA",namedCurve:bi[e.name],hash:{name:ne.read(ne.webHash,t)}},o,c,i)}(s,t,r,n,i)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;$.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(ne.read(ne.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!==ne.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=Ln(8),i=ne.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(ne.publicKey.ecdsa,e,t,r)}}});Nn.hash=e=>new Uint8Array(Xt().update(e).digest());var Ni=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){if(Gr.getHashByteLength(t)<Gr.getHashByteLength(ne.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");const s=$.concatUint8Array([i,n.subarray(1)]),o=Nn.sign.detached(a,s);return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:n},i,a,s){const o=$.concatUint8Array([r,n]);return Nn.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:n}=Nn.sign.keyPair.fromSeed(r),i=new Uint8Array([64,...n]);return $.equalsUint8Array(t,i)}});function Oi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=Fi(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=Fi(r.encrypt(ji(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 ji(a,s)}function Li(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=Fi(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=Fi(r.decrypt(ji(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 ji(s);throw Error("Key Data Integrity failed")}function Fi(e){const{length:t}=e,r=function(e){if($.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 ji(){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 Hi=/*#__PURE__*/Object.freeze({__proto__:null,wrap:Oi,unwrap:Li});function qi(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Gi(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($.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var Vi=/*#__PURE__*/Object.freeze({__proto__:null,encode:qi,decode:Gi});const Wi=$.getWebCrypto(),$i=$.getNodeCrypto();function Zi(e,t,r,n){return $.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),$.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,$.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function Yi(e,t){switch(e.type){case"curve25519":{const r=Ln(32),{secretKey:n,sharedKey:i}=await Xi(e,t,null,r);let{publicKey:a}=Nn.box.keyPair.fromSecretKey(n);return a=$.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:i}}case"web":if(e.web&&$.getWebCrypto())try{return await async function(e,t){const r=Ki(e.payloadSize,e.web.web,t);let n=Wi.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),i=Wi.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[n,i]=await Promise.all([n,i]);let a=Wi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:i},n.privateKey,e.web.sharedSize),s=Wi.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){$.printDebugError(e)}break;case"node":return async function(e,t){const r=$i.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 Xi(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:Nn.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&$.getWebCrypto())try{return await async function(e,t,r,n){const i=xi(e.payloadSize,e.web.web,r,n);let a=Wi.importKey("jwk",i,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=Ki(e.payloadSize,e.web.web,t);let o=Wi.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=Wi.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),h=Wi.exportKey("jwk",a);[c,h]=await Promise.all([c,h]);const u=new Uint8Array(c);return{secretKey:ee(h.d),sharedKey:u}}(e,t,r,n)}catch(e){$.printDebugError(e)}break;case"node":return async function(e,t,r){const n=$i.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 Ji=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Ei(ne.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,n,i){const a=qi(r),s=new _i(e),{publicKey:o,sharedKey:c}=await Yi(s,n),h=Zi(ne.publicKey.ecdh,e,t,i),{keySize:u}=Wr(t.cipher);return{publicKey:o,wrappedKey:Oi(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 Xi(o,r,i,a),h=Zi(ne.publicKey.ecdh,e,t,s),{keySize:u}=Wr(t.cipher);let l;for(let e=0;e<3;e++)try{return Gi(Li(await Qi(t.hash,c,u,h,1===e,2===e),n))}catch(e){l=e}throw l}}),ea=/*#__PURE__*/Object.freeze({__proto__:null,Curve:_i,ecdh:Ji,ecdsa:Mi,eddsa:Ni,generate:async function(e){const t=await $.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[ne.write(ne.curve,e.toHex())].hash}});var ta=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,n,i,a){const s=await $.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 $.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 $.printDebug("invalid DSA Signature"),!1;const u=new c(n.subarray(0,s.byteLength())).imod(s),l=r.modInv(s);if(l.isZero())return $.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 $.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))}}),ra={rsa:ri,elgamal:ni,elliptic:ea,dsa:ta,nacl:Nn};function na(e,t,r){switch(e){case ne.hash.sha1:case ne.hash.sha256:case ne.hash.sha512:return async function(e,t,r){const n=Gr.getBlockSize(e),i=new Uint8Array(n);i.fill(92),ia(i,t);const a=new Uint8Array(n);a.fill(54),ia(a,t);const s=$.concatUint8Array([a,r]),o=await Gr.digest(e,s),c=$.concatUint8Array([i,o]);return Gr.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function ia(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class aa{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!$.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return $.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 sa=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaEncrypt:case ne.publicKey.rsaSign:return{s:$.readMPI(t.subarray(r))};case ne.publicKey.dsa:case ne.publicKey.ecdsa:{const e=$.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:$.readMPI(t.subarray(r))}}case ne.publicKey.eddsa:{let e=$.readMPI(t.subarray(r));r+=e.length+2,e=$.leftPad(e,32);let n=$.readMPI(t.subarray(r));return n=$.leftPad(n,32),{r:e,s:n}}case ne.publicKey.hmac:{const e=new aa;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 ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaEncrypt:case ne.publicKey.rsaSign:{const{n:e,e:i}=n,o=$.leftPad(r.s,e.length);return ra.rsa.verify(t,a,o,e,i,s)}case ne.publicKey.dsa:{const{g:e,p:i,q:a,y:o}=n,{r:c,s:h}=r;return ra.dsa.verify(t,c,h,s,e,i,a,o)}case ne.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new ra.elliptic.Curve(e).payloadSize,c=$.leftPad(r.r,o),h=$.leftPad(r.s,o);return ra.elliptic.ecdsa.verify(e,t,{r:c,s:h},a,i,s)}case ne.publicKey.eddsa:{const{oid:e,Q:i}=n;return ra.elliptic.eddsa.verify(e,t,r,a,i,s)}case ne.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 na(e.getValue(),t,s);return $.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 ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaEncrypt:case ne.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:h,u}=n;return{s:await ra.rsa.sign(t,i,e,s,o,c,h,u,a)}}case ne.publicKey.dsa:{const{g:e,p:i,q:s}=r,{x:o}=n;return ra.dsa.sign(t,a,e,i,s,o)}case ne.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ne.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=n;return ra.elliptic.ecdsa.sign(e,t,i,s,o,a)}case ne.publicKey.eddsa:{const{oid:e,Q:s}=r,{seed:o}=n;return ra.elliptic.eddsa.sign(e,t,i,s,o,a)}case ne.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await na(e.getValue(),t,a);return{mac:new aa(i)}}default:throw Error("Unknown signature algorithm.")}}});class oa{constructor(e){e=void 0===e?new Uint8Array([]):$.isString(e)?$.stringToUint8Array(e):new Uint8Array(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 $.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ca{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){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 $.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const ha=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=ne.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return ne.read(e,this.data)}getValue(){return this.data}},ua=ha(ne.aead),la=ha(ne.symmetric),ya=ha(ne.hash);async function da(e,t){const r=Ln(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function pa(e){const{keySize:t}=Wr(e);return Ln(t)}function fa(e){const t=ne.read(ne.aead,e);return Mn[t]}function ga(e){try{e.getName()}catch(e){throw new fi("Unknown curve OID")}}var ma=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,n,i){switch(e){case ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:{const{n:e,e:r}=t;return{c:await ra.rsa.encrypt(n,e,r)}}case ne.publicKey.elgamal:{const{p:e,g:r,y:i}=t;return ra.elgamal.encrypt(n,e,r,i)}case ne.publicKey.ecdh:{const{oid:e,Q:r,kdfParams:a}=t,{publicKey:s,wrappedKey:o}=await ra.elliptic.ecdh.encrypt(e,a,n,r,i);return{V:s,C:new oa(o)}}case ne.publicKey.aead:{if(!r)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=t,i=e.getValue(),{keyMaterial:a}=r,s=ie.preferredAEADAlgorithm,o=fa(ie.preferredAEADAlgorithm),{ivLength:c}=o,h=Ln(c),u=await o(i,a),l=await u.encrypt(n,h,new Uint8Array);return{aeadMode:new ua(s),iv:h,c:new aa(l)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,n,i,a){switch(e){case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:s}=t,{d:o,p:c,q:h,u}=r;return ra.rsa.decrypt(e,i,s,o,c,h,u,a)}case ne.publicKey.elgamal:{const{c1:e,c2:i}=n,s=t.p,o=r.x;return ra.elgamal.decrypt(e,i,s,o,a)}case ne.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:h}=n;return ra.elliptic.ecdh.decrypt(e,s,c,h.data,a,o,i)}case ne.publicKey.aead:{const{cipher:e}=t,i=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=n,h=fa(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 ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaSign:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const n=$.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case ne.publicKey.dsa:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const n=$.readMPI(t.subarray(r));r+=n.length+2;const i=$.readMPI(t.subarray(r));r+=i.length+2;const a=$.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:a}}}case ne.publicKey.elgamal:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const n=$.readMPI(t.subarray(r));r+=n.length+2;const i=$.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case ne.publicKey.ecdsa:{const e=new ii;r+=e.read(t),ga(e);const n=$.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case ne.publicKey.eddsa:{const e=new ii;r+=e.read(t),ga(e);let n=$.readMPI(t.subarray(r));return r+=n.length+2,n=$.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case ne.publicKey.ecdh:{const e=new ii;r+=e.read(t),ga(e);const n=$.readMPI(t.subarray(r));r+=n.length+2;const i=new ca;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case ne.publicKey.hmac:case ne.publicKey.aead:{const e=new la;r+=e.read(t);const n=Gr.getHashByteLength(ne.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 ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaSign:{const e=$.readMPI(t.subarray(n));n+=e.length+2;const r=$.readMPI(t.subarray(n));n+=r.length+2;const i=$.readMPI(t.subarray(n));n+=i.length+2;const a=$.readMPI(t.subarray(n));return n+=a.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:a}}}case ne.publicKey.dsa:case ne.publicKey.elgamal:{const e=$.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case ne.publicKey.ecdsa:case ne.publicKey.ecdh:{const e=new _i(r.oid);let i=$.readMPI(t.subarray(n));return n+=i.length+2,i=$.leftPad(i,e.payloadSize),{read:n,privateParams:{d:i}}}case ne.publicKey.eddsa:{const e=new _i(r.oid);let i=$.readMPI(t.subarray(n));return n+=i.length+2,i=$.leftPad(i,e.payloadSize),{read:n,privateParams:{seed:i}}}case ne.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 ne.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 ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:return{c:$.readMPI(t.subarray(r))};case ne.publicKey.elgamal:{const e=$.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:$.readMPI(t.subarray(r))}}case ne.publicKey.ecdh:{const e=$.readMPI(t.subarray(r));r+=e.length+2;const n=new oa;return n.read(t.subarray(r)),{V:e,C:n}}case ne.publicKey.aead:{const e=new ua;r+=e.read(t.subarray(r));const{ivLength:n}=fa(e.getValue()),i=t.subarray(r,r+n);r+=n;const a=new aa;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){let r;switch(e){case ne.publicKey.hmac:case ne.publicKey.aead:r=Object.keys(t).map((e=>{const r=t[e];return $.isUint8Array(r)?r:r.write()}));break;default:r=Object.keys(t).map((e=>{const r=t[e];return $.isUint8Array(r)?$.uint8ArrayToMPI(r):r.write()}))}return $.concatUint8Array(r)},generateParams:function(e,t,r,n){switch(e){case ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaSign:return ra.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 ne.publicKey.ecdsa:return ra.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t}})));case ne.publicKey.eddsa:return ra.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new ii(e),Q:t}})));case ne.publicKey.ecdh:return ra.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 ca({hash:n,cipher:i})}})));case ne.publicKey.hmac:{const e=ne.write(ne.hash,n);return da(Ln(Gr.getHashByteLength(e)),new ya(e))}case ne.publicKey.aead:{const e=ne.write(ne.symmetric,n);return da(pa(e),new la(e))}case ne.publicKey.dsa:case ne.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 ne.publicKey.rsaEncrypt:case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaSign:{const{n:e,e:n}=t,{d:i,p:a,q:s,u:o}=r;return ra.rsa.validateParams(e,n,i,a,s,o)}case ne.publicKey.dsa:{const{p:e,q:n,g:i,y:a}=t,{x:s}=r;return ra.dsa.validateParams(e,n,i,a,s)}case ne.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:a}=r;return ra.elgamal.validateParams(e,n,i,a)}case ne.publicKey.ecdsa:case ne.publicKey.ecdh:{const n=ra.elliptic[ne.read(ne.publicKey,e)],{oid:i,Q:a}=t,{d:s}=r;return n.validateParams(i,a,s)}case ne.publicKey.eddsa:{const{oid:e,Q:n}=t,{seed:i}=r;return ra.elliptic.eddsa.validateParams(e,n,i)}case ne.publicKey.hmac:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r;return Gr.getHashByteLength(e.getValue())===a.length&&$.equalsUint8Array(n,await Gr.sha256(i))}case ne.publicKey.aead:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:a}=r,{keySize:s}=Wr(e.getValue());return s===a.length&&$.equalsUint8Array(n,await Gr.sha256(i))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=Wr(e),r=await Ln(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return $.concat([r,n])},generateSessionKey:pa,getAEADMode:fa,getCipher:Wr});const wa={cipher:qe,hash:Gr,mode:Mn,publicKey:ra,signature:sa,random:jn,pkcs1:Qn,pkcs5:Vi,aesKW:Hi};Object.assign(wa,ma);class ba extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ba),this.name="Argon2OutOfMemoryError"}}let ka,va;class Aa{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=wa.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([ne.write(ne.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return $.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{ka=ka||(await import("./argon2id.min.mjs")).default,va=va||ka();const n=await va,i=n({version:19,type:2,password:$.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(va=ka(),va.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 ba("Could not allocate required memory for Argon2"):e}}}class _a{constructor(e,t=ie){this.algorithm=ne.hash.sha256,this.type=ne.read(ne.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=wa.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"!==$.uint8ArrayToString(e.subarray(t,t+3)))throw Error("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw Error("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw Error("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...$.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([ne.write(ne.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 $.concatUint8Array(e)}async produceKey(e,t){e=$.encodeUTF8(e);const r=[];let n=0,i=0;for(;n<t;){let t;switch(this.type){case"simple":t=$.concatUint8Array([new Uint8Array(i),e]);break;case"salted":t=$.concatUint8Array([new Uint8Array(i),this.salt,e]);break;case"iterated":{const r=$.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 wa.hash.digest(this.algorithm,t);r.push(a),n+=a.length,i++}return $.concatUint8Array(r).subarray(0,t)}}const Ea=new Set([ne.s2k.argon2,ne.s2k.iterated]);function Sa(e,t=ie){switch(e){case ne.s2k.argon2:return new Aa(t);case ne.s2k.iterated:case ne.s2k.gnu:case ne.s2k.salted:case ne.s2k.simple:return new _a(e,t);default:throw Error("Unsupported S2K type "+e)}}function Ka(e){const{s2kType:t}=e;if(!Ea.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Sa(t,e)}var xa="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function Pa(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const Ua={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}},Da={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 Ca=xa?Uint8Array:Array,Ia=xa?Uint16Array:Array,Ta=xa?Int32Array:Array,Ba=xa?Ua.flattenChunks:Da.flattenChunks,za=xa?Ua.arraySet:Da.arraySet;const Ra=0,Ma=1,Na=2,Oa=3,La=4,Fa=5,ja=6,Ha=0,qa=1,Ga=2,Va=-2,Wa=-3,$a=-5,Za=-1,Qa=1,Ya=2,Xa=3,Ja=4,es=0,ts=1,rs=2,ns=8;function is(e){let t=e.length;for(;--t>=0;)e[t]=0}const as=0,ss=1,os=2,cs=29,hs=256,us=hs+1+cs,ls=30,ys=19,ds=2*us+1,ps=15,fs=16,gs=7,ms=256,ws=16,bs=17,ks=18,vs=[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],As=[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],_s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Es=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ss=Array(2*(us+2));is(Ss);const Ks=Array(2*ls);is(Ks);const xs=Array(512);is(xs);const Ps=Array(256);is(Ps);const Us=Array(cs);is(Us);const Ds=Array(ls);function Cs(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 Is,Ts,Bs;function zs(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Rs(e){return e<256?xs[e]:xs[256+(e>>>7)]}function Ms(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Ns(e,t,r){e.bi_valid>fs-r?(e.bi_buf|=t<<e.bi_valid&65535,Ms(e,e.bi_buf),e.bi_buf=t>>fs-e.bi_valid,e.bi_valid+=r-fs):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function Os(e,t,r){Ns(e,r[2*t],r[2*t+1])}function Ls(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Fs(e,t,r){const n=Array(ps+1);let i,a,s=0;for(i=1;i<=ps;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]=Ls(n[t]++,t))}}function js(e){let t;for(t=0;t<us;t++)e.dyn_ltree[2*t]=0;for(t=0;t<ls;t++)e.dyn_dtree[2*t]=0;for(t=0;t<ys;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*ms]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Hs(e){e.bi_valid>8?Ms(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 qs(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 Gs(e,t,r){const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&qs(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!qs(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function Vs(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?Os(e,i,t):(a=Ps[i],Os(e,a+hs+1,t),s=vs[a],0!==s&&(i-=Us[a],Ns(e,i,s)),n--,a=Rs(n),Os(e,a,r),s=As[a],0!==s&&(n-=Ds[a],Ns(e,n,s)))}while(o<e.last_lit);Os(e,ms,t)}function Ws(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=ds,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--)Gs(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Gs(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++,Gs(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<=ps;y++)e.bl_count[y]=0;for(r[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<ds;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),Fs(r,h,e.bl_count)}function $s(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*ws]++):o<=10?e.bl_tree[2*bs]++:e.bl_tree[2*ks]++,o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4))}function Zs(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{Os(e,i,e.bl_tree)}while(0!=--o);else 0!==i?(i!==a&&(Os(e,i,e.bl_tree),o--),Os(e,ws,e.bl_tree),Ns(e,o-3,2)):o<=10?(Os(e,bs,e.bl_tree),Ns(e,o-3,3)):(Os(e,ks,e.bl_tree),Ns(e,o-11,7));o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4)}}is(Ds);let Qs=!1;function Ys(e){Qs||(!function(){let e,t,r,n,i;const a=Array(ps+1);for(r=0,n=0;n<cs-1;n++)for(Us[n]=r,e=0;e<1<<vs[n];e++)Ps[r++]=n;for(Ps[r-1]=n,i=0,n=0;n<16;n++)for(Ds[n]=i,e=0;e<1<<As[n];e++)xs[i++]=n;for(i>>=7;n<ls;n++)for(Ds[n]=i<<7,e=0;e<1<<As[n]-7;e++)xs[256+i++]=n;for(t=0;t<=ps;t++)a[t]=0;for(e=0;e<=143;)Ss[2*e+1]=8,e++,a[8]++;for(;e<=255;)Ss[2*e+1]=9,e++,a[9]++;for(;e<=279;)Ss[2*e+1]=7,e++,a[7]++;for(;e<=287;)Ss[2*e+1]=8,e++,a[8]++;for(Fs(Ss,us+1,a),e=0;e<ls;e++)Ks[2*e+1]=5,Ks[2*e]=Ls(e,5);Is=new Cs(Ss,vs,hs+1,us,ps),Ts=new Cs(Ks,As,0,ls,ps),Bs=new Cs([],_s,0,ys,gs)}(),Qs=!0),e.l_desc=new zs(e.dyn_ltree,Is),e.d_desc=new zs(e.dyn_dtree,Ts),e.bl_desc=new zs(e.bl_tree,Bs),e.bi_buf=0,e.bi_valid=0,js(e)}function Xs(e,t,r,n){Ns(e,(as<<1)+(n?1:0),3),function(e,t,r,n){Hs(e),n&&(Ms(e,r),Ms(e,~r)),za(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function Js(e){Ns(e,ss<<1,3),Os(e,ms,Ss),function(e){16===e.bi_valid?(Ms(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 eo(e,t,r,n){let i,a,s=0;e.level>0?(e.strm.data_type===rs&&(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 es;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return ts;for(t=32;t<hs;t++)if(0!==e.dyn_ltree[2*t])return ts;return es}(e)),Ws(e,e.l_desc),Ws(e,e.d_desc),s=function(e){let t;for($s(e,e.dyn_ltree,e.l_desc.max_code),$s(e,e.dyn_dtree,e.d_desc.max_code),Ws(e,e.bl_desc),t=ys-1;t>=3&&0===e.bl_tree[2*Es[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?Xs(e,t,r,n):e.strategy===Ja||a===i?(Ns(e,(ss<<1)+(n?1:0),3),Vs(e,Ss,Ks)):(Ns(e,(os<<1)+(n?1:0),3),function(e,t,r,n){let i;for(Ns(e,t-257,5),Ns(e,r-1,5),Ns(e,n-4,4),i=0;i<n;i++)Ns(e,e.bl_tree[2*Es[i]+1],3);Zs(e,e.dyn_ltree,t-1),Zs(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),Vs(e,e.dyn_ltree,e.dyn_dtree)),js(e),n&&Hs(e)}function to(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*(Ps[r]+hs+1)]++,e.dyn_dtree[2*Rs(t)]++),e.last_lit===e.lit_bufsize-1}function ro(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 no=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 io(e,t,r,n){const i=no,a=n+r;e^=-1;for(let r=n;r<a;r++)e=e>>>8^i[255&(e^t[r])];return-1^e}var ao={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 so=9,oo=3,co=258,ho=co+oo+1,uo=32,lo=42,yo=69,po=73,fo=91,go=103,mo=113,wo=666,bo=1,ko=2,vo=3,Ao=4,_o=3;function Eo(e,t){return e.msg=ao[t],t}function So(e){return(e<<1)-(e>4?9:0)}function Ko(e){let t=e.length;for(;--t>=0;)e[t]=0}function xo(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(za(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 Po(e,t){eo(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,xo(e.strm)}function Uo(e,t){e.pending_buf[e.pending++]=t}function Do(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Co(e,t,r,n){let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,za(t,e.input,e.next_in,i,r),1===e.state.wrap?e.adler=ro(e.adler,t,i,r):2===e.state.wrap&&(e.adler=io(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Io(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-ho?e.strstart-(e.w_size-ho):0,h=e.window,u=e.w_mask,l=e.prev,y=e.strstart+co;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=co-(y-a),a=y-co,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 To(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-ho)){za(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=Co(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=oo)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+oo-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<oo)););}while(e.lookahead<ho&&0!==e.strm.avail_in)}function Bo(e,t){let r,n;for(;;){if(e.lookahead<ho){if(To(e),e.lookahead<ho&&t===Ra)return bo;if(0===e.lookahead)break}if(r=0,e.lookahead>=oo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+oo-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-ho&&(e.match_length=Io(e,r)),e.match_length>=oo)if(n=to(e,e.strstart-e.match_start,e.match_length-oo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=oo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+oo-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=to(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(Po(e,!1),0===e.strm.avail_out))return bo}return e.insert=e.strstart<oo-1?e.strstart:oo-1,t===La?(Po(e,!0),0===e.strm.avail_out?vo:Ao):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?bo:ko}function zo(e,t){let r,n,i;for(;;){if(e.lookahead<ho){if(To(e),e.lookahead<ho&&t===Ra)return bo;if(0===e.lookahead)break}if(r=0,e.lookahead>=oo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+oo-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=oo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ho&&(e.match_length=Io(e,r),e.match_length<=5&&(e.strategy===Qa||e.match_length===oo&&e.strstart-e.match_start>4096)&&(e.match_length=oo-1)),e.prev_length>=oo&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-oo,n=to(e,e.strstart-1-e.prev_match,e.prev_length-oo),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+oo-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=oo-1,e.strstart++,n&&(Po(e,!1),0===e.strm.avail_out))return bo}else if(e.match_available){if(n=to(e,0,e.window[e.strstart-1]),n&&Po(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return bo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=to(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<oo-1?e.strstart:oo-1,t===La?(Po(e,!0),0===e.strm.avail_out?vo:Ao):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?bo:ko}class Ro{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 Mo=[new Ro(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(To(e),0===e.lookahead&&t===Ra)return bo;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,Po(e,!1),0===e.strm.avail_out))return bo;if(e.strstart-e.block_start>=e.w_size-ho&&(Po(e,!1),0===e.strm.avail_out))return bo}return e.insert=0,t===La?(Po(e,!0),0===e.strm.avail_out?vo:Ao):(e.strstart>e.block_start&&(Po(e,!1),e.strm.avail_out),bo)})),new Ro(4,4,8,4,Bo),new Ro(4,5,16,8,Bo),new Ro(4,6,32,32,Bo),new Ro(4,4,16,16,zo),new Ro(8,16,32,32,zo),new Ro(8,16,128,128,zo),new Ro(8,32,128,256,zo),new Ro(32,128,258,1024,zo),new Ro(32,258,258,4096,zo)];class No{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=ns,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 Ia(1146),this.dyn_dtree=new Ia(122),this.bl_tree=new Ia(78),Ko(this.dyn_ltree),Ko(this.dyn_dtree),Ko(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ia(16),this.heap=new Ia(573),Ko(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ia(573),Ko(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 Oo(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=rs,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?lo:mo,e.adler=2===t.wrap?0:1,t.last_flush=Ra,Ys(t),Ha):Eo(e,Va)}(e);return t===Ha&&function(e){e.window_size=2*e.w_size,Ko(e.head),e.max_lazy_match=Mo[e.level].max_lazy,e.good_match=Mo[e.level].good_length,e.nice_match=Mo[e.level].nice_length,e.max_chain_length=Mo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=oo-1,e.match_available=0,e.ins_h=0}(e.state),t}function Lo(e,t){let r,n,i,a;if(!e||!e.state||t>Fa||t<0)return e?Eo(e,Va):Va;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===wo&&t!==La)return Eo(e,0===e.avail_out?$a:Va);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===lo)if(2===n.wrap)e.adler=0,Uo(n,31),Uo(n,139),Uo(n,8),n.gzhead?(Uo(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)),Uo(n,255&n.gzhead.time),Uo(n,n.gzhead.time>>8&255),Uo(n,n.gzhead.time>>16&255),Uo(n,n.gzhead.time>>24&255),Uo(n,9===n.level?2:n.strategy>=Ya||n.level<2?4:0),Uo(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Uo(n,255&n.gzhead.extra.length),Uo(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=io(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=yo):(Uo(n,0),Uo(n,0),Uo(n,0),Uo(n,0),Uo(n,0),Uo(n,9===n.level?2:n.strategy>=Ya||n.level<2?4:0),Uo(n,_o),n.status=mo);else{let t=ns+(n.w_bits-8<<4)<<8,r=-1;r=n.strategy>=Ya||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=r<<6,0!==n.strstart&&(t|=uo),t+=31-t%31,n.status=mo,Do(n,t),0!==n.strstart&&(Do(n,e.adler>>>16),Do(n,65535&e.adler)),e.adler=1}if(n.status===yo)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=io(e.adler,n.pending_buf,n.pending-i,i)),xo(e),i=n.pending,n.pending!==n.pending_buf_size));)Uo(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=io(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=po)}else n.status=po;if(n.status===po)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=io(e.adler,n.pending_buf,n.pending-i,i)),xo(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,Uo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=io(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.gzindex=0,n.status=fo)}else n.status=fo;if(n.status===fo)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=io(e.adler,n.pending_buf,n.pending-i,i)),xo(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,Uo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=io(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.status=go)}else n.status=go;if(n.status===go&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&xo(e),n.pending+2<=n.pending_buf_size&&(Uo(n,255&e.adler),Uo(n,e.adler>>8&255),e.adler=0,n.status=mo)):n.status=mo),0!==n.pending){if(xo(e),0===e.avail_out)return n.last_flush=-1,Ha}else if(0===e.avail_in&&So(t)<=So(r)&&t!==La)return Eo(e,$a);if(n.status===wo&&0!==e.avail_in)return Eo(e,$a);if(0!==e.avail_in||0!==n.lookahead||t!==Ra&&n.status!==wo){var s=n.strategy===Ya?function(e,t){let r;for(;;){if(0===e.lookahead&&(To(e),0===e.lookahead)){if(t===Ra)return bo;break}if(e.match_length=0,r=to(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Po(e,!1),0===e.strm.avail_out))return bo}return e.insert=0,t===La?(Po(e,!0),0===e.strm.avail_out?vo:Ao):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?bo:ko}(n,t):n.strategy===Xa?function(e,t){let r,n,i,a;const s=e.window;for(;;){if(e.lookahead<=co){if(To(e),e.lookahead<=co&&t===Ra)return bo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=oo&&e.strstart>0&&(i=e.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=e.strstart+co;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=co-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=oo?(r=to(e,1,e.match_length-oo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=to(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Po(e,!1),0===e.strm.avail_out))return bo}return e.insert=0,t===La?(Po(e,!0),0===e.strm.avail_out?vo:Ao):e.last_lit&&(Po(e,!1),0===e.strm.avail_out)?bo:ko}(n,t):Mo[n.level].func(n,t);if(s!==vo&&s!==Ao||(n.status=wo),s===bo||s===vo)return 0===e.avail_out&&(n.last_flush=-1),Ha;if(s===ko&&(t===Ma?Js(n):t!==Fa&&(Xs(n,0,0,!1),t===Oa&&(Ko(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),xo(e),0===e.avail_out))return n.last_flush=-1,Ha}return t!==La?Ha:n.wrap<=0?qa:(2===n.wrap?(Uo(n,255&e.adler),Uo(n,e.adler>>8&255),Uo(n,e.adler>>16&255),Uo(n,e.adler>>24&255),Uo(n,255&e.total_in),Uo(n,e.total_in>>8&255),Uo(n,e.total_in>>16&255),Uo(n,e.total_in>>24&255)):(Do(n,e.adler>>>16),Do(n,65535&e.adler)),xo(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?Ha:qa)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Fo=new Ca(256);for(let e=0;e<256;e++)Fo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function jo(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 Ca(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}Fo[254]=Fo[254]=1;class Ho{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 qo{constructor(e){this.options={level:Za,method:ns,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 Ho,this.strm.avail_out=0;var r,n,i=function(e,t,r,n,i,a){if(!e)return Va;let s=1;if(t===Za&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>so||r!==ns||n<8||n>15||t<0||t>9||a<0||a>Ja)return Eo(e,Va);8===n&&(n=9);const o=new No;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+oo-1)/oo),o.window=new Ca(2*o.w_size),o.head=new Ia(o.hash_size),o.prev=new Ia(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Ca(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,Oo(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==Ha)throw Error(ao[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?jo(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 Va;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==lo||r.lookahead)return Va;for(1===a&&(e.adler=ro(e.adler,t,u,0)),r.wrap=0,u>=r.w_size&&(0===a&&(Ko(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new Ca(r.w_size),za(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,To(r);r.lookahead>=oo;){n=r.strstart,i=r.lookahead-(oo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+oo-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=oo-1,To(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=oo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Ha}(this.strm,e),i!==Ha)throw Error(ao[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?La:Ra,"string"==typeof e?r.input=jo(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 Ca(n),r.next_out=0,r.avail_out=n),(i=Lo(r,a))!==qa&&i!==Ha)return this.onEnd(i),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==La&&a!==Na)||this.onData(Pa(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&i!==qa);return a===La?(i=function(e){let t;return e&&e.state?(t=e.state.status,t!==lo&&t!==yo&&t!==po&&t!==fo&&t!==go&&t!==mo&&t!==wo?Eo(e,Va):(e.state=null,t===mo?Eo(e,Wa):Ha)):Va}(this.strm),this.onEnd(i),this.ended=!0,i===Ha):a!==Na||(this.onEnd(Ha),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ha&&(this.result=Ba(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const Go=30,Vo=12;function Wo(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=Vo;break e}e.msg="invalid literal/length code",y.mode=Go;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=Go;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=Go;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=Go;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 $o=15,Zo=852,Qo=592,Yo=0,Xo=1,Jo=2,ec=[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],tc=[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],rc=[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],nc=[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 ic(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 Ia($o+1),x=new Ia($o+1);let P,U,D,C=null,I=0;for(p=0;p<=$o;p++)K[p]=0;for(f=0;f<n;f++)K[t[r+f]]++;for(w=c,m=$o;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<=$o;p++)if(v<<=1,v-=K[p],v<0)return-1;if(v>0&&(e===Yo||1!==m))return-1;for(x[1]=0,p=1;p<$o;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===Yo?(E=C=s,d=19):e===Xo?(E=ec,S-=257,C=tc,I-=257,d=256):(E=rc,C=nc,d=-1),_=0,f=0,p=g,y=a,b=w,k=0,l=-1,A=1<<w;const T=A-1;if(e===Xo&&A>Zo||e===Jo&&A>Qo)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===Xo&&A>Zo||e===Jo&&A>Qo)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 ac=0,sc=1,oc=2,cc=1,hc=2,uc=3,lc=4,yc=5,dc=6,pc=7,fc=8,gc=9,mc=10,wc=11,bc=12,kc=13,vc=14,Ac=15,_c=16,Ec=17,Sc=18,Kc=19,xc=20,Pc=21,Uc=22,Dc=23,Cc=24,Ic=25,Tc=26,Bc=27,zc=28,Rc=29,Mc=30,Nc=852,Oc=592;function Lc(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Fc{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 Ia(320),this.work=new Ia(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function jc(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=cc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ta(Nc),t.distcode=t.distdyn=new Ta(Oc),t.sane=1,t.back=-1,Ha):Va}(e)):Va}function Hc(e,t){let r,n;return e?(n=new Fc,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)?Va:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,jc(e))):Va}(e,t),r!==Ha&&(e.state=null),r):Va}let qc,Gc,Vc=!0;function Wc(e){if(Vc){let t;for(qc=new Ta(512),Gc=new Ta(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(ic(sc,e.lens,0,288,qc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ic(oc,e.lens,0,32,Gc,0,e.work,{bits:5}),Vc=!1}e.lencode=qc,e.lenbits=9,e.distcode=Gc,e.distbits=5}function $c(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 Ca(a.wsize)),n>=a.wsize?(za(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),za(a.window,t,r-n,i,a.wnext),(n-=i)?(za(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 Zc(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 Ca(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 Va;r=e.state,r.mode===bc&&(r.mode=kc),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,_=Ha;e:for(;;)switch(r.mode){case cc:if(0===r.wrap){r.mode=kc;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=io(r.check,x,2,0),h=0,u=0,r.mode=hc;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=Mc;break}if((15&h)!==ns){e.msg="unknown compression method",r.mode=Mc;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=Mc;break}r.dmax=1<<A,e.adler=r.check=1,r.mode=512&h?mc:bc,h=0,u=0;break;case hc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.flags=h,(255&r.flags)!==ns){e.msg="unknown compression method",r.mode=Mc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=Mc;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=io(r.check,x,2,0)),h=0,u=0,r.mode=uc;case uc: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=io(r.check,x,4,0)),h=0,u=0,r.mode=lc;case lc: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=io(r.check,x,2,0)),h=0,u=0,r.mode=yc;case yc: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=io(r.check,x,2,0)),h=0,u=0}else r.head&&(r.head.extra=null);r.mode=dc;case dc: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)),za(r.head.extra,n,a,d,A)),512&r.flags&&(r.check=io(r.check,n,d,a)),o-=d,a+=d,r.length-=d),r.length))break e;r.length=0,r.mode=pc;case pc: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=io(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=fc;case fc: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=io(r.check,n,d,a)),o-=d,a+=d,A)break e}else r.head&&(r.head.comment=null);r.mode=gc;case gc: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=Mc;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=bc;break;case mc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}e.adler=r.check=Lc(h),h=0,u=0,r.mode=wc;case wc: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,Ga;e.adler=r.check=1,r.mode=bc;case bc:if(t===Fa||t===ja)break e;case kc:if(r.last){h>>>=7&u,u-=7&u,r.mode=Bc;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=vc;break;case 1:if(Wc(r),r.mode=xc,t===ja){h>>>=2,u-=2;break e}break;case 2:r.mode=Ec;break;case 3:e.msg="invalid block type",r.mode=Mc}h>>>=2,u-=2;break;case vc: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=Mc;break}if(r.length=65535&h,h=0,u=0,r.mode=Ac,t===ja)break e;case Ac:r.mode=_c;case _c:if(d=r.length,d){if(d>o&&(d=o),d>c&&(d=c),0===d)break e;za(i,n,a,d,s),o-=d,a+=d,c-=d,s+=d,r.length-=d;break}r.mode=bc;break;case Ec: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=Mc;break}r.have=0,r.mode=Sc;case Sc: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},_=ic(ac,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=Mc;break}r.have=0,r.mode=Kc;case Kc: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=Mc;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=Mc;break}for(;d--;)r.lens[r.have++]=A}}if(r.mode===Mc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=Mc;break}if(r.lenbits=9,E={bits:r.lenbits},_=ic(sc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=Mc;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=ic(oc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=Mc;break}if(r.mode=xc,t===ja)break e;case xc:r.mode=Pc;case Pc: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,Wo(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===bc&&(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=Tc;break}if(32&m){r.back=-1,r.mode=bc;break}if(64&m){e.msg="invalid literal/length code",r.mode=Mc;break}r.extra=15&m,r.mode=Uc;case Uc: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=Dc;case Dc: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=Mc;break}r.offset=w,r.extra=15&m,r.mode=Cc;case Cc: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=Mc;break}r.mode=Ic;case Ic: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=Mc;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=Pc);break;case Tc:if(0===c)break e;i[s++]=r.length,c--,r.mode=Pc;break;case Bc: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?io(r.check,i,y,s-y):ro(r.check,i,y,s-y)),y=c,(r.flags?h:Lc(h))!==r.check){e.msg="incorrect data check",r.mode=Mc;break}h=0,u=0}r.mode=zc;case zc: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=Mc;break}h=0,u=0}r.mode=Rc;case Rc:_=qa;break e;case Mc:_=Wa;break e;default:return Va}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<Mc&&(r.mode<Bc||t!==La))&&$c(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?io(r.check,i,y,e.next_out-y):ro(r.check,i,y,e.next_out-y)),e.data_type=r.bits+(r.last?64:0)+(r.mode===bc?128:0)+(r.mode===xc||r.mode===Ac?256:0),(0===l&&0===y||t===La)&&_===Ha&&(_=$a),_}function Qc(e,t){const r=t.length;let n,i;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==wc?Va:n.mode===wc&&(i=1,i=ro(i,t,r,0),i!==n.check)?Wa:($c(e,t,r,r),n.havedict=1,Ha)):Va}class Yc{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 Xc{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 Ho,this.strm.avail_out=0;let r=Hc(this.strm,t.windowBits);if(r!==Ha)throw Error(ao[r]);if(this.header=new Yc,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=jo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=Qc(this.strm,t.dictionary),r!==Ha)))throw Error(ao[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?La:Ra,"string"==typeof e?r.input=function(e){const t=new Ca(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 Ca(n),r.next_out=0,r.avail_out=n),a=Zc(r,Ra),a===Ga&&i&&(a=Qc(this.strm,i)),a===$a&&!0===o&&(a=Ha,o=!1),a!==qa&&a!==Ha)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==qa&&(0!==r.avail_in||s!==La&&s!==Na)||this.onData(Pa(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!==qa);return a===qa&&(s=La),s===La?(a=function(e){if(!e||!e.state)return Va;const t=e.state;return t.window&&(t.window=null),e.state=null,Ha}(this.strm),this.onEnd(a),this.ended=!0,a===Ha):s!==Na||(this.onEnd(Ha),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Ha&&(this.result=Ba(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var Jc=[0,1,3,7,15,31,63,127,255],eh=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};eh.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},eh.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=Jc[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var n=r-e;t|=(this.curByte&Jc[e]<<n)>>n,this.bitOffset+=e,e=0}}return t},eh.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},eh.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 th=eh,rh=function(){};rh.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},rh.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},rh.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},rh.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},rh.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},rh.prototype.flush=function(){};var nh,ih=rh,ah=(nh=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^nh[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^nh[255&(e>>>24^t)]}}),sh=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},oh={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},ch={};ch[oh.LAST_BLOCK]="Bad file checksum",ch[oh.NOT_BZIP_DATA]="Not bzip data",ch[oh.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",ch[oh.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",ch[oh.DATA_ERROR]="Data error",ch[oh.OUT_OF_MEMORY]="Out of memory",ch[oh.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var hh=function(e,t){var r=ch[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},uh=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};uh.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new ah,!0):(this.writeCount=-1,!1)},uh.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])||hh(oh.NOT_BZIP_DATA,"bad magic");var n=r[3]-48;(n<1||n>9)&&hh(oh.NOT_BZIP_DATA,"level out of range"),this.reader=new th(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},uh.prototype._get_next_block=function(){var e,t,r,n=this.reader,i=n.pi();if("177245385090"===i)return!1;"314159265359"!==i&&hh(oh.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&hh(oh.OBSOLETE_INPUT);var a=n.read(24);a>this.dbufSize&&hh(oh.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)&&hh(oh.DATA_ERROR);var l=n.read(15);0===l&&hh(oh.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&&hh(oh.DATA_ERROR);d[e]=sh(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)&&hh(oh.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&&hh(oh.DATA_ERROR),p=g[d[K++]]),e=p.minLen,t=n.read(e);e>p.maxLen&&hh(oh.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|n.read(1);((t-=p.base[e])<0||t>=258)&&hh(oh.DATA_ERROR);var P=p.permute[t];if(0!==P&&1!==P){if(E)for(E=0,S+s>this.dbufSize&&hh(oh.DATA_ERROR),A[_=o[y[0]]]+=s;s--;)x[S++]=_;if(P>c)break;S>=this.dbufSize&&hh(oh.DATA_ERROR),A[_=o[_=sh(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)&&hh(oh.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},uh.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&&hh(oh.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var lh=function(e){if("readByte"in e)return e;var t=new ih;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},yh=function(e){var t=new ih,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 dh=function(e,t,r){for(var n=lh(e),i=yh(t),a=new uh(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&&hh(oh.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 ph{static get tag(){return ne.packet.literalData}constructor(e=new Date){this.format=ne.literal.utf8,this.date=$.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=ne.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||$.isStream(this.text))&&(this.text=$.decodeUTF8($.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=$.canonicalizeEOL($.encodeUTF8(this.text))),e?O(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=$.decodeUTF8(await e.readBytes(r)),this.date=$.readDate(await e.readBytes(4));let n=e.remainder();s(n)&&(n=await j(n)),this.setBytes(n,t)}))}writeHeader(){const e=$.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=$.writeDate(this.date);return $.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return $.concat([e,t])}}const fh=Symbol("verified"),gh=new Set([ne.signatureSubpacket.issuer,ne.signatureSubpacket.issuerFingerprint,ne.signatureSubpacket.embeddedSignature]);class mh{static get tag(){return ne.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[fh]=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=wa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?q((async()=>wa.serializeParams(this.publicKeyAlgorithm,await this.params))):wa.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()),$.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=$.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),i.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=$.concat(i);const a=this.toHash(this.signatureType,t,n),s=await this.hash(this.signatureType,t,a,n);this.signedHashValue=F(N(s),0,2);const o=async()=>wa.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await j(s));$.isStream(s)?this.params=o():(this.params=await o(),this[fh]=!0)}writeHashedSubPackets(){const e=ne.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(wh(e.signatureCreationTime,!0,$.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(wh(e.signatureExpirationTime,!0,$.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(wh(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(wh(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(wh(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(wh(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(wh(e.keyExpirationTime,!0,$.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(wh(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=$.concat([r,this.revocationKeyFingerprint]),t.push(wh(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(wh(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=$.encodeUTF8(n);r.push($.writeNumber(o.length,2)),r.push($.writeNumber(i.length,2)),r.push(o),r.push(i),r=$.concat(r),t.push(wh(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(wh(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(wh(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=$.stringToUint8Array($.uint8ArrayToString(this.keyServerPreferences)),t.push(wh(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(wh(e.preferredKeyServer,!1,$.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(wh(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(wh(e.policyURI,!1,$.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=$.stringToUint8Array($.uint8ArrayToString(this.keyFlags)),t.push(wh(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(wh(e.signersUserID,!1,$.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=$.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(wh(e.reasonForRevocation,!0,r))),null!==this.features&&(r=$.stringToUint8Array($.uint8ArrayToString(this.features)),t.push(wh(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push($.stringToUint8Array(this.signatureTargetHash)),r=$.concat(r),t.push(wh(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(wh(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=$.concat(r),t.push(wh(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=$.stringToUint8Array($.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(wh(e.preferredAEADAlgorithms,!1,r)));const n=$.concat(t),i=$.writeNumber(n.length,2);return $.concat([i,n])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(hi(t.length)),e.push(t)}));const t=$.concat(e),r=$.writeNumber(t.length,2);return $.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)),gh.has(i)))switch(r++,i){case ne.signatureSubpacket.signatureCreationTime:this.created=$.readDate(e.subarray(r,e.length));break;case ne.signatureSubpacket.signatureExpirationTime:{const t=$.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case ne.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case ne.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case ne.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case ne.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case ne.signatureSubpacket.keyExpirationTime:{const t=$.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case ne.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case ne.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case ne.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=$.readNumber(e.subarray(r,r+2));r+=2;const a=$.readNumber(e.subarray(r,r+2));r+=2;const s=$.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]=$.decodeUTF8(o));break}case ne.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=$.decodeUTF8(e.subarray(r,e.length));break;case ne.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case ne.signatureSubpacket.policyURI:this.policyURI=$.decodeUTF8(e.subarray(r,e.length));break;case ne.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.signersUserID:this.signersUserID=$.decodeUTF8(e.subarray(r,e.length));break;case ne.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=$.decodeUTF8(e.subarray(r,e.length));break;case ne.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case ne.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=wa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=$.uint8ArrayToString(e.subarray(r,r+t));break}case ne.signatureSubpacket.embeddedSignature:this.embeddedSignature=new mh,this.embeddedSignature.read(e.subarray(r,e.length));break;case ne.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 ne.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+i);if(n)throw e;$.printDebug(e)}}}readSubPackets(e,t=!0,r){const n=$.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=ne.signature;switch(e){case r.binary:return null!==t.text?$.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return $.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 $.concat([this.toSign(r.key,t),new Uint8Array([n]),$.writeNumber(i.length,4),i])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return $.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(N(this.signatureData),(e=>{r+=e.length}),(()=>{const n=[];return 5!==this.version||this.signatureType!==ne.signature.binary&&this.signatureType!==ne.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($.writeNumber(r,4)),$.concat(n)}))}toHash(e,t,r=!1){const n=this.toSign(e,t);return $.concat([n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){return r||(r=this.toHash(e,t,n)),wa.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===ne.signature.binary||t===ne.signature.text;if(!(this[fh]&&!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 j(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===ne.publicKey.hmac?e.privateParams:null;if(this[fh]=await wa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,n,a),!this[fh])throw Error("Signature verification failed")}const o=$.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: "+ne.read(ne.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ne.signature.binary,ne.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ne.read(ne.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=$.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 wh(e,t,r){const n=[];return n.push(hi(r.length+1)),n.push(new Uint8Array([(t?128:0)|e])),n.push(r),$.concat(n)}class bh{static get tag(){return ne.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 $.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return q((async()=>mh.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==ne.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 kh(e,t){if(!t[e]){let t;try{t=ne.read(ne.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]}bh.prototype.hash=mh.prototype.hash,bh.prototype.toHash=mh.prototype.toHash,bh.prototype.toSign=mh.prototype.toSign;class vh extends Array{static async fromBinary(e,t,r=ie){const n=new vh;return await n.read(e,t,r),n}async read(e,t,r=ie){r.additionalAllowedPackets.length&&(t={...t,...$.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===ne.packet.marker||e.tag===ne.packet.trust)return;const n=kh(e.tag,t);n.packets=new vh,n.fromStream=$.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)}$.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($.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=$.concat([ui(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}}),(()=>$.concat([hi(i)].concat(t)))))}else{if($.isStream(n)){let t=0;e.push(z(N(n),(e=>{t+=e.length}),(()=>yi(r,t))))}else e.push(yi(r,n.length));e.push(n)}}return $.concat(e)}filterByTag(...e){const t=new vh,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 Ah=/*#__PURE__*/$.constructAllowedPackets([ph,bh,mh]);class _h{static get tag(){return ne.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(),$.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=ie){const t=ne.read(ne.compression,this.algorithm),r=Dh[t];if(!r)throw Error(t+" decompression not supported");this.packets=await vh.fromBinary(r(this.compressed),Ah,e)}compress(){const e=ne.read(ne.compression,this.algorithm),t=Uh[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Eh=$.getNodeZlib();function Sh(e){return e}function Kh(e,t,r={}){return function(n){return!$.isStream(n)||s(n)?q((()=>j(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 xh(e,t={}){return function(r){const n=new e(t);return z(r,(e=>{if(e.length)return n.push(e,Na),n.result}),(()=>{if(e===qo)return n.push([],La),n.result}))}}function Ph(e){return function(t){return q((async()=>e(await j(t))))}}const Uh=Eh?{zip:/*#__PURE__*/(e,t)=>Kh(Eh.deflateRaw,Eh.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Kh(Eh.deflate,Eh.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>xh(qo,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>xh(qo,{level:t})(e)},Dh=Eh?{uncompressed:Sh,zip:/*#__PURE__*/Kh(Eh.inflateRaw,Eh.createInflateRaw),zlib:/*#__PURE__*/Kh(Eh.inflate,Eh.createInflate),bzip2:/*#__PURE__*/Ph(dh)}:{uncompressed:Sh,zip:/*#__PURE__*/xh(Xc,{raw:!0}),zlib:/*#__PURE__*/xh(Xc),bzip2:/*#__PURE__*/Ph(dh)},Ch=/*#__PURE__*/$.constructAllowedPackets([ph,_h,bh,mh]);class Ih{static get tag(){return ne.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 $.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=ie){const{blockSize:n}=wa.getCipher(e);let i=this.packets.write();s(i)&&(i=await j(i));const a=await wa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=$.concat([a,i,o]),h=await wa.hash.sha1(O(c)),u=$.concat([c,h]);return this.encrypted=await wa.mode.cfb.encrypt(e,t,u,new Uint8Array(n),r),!0}async decrypt(e,t,r=ie){const{blockSize:n}=wa.getCipher(e);let i=N(this.encrypted);s(i)&&(i=await j(i));const a=await wa.mode.cfb.decrypt(e,t,i,new Uint8Array(n)),o=F(O(a),-20),c=F(a,0,-20),h=Promise.all([j(await wa.hash.sha1(O(c))),j(o)]).then((([e,t])=>{if(!$.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))]),$.isStream(i)&&r.allowUnauthenticatedStream||(l=await j(l)),this.packets=await vh.fromBinary(l,Ch,r),!0}}const Th=/*#__PURE__*/$.constructAllowedPackets([ph,_h,bh,mh]);class Bh{static get tag(){return ne.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ne.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=wa.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return $.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=ie){this.packets=await vh.fromBinary(await this.crypt("decrypt",t,N(this.encrypted)),Th,r)}async encrypt(e,t,r=ie){this.cipherAlgorithm=e;const{ivLength:n}=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.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=wa.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|Bh.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"!==$.isStream(t)){const e=new E({},{highWaterMark:$.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 zh{static get tag(){return ne.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){if(this.version=e[0],3!==this.version)throw new fi(`Version ${this.version} of the PKESK packet is unsupported.`);this.publicKeyID.read(e.subarray(1,e.length)),this.publicKeyAlgorithm=e[9],this.encrypted=wa.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(10))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),wa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return $.concatUint8Array(e)}async encrypt(e){const t=$.concatUint8Array([new Uint8Array([ne.write(ne.symmetric,this.sessionKeyAlgorithm)]),this.sessionKey,$.writeChecksum(this.sessionKey)]),r=ne.write(ne.publicKey,this.publicKeyAlgorithm),n=r===ne.publicKey.aead?e.privateParams:null;this.encrypted=await wa.publicKeyEncrypt(r,e.publicParams,n,t,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?$.concatUint8Array([new Uint8Array([t.sessionKeyAlgorithm]),t.sessionKey,$.writeChecksum(t.sessionKey)]):null,n=await wa.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),i=n[0],a=n.subarray(1,n.length-2),s=n.subarray(n.length-2),o=$.writeChecksum(a),c=o[0]===s[0]&o[1]===s[1];if(t){const e=c&i===t.sessionKeyAlgorithm&a.length===t.sessionKey.length;this.sessionKeyAlgorithm=$.selectUint8(e,i,t.sessionKeyAlgorithm),this.sessionKey=$.selectUint8Array(e,a,t.sessionKey)}else{if(!(c&&ne.read(ne.symmetric,i)))throw Error("Decryption error");this.sessionKey=a,this.sessionKeyAlgorithm=i}}}class Rh{static get tag(){return ne.packet.symEncryptedSessionKey}constructor(e=ie){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ne.symmetric.aes256,this.aeadAlgorithm=ne.write(ne.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=Sa(n),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=wa.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=$.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=$.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=$.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:n}=wa.getCipher(t),i=await this.s2k.produceKey(e,n);if(5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Rh.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 wa.mode.cfb.decrypt(t,i,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=ne.write(ne.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=Ka(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=wa.getCipher(r),a=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=wa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=wa.getAEADMode(this.aeadAlgorithm);this.iv=wa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Rh.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=$.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await wa.mode.cfb.encrypt(r,a,e,new Uint8Array(n),t)}}}class Mh{static get tag(){return ne.packet.publicKey}constructor(e=new Date,t=ie){this.version=t.v5Keys?5:4,this.created=$.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new Mh,{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=$.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:n}=wa.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($.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=wa.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push($.writeNumber(t.length,4)),e.push(t),$.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?$.concatUint8Array([new Uint8Array([154]),$.writeNumber(t.length,4),t]):$.concatUint8Array([new Uint8Array([153]),$.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 wa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await wa.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return $.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&$.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=ne.read(ne.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=$.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():e.symmetric=this.publicParams.cipher.getName(),e}}Mh.prototype.readPublicKey=Mh.prototype.read,Mh.prototype.writePublicKey=Mh.prototype.write;const Nh=/*#__PURE__*/$.constructAllowedPackets([ph,_h,bh,mh]);class Oh{static get tag(){return ne.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}=wa.getCipher(e),i=await j(N(this.encrypted)),a=await wa.mode.cfb.decrypt(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await vh.fromBinary(a,Nh,r)}async encrypt(e,t,r=ie){const n=this.packets.write(),{blockSize:i}=wa.getCipher(e),a=await wa.getPrefixRandom(e),s=await wa.mode.cfb.encrypt(e,t,a,new Uint8Array(i),r),o=await wa.mode.cfb.encrypt(e,t,n,s.subarray(2),r);this.encrypted=$.concat([s,o])}}class Lh{static get tag(){return ne.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Fh extends Mh{static get tag(){return ne.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Fh,{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 ne.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($.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($.stringToUint8Array(this.attributes[t]));return $.concatUint8Array(e)}equals(e){return!!(e&&e instanceof jh)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class Hh extends Mh{static get tag(){return ne.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);if(this.s2kUsage=e[t++],5===this.version&&t++,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=Sa(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);if(this.s2kUsage&&(this.iv=e.subarray(t,t+wa.getCipher(this.symmetric).blockSize),t+=this.iv.length),5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!$.equalsUint8Array($.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=wa.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()];e.push(new Uint8Array([this.s2kUsage]));const t=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(t.push(this.symmetric),253===this.s2kUsage&&t.push(this.aead),t.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&t.push(...this.iv),5===this.version&&e.push(new Uint8Array([t.length])),e.push(new Uint8Array(t)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=wa.serializeParams(this.algorithm,this.privateParams)),5===this.version&&e.push($.writeNumber(this.keyMaterial.length,4)),e.push(this.keyMaterial),this.s2kUsage||e.push($.writeChecksum(this.keyMaterial))),$.concatUint8Array(e)}isDecrypted(){return!1===this.isEncrypted}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=ie){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),this.isEncrypted=null,this.keyMaterial=null,this.s2k=Sa(ne.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ne.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=Ka(t),this.s2k.generateSalt();const r=wa.serializeParams(this.algorithm,this.privateParams);this.symmetric=ne.symmetric.aes256;const n=await qh(this.s2k,e,this.symmetric),{blockSize:i}=wa.getCipher(this.symmetric);if(this.iv=wa.random.getRandomBytes(i),t.aeadProtect){this.s2kUsage=253,this.aead=ne.aead.eax;const e=wa.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 wa.mode.cfb.encrypt(this.symmetric,n,$.concatUint8Array([r,await wa.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;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 qh(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=wa.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 wa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const n=await wa.hash.sha1(r);if(!$.equalsUint8Array(n,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=wa.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 wa.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 wa.generateParams(this.algorithm,e,t,r);this.privateParams=n,this.publicParams=i,this.isEncrypted=!1}clearPrivateParams(){this.isDummy()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function qh(e,t,r){const{keySize:n}=wa.getCipher(r);return e.produceKey(t,n)}var Gh=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 N(){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 O(){return o("word",y(T,N)())}function L(){return o("address",y(F,q)())}function F(){return o("mailbox",y(j,J)())}function j(){return o("name-addr",l(d(G),H)())}function H(){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(O,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(L,g(l(u(","),L))),ue)())}function $(){return o("group-list",y(V,p(C),le)())}function Z(){return o("local-part",y(ye,z,N)())}function Q(){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),Q)),d(x),u("]"),p(d(C)))())}function X(){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("@"),X)())}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(O,g(y(O,u("."),u("@"),f(C))))()):o("obs-phrase",l(O,g(y(O,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("@"),X,g(l(u(","),p(d(C)),d(l(u("@"),X)))))())}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(","))),L,g(l(u(","),d(l(L,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(O,g(l(u("."),O)))())}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:L,"address-list":W,"angle-addr":H,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,L)())}}[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 Vh{static get tag(){return ne.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if($.isString(e)||e.name&&!$.isString(e.name)||e.email&&!$.isEmailAddress(e.email)||e.comment&&!$.isString(e.comment))throw Error("Invalid user ID format");const t=new Vh;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=$.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:n}=Gh.parseOneAddress({input:r,atInDisplayName:!0});this.comment=n.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return $.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class Wh extends Hh{static get tag(){return ne.packet.secretSubkey}constructor(e=new Date,t=ie){super(e,t)}}class $h{static get tag(){return ne.packet.trust}read(){throw new fi("Trust packets are not supported")}write(){throw new fi("Trust packets are not supported")}}const Zh=/*#__PURE__*/$.constructAllowedPackets([mh]);class Qh{constructor(e){this.packets=e||new vh}write(){return this.packets.write()}armor(e=ie){return de(ne.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function Yh({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&&!$.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!$.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!==ne.armor.signature)throw Error("Armored text not of type signature");i=t}const s=await vh.fromBinary(i,Zh,r);return new Qh(s)}async function Xh(e,t){const r=new Wh(e.date,t);return r.packets=null,r.algorithm=ne.write(ne.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Jh(e,t){const r=new Hh(e.date,t);return r.packets=null,r.algorithm=ne.write(ne.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function eu(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 $.wrapError(`Could not find valid ${ne.read(ne.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 tu(e,t,r=new Date){const n=$.normalizeDate(r);if(null!==n){const r=cu(e,t);return!(e.created<=n&&n<r)}return!1}async function ru(e,t,r,n){const i={};i.key=t,i.bind=e;const a=new mh;return a.signatureType=ne.signature.subkeyBinding,a.publicKeyAlgorithm=t.algorithm,a.hashAlgorithm=await nu(null,e,void 0,void 0,n),r.sign?(a.keyFlags=[ne.keyFlags.signData],a.embeddedSignature=await au(i,null,e,{signatureType:ne.signature.keyBinding},r.date,void 0,void 0,void 0,n)):a.keyFlags=r.forwarding?[ne.keyFlags.forwardedCommunication]:[ne.keyFlags.encryptCommunication|ne.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1),await a.sign(t,i,r.date),a}async function nu(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=wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a)}switch(Object.getPrototypeOf(t)){case Hh.prototype:case Mh.prototype:case Wh.prototype:case Fh.prototype:switch(t.algorithm){case ne.publicKey.ecdh:case ne.publicKey.ecdsa:case ne.publicKey.eddsa:s=wa.publicKey.elliptic.getPreferredHashAlgo(t.publicParams.oid)}}return wa.hash.getHashByteLength(a)<=wa.hash.getHashByteLength(s)?s:a}async function iu(e,t=[],r=new Date,n=[],i=ie){const a={symmetric:ne.symmetric.aes128,aead:ne.aead.eax,compression:ne.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 au(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 mh;return Object.assign(h,n),h.publicKeyAlgorithm=r.algorithm,h.hashAlgorithm=await nu(t,r,i,a,c),h.rawNotations=s,await h.sign(r,e,i,o),h}async function su(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 $.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function ou(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 cu(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function hu(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=$.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=ne.write(ne.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==ne.curve.ed25519&&e.curve!==ne.curve.curve25519||(e.curve=e.sign?ne.curve.ed25519:ne.curve.curve25519),e.sign?e.algorithm=e.curve===ne.curve.ed25519?ne.publicKey.eddsa:ne.publicKey.ecdsa:e.algorithm=ne.publicKey.ecdh;break;case"rsa":e.algorithm=ne.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=ne.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=ne.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function uu(e,t){const r=e.algorithm;return r!==ne.publicKey.rsaEncrypt&&r!==ne.publicKey.elgamal&&r!==ne.publicKey.ecdh&&(!t.keyFlags||0!=(t.keyFlags[0]&ne.keyFlags.signData))}function lu(e,t){const r=e.algorithm;return r!==ne.publicKey.dsa&&r!==ne.publicKey.rsaSign&&r!==ne.publicKey.ecdsa&&r!==ne.publicKey.eddsa&&(!t.keyFlags||0!=(t.keyFlags[0]&ne.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&ne.keyFlags.encryptStorage))}function yu(e,t){return!(e.keyFlags&&0==(e.keyFlags[0]&ne.keyFlags.sign)&&0==(e.keyFlags[0]&ne.keyFlags.certifyKeys)&&0==(e.keyFlags[0]&ne.keyFlags.authentication)||!t.allowInsecureDecryptionWithSigningKeys)||(!e.keyFlags||0!=(e.keyFlags[0]&ne.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&ne.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&ne.keyFlags.forwardedCommunication))}function du(e,t){const r=ne.write(ne.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(n.algorithm+" keys are considered too weak.");switch(r){case ne.publicKey.rsaEncryptSign:case ne.publicKey.rsaSign:case ne.publicKey.rsaEncrypt:if(n.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case ne.publicKey.ecdsa:case ne.publicKey.eddsa:case ne.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class pu{constructor(e,t){this.userID=e.constructor.tag===ne.packet.userID?e:null,this.userAttribute=e.constructor.tag===ne.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new vh;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new pu(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 pu(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 au(i,e,a.keyPacket,{signatureType:ne.signature.certGeneric,keyFlags:[ne.keyFlags.certifyKeys|ne.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 ou(i,ne.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,ne.signature.certGeneric,s,r,void 0,n)}catch(e){throw $.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,ne.signature.certGeneric,i,e,void 0,t)}catch(e){throw $.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 su(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(n,ne.signature.certGeneric,i,t,!1,r),!0}catch(e){return!1}})),await su(e,this,"otherCertifications",t),await su(e,this,"revocationSignatures",t,(function(e){return ou(n,ne.signature.certRevocation,i,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ne.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new pu(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await au(a,null,e,{signatureType:ne.signature.certRevocation,reasonForRevocationFlag:ne.write(ne.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await s.update(this),s}}class fu{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new vh;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new fu(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 ou(i,ne.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 eu(this.bindingSignatures,r,ne.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(tu(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 eu(this.bindingSignatures,r,ne.signature.subkeyBinding,n,e,t)}catch(e){return null}const a=cu(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===ne.packet.publicSubkey&&e.keyPacket.constructor.tag===ne.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const i=this,a={key:n,bind:i.keyPacket};await su(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,ne.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await su(e,this,"revocationSignatures",t,(function(e){return ou(n,ne.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ne.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=ie){const a={key:e,bind:this.keyPacket},s=new fu(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await au(a,null,e,{signatureType:ne.signature.subkeyRevocation,reasonForRevocationFlag:ne.write(ne.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=>{fu.prototype[e]=function(){return this.keyPacket[e]()}}));const gu=/*#__PURE__*/$.constructAllowedPackets([mh]),mu=new Set([ne.packet.publicKey,ne.packet.privateKey]),wu=new Set([ne.packet.publicKey,ne.packet.privateKey,ne.packet.publicSubkey,ne.packet.privateSubkey]);class bu{packetListToStructure(e,t=new Set){let r,n,i,a;for(const s of e){if(s instanceof gi){wu.has(s.tag)&&!a&&(a=mu.has(s.tag)?mu:wu);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 ne.packet.publicKey:case ne.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 ne.packet.userID:case ne.packet.userAttribute:r=new pu(s,this),this.users.push(r);break;case ne.packet.publicSubkey:case ne.packet.secretSubkey:r=null,i=new fu(s,this),this.subkeys.push(i);break;case ne.packet.signature:switch(s.signatureType){case ne.signature.certGeneric:case ne.signature.certPersona:case ne.signature.certCasual:case ne.signature.certPositive:if(!r){$.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(n)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case ne.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case ne.signature.key:this.directSignatures.push(s);break;case ne.signature.subkeyBinding:if(!i){$.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(s);break;case ne.signature.keyRevocation:this.revocationSignatures.push(s);break;case ne.signature.subkeyRevocation:if(!i){$.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(s)}}}}toPacketList(){const e=new vh;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 eu(r.bindingSignatures,i,ne.signature.subkeyBinding,e,t,n);if(!uu(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await eu([a.embeddedSignature],r.keyPacket,ne.signature.keyBinding,e,t,n),du(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&uu(i,a.selfCertification))return du(i,n),this}catch(e){s=e}throw $.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 eu(r.bindingSignatures,i,ne.signature.subkeyBinding,e,t,n);if(lu(r.keyPacket,a))return du(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&lu(i,a.selfCertification))return du(i,n),this}catch(e){s=e}throw $.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,n=ie){return ou(this.keyPacket,ne.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(tu(n,i,e))throw Error("Primary key is expired");const a=await eu(this.directSignatures,n,ne.signature.key,{key:n},e,r).catch((()=>{}));if(a&&tu(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=cu(this.keyPacket,n),a=n.getExpirationTime(),s=await eu(this.directSignatures,this.keyPacket,ne.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=cu(this.keyPacket,s);r=Math.min(i,a,e)}else r=i<a?i:a}catch(e){r=null}return $.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 eu(a.selfCertifications,n,ne.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 su(e,n,"revocationSignatures",t,(i=>ou(n.keyPacket,ne.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await su(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 eu(this.revocationSignatures,this.keyPacket,ne.signature.keyRevocation,r,e,t),i=new vh;return i.push(n),de(ne.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 vh.fromBinary(n.data,gu,r)).findPacket(ne.packet.signature);if(!i||i.signatureType!==ne.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,ne.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw $.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=>{bu.prototype[e]=fu.prototype[e]}));class ku extends bu{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([ne.packet.secretKey,ne.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=ie){return de(ne.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class vu extends ku{constructor(e){if(super(),this.packetListToStructure(e,new Set([ne.packet.publicKey,ne.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new vh,t=this.toPacketList();let r=!1;for(const n of t)if(!r||n.constructor.tag!==ne.packet.Signature)switch(r&&(r=!1),n.constructor.tag){case ne.packet.secretKey:{const t=ne.write(ne.publicKey,n.algorithm);if(t===ne.publicKey.aead||t===ne.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=Mh.fromSecretKeyPacket(n);e.push(r);break}case ne.packet.secretSubkey:{const t=ne.write(ne.publicKey,n.algorithm);if(t===ne.publicKey.aead||t===ne.publicKey.hmac){r=!0;break}const i=Fh.fromSecretSubkeyPacket(n);e.push(i);break}default:e.push(n)}return new ku(e)}armor(e=ie){return de(ne.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};yu(await eu(this.subkeys[r].bindingSignatures,i,ne.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)||!yu(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=ne.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 au(i,null,this.keyPacket,{signatureType:ne.signature.keyRevocation,reasonForRevocationFlag:ne.write(ne.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=hu(e,n);const i=await Xh(e);du(i,t);const a=await ru(i,r,e,t),s=this.toPacketList();return s.push(i,a),new vu(s)}}const Au=/*#__PURE__*/$.constructAllowedPackets([Mh,Fh,Hh,Wh,Vh,jh,mh]);function _u(e){for(const t of e)switch(t.constructor.tag){case ne.packet.secretKey:return new vu(e);case ne.packet.publicKey:return new ku(e)}throw Error("No key packet found")}async function Eu(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 vh;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=Vh.fromObject(t),o={};o.userID=s,o.key=e;const c=new mh;return c.signatureType=ne.signature.certGeneric,c.publicKeyAlgorithm=e.algorithm,c.hashAlgorithm=await nu(null,e,void 0,void 0,n),c.keyFlags=[ne.keyFlags.certifyKeys|ne.keyFlags.signData],c.preferredSymmetricAlgorithms=a([ne.symmetric.aes256,ne.symmetric.aes128,ne.symmetric.aes192],n.preferredSymmetricAlgorithm),n.aeadProtect&&(c.preferredAEADAlgorithms=a([ne.aead.eax,ne.aead.ocb],n.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([ne.hash.sha256,ne.hash.sha512],n.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([ne.compression.zlib,ne.compression.zip,ne.compression.uncompressed],n.preferredCompressionAlgorithm),0===i&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=ne.features.modificationDetection,n.aeadProtect&&(c.features[0]|=ne.features.aead),n.v5Keys&&(c.features[0]|=ne.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1),await c.sign(e,o,r.date),{userIDPacket:s,signaturePacket:c}}))).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 ru(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 au(a,null,e,{signatureType:ne.signature.keyRevocation,reasonForRevocationFlag:ne.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 vu(i)}async function Su({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&&!$.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!$.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!==ne.armor.publicKey&&t!==ne.armor.privateKey)throw Error("Armored text not of type key");a=n}else a=t;return _u(await vh.fromBinary(a,Au,r))}async function Ku({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&&!$.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!$.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!==ne.armor.privateKey)throw Error("Armored text not of type private key");a=n}else a=t;const s=await vh.fromBinary(a,Au,r);return new vu(s)}async function xu({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&&!$.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!$.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!==ne.armor.publicKey&&t!==ne.armor.privateKey)throw Error("Armored text not of type key");i=n}const s=[],o=await vh.fromBinary(i,Au,r),c=o.indexOfTag(ne.packet.publicKey,ne.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=_u(o.slice(c[e],c[e+1]));s.push(t)}return s}async function Pu({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&&!$.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!$.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:i}=await ye(e,r);if(t!==ne.armor.privateKey)throw Error("Armored text not of type private key");n=i}const i=[],a=await vh.fromBinary(n,Au,r),s=a.indexOfTag(ne.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 vu(t);i.push(r)}return i}const Uu=/*#__PURE__*/$.constructAllowedPackets([ph,_h,Bh,Ih,Oh,zh,Rh,bh,mh]),Du=/*#__PURE__*/$.constructAllowedPackets([Rh]),Cu=/*#__PURE__*/$.constructAllowedPackets([mh]);class Iu{constructor(e){this.packets=e||new vh}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(ne.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(ne.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(ne.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(ne.packet.symmetricallyEncryptedData,ne.packet.symEncryptedIntegrityProtectedData,ne.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(!$.isUint8Array(t)||!$.isString(e))throw Error("Invalid session key for decryption.");try{const r=ne.write(ne.symmetric,e);await o.decrypt(r,t,i)}catch(e){$.printDebugError(e),c=e}})));if(H(o.encrypted),o.encrypted=null,await h,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const u=new Iu(o.packets);return o.packets=new vh,u}async decryptSessionKeys(e,t,r=new Date,n=ie){let i,a=[];if(t){const e=this.packets.filterByTag(ne.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 vh.fromBinary(e.write(),Du,n):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){$.printDebugError(e),e instanceof ba&&(i=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(ne.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=[ne.symmetric.aes256,ne.symmetric.aes128,ne.symmetric.tripledes,ne.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===ne.publicKey.rsaEncrypt||t.publicKeyAlgorithm===ne.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===ne.publicKey.rsaSign||t.publicKeyAlgorithm===ne.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(n.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const n=new zh;n.read(r);const s={sessionKeyAlgorithm:t,sessionKey:wa.generateSessionKey(t)};try{await n.decrypt(e,s),a.push(n)}catch(e){$.printDebugError(e),i=e}})))}else try{if(await t.decrypt(e),!s.includes(ne.write(ne.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){$.printDebugError(e),i=e}})))}))),H(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+$.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:ne.read(ne.symmetric,e.sessionKeyAlgorithm)})))}throw i||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(ne.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(ne.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(ne.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=ie){const i=await iu("symmetric",e,t,r,n),a=ne.read(ne.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]&ne.features.aead||(i=!1)}))),i}(e,t,r,n)?ne.read(ne.aead,await iu("aead",e,t,r,n)):void 0;return{data:wa.generateSessionKey(i),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,n=!1,i=[],a=new Date,s=[],o=ie){if(r){if(!$.isUint8Array(r.data)||!$.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Iu.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Iu.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:h,aeadAlgorithm:u}=r,l=await Iu.encryptSessionKey(c,h,u,e,t,n,i,a,s,o);let y;u?(y=new Bh,y.aeadAlgorithm=ne.write(ne.aead,u)):y=new Ih,y.packets=this.packets;const d=ne.write(ne.symmetric,h);return await y.encrypt(d,c,o),l.packets.push(y),y.packets=new vh,l}static async encryptSessionKey(e,t,r,n,i,a=!1,s=[],o=new Date,c=[],h=ie){const u=new vh,l=ne.write(ne.symmetric,t),y=r&&ne.write(ne.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 zh;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 Rh(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 Iu(u)}async sign(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new vh,c=this.packets.findPacket(ne.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let h,u;const l=null===c.text?ne.signature.binary:ne.signature.text;if(t)for(u=t.packets.filterByTag(ne.packet.signature),h=u.length-1;h>=0;h--){const t=u[h],r=new bh;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 bh;return h.signatureType=l,h.hashAlgorithm=await nu(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 Tu(c,e,t,r,n,i,a,!1,s)),new Iu(o)}compress(e,t=ie){if(e===ne.compression.uncompressed)return this;const r=new _h(t);r.algorithm=e,r.packets=this.packets;const n=new vh;return n.push(r),new Iu(n)}async signDetached(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=this.packets.findPacket(ne.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new Qh(await Tu(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(ne.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 j(n.packets.stream,(e=>e||[])));const a=n.packets.filterByTag(ne.packet.onePassSignature).reverse(),o=n.packets.filterByTag(ne.packet.signature);return a.length&&!o.length&&$.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=j(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)}})),Bu(a,i,e,t,!1,r)):Bu(o,i,e,t,!1,r)}verifyDetached(e,t,r=new Date,n=ie){const i=this.unwrapCompressed().packets.filterByTag(ne.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");return Bu(e.packets,i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(ne.packet.compressedData);return e.length?new Iu(e[0].packets):this}async appendSignature(e,t=ie){await this.packets.read($.isUint8Array(e)?e:(await ye(e)).data,Cu,t)}write(){return this.packets.write()}armor(e=ie){return de(ne.armor.message,this.write(),null,null,null,e)}}async function Tu(e,t,r=null,n=[],i=new Date,a=[],s=[],o=!1,c=ie){const h=new vh,u=null===e.text?ne.signature.binary:ne.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 au(e,t,l.keyPacket,{signatureType:u},i,h,s,o,c)}))).then((e=>{h.push(...e)})),r){const e=r.packets.filterByTag(ne.packet.signature);h.push(...e)}return h}async function Bu(e,t,r,n=new Date,i=!1,a=ie){return Promise.all(e.filter((function(e){return["text","binary"].includes(ne.read(ne.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 bh?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 vh;return e&&t.push(e),new Qh(t)})()};return h.signature.catch((()=>{})),h.verified.catch((()=>{})),h}(e,t,r,n,i,a)})))}async function zu({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&&!$.isString(e)&&!$.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!$.isUint8Array(t)&&!$.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=$.isStream(i);if(s&&(await S(),i=x(i)),e){const{type:e,data:t}=await ye(i,r);if(e!==ne.armor.message)throw Error("Armored text not of type message");i=t}const o=await vh.fromBinary(i,Uu,r),c=new Iu(o);return c.fromStream=s,c}async function Ru({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&&!$.isString(e)&&!$.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!$.isUint8Array(t)&&!$.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=$.isStream(s);c&&(await S(),s=x(s));const h=new ph(n);void 0!==e?h.setText(s,ne.write(ne.literal,i)):h.setBytes(s,ne.write(ne.literal,i)),void 0!==r&&h.setFilename(r);const u=new vh;u.push(h);const l=new Iu(u);return l.fromStream=c,l}const Mu=/*#__PURE__*/$.constructAllowedPackets([mh]);class Nu{constructor(e,t){if(this.text=$.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof Qh))throw Error("Invalid signature input");this.signature=t||new Qh(new vh)}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 ph;o.setText(this.text);const c=new Qh(await Tu(o,e,t,r,n,i,a,!0,s));return new Nu(this.text,c)}verify(e,t=new Date,r=ie){const n=this.signature.packets,i=new ph;return i.setText(this.text),Bu(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 ne.read(ne.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(ne.armor.signed,r,void 0,void 0,void 0,e)}}async function Ou({cleartextMessage:e,config:t,...r}){if(t={...ie,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!$.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!==ne.armor.signed)throw Error("No cleartext signed message.");const a=await vh.fromBinary(i.data,Mu,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===ne.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 ne.write(ne.hash,e)}catch(t){throw Error("Unknown hash algorithm in armor header: "+e)}})),i=i.concat(n)})),!i.length&&!r([ne.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 Qh(a);return new Nu(i.text,s)}async function Lu({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!$.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 Nu(e)}async function Fu({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}){nl(h={...ie,...h}),e=il(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=hu(e)).subkeys=e.subkeys.map(((t,r)=>hu(e.subkeys[r],e)));let r=[Jh(e,t)];r=r.concat(e.subkeys.map((e=>Xh(e,t))));const n=await Promise.all(r),i=await Eu(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})=>du(e,h))),{privateKey:ol(e,c,h),publicKey:"symmetric"!==r?ol(e.toPublic(),c,h):null,revocationCertificate:t}}catch(e){throw $.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}){nl(s={...ie,...s}),t=il(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 eu(e.bindingSignatures,n,ne.signature.subkeyBinding,i,null,t).catch((()=>({})));return{sign:a.keyFlags&&a.keyFlags[0]&ne.keyFlags.signData,forwarding:a.keyFlags&&a.keyFlags[0]&ne.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 Eu(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=$.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(h,s);return{privateKey:ol(e,a,s),publicKey:ol(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw $.wrapError("Error reformatting keypair",e)}}async function Hu({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:a,...s}){nl(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:ol(s,i,a),publicKey:ol(s.toPublic(),i,a)}:{privateKey:null,publicKey:ol(s,i,a)}}catch(e){throw $.wrapError("Error revoking key",e)}}async function qu({privateKey:e,passphrase:t,config:r,...n}){nl(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=$.isArray(t)?t:[t];try{return await Promise.all(a.getKeys().map((e=>$.anyPromise(s.map((t=>e.keyPacket.decrypt(t))))))),await a.validate(r),a}catch(e){throw a.clearPrivateParams(),$.wrapError("Error decrypting private key",e)}}async function Gu({privateKey:e,passphrase:t,config:r,...n}){nl(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=$.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(),$.wrapError("Error encrypting private key",e)}}async function Vu({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(nl(p={...ie,...p}),Ju(e),tl(a),t=il(t),r=il(r),n=il(n),c=il(c),h=il(h),l=il(l),y=il(y),d=il(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 iu("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 al(f?e.armor(p):e.write(),m,f?"utf8":"binary")}catch(e){throw $.wrapError("Error encrypting message",e)}}async function Wu({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(nl(h={...ie,...h}),Ju(e),i=il(i),t=il(t),r=il(r),n=il(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(),sl(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 $.anyPromise(l.signatures.map((e=>e.verified)))}))])}return l.data=await al(l.data,e.fromStream,s),l}catch(e){throw $.wrapError("Error decrypting message",e)}}async function $u({message:e,signingKeys:t,format:r="armored",detached:n=!1,signingKeyIDs:i=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...h}){if(nl(c={...ie,...c}),el(e),tl(r),t=il(t),i=il(i),s=il(s),o=il(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 Nu&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Nu&&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),j(e).catch((()=>{}))])}))),al(h,e.fromStream,u?"utf8":"binary")}catch(e){throw $.wrapError("Error signing message",e)}}async function Zu({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:a=new Date,config:s,...o}){if(nl(s={...ie,...s}),el(e),t=il(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 Nu&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof Nu&&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&&sl(o,e),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=U([o.data,q((async()=>{await $.anyPromise(o.signatures.map((e=>e.verified)))}))])}return o.data=await al(o.data,e.fromStream,n),o}catch(e){throw $.wrapError("Error verifying signed message",e)}}async function Qu({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(nl(n={...ie,...n}),e=il(e),r=il(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 Iu.generateSessionKey(e,t,r,n)}catch(e){throw $.wrapError("Error generating session key",e)}}async function Yu({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(nl(u={...ie,...u}),function(e,t){if(!$.isUint8Array(e))throw Error("Parameter ["+(t||"data")+"] must be of type Uint8Array")}(e),function(e,t){if(!$.isString(e))throw Error("Parameter ["+(t||"data")+"] must be of type String")}(t,"algorithm"),tl(a),n=il(n),i=il(i),o=il(o),h=il(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 ol(await Iu.encryptSessionKey(e,t,r,n,i,s,o,c,h,u),a,u)}catch(e){throw $.wrapError("Error encrypting session key",e)}}async function Xu({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...a}){if(nl(i={...ie,...i}),Ju(e),t=il(t),r=il(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 $.wrapError("Error decrypting session keys",e)}}function Ju(e){if(!(e instanceof Iu))throw Error("Parameter [message] needs to be of type Message")}function el(e){if(!(e instanceof Nu||e instanceof Iu))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function tl(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const rl=Object.keys(ie).length;function nl(e){const t=Object.keys(e);if(t.length!==rl)for(const e of t)if(void 0===ie[e])throw Error("Unknown config property: "+e)}function il(e){return e&&!$.isArray(e)&&(e=[e]),e}async function al(e,t,r="utf8"){const n=$.isStream(e);return"array"===n?j(e):"node"===t?(e=g(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===n?v(e):e}function sl(e,t){e.data=R(t.packets.stream,(async(t,r)=>{await I(e.data,r,{preventClose:!0});const n=C(r);try{await j(t,(e=>e)),await n.close()}catch(e){await n.abort(e)}}))}function ol(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{Bh as AEADEncryptedDataPacket,Nu as CleartextMessage,_h as CompressedDataPacket,ca as KDFParams,ph as LiteralDataPacket,Lh as MarkerPacket,Iu as Message,bh as OnePassSignaturePacket,vh as PacketList,vu as PrivateKey,ku as PublicKey,zh as PublicKeyEncryptedSessionKeyPacket,Mh as PublicKeyPacket,Fh as PublicSubkeyPacket,Hh as SecretKeyPacket,Wh as SecretSubkeyPacket,Qh as Signature,mh as SignaturePacket,fu as Subkey,Ih as SymEncryptedIntegrityProtectedDataPacket,Rh as SymEncryptedSessionKeyPacket,Oh as SymmetricallyEncryptedDataPacket,$h as TrustPacket,gi as UnparseablePacket,jh as UserAttributePacket,Vh as UserIDPacket,Mt as _,tt as a,de as armor,At as b,rt as c,ie as config,Lu as createCleartextMessage,Ru as createMessage,gt as d,Wu as decrypt,qu as decryptKey,Xu as decryptSessionKeys,zt as e,Vu as encrypt,Gu as encryptKey,Yu as encryptSessionKey,ne as enums,yr as f,Xt as g,Fu as generateKey,Qu as generateSessionKey,it as i,Je as m,xr as r,Ou as readCleartextMessage,Su as readKey,xu as readKeys,zu as readMessage,Ku as readPrivateKey,Pu as readPrivateKeys,Yh as readSignature,ju as reformatKey,Hu as revokeKey,$u as sign,dt as u,ye as unarmor,Zu as verify};
1
+ /*! OpenPGP.js v5.10.2 - 2023-09-18 - 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 p=c&&void 0,d=c&&void 0;let f,g;if(d){f=function(e){let t=!1;return new A({start(r){e.pause(),e.on("data",(n=>{t||(p.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 d{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)||this._cancelling){this._reading=!1;break}}}catch(e){this.emit("error",e)}}_destroy(e){this._reader.cancel(e)}}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=()=>{})}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 N(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 L(e){return s(e)?N(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",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",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,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.10.2",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])};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=[],p=te(R(e,(async(e,t)=>{const d=D(e);try{for(;;){let e=await d.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:p,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 d.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await d.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)}})));p=R(p,(async(e,r)=>{const n=H(oe(L(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 pe(e,t,r,n,i,a=ie){let s,o;e===$.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=L(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 de{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 de;return t.read(X.hexToUint8Array(e)),t}static wildcard(){const e=new de;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,p=0,d=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,p=0,d=0,f=0,g=0,m=0,w=0,b=0;y=r|0x400,p=r|0x800,d=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[(p|u>>6&1020)>>2]^E[(d|l<<2&1020)>>2]^E[(e|b|0)>>2],g=E[(r|h>>22&1020)>>2]^E[(y|u>>14&1020)>>2]^E[(p|l>>6&1020)>>2]^E[(d|c<<2&1020)>>2]^E[(e|b|4)>>2],m=E[(r|u>>22&1020)>>2]^E[(y|l>>14&1020)>>2]^E[(p|c>>6&1020)>>2]^E[(d|h<<2&1020)>>2]^E[(e|b|8)>>2],w=E[(r|l>>22&1020)>>2]^E[(y|c>>14&1020)>>2]^E[(p|h>>6&1020)>>2]^E[(d|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,p,d);d=~w&d|w&d+1;p=~m&p|m&p+((d|0)==0);y=~g&y|g&y+((p|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,p=0,d=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,p=p^t,d=d^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=p,h=d,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 N(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 L(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;l=e,y=t,p=r,d=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;d=~w&d|w&n,p=~m&p|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:N,set_nonce:L,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 p=r.subarray(0,60),d=r.subarray(256,316);p.set([t,n,a,s,c,h,l,y]);for(var f=e,g=1;f<4*e+28;f++){var m=p[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)),p[f]=p[f-e]^m}for(var w=0;w<f;w+=4)for(var b=0;b<4;b++){m=p[f-(4+w)+(4-b)%4];d[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 p=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&&p.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,p}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],p=[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 d,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],d=v[f];d!==S;d+=x)m=k^e[d],w=(k>>>4|k<<28)^e[d+1],g=b,b=k,k=g^(o[m>>>24&63]|h[m>>>16&63]|l[m>>>8&63]|p[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],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[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]|p[_>>>8&15]|d[_>>>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 Ne(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 p=[];let d,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++)d=_[1][r],f=K(d),g=S(d),E[0][r]=d+(f<<8)+(g<<16)+(g<<24),E[2][r]=f+(g<<8)+(d<<16)+(g<<24),d=_[0][r],f=K(d),g=S(d),E[1][r]=g+(g<<8)+(f<<16)+(d<<24),E[3][r]=f+(d<<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,p[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(p[3],0),s=_[0][s]^Me(p[3],1),o=_[0][o]^Me(p[3],2),c=_[1][c]^Me(p[3],3);case 3:a=_[1][a]^Me(p[2],0),s=_[1][s]^Me(p[2],1),o=_[0][o]^Me(p[2],2),c=_[0][c]^Me(p[2],3);case 2:i[0][r]=E[0][_[0][_[0][a]^Me(p[1],0)]^Me(p[0],0)],i[1][r]=E[1][_[0][_[1][s]^Me(p[1],1)]^Me(p[0],1)],i[2][r]=E[2][_[1][_[0][o]^Me(p[1],2)]^Me(p[0],2)],i[3][r]=E[3][_[1][_[1][c]^Me(p[1],3)]^Me(p[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 Le(){}function Oe(e){this.bf=new Le,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Ne.keySize=Ne.prototype.keySize=32,Ne.blockSize=Ne.prototype.blockSize=16,Le.prototype.BLOCKSIZE=8,Le.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]],Le.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Le.prototype.NN=16,Le.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Le.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},Le.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)},Le.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},Le.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)},Le.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:Ne,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,p=0,d=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,p,d,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;p=p|0;d=d|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,N=0,L=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,pe=0,de=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=p+(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=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^p^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^d^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^p^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^d^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^p;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^d;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;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=R^C^w^g;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=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=N^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=L^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^N^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^L^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^N^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^L^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^N;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^L;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;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=le^se^ee^Y;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=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=pe^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=de^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^pe^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^de^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^pe^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^de^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^pe;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^de;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,p){e=e|0;t=t|0;r=r|0;u=u|0;l=l|0;y=y|0;p=p|0;n=e;i=t;a=r;s=u;o=l;c=y;h=p}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=p;o=d;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;p=s;d=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,p=0;if(e&63)return-1;if(~r)if(r&31)return-1;p=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 p|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,p=0,d=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,p=w=s,d=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;p=p^s;d=d^o;c=c-1|0}n=u;i=l;a=y;s=p;o=d;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,p=0,d=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,p,d,f,g,m,w,b,k,v,A,_){e=e|0;t=t|0;r=r|0;l=l|0;y=y|0;p=p|0;d=d|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=p+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=d+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=(p>>>7^p>>>18^p>>>3^p<<25^p<<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;p=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+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;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+_|0;K=d+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)+(p>>>17^p>>>19^p>>>10^p<<15^p<<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)+(d>>>17^d>>>19^d>>>10^d<<15^d<<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+p|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+d|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=(p>>>7^p>>>18^p>>>3^p<<25^p<<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;p=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+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;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+_|0;K=d+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)+(p>>>17^p>>>19^p>>>10^p<<15^p<<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)+(d>>>17^d>>>19^d>>>10^d<<15^d<<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+p|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+d|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=(p>>>7^p>>>18^p>>>3^p<<25^p<<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;p=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+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;d=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+_|0;K=d+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)+(p>>>17^p>>>19^p>>>10^p<<15^p<<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)+(d>>>17^d>>>19^d>>>10^d<<15^d<<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+p|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+d|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,p,d,f,g,m,w,b){e=e|0;t=t|0;r=r|0;p=p|0;d=d|0;f=f|0;g=g|0;m=m|0;w=w|0;b=b|0;n=e;i=t;a=r;s=p;o=d;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=p;i=d;a=f;s=g;o=m;c=w;h=b;u=k;l=64;y=0}function N(){n=v;i=A;a=_;s=E;o=K;c=S;h=x;u=P;l=64;y=0}function L(e,t,r,U,C,I,B,z,R,M,N,L,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;N=N|0;L=L|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,N^0x5c5c5c5c,L^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,N^0x36363636,L^0x36363636,O^0x36363636,F^0x36363636,H^0x36363636,j^0x36363636);p=n;d=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,p=0,d=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,p=a,d=s,f=o,g=c,m=h,w=u;N();D(l,y,p,d,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 p=0,d=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;p=v=n,d=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;N();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;p=p^n;d=d^i;f=f^a;g=g^s;m=m^o;w=w^c;b=b^h;k=k^u;l=l-1|0}n=p;i=d;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:L,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 pt={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 dt(){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=dt;dt.prototype.update=function(e,t){if(e=pt.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=pt.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},dt.prototype.digest=function(e){return this.update(this._pad()),Je(null===this.pending),this._digest(e)},dt.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=pt.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=pt.sum32,Et=pt.sum32_4,Kt=pt.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)}pt.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]),p=_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,p)}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?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.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?pt.toHex32(this.h.slice(0,7),"big"):pt.split32(this.h.slice(0,7),"big")};var Nt=pt.rotr64_hi,Lt=pt.rotr64_lo,Ot=pt.shr64_hi,Ft=pt.shr64_lo,Ht=pt.sum64,jt=pt.sum64_hi,qt=pt.sum64_lo,Gt=pt.sum64_4_hi,Vt=pt.sum64_4_lo,Wt=pt.sum64_5_hi,$t=pt.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)}pt.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=Nt(e,t,28)^Nt(t,e,2)^Nt(t,e,7);return r<0&&(r+=4294967296),r}function ir(e,t){var r=Lt(e,t,28)^Lt(t,e,2)^Lt(t,e,7);return r<0&&(r+=4294967296),r}function ar(e,t){var r=Nt(e,t,14)^Nt(e,t,18)^Nt(t,e,9);return r<0&&(r+=4294967296),r}function sr(e,t){var r=Lt(e,t,14)^Lt(e,t,18)^Lt(t,e,9);return r<0&&(r+=4294967296),r}function or(e,t){var r=Nt(e,t,1)^Nt(e,t,8)^Ot(e,t,7);return r<0&&(r+=4294967296),r}function cr(e,t){var r=Lt(e,t,1)^Lt(e,t,8)^Ft(e,t,7);return r<0&&(r+=4294967296),r}function hr(e,t){var r=Nt(e,t,19)^Nt(t,e,29)^Ot(e,t,6);return r<0&&(r+=4294967296),r}function ur(e,t){var r=Lt(e,t,19)^Lt(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],p=this.h[10],d=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,p,d,f),K=er(l,y,p,d,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=p,g=d,p=l,d=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,p,d),Ht(this.h,12,f,g),Ht(this.h,14,m,w)},Qt.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"big"):pt.split32(this.h,"big")},pt.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?pt.toHex32(this.h.slice(0,12),"big"):pt.split32(this.h.slice(0,12),"big")};var pr=pt.rotl32,dr=pt.sum32,fr=pt.sum32_3,gr=pt.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"}pt.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 p=dr(pr(gr(r,kr(y,n,i,a),e[_r[y]+t],vr(y)),Kr[y]),s);r=s,s=a,a=pr(i,10),i=n,n=p,p=dr(pr(gr(o,kr(79-y,c,h,u),e[Er[y]+t],Ar(y)),Sr[y]),l),o=l,l=u,u=pr(h,10),h=c,c=p}p=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]=p},wr.prototype._digest=function(e){return"hex"===e?pt.toHex32(this.h,"little"):pt.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 Nr=X.getWebCrypto(),Lr=X.getNodeCrypto(),Or=Lr&&Lr.getHashes();function Fr(e){if(Lr&&Or.includes(e))return async function(t){const r=Lr.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)&&Nr&&t&&r.length>=n.minBytesForWebCrypto)return new Uint8Array(await Nr.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 Nr&&t&&r.length>=n.minBytesForWebCrypto?new Uint8Array(await Nr.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,pn=ln,dn=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(dn,t),r(fn,i)]),o=await n(e,a),c=await r(gn,o);for(let e=0;e<pn;e++)c[e]^=s[e]^a[e];return X.concatUint8Array([o,c])},decrypt:async function(e,t,i){if(e.length<pn)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-pn),s=e.subarray(-pn),[o,c,h]=await Promise.all([r(dn,t),r(fn,i),r(gn,a)]),u=h;for(let e=0;e<pn;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=pn;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),p=new Uint8Array(kn),d=new Uint8Array(t.length+An);let f,g=0;for(f=0;f<o;f++)En(y,i[_n(f+1)]),d.set(En(e(Kn(y,t)),y),g),En(p,e===r?t:d.subarray(g)),t=t.subarray(kn),g+=kn;if(t.length){En(y,i.x);const n=r(y);d.set(Kn(t,n),g);const a=new Uint8Array(kn);a.set(e===r?t:d.subarray(g,-An),0),a[t.length]=128,En(p,a),g+=t.length}const m=En(r(En(En(p,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 d.set(m,g),d}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 p=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&&p.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,p}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 p=0;for(let e=0;e<r;++e)p|=h[e]^t[e];if(p)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.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 X.getNodeCrypto()?{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)}}:{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},Nn=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 p(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function d(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(d(o),d(o),d(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,p=0,d=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],N=r[2],L=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*N,c+=n*L,h+=n*O,u+=n*F,l+=n*H,y+=n*j,p+=n*q,d+=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*N,h+=n*L,u+=n*O,l+=n*F,y+=n*H,p+=n*j,d+=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*N,u+=n*L,l+=n*O,y+=n*F,p+=n*H,d+=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*N,l+=n*L,y+=n*O,p+=n*F,d+=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*N,y+=n*L,p+=n*O,d+=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*N,p+=n*L,d+=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,p+=n*N,d+=n*L,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,p+=n*M,d+=n*N,f+=n*L,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,p+=(n=t[8])*R,d+=n*M,f+=n*N,g+=n*L,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,d+=(n=t[9])*R,f+=n*M,g+=n*N,m+=n*L,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*N,w+=n*L,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*N,b+=n*L,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*N,k+=n*L,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*N,v+=n*L,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*N,A+=n*L,_+=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*N),o+=38*(_+=n*L),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),p+=38*(U+=n*G),d+=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)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+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)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+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]=p,e[9]=d,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(),p=t(),d=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(p,h,l),v(h,h,l),k(l,u,y),v(u,u,y),_(y,p),_(d,h),A(h,l,h),A(l,u,p),k(p,h,l),v(h,h,l),_(u,h),v(l,y,d),A(h,l,s),k(h,h,y),A(l,l,h),A(h,y,d),A(y,u,c),_(u,p),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(p(e[0],i),p(e[1],a),p(e[2],a),p(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()];p(n[0],h),p(n[1],u),p(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(),d=t();return p(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(d,y,u),A(n,d,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 N(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function L(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(N(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(N(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(N(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 p=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,p))),C(y,c),U(r,y),h=32;h<64;h++)r[h]=a[h];for(z(o=e.hash(r.subarray(0,p))),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(N(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(N(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(N(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];L(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];L(i)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const Ln=X.getNodeCrypto();function On(e){const t=new Uint8Array(e);if("undefined"!=typeof crypto&&crypto.getRandomValues)crypto.getRandomValues(t);else{if(!Ln)throw Error("No secure random number generator available.");{const e=Ln.randomBytes(t.length);t.set(e)}}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)),p=l.mod(h.subn(1)),d=Yn.createSign($.read($.hash,e));d.write(t),d.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:p,coefficient:new c(o)};if(void 0!==Yn.createPrivateKey){const e=ei.encode(f,"der");return new Uint8Array(d.sign({key:e,format:"der",type:"pkcs1"}))}const g=ei.encode(f,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(d.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){return X.getNodeCrypto()?async function(e,t,r,n,i,a,s,o){const{default:c}=await import("./bn.min.mjs"),h=new c(i),u=new c(a),l=new c(n),y=l.mod(u.subn(1)),p=l.mod(h.subn(1)),d={version:0,modulus:new c(t),publicExponent:new c(r),privateExponent:new c(n),prime1:new c(a),prime2:new c(i),exponent1:y,exponent2:p,coefficient:new c(s)};let f;if(void 0!==Yn.createPrivateKey){f={key:ei.encode(d,"der"),format:"der",type:"pkcs1",padding:Yn.constants.RSA_PKCS1_PADDING}}else{f={key:ei.encode(d,"pem",{label:"RSA PRIVATE KEY"}),padding:Yn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(Yn.privateDecrypt(f,e))}catch(e){if(o)return o;throw Error("Decryption error")}}(e,t,r,n,i,a,s,o):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 p=e.modExp(u,i),d=e.modExp(h,a),f=s.mul(d.sub(p)).mod(a);let g=f.mul(i).add(p);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)),p=e.dec().imul(y).iadd(n);return!!r.equal(t.modExp(p,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 pi(e){return[$.packet.literalData,$.packet.compressedData,$.packet.symmetricallyEncryptedData,$.packet.symEncryptedIntegrityProtectedData,$.packet.aeadEncryptedData].includes(e)}async function di(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=pi(u);let p,d=null;if(y){if("array"===X.isStream(e)){const e=new a;n=C(e),d=e}else{const e=new E;n=C(e.writable),d=e.readable}i=t({tag:u,packet:d})}else d=[];do{if(l){const e=await r.readByte();if(p=!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),p=!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):d.push(a),e+=i.length,e>=c){r.unshift(i.subarray(c-e+i.length));break}}}}while(p);const f=await r.peekBytes(y?1/0:2);return n?(await n.ready,await n.close()):(d=X.concatUint8Array(d),await t({tag:u,packet:d})),!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.eddsa,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=Nn.box.keyPair.fromSecretKey(r);return{publicKey:X.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=On(32),t=Nn.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}=Nn.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)}}});Nn.hash=e=>new Uint8Array(Yt().update(e).digest());var Ni=/*#__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: sha256 or stronger is required for EdDSA.");const s=X.concatUint8Array([i,n.subarray(1)]),o=Nn.sign.detached(a,s);return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:n},i,a,s){const o=X.concatUint8Array([r,n]);return Nn.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:n}=Nn.sign.keyPair.fromSeed(r),i=new Uint8Array([64,...n]);return X.equalsUint8Array(t,i)}});Nn.hash=e=>new Uint8Array(Yt().update(e).digest());var Li=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.ed25519){const e=On(32),{publicKey:t}=Nn.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($.hash.sha256))throw Error("Hash algorithm too weak: sha256 or stronger is required for EdDSA.");switch(e){case $.publicKey.ed25519:{const e=X.concatUint8Array([i,n]);return{RS:Nn.sign.detached(a,e)}}case $.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(e,t,{RS:r},n,i,a){switch(e){case $.publicKey.ed25519:return Nn.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}=Nn.sign.keyPair.fromSeed(r);return X.equalsUint8Array(t,e)}case $.publicKey.ed448:default:return!1}}});function Oi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=Hi(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=Hi(r.encrypt(ji(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 ji(a,s)}function Fi(e,t){const r=new qe["aes"+8*e.length](e),n=new Uint32Array([2795939494,2795939494]),i=Hi(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=Hi(r.decrypt(ji(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 ji(s);throw Error("Key Data Integrity failed")}function Hi(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 ji(){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 qi=/*#__PURE__*/Object.freeze({__proto__:null,wrap:Oi,unwrap:Fi});function Gi(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function Vi(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 Wi=/*#__PURE__*/Object.freeze({__proto__:null,encode:Gi,decode:Vi});const $i=X.getWebCrypto(),Zi=X.getNodeCrypto();function Xi(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 Yi(e,t){switch(e.type){case"curve25519":{const r=On(32),{secretKey:n,sharedKey:i}=await Ji(e,t,null,r);let{publicKey:a}=Nn.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=$i.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),i=$i.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[n,i]=await Promise.all([n,i]);let a=$i.deriveBits({name:"ECDH",namedCurve:e.web.web,public:i},n.privateKey,e.web.sharedSize),s=$i.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=Zi.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 Ji(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:Nn.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=$i.importKey("jwk",i,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=Si(e.payloadSize,e.web.web,t);let o=$i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=$i.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),h=$i.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=Zi.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 ea=/*#__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=Gi(r),s=new _i(e),{publicKey:o,sharedKey:c}=await Yi(s,n),h=Xi($.publicKey.ecdh,e,t,i),{keySize:u}=Wr(t.cipher);return{publicKey:o,wrappedKey:Oi(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 Ji(o,r,i,a),h=Xi($.publicKey.ecdh,e,t,s),{keySize:u}=Wr(t.cipher);let l;for(let e=0;e<3;e++)try{return Vi(Fi(await Qi(t.hash,c,u,h,1===e,2===e),n))}catch(e){l=e}throw l}});const ta=X.getWebCrypto(),ra=X.getNodeCrypto(),na=ra&&ra.webcrypto&&ra.webcrypto.subtle;async function ia(e,t,r,n,i){const a=$.read($.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");if(ta||na){const e=ta||na,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(ra){const a=$.read($.hash,e),s=(e,t)=>ra.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 aa={x25519:X.encodeUTF8("OpenPGP X25519")};var sa=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===$.publicKey.x25519){const e=On(32);e[0]&=248,e[31]=127&e[31]|64;const{publicKey:t}=Nn.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}=Nn.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=Nn.scalarMult(e,r),{publicKey:i}=Nn.box.keyPair.fromSecretKey(e),a=X.concatUint8Array([i,r,n]),{keySize:s}=Wr($.symmetric.aes128);return{ephemeralPublicKey:i,wrappedKey:Oi(await ia($.hash.sha256,a,new Uint8Array,aa.x25519,s),t)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(e,t,r,n,i){if(e===$.publicKey.x25519){const e=Nn.scalarMult(i,t),a=X.concatUint8Array([t,n,e]),{keySize:s}=Wr($.symmetric.aes128);return Fi(await ia($.hash.sha256,a,new Uint8Array,aa.x25519,s),r)}throw Error("Unsupported ECDH algorithm")}}),oa=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:_i,ecdh:ea,ecdhX:sa,ecdsa:Mi,eddsaLegacy:Ni,eddsa:Li,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 ca=/*#__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),p=t.mul(l).imod(s),d=i.modExp(y,a),f=o.modExp(p,a);return d.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))}}),ha={rsa:ri,elgamal:ni,elliptic:oa,dsa:ca,nacl:Nn};function ua(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),la(i,t);const a=new Uint8Array(n);a.fill(54),la(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 la(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class ya{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.eddsa:case $.publicKey.ed25519Legacy:{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 ya;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 ha.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 ha.dsa.verify(t,c,h,s,e,i,a,o)}case $.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new ha.elliptic.CurveWithOID(e).payloadSize,c=X.leftPad(r.r,o),h=X.leftPad(r.s,o);return ha.elliptic.ecdsa.verify(e,t,{r:c,s:h},a,i,s)}case $.publicKey.eddsa:case $.publicKey.ed25519Legacy:{const{oid:e,Q:i}=n;return ha.elliptic.eddsaLegacy.verify(e,t,r,a,i,s)}case $.publicKey.ed25519:{const{A:i}=n;return ha.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 ua(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 ha.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 ha.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 ha.elliptic.ecdsa.sign(e,t,i,s,o,a)}case $.publicKey.eddsa:case $.publicKey.ed25519Legacy:{const{oid:e,Q:s}=r,{seed:o}=n;return ha.elliptic.eddsaLegacy.sign(e,t,i,s,o,a)}case $.publicKey.ed25519:{const{A:s}=r,{seed:o}=n;return ha.elliptic.eddsa.sign(e,t,i,s,o,a)}case $.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await ua(e.getValue(),t,a);return{mac:new ya(i)}}default:throw Error("Unknown signature algorithm.")}}});class da{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 fa{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 ga=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}},ma=ga($.aead),wa=ga($.symmetric),ba=ga($.hash);class ka{static fromObject({wrappedKey:e,algorithm:t}){const r=new ka;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 va(e,t){const r=On(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await Gr.sha256(r)}}}function Aa(e){const{keySize:t}=Wr(e);return On(t)}function _a(e){const t=$.read($.aead,e);return Mn[t]}function Ea(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 ha.rsa.encrypt(i,e,t)}}case $.publicKey.elgamal:{const{p:e,g:t,y:n}=r;return ha.elgamal.encrypt(i,e,t,n)}case $.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:n}=r,{publicKey:s,wrappedKey:o}=await ha.elliptic.ecdh.encrypt(e,n,i,t,a);return{V:s,C:new da(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 ha.elliptic.ecdhX.encrypt(e,i,n);return{ephemeralPublicKey:a,C:ka.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=_a(ie.preferredAEADAlgorithm),{ivLength:c}=o,h=On(c),u=await o(t,a),l=await u.encrypt(i,h,new Uint8Array);return{aeadMode:new ma(s),iv:h,c:new ya(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 ha.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 ha.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 ha.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 ha.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=_a(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),Ea(e);const n=X.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case $.publicKey.eddsa:case $.publicKey.ed25519Legacy:{const e=new ii;r+=e.read(t),Ea(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),Ea(e);const n=X.readMPI(t.subarray(r));r+=n.length+2;const i=new fa;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 wa;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.eddsa:case $.publicKey.ed25519Legacy:{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 da;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 ka;return n.read(t.subarray(r)),{ephemeralPublicKey:e,C:n}}case $.publicKey.aead:{const e=new ma;r+=e.read(t.subarray(r));const{ivLength:n}=_a(e.getValue()),i=t.subarray(r,r+n);r+=n;const a=new ya;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 ha.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 ha.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.eddsa:case $.publicKey.ed25519Legacy:return ha.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new ii(e),Q:t}})));case $.publicKey.ecdh:return ha.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 fa({hash:n,cipher:i})}})));case $.publicKey.ed25519:return ha.elliptic.eddsa.generate(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case $.publicKey.x25519:return ha.elliptic.ecdhX.generate(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case $.publicKey.hmac:{const e=$.write($.hash,n);return va(On(Gr.getHashByteLength(e)),new ba(e))}case $.publicKey.aead:{const e=$.write($.symmetric,n);return va(Aa(e),new wa(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 ha.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 ha.dsa.validateParams(e,n,i,a,s)}case $.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:a}=r;return ha.elgamal.validateParams(e,n,i,a)}case $.publicKey.ecdsa:case $.publicKey.ecdh:{const n=ha.elliptic[$.read($.publicKey,e)],{oid:i,Q:a}=t,{d:s}=r;return n.validateParams(i,a,s)}case $.publicKey.eddsa:case $.publicKey.ed25519Legacy:{const{Q:e,oid:n}=t,{seed:i}=r;return ha.elliptic.eddsaLegacy.validateParams(n,e,i)}case $.publicKey.ed25519:{const{A:n}=t,{seed:i}=r;return ha.elliptic.eddsa.validateParams(e,n,i)}case $.publicKey.x25519:{const{A:n}=t,{k:i}=r;return ha.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:Aa,getAEADMode:_a,getCipher:Wr});const Sa={cipher:qe,hash:Gr,mode:Mn,publicKey:ha,signature:pa,random:Hn,pkcs1:Xn,pkcs5:Wi,aesKW:qi};Object.assign(Sa,Ka);class xa extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,xa),this.name="Argon2OutOfMemoryError"}}let Pa,Ua;class Da{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=Sa.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{Pa=Pa||(await import("./argon2id.min.mjs")).default,Ua=Ua||Pa();const n=await Ua,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&&(Ua=Pa(),Ua.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 xa("Could not allocate required memory for Argon2"):e}}}class Ca{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=Sa.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 Sa.hash.digest(this.algorithm,t);r.push(a),n+=a.length,i++}return X.concatUint8Array(r).subarray(0,t)}}const Ia=new Set([$.s2k.argon2,$.s2k.iterated]);function Ta(e,t=ie){switch(e){case $.s2k.argon2:return new Da(t);case $.s2k.iterated:case $.s2k.gnu:case $.s2k.salted:case $.s2k.simple:return new Ca(e,t);default:throw new fi("Unsupported S2K type "+e)}}function Ba(e){const{s2kType:t}=e;if(!Ia.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Ta(t,e)}var za="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function Ra(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const Ma={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 La=za?Uint8Array:Array,Oa=za?Uint16Array:Array,Fa=za?Int32Array:Array,Ha=za?Ma.flattenChunks:Na.flattenChunks,ja=za?Ma.arraySet:Na.arraySet;const qa=0,Ga=1,Va=2,Wa=3,$a=4,Za=5,Xa=6,Qa=0,Ya=1,Ja=2,es=-2,ts=-3,rs=-5,ns=-1,is=1,as=2,ss=3,os=4,cs=0,hs=1,us=2,ls=8;function ys(e){let t=e.length;for(;--t>=0;)e[t]=0}const ps=0,ds=1,fs=2,gs=29,ms=256,ws=ms+1+gs,bs=30,ks=19,vs=2*ws+1,As=15,_s=16,Es=7,Ks=256,Ss=16,xs=17,Ps=18,Us=[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],Ds=[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],Cs=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Is=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ts=Array(2*(ws+2));ys(Ts);const Bs=Array(2*bs);ys(Bs);const zs=Array(512);ys(zs);const Rs=Array(256);ys(Rs);const Ms=Array(gs);ys(Ms);const Ns=Array(bs);function Ls(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 Os,Fs,Hs;function js(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function qs(e){return e<256?zs[e]:zs[256+(e>>>7)]}function Gs(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Vs(e,t,r){e.bi_valid>_s-r?(e.bi_buf|=t<<e.bi_valid&65535,Gs(e,e.bi_buf),e.bi_buf=t>>_s-e.bi_valid,e.bi_valid+=r-_s):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function Ws(e,t,r){Vs(e,r[2*t],r[2*t+1])}function $s(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function Zs(e,t,r){const n=Array(As+1);let i,a,s=0;for(i=1;i<=As;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]=$s(n[t]++,t))}}function Xs(e){let t;for(t=0;t<ws;t++)e.dyn_ltree[2*t]=0;for(t=0;t<bs;t++)e.dyn_dtree[2*t]=0;for(t=0;t<ks;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*Ks]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Qs(e){e.bi_valid>8?Gs(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 Ys(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 Js(e,t,r){const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Ys(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Ys(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function eo(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?Ws(e,i,t):(a=Rs[i],Ws(e,a+ms+1,t),s=Us[a],0!==s&&(i-=Ms[a],Vs(e,i,s)),n--,a=qs(n),Ws(e,a,r),s=Ds[a],0!==s&&(n-=Ns[a],Vs(e,n,s)))}while(o<e.last_lit);Ws(e,Ks,t)}function to(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=vs,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--)Js(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Js(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++,Js(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,p,d,f=0;for(y=0;y<=As;y++)e.bl_count[y]=0;for(r[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<vs;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]++,p=0,u>=o&&(p=s[u-o]),d=r[2*u],e.opt_len+=d*(y+p),a&&(e.static_len+=d*(i[2*u+1]+p)));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),Zs(r,h,e.bl_count)}function ro(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*Ss]++):o<=10?e.bl_tree[2*xs]++:e.bl_tree[2*Ps]++,o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4))}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),n=0;n<=r;n++)if(i=s,s=t[2*(n+1)+1],!(++o<c&&i===s)){if(o<h)do{Ws(e,i,e.bl_tree)}while(0!=--o);else 0!==i?(i!==a&&(Ws(e,i,e.bl_tree),o--),Ws(e,Ss,e.bl_tree),Vs(e,o-3,2)):o<=10?(Ws(e,xs,e.bl_tree),Vs(e,o-3,3)):(Ws(e,Ps,e.bl_tree),Vs(e,o-11,7));o=0,a=i,0===s?(c=138,h=3):i===s?(c=6,h=3):(c=7,h=4)}}ys(Ns);let io=!1;function ao(e){io||(!function(){let e,t,r,n,i;const a=Array(As+1);for(r=0,n=0;n<gs-1;n++)for(Ms[n]=r,e=0;e<1<<Us[n];e++)Rs[r++]=n;for(Rs[r-1]=n,i=0,n=0;n<16;n++)for(Ns[n]=i,e=0;e<1<<Ds[n];e++)zs[i++]=n;for(i>>=7;n<bs;n++)for(Ns[n]=i<<7,e=0;e<1<<Ds[n]-7;e++)zs[256+i++]=n;for(t=0;t<=As;t++)a[t]=0;for(e=0;e<=143;)Ts[2*e+1]=8,e++,a[8]++;for(;e<=255;)Ts[2*e+1]=9,e++,a[9]++;for(;e<=279;)Ts[2*e+1]=7,e++,a[7]++;for(;e<=287;)Ts[2*e+1]=8,e++,a[8]++;for(Zs(Ts,ws+1,a),e=0;e<bs;e++)Bs[2*e+1]=5,Bs[2*e]=$s(e,5);Os=new Ls(Ts,Us,ms+1,ws,As),Fs=new Ls(Bs,Ds,0,bs,As),Hs=new Ls([],Cs,0,ks,Es)}(),io=!0),e.l_desc=new js(e.dyn_ltree,Os),e.d_desc=new js(e.dyn_dtree,Fs),e.bl_desc=new js(e.bl_tree,Hs),e.bi_buf=0,e.bi_valid=0,Xs(e)}function so(e,t,r,n){Vs(e,(ps<<1)+(n?1:0),3),function(e,t,r,n){Qs(e),n&&(Gs(e,r),Gs(e,~r)),ja(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function oo(e){Vs(e,ds<<1,3),Ws(e,Ks,Ts),function(e){16===e.bi_valid?(Gs(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 co(e,t,r,n){let i,a,s=0;e.level>0?(e.strm.data_type===us&&(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 cs;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return hs;for(t=32;t<ms;t++)if(0!==e.dyn_ltree[2*t])return hs;return cs}(e)),to(e,e.l_desc),to(e,e.d_desc),s=function(e){let t;for(ro(e,e.dyn_ltree,e.l_desc.max_code),ro(e,e.dyn_dtree,e.d_desc.max_code),to(e,e.bl_desc),t=ks-1;t>=3&&0===e.bl_tree[2*Is[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?so(e,t,r,n):e.strategy===os||a===i?(Vs(e,(ds<<1)+(n?1:0),3),eo(e,Ts,Bs)):(Vs(e,(fs<<1)+(n?1:0),3),function(e,t,r,n){let i;for(Vs(e,t-257,5),Vs(e,r-1,5),Vs(e,n-4,4),i=0;i<n;i++)Vs(e,e.bl_tree[2*Is[i]+1],3);no(e,e.dyn_ltree,t-1),no(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),eo(e,e.dyn_ltree,e.dyn_dtree)),Xs(e),n&&Qs(e)}function ho(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*(Rs[r]+ms+1)]++,e.dyn_dtree[2*qs(t)]++),e.last_lit===e.lit_bufsize-1}function uo(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 lo=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 yo(e,t,r,n){const i=lo,a=n+r;e^=-1;for(let r=n;r<a;r++)e=e>>>8^i[255&(e^t[r])];return-1^e}var po={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 fo=9,go=3,mo=258,wo=mo+go+1,bo=32,ko=42,vo=69,Ao=73,_o=91,Eo=103,Ko=113,So=666,xo=1,Po=2,Uo=3,Do=4,Co=3;function Io(e,t){return e.msg=po[t],t}function To(e){return(e<<1)-(e>4?9:0)}function Bo(e){let t=e.length;for(;--t>=0;)e[t]=0}function zo(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(ja(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 Ro(e,t){co(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,zo(e.strm)}function Mo(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 Lo(e,t,r,n){let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,ja(t,e.input,e.next_in,i,r),1===e.state.wrap?e.adler=uo(e.adler,t,i,r):2===e.state.wrap&&(e.adler=yo(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)}function Oo(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-wo?e.strstart-(e.w_size-wo):0,h=e.window,u=e.w_mask,l=e.prev,y=e.strstart+mo;let p=h[a+s-1],d=h[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,h[r+s]===d&&h[r+s-1]===p&&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=mo-(y-a),a=y-mo,n>s){if(e.match_start=t,s=n,n>=o)break;p=h[a+s-1],d=h[a+s]}}}while((t=l[t&u])>c&&0!=--i);return s<=e.lookahead?s:e.lookahead}function Fo(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-wo)){ja(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=Lo(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=go)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+go-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<go)););}while(e.lookahead<wo&&0!==e.strm.avail_in)}function Ho(e,t){let r,n;for(;;){if(e.lookahead<wo){if(Fo(e),e.lookahead<wo&&t===qa)return xo;if(0===e.lookahead)break}if(r=0,e.lookahead>=go&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+go-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-wo&&(e.match_length=Oo(e,r)),e.match_length>=go)if(n=ho(e,e.strstart-e.match_start,e.match_length-go),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=go){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+go-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=ho(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(Ro(e,!1),0===e.strm.avail_out))return xo}return e.insert=e.strstart<go-1?e.strstart:go-1,t===$a?(Ro(e,!0),0===e.strm.avail_out?Uo:Do):e.last_lit&&(Ro(e,!1),0===e.strm.avail_out)?xo:Po}function jo(e,t){let r,n,i;for(;;){if(e.lookahead<wo){if(Fo(e),e.lookahead<wo&&t===qa)return xo;if(0===e.lookahead)break}if(r=0,e.lookahead>=go&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+go-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=go-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-wo&&(e.match_length=Oo(e,r),e.match_length<=5&&(e.strategy===is||e.match_length===go&&e.strstart-e.match_start>4096)&&(e.match_length=go-1)),e.prev_length>=go&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-go,n=ho(e,e.strstart-1-e.prev_match,e.prev_length-go),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+go-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=go-1,e.strstart++,n&&(Ro(e,!1),0===e.strm.avail_out))return xo}else if(e.match_available){if(n=ho(e,0,e.window[e.strstart-1]),n&&Ro(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return xo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=ho(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<go-1?e.strstart:go-1,t===$a?(Ro(e,!0),0===e.strm.avail_out?Uo:Do):e.last_lit&&(Ro(e,!1),0===e.strm.avail_out)?xo:Po}class qo{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 Go=[new qo(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(Fo(e),0===e.lookahead&&t===qa)return xo;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,Ro(e,!1),0===e.strm.avail_out))return xo;if(e.strstart-e.block_start>=e.w_size-wo&&(Ro(e,!1),0===e.strm.avail_out))return xo}return e.insert=0,t===$a?(Ro(e,!0),0===e.strm.avail_out?Uo:Do):(e.strstart>e.block_start&&(Ro(e,!1),e.strm.avail_out),xo)})),new qo(4,4,8,4,Ho),new qo(4,5,16,8,Ho),new qo(4,6,32,32,Ho),new qo(4,4,16,16,jo),new qo(8,16,32,32,jo),new qo(8,16,128,128,jo),new qo(8,32,128,256,jo),new qo(32,128,258,1024,jo),new qo(32,258,258,4096,jo)];class Vo{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=ls,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 Oa(1146),this.dyn_dtree=new Oa(122),this.bl_tree=new Oa(78),Bo(this.dyn_ltree),Bo(this.dyn_dtree),Bo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Oa(16),this.heap=new Oa(573),Bo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Oa(573),Bo(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 Wo(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=us,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ko:Ko,e.adler=2===t.wrap?0:1,t.last_flush=qa,ao(t),Qa):Io(e,es)}(e);return t===Qa&&function(e){e.window_size=2*e.w_size,Bo(e.head),e.max_lazy_match=Go[e.level].max_lazy,e.good_match=Go[e.level].good_length,e.nice_match=Go[e.level].nice_length,e.max_chain_length=Go[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=go-1,e.match_available=0,e.ins_h=0}(e.state),t}function $o(e,t){let r,n,i,a;if(!e||!e.state||t>Za||t<0)return e?Io(e,es):es;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===So&&t!==$a)return Io(e,0===e.avail_out?rs:es);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===ko)if(2===n.wrap)e.adler=0,Mo(n,31),Mo(n,139),Mo(n,8),n.gzhead?(Mo(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)),Mo(n,255&n.gzhead.time),Mo(n,n.gzhead.time>>8&255),Mo(n,n.gzhead.time>>16&255),Mo(n,n.gzhead.time>>24&255),Mo(n,9===n.level?2:n.strategy>=as||n.level<2?4:0),Mo(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Mo(n,255&n.gzhead.extra.length),Mo(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=yo(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=vo):(Mo(n,0),Mo(n,0),Mo(n,0),Mo(n,0),Mo(n,0),Mo(n,9===n.level?2:n.strategy>=as||n.level<2?4:0),Mo(n,Co),n.status=Ko);else{let t=ls+(n.w_bits-8<<4)<<8,r=-1;r=n.strategy>=as||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=r<<6,0!==n.strstart&&(t|=bo),t+=31-t%31,n.status=Ko,No(n,t),0!==n.strstart&&(No(n,e.adler>>>16),No(n,65535&e.adler)),e.adler=1}if(n.status===vo)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=yo(e.adler,n.pending_buf,n.pending-i,i)),zo(e),i=n.pending,n.pending!==n.pending_buf_size));)Mo(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=yo(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ao)}else n.status=Ao;if(n.status===Ao)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=yo(e.adler,n.pending_buf,n.pending-i,i)),zo(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,Mo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=yo(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.gzindex=0,n.status=_o)}else n.status=_o;if(n.status===_o)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=yo(e.adler,n.pending_buf,n.pending-i,i)),zo(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,Mo(n,a)}while(0!==a);n.gzhead.hcrc&&n.pending>i&&(e.adler=yo(e.adler,n.pending_buf,n.pending-i,i)),0===a&&(n.status=Eo)}else n.status=Eo;if(n.status===Eo&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&zo(e),n.pending+2<=n.pending_buf_size&&(Mo(n,255&e.adler),Mo(n,e.adler>>8&255),e.adler=0,n.status=Ko)):n.status=Ko),0!==n.pending){if(zo(e),0===e.avail_out)return n.last_flush=-1,Qa}else if(0===e.avail_in&&To(t)<=To(r)&&t!==$a)return Io(e,rs);if(n.status===So&&0!==e.avail_in)return Io(e,rs);if(0!==e.avail_in||0!==n.lookahead||t!==qa&&n.status!==So){var s=n.strategy===as?function(e,t){let r;for(;;){if(0===e.lookahead&&(Fo(e),0===e.lookahead)){if(t===qa)return xo;break}if(e.match_length=0,r=ho(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Ro(e,!1),0===e.strm.avail_out))return xo}return e.insert=0,t===$a?(Ro(e,!0),0===e.strm.avail_out?Uo:Do):e.last_lit&&(Ro(e,!1),0===e.strm.avail_out)?xo:Po}(n,t):n.strategy===ss?function(e,t){let r,n,i,a;const s=e.window;for(;;){if(e.lookahead<=mo){if(Fo(e),e.lookahead<=mo&&t===qa)return xo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=go&&e.strstart>0&&(i=e.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=e.strstart+mo;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=mo-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=go?(r=ho(e,1,e.match_length-go),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=ho(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Ro(e,!1),0===e.strm.avail_out))return xo}return e.insert=0,t===$a?(Ro(e,!0),0===e.strm.avail_out?Uo:Do):e.last_lit&&(Ro(e,!1),0===e.strm.avail_out)?xo:Po}(n,t):Go[n.level].func(n,t);if(s!==Uo&&s!==Do||(n.status=So),s===xo||s===Uo)return 0===e.avail_out&&(n.last_flush=-1),Qa;if(s===Po&&(t===Ga?oo(n):t!==Za&&(so(n,0,0,!1),t===Wa&&(Bo(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),zo(e),0===e.avail_out))return n.last_flush=-1,Qa}return t!==$a?Qa:n.wrap<=0?Ya:(2===n.wrap?(Mo(n,255&e.adler),Mo(n,e.adler>>8&255),Mo(n,e.adler>>16&255),Mo(n,e.adler>>24&255),Mo(n,255&e.total_in),Mo(n,e.total_in>>8&255),Mo(n,e.total_in>>16&255),Mo(n,e.total_in>>24&255)):(No(n,e.adler>>>16),No(n,65535&e.adler)),zo(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?Qa:Ya)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const Zo=new La(256);for(let e=0;e<256;e++)Zo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function Xo(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 La(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}Zo[254]=Zo[254]=1;class Qo{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 Yo{constructor(e){this.options={level:ns,method:ls,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 Qo,this.strm.avail_out=0;var r,n,i=function(e,t,r,n,i,a){if(!e)return es;let s=1;if(t===ns&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>fo||r!==ls||n<8||n>15||t<0||t>9||a<0||a>os)return Io(e,es);8===n&&(n=9);const o=new Vo;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+go-1)/go),o.window=new La(2*o.w_size),o.head=new Oa(o.hash_size),o.prev=new Oa(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new La(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,Wo(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==Qa)throw Error(po[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?Xo(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 es;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==ko||r.lookahead)return es;for(1===a&&(e.adler=uo(e.adler,t,u,0)),r.wrap=0,u>=r.w_size&&(0===a&&(Bo(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new La(r.w_size),ja(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,Fo(r);r.lookahead>=go;){n=r.strstart,i=r.lookahead-(go-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+go-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=go-1,Fo(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=go-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,Qa}(this.strm,e),i!==Qa)throw Error(po[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?$a:qa,"string"==typeof e?r.input=Xo(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 La(n),r.next_out=0,r.avail_out=n),(i=$o(r,a))!==Ya&&i!==Qa)return this.onEnd(i),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==$a&&a!==Va)||this.onData(Ra(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&i!==Ya);return a===$a?(i=function(e){let t;return e&&e.state?(t=e.state.status,t!==ko&&t!==vo&&t!==Ao&&t!==_o&&t!==Eo&&t!==Ko&&t!==So?Io(e,es):(e.state=null,t===Ko?Io(e,ts):Qa)):es}(this.strm),this.onEnd(i),this.ended=!0,i===Qa):a!==Va||(this.onEnd(Qa),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Qa&&(this.result=Ha(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const Jo=30,ec=12;function tc(e,t){let r,n,i,a,s,o,c,h,u,l;const y=e.state;r=e.next_in;const p=e.input,d=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+=p[r++]<<a,a+=8,i+=p[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=ec;break e}e.msg="invalid literal/length code",y.mode=Jo;break e}c=65535&s,o&=15,o&&(a<o&&(i+=p[r++]<<a,a+=8),c+=i&(1<<o)-1,i>>>=o,a-=o),a<15&&(i+=p[r++]<<a,a+=8,i+=p[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=Jo;break e}if(h=65535&s,o&=15,a<o&&(i+=p[r++]<<a,a+=8,a<o&&(i+=p[r++]<<a,a+=8)),h+=i&(1<<o)-1,h>w){e.msg="invalid distance too far back",y.mode=Jo;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=Jo;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<d&&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<d?d-r+5:5-(r-d),e.avail_out=n<m?m-n+257:257-(n-m),y.hold=i,y.bits=a}const rc=15,nc=852,ic=592,ac=0,sc=1,oc=2,cc=[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],hc=[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],uc=[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],lc=[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 yc(e,t,r,n,i,a,s,o){const c=o.bits;let h,u,l,y,p,d=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 Oa(rc+1),x=new Oa(rc+1);let P,U,D,C=null,I=0;for(d=0;d<=rc;d++)S[d]=0;for(f=0;f<n;f++)S[t[r+f]]++;for(w=c,m=rc;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,d=1;d<=rc;d++)if(v<<=1,v-=S[d],v<0)return-1;if(v>0&&(e===ac||1!==m))return-1;for(x[1]=0,d=1;d<rc;d++)x[d+1]=x[d]+S[d];for(f=0;f<n;f++)0!==t[r+f]&&(s[x[t[r+f]]++]=f);e===ac?(E=C=s,p=19):e===sc?(E=cc,K-=257,C=hc,I-=257,p=256):(E=uc,C=lc,p=-1),_=0,f=0,d=g,y=a,b=w,k=0,l=-1,A=1<<w;const T=A-1;if(e===sc&&A>nc||e===oc&&A>ic)return 1;for(;;){P=d-k,s[f]<p?(U=0,D=s[f]):s[f]>p?(U=C[I+s[f]],D=E[K+s[f]]):(U=96,D=0),h=1<<d-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<<d-1;_&h;)h>>=1;if(0!==h?(_&=h-1,_+=h):_=0,f++,0==--S[d]){if(d===m)break;d=t[r+s[f]]}if(d>w&&(_&T)!==l){for(0===k&&(k=w),y+=g,b=d-k,v=1<<b;b+k<m&&(v-=S[b+k],!(v<=0));)b++,v<<=1;if(A+=1<<b,e===sc&&A>nc||e===oc&&A>ic)return 1;l=_&T,i[l]=w<<24|b<<16|y-a|0}}return 0!==_&&(i[y+_]=d-k<<24|64<<16|0),o.bits=w,0}const pc=0,dc=1,fc=2,gc=1,mc=2,wc=3,bc=4,kc=5,vc=6,Ac=7,_c=8,Ec=9,Kc=10,Sc=11,xc=12,Pc=13,Uc=14,Dc=15,Cc=16,Ic=17,Tc=18,Bc=19,zc=20,Rc=21,Mc=22,Nc=23,Lc=24,Oc=25,Fc=26,Hc=27,jc=28,qc=29,Gc=30,Vc=852,Wc=592;function $c(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class Zc{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 Oa(320),this.work=new Oa(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function Xc(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=gc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Fa(Vc),t.distcode=t.distdyn=new Fa(Wc),t.sane=1,t.back=-1,Qa):es}(e)):es}function Qc(e,t){let r,n;return e?(n=new Zc,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)?es:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Xc(e))):es}(e,t),r!==Qa&&(e.state=null),r):es}let Yc,Jc,eh=!0;function th(e){if(eh){let t;for(Yc=new Fa(512),Jc=new Fa(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(yc(dc,e.lens,0,288,Yc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;yc(fc,e.lens,0,32,Jc,0,e.work,{bits:5}),eh=!1}e.lencode=Yc,e.lenbits=9,e.distcode=Jc,e.distbits=5}function rh(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 La(a.wsize)),n>=a.wsize?(ja(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),ja(a.window,t,r-n,i,a.wnext),(n-=i)?(ja(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 nh(e,t){let r,n,i,a,s,o,c,h,u,l,y,p,d,f,g,m,w,b,k,v,A,_,E,K,S=0,x=new La(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 es;r=e.state,r.mode===xc&&(r.mode=Pc),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,_=Qa;e:for(;;)switch(r.mode){case gc:if(0===r.wrap){r.mode=Pc;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=yo(r.check,x,2,0),h=0,u=0,r.mode=mc;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=Gc;break}if((15&h)!==ls){e.msg="unknown compression method",r.mode=Gc;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=Gc;break}r.dmax=1<<A,e.adler=r.check=1,r.mode=512&h?Kc:xc,h=0,u=0;break;case mc:for(;u<16;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}if(r.flags=h,(255&r.flags)!==ls){e.msg="unknown compression method",r.mode=Gc;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=Gc;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(x[0]=255&h,x[1]=h>>>8&255,r.check=yo(r.check,x,2,0)),h=0,u=0,r.mode=wc;case wc: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=yo(r.check,x,4,0)),h=0,u=0,r.mode=bc;case bc: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=yo(r.check,x,2,0)),h=0,u=0,r.mode=kc;case kc: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=yo(r.check,x,2,0)),h=0,u=0}else r.head&&(r.head.extra=null);r.mode=vc;case vc:if(1024&r.flags&&(p=r.length,p>o&&(p=o),p&&(r.head&&(A=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),ja(r.head.extra,n,a,p,A)),512&r.flags&&(r.check=yo(r.check,n,p,a)),o-=p,a+=p,r.length-=p),r.length))break e;r.length=0,r.mode=Ac;case Ac:if(2048&r.flags){if(0===o)break e;p=0;do{A=n[a+p++],r.head&&A&&r.length<65536&&(r.head.name+=String.fromCharCode(A))}while(A&&p<o);if(512&r.flags&&(r.check=yo(r.check,n,p,a)),o-=p,a+=p,A)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=_c;case _c:if(4096&r.flags){if(0===o)break e;p=0;do{A=n[a+p++],r.head&&A&&r.length<65536&&(r.head.comment+=String.fromCharCode(A))}while(A&&p<o);if(512&r.flags&&(r.check=yo(r.check,n,p,a)),o-=p,a+=p,A)break e}else r.head&&(r.head.comment=null);r.mode=Ec;case Ec: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=Gc;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=xc;break;case Kc:for(;u<32;){if(0===o)break e;o--,h+=n[a++]<<u,u+=8}e.adler=r.check=$c(h),h=0,u=0,r.mode=Sc;case Sc: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,Ja;e.adler=r.check=1,r.mode=xc;case xc:if(t===Za||t===Xa)break e;case Pc:if(r.last){h>>>=7&u,u-=7&u,r.mode=Hc;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=Uc;break;case 1:if(th(r),r.mode=zc,t===Xa){h>>>=2,u-=2;break e}break;case 2:r.mode=Ic;break;case 3:e.msg="invalid block type",r.mode=Gc}h>>>=2,u-=2;break;case Uc: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=Gc;break}if(r.length=65535&h,h=0,u=0,r.mode=Dc,t===Xa)break e;case Dc:r.mode=Cc;case Cc:if(p=r.length,p){if(p>o&&(p=o),p>c&&(p=c),0===p)break e;ja(i,n,a,p,s),o-=p,a+=p,c-=p,s+=p,r.length-=p;break}r.mode=xc;break;case Ic: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=Gc;break}r.have=0,r.mode=Tc;case Tc: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},_=yc(pc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=Gc;break}r.have=0,r.mode=Bc;case Bc: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=Gc;break}A=r.lens[r.have-1],p=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,p=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,p=11+(127&h),h>>>=7,u-=7}if(r.have+p>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=Gc;break}for(;p--;)r.lens[r.have++]=A}}if(r.mode===Gc)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=Gc;break}if(r.lenbits=9,E={bits:r.lenbits},_=yc(dc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=Gc;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=yc(fc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=Gc;break}if(r.mode=zc,t===Xa)break e;case zc:r.mode=Rc;case Rc: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,tc(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===xc&&(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=Fc;break}if(32&m){r.back=-1,r.mode=xc;break}if(64&m){e.msg="invalid literal/length code",r.mode=Gc;break}r.extra=15&m,r.mode=Mc;case Mc: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=Gc;break}r.offset=w,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.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=Gc;break}r.mode=Oc;case Oc:if(0===c)break e;if(p=y-c,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=Gc;break}p>r.wnext?(p-=r.wnext,d=r.wsize-p):d=r.wnext-p,p>r.length&&(p=r.length),f=r.window}else f=i,d=s-r.offset,p=r.length;p>c&&(p=c),c-=p,r.length-=p;do{i[s++]=f[d++]}while(--p);0===r.length&&(r.mode=Rc);break;case Fc:if(0===c)break e;i[s++]=r.length,c--,r.mode=Rc;break;case Hc: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?yo(r.check,i,y,s-y):uo(r.check,i,y,s-y)),y=c,(r.flags?h:$c(h))!==r.check){e.msg="incorrect data check",r.mode=Gc;break}h=0,u=0}r.mode=jc;case jc: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=Gc;break}h=0,u=0}r.mode=qc;case qc:_=Ya;break e;case Gc:_=ts;break e;default:return es}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<Gc&&(r.mode<Hc||t!==$a))&&rh(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?yo(r.check,i,y,e.next_out-y):uo(r.check,i,y,e.next_out-y)),e.data_type=r.bits+(r.last?64:0)+(r.mode===xc?128:0)+(r.mode===zc||r.mode===Dc?256:0),(0===l&&0===y||t===$a)&&_===Qa&&(_=rs),_}function ih(e,t){const r=t.length;let n,i;return e&&e.state?(n=e.state,0!==n.wrap&&n.mode!==Sc?es:n.mode===Sc&&(i=1,i=uo(i,t,r,0),i!==n.check)?ts:(rh(e,t,r,r),n.havedict=1,Qa)):es}class ah{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 sh{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 Qo,this.strm.avail_out=0;let r=Qc(this.strm,t.windowBits);if(r!==Qa)throw Error(po[r]);if(this.header=new ah,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=Xo(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ih(this.strm,t.dictionary),r!==Qa)))throw Error(po[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?$a:qa,"string"==typeof e?r.input=function(e){const t=new La(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 La(n),r.next_out=0,r.avail_out=n),a=nh(r,qa),a===Ja&&i&&(a=ih(this.strm,i)),a===rs&&!0===o&&(a=Qa,o=!1),a!==Ya&&a!==Qa)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==Ya&&(0!==r.avail_in||s!==$a&&s!==Va)||this.onData(Ra(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!==Ya);return a===Ya&&(s=$a),s===$a?(a=function(e){if(!e||!e.state)return es;const t=e.state;return t.window&&(t.window=null),e.state=null,Qa}(this.strm),this.onEnd(a),this.ended=!0,a===Qa):s!==Va||(this.onEnd(Qa),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===Qa&&(this.result=Ha(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var oh=[0,1,3,7,15,31,63,127,255],ch=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};ch.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},ch.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=oh[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var n=r-e;t|=(this.curByte&oh[e]<<n)>>n,this.bitOffset+=e,e=0}}return t},ch.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},ch.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 hh=ch,uh=function(){};uh.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},uh.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},uh.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},uh.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},uh.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},uh.prototype.flush=function(){};var lh,yh=uh,ph=(lh=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^lh[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^lh[255&(e>>>24^t)]}}),dh=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},fh={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},gh={};gh[fh.LAST_BLOCK]="Bad file checksum",gh[fh.NOT_BZIP_DATA]="Not bzip data",gh[fh.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",gh[fh.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",gh[fh.DATA_ERROR]="Data error",gh[fh.OUT_OF_MEMORY]="Out of memory",gh[fh.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var mh=function(e,t){var r=gh[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},wh=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};wh.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new ph,!0):(this.writeCount=-1,!1)},wh.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])||mh(fh.NOT_BZIP_DATA,"bad magic");var n=r[3]-48;(n<1||n>9)&&mh(fh.NOT_BZIP_DATA,"level out of range"),this.reader=new hh(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},wh.prototype._get_next_block=function(){var e,t,r,n=this.reader,i=n.pi();if("177245385090"===i)return!1;"314159265359"!==i&&mh(fh.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&mh(fh.OBSOLETE_INPUT);var a=n.read(24);a>this.dbufSize&&mh(fh.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)&&mh(fh.DATA_ERROR);var l=n.read(15);0===l&&mh(fh.DATA_ERROR);var y=new Uint8Array(256);for(e=0;e<u;e++)y[e]=e;var p=new Uint8Array(l);for(e=0;e<l;e++){for(t=0;n.read(1);t++)t>=u&&mh(fh.DATA_ERROR);p[e]=dh(y,t)}var d,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)&&mh(fh.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]);d={},g.push(d),d.permute=new Uint16Array(258),d.limit=new Uint32Array(22),d.base=new Uint32Array(21),d.minLen=m,d.maxLen=w;var v=0;for(e=m;e<=w;e++)for(k[e]=d.limit[e]=0,s=0;s<f;s++)b[s]===e&&(d.permute[v++]=s);for(e=0;e<f;e++)k[b[e]]++;for(v=s=0,e=m;e<w;e++)v+=k[e],d.limit[e]=v-1,v<<=1,s+=k[e],d.base[e+1]=v-s;d.limit[w+1]=Number.MAX_VALUE,d.limit[w]=v+k[w]-1,d.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&&mh(fh.DATA_ERROR),d=g[p[S++]]),e=d.minLen,t=n.read(e);e>d.maxLen&&mh(fh.DATA_ERROR),!(t<=d.limit[e]);e++)t=t<<1|n.read(1);((t-=d.base[e])<0||t>=258)&&mh(fh.DATA_ERROR);var P=d.permute[t];if(0!==P&&1!==P){if(E)for(E=0,K+s>this.dbufSize&&mh(fh.DATA_ERROR),A[_=o[y[0]]]+=s;s--;)x[K++]=_;if(P>c)break;K>=this.dbufSize&&mh(fh.DATA_ERROR),A[_=o[_=dh(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)&&mh(fh.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},wh.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&&mh(fh.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var bh=function(e){if("readByte"in e)return e;var t=new yh;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},kh=function(e){var t=new yh,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 vh=function(e,t,r){for(var n=bh(e),i=kh(t),a=new wh(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&&mh(fh.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 Ah{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?L(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 _h=Symbol("verified"),Eh=new Set([$.signatureSubpacket.issuer,$.signatureSubpacket.issuerFingerprint,$.signatureSubpacket.embeddedSignature]);class Kh{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 de,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[_h]=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=Sa.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?q((async()=>Sa.serializeParams(this.publicKeyAlgorithm,await this.params))):Sa.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(N(s),0,2);const o=async()=>Sa.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[_h]=!0)}writeHashedSubPackets(){const e=$.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(Sh(e.signatureCreationTime,!0,X.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Sh(e.signatureExpirationTime,!0,X.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Sh(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Sh(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Sh(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Sh(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Sh(e.keyExpirationTime,!0,X.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Sh(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=X.concat([r,this.revocationKeyFingerprint]),t.push(Sh(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(Sh(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(Sh(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Sh(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Sh(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyServerPreferences)),t.push(Sh(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Sh(e.preferredKeyServer,!1,X.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Sh(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Sh(e.policyURI,!1,X.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.keyFlags)),t.push(Sh(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Sh(e.signersUserID,!1,X.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=X.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Sh(e.reasonForRevocation,!0,r))),null!==this.features&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.features)),t.push(Sh(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(Sh(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Sh(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=X.concat(r),t.push(Sh(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=X.stringToUint8Array(X.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Sh(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)),Eh.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=Sa.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=X.uint8ArrayToString(e.subarray(r,r+t));break}case $.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Kh,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(N(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)),Sa.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[_h]&&!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[_h]=await Sa.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,n,a),!this[_h])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 Sh(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 xh{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 de,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()=>Kh.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 Ph(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]}xh.prototype.hash=Kh.prototype.hash,xh.prototype.toHash=Kh.prototype.toHash,xh.prototype.toSign=Kh.prototype.toSign;class Uh extends Array{static async fromBinary(e,t,r=ie){const n=new Uh;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 di(e,(async e=>{try{if(e.tag===$.packet.marker||e.tag===$.packet.trust)return;const n=Ph(e.tag,t);n.packets=new Uh,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||pi(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||pi(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)&&pi(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(N(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 Uh,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 Dh=/*#__PURE__*/X.constructAllowedPackets([Ah,xh,Kh]);class Ch{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 Uh.fromBinary(r(this.compressed),Dh,e)}compress(){const e=$.read($.compression,this.algorithm),t=Mh[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Ih=X.getNodeZlib();function Th(e){return e}function Bh(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 zh(e,t={}){return function(r){const n=new e(t);return z(r,(e=>{if(e.length)return n.push(e,Va),n.result}),(()=>{if(e===Yo)return n.push([],$a),n.result}))}}function Rh(e){return function(t){return q((async()=>e(await H(t))))}}const Mh=Ih?{zip:/*#__PURE__*/(e,t)=>Bh(Ih.deflateRaw,Ih.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Bh(Ih.deflate,Ih.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>zh(Yo,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>zh(Yo,{level:t})(e)},Nh=Ih?{uncompressed:Th,zip:/*#__PURE__*/Bh(Ih.inflateRaw,Ih.createInflateRaw),zlib:/*#__PURE__*/Bh(Ih.inflate,Ih.createInflate),bzip2:/*#__PURE__*/Rh(vh)}:{uncompressed:Th,zip:/*#__PURE__*/zh(sh,{raw:!0}),zlib:/*#__PURE__*/zh(sh),bzip2:/*#__PURE__*/Rh(vh)},Lh=/*#__PURE__*/X.constructAllowedPackets([Ah,Ch,xh,Kh]);class Oh{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}=Sa.getCipher(e);let i=this.packets.write();s(i)&&(i=await H(i));const a=await Sa.getPrefixRandom(e),o=new Uint8Array([211,20]),c=X.concat([a,i,o]),h=await Sa.hash.sha1(L(c)),u=X.concat([c,h]);return this.encrypted=await Sa.mode.cfb.encrypt(e,t,u,new Uint8Array(n),r),!0}async decrypt(e,t,r=ie){const{blockSize:n}=Sa.getCipher(e);let i=N(this.encrypted);s(i)&&(i=await H(i));const a=await Sa.mode.cfb.decrypt(e,t,i,new Uint8Array(n)),o=F(L(a),-20),c=F(a,0,-20),h=Promise.all([H(await Sa.hash.sha1(L(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 Uh.fromBinary(l,Lh,r),!0}}const Fh=/*#__PURE__*/X.constructAllowedPackets([Ah,Ch,xh,Kh]);class Hh{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=Sa.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 Uh.fromBinary(await this.crypt("decrypt",t,N(this.encrypted)),Fh,r)}async encrypt(e,t,r=ie){this.cipherAlgorithm=e;const{ivLength:n}=Sa.getAEADMode(this.aeadAlgorithm);this.iv=Sa.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=Sa.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|Hh.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let p=0,d=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),!p||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,d=d.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 d,k){await w.close();break}l.setInt32(9,++p)}}catch(e){await w.abort(e)}}))}}class jh{static get tag(){return $.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new de,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=Sa.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]),Sa.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return X.concatUint8Array(e)}async encrypt(e){const t=$.write($.publicKey,this.publicKeyAlgorithm),r=qh(this.version,t,this.sessionKeyAlgorithm,this.sessionKey),n=t===$.publicKey.aead?e.privateParams:null;this.encrypted=await Sa.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?qh(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=await Sa.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 qh(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 Gh{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=Ta(n),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=Sa.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}=Sa.getCipher(t),i=await this.s2k.produceKey(e,n);if(5===this.version){const e=Sa.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|Gh.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 Sa.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=Ba(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=Sa.getCipher(r),a=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=Sa.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=Sa.getAEADMode(this.aeadAlgorithm);this.iv=Sa.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|Gh.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 Sa.mode.cfb.encrypt(r,a,e,new Uint8Array(n),t)}}}class Vh{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 Vh,{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}=Sa.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=Sa.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 de,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 Sa.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await Sa.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}}Vh.prototype.readPublicKey=Vh.prototype.read,Vh.prototype.writePublicKey=Vh.prototype.write;const Wh=/*#__PURE__*/X.constructAllowedPackets([Ah,Ch,xh,Kh]);class $h{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}=Sa.getCipher(e),i=await H(N(this.encrypted)),a=await Sa.mode.cfb.decrypt(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Uh.fromBinary(a,Wh,r)}async encrypt(e,t,r=ie){const n=this.packets.write(),{blockSize:i}=Sa.getCipher(e),a=await Sa.getPrefixRandom(e),s=await Sa.mode.cfb.encrypt(e,t,a,new Uint8Array(i),r),o=await Sa.mode.cfb.encrypt(e,t,n,s.subarray(2),r);this.encrypted=X.concat([s,o])}}class Zh{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 Xh extends Vh{static get tag(){return $.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Xh,{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 Qh{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 Qh)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class Yh extends Vh{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=Ta(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+Sa.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}=Sa.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=Sa.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=Ta($.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=Ba(t),this.s2k.generateSalt();const r=Sa.serializeParams(this.algorithm,this.privateParams);this.symmetric=$.symmetric.aes256;const n=await Jh(this.s2k,e,this.symmetric),{blockSize:i}=Sa.getCipher(this.symmetric);if(this.iv=Sa.random.getRandomBytes(i),t.aeadProtect){this.s2kUsage=253,this.aead=$.aead.eax;const e=Sa.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 Sa.mode.cfb.encrypt(this.symmetric,n,X.concatUint8Array([r,await Sa.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 Jh(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=Sa.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 Sa.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const n=await Sa.hash.sha1(r);if(!X.equalsUint8Array(n,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=Sa.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 Sa.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 Sa.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 Jh(e,t,r){const{keySize:n}=Sa.getCipher(r);return e.produceKey(t,n)}var eu=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 p(e){return function(){var t,n;return n=r(),null!==(t=e())?t:(i(n),s("opt"))}}function d(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(p(l(g(K),d(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(p(x),U)),p(x),u(")"))())}function C(){return o("cfws",y(l(g(l(p(x),D),1),p(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(p(C)),g(I,1),f(p(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(d(p(C)),B,d(p(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 N(){return o("quoted-string",l(d(p(C)),d(k),g(l(p(f(x)),M)),p(d(x)),d(k),d(p(C)))())}function L(){return o("word",y(T,N)())}function O(){return o("address",y(F,q)())}function F(){return o("mailbox",y(H,J)())}function H(){return o("name-addr",l(p(G),j)())}function j(){return o("angle-addr",y(l(d(p(C)),u("<"),J,u(">"),d(p(C))),se)())}function q(){return o("group",l(G,u(":"),p($),u(";"),d(p(C)))())}function G(){return o("display-name",(null!==(e=o("phrase",y(ie,g(L,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,d(C),le)())}function Z(){return o("local-part",y(ye,z,N)())}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}))}),de)())}function Q(){return o("domain-literal",l(d(p(C)),u("["),g(l(p(x),X)),p(x),u("]"),d(p(C)))())}function Y(){return o("domain",(t=y(pe,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(L,g(y(L,u("."),u("@"),f(C))))()):o("obs-phrase",l(L,g(y(L,u("."),f(C))))())}function ae(){return e.strict?null:o("obs-FWS",g(l(d(p(b)),K),1)())}function se(){return e.strict?null:o("obs-angle-addr",l(d(p(C)),u("<"),oe,J,u(">"),d(p(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(d(C),u(","))),u("@"),Y,g(l(u(","),d(p(C)),p(l(u("@"),Y)))))())}function he(){return e.strict?null:o("obs-mbox-list",l(g(l(d(p(C)),u(","))),F,g(l(u(","),p(l(F,d(C))))))())}function ue(){return e.strict?null:o("obs-addr-list",l(g(l(d(p(C)),u(","))),O,g(l(u(","),p(l(O,d(C))))))())}function le(){return e.strict?null:o("obs-group-list",l(g(l(d(p(C)),u(",")),1),d(p(C)))())}function ye(){return e.strict?null:o("obs-local-part",l(L,g(l(u("."),L)))())}function pe(){return e.strict?null:o("obs-domain",l(T,g(l(u("."),T)))())}function de(){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 tu{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 tu;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}=eu.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 ru extends Yh{static get tag(){return $.packet.secretSubkey}constructor(e=new Date,t=ie){super(e,t)}}class nu{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 iu=/*#__PURE__*/X.constructAllowedPackets([Kh]);class au{constructor(e){this.packets=e||new Uh}write(){return this.packets.write()}armor(e=ie){return pe($.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function su({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 Uh.fromBinary(i,iu,r);return new au(s)}async function ou(e,t){const r=new ru(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 cu(e,t){const r=new Yh(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,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 uu(e,t,r=new Date){const n=X.normalizeDate(r);if(null!==n){const r=mu(e,t);return!(e.created<=n&&n<r)}return!1}async function lu(e,t,r,n){const i={};i.key=t,i.bind=e;const a=new Kh;return a.signatureType=$.signature.subkeyBinding,a.publicKeyAlgorithm=t.algorithm,a.hashAlgorithm=await yu(null,e,void 0,void 0,n),r.sign?(a.keyFlags=[$.keyFlags.signData],a.embeddedSignature=await du(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),await a.sign(t,i,r.date),a}async function yu(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=Sa.hash.getHashByteLength(a)<=Sa.hash.getHashByteLength(s)?s:a)}switch(Object.getPrototypeOf(t)){case Yh.prototype:case Vh.prototype:case ru.prototype:case Xh.prototype:switch(t.algorithm){case $.publicKey.ecdh:case $.publicKey.ecdsa:case $.publicKey.eddsa:s=Sa.publicKey.elliptic.getPreferredHashAlgo(t.publicParams.oid)}}return Sa.hash.getHashByteLength(a)<=Sa.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 du(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 Kh;return Object.assign(h,n),h.publicKeyAlgorithm=r.algorithm,h.hashAlgorithm=await yu(t,r,i,a,c),h.rawNotations=s,await h.sign(r,e,i,o),h}async function fu(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 gu(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 mu(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function wu(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.ed25519&&e.curve!==$.curve.curve25519||(e.curve=e.sign?$.curve.ed25519:$.curve.curve25519),e.sign?e.algorithm=e.curve===$.curve.ed25519?$.publicKey.eddsa:$.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 bu(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 ku(e,t){const r=e.algorithm;return r!==$.publicKey.dsa&&r!==$.publicKey.rsaSign&&r!==$.publicKey.ecdsa&&r!==$.publicKey.eddsa&&r!==$.publicKey.ed25519&&(!t.keyFlags||0!=(t.keyFlags[0]&$.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&$.keyFlags.encryptStorage))}function vu(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 Au(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.eddsa:case $.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class _u{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 Uh;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new _u(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 _u(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 du(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 gu(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 fu(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 fu(e,this,"otherCertifications",t),await fu(e,this,"revocationSignatures",t,(function(e){return gu(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 _u(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await du(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 Eu{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Uh;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Eu(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 gu(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 hu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(uu(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 hu(this.bindingSignatures,r,$.signature.subkeyBinding,n,e,t)}catch(e){return null}const a=mu(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 fu(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 fu(e,this,"revocationSignatures",t,(function(e){return gu(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 Eu(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await du(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=>{Eu.prototype[e]=function(){return this.keyPacket[e]()}}));const Ku=/*#__PURE__*/X.constructAllowedPackets([Kh]),Su=new Set([$.packet.publicKey,$.packet.privateKey]),xu=new Set([$.packet.publicKey,$.packet.privateKey,$.packet.publicSubkey,$.packet.privateSubkey]);class Pu{packetListToStructure(e,t=new Set){let r,n,i,a;for(const s of e){if(s instanceof gi){xu.has(s.tag)&&!a&&(a=Su.has(s.tag)?Su:xu);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 _u(s,this),this.users.push(r);break;case $.packet.publicSubkey:case $.packet.secretSubkey:r=null,i=new Eu(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 Uh;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 hu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(!bu(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await hu([a.embeddedSignature],r.keyPacket,$.signature.keyBinding,e,t,n),Au(r.keyPacket,n),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,n);if((!e||i.getKeyID().equals(e))&&bu(i,a.selfCertification))return Au(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 hu(r.bindingSignatures,i,$.signature.subkeyBinding,e,t,n);if(ku(r.keyPacket,a))return Au(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 Au(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 gu(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(uu(n,i,e))throw Error("Primary key is expired");const a=await hu(this.directSignatures,n,$.signature.key,{key:n},e,r).catch((()=>{}));if(a&&uu(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=mu(this.keyPacket,n),a=n.getExpirationTime(),s=await hu(this.directSignatures,this.keyPacket,$.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=mu(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 hu(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 fu(e,n,"revocationSignatures",t,(i=>gu(n.keyPacket,$.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await fu(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 hu(this.revocationSignatures,this.keyPacket,$.signature.keyRevocation,r,e,t),i=new Uh;return i.push(n),pe($.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 Uh.fromBinary(n.data,Ku,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=>{Pu.prototype[e]=Eu.prototype[e]}));class Uu extends Pu{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 pe($.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class Du extends Uu{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 Uh,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=Vh.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=Xh.fromSecretSubkeyPacket(n);e.push(i);break}default:e.push(n)}return new Uu(e)}armor(e=ie){return pe($.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};vu(await hu(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)||!vu(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 du(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=wu(e,n);const i=await ou(e);Au(i,t);const a=await lu(i,r,e,t),s=this.toPacketList();return s.push(i,a),new Du(s)}}const Cu=/*#__PURE__*/X.constructAllowedPackets([Vh,Xh,Yh,ru,tu,Qh,Kh]);function Iu(e){for(const t of e)switch(t.constructor.tag){case $.packet.secretKey:return new Du(e);case $.packet.publicKey:return new Uu(e)}throw Error("No key packet found")}async function Tu(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 Uh;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=tu.fromObject(t),o={};o.userID=s,o.key=e;const c=new Kh;return c.signatureType=$.signature.certGeneric,c.publicKeyAlgorithm=e.algorithm,c.hashAlgorithm=await yu(null,e,void 0,void 0,n),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),await c.sign(e,o,r.date),{userIDPacket:s,signaturePacket:c}}))).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 lu(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 du(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 Du(i)}async function Bu({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 Iu(await Uh.fromBinary(a,Cu,r))}async function zu({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 Uh.fromBinary(a,Cu,r);return new Du(s)}async function Ru({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 Uh.fromBinary(i,Cu,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=Iu(o.slice(c[e],c[e+1]));s.push(t)}return s}async function Mu({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 Uh.fromBinary(n,Cu,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 Du(t);i.push(r)}return i}const Nu=/*#__PURE__*/X.constructAllowedPackets([Ah,Ch,Hh,Oh,$h,jh,Gh,xh,Kh]),Lu=/*#__PURE__*/X.constructAllowedPackets([Gh]),Ou=/*#__PURE__*/X.constructAllowedPackets([Kh]);class Fu{constructor(e){this.packets=e||new Uh}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 Fu(o.packets);return o.packets=new Uh,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 Uh.fromBinary(e.write(),Lu,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 xa&&(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 jh;n.read(r);const s={sessionKeyAlgorithm:t,sessionKey:Sa.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:Sa.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 Fu.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Fu.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:h,aeadAlgorithm:u}=r,l=await Fu.encryptSessionKey(c,h,u,e,t,n,i,a,s,o);let y;u?(y=new Hh,y.aeadAlgorithm=$.write($.aead,u)):y=new Oh,y.packets=this.packets;const p=$.write($.symmetric,h);return await y.encrypt(p,c,o),l.packets.push(y),y.packets=new Uh,l}static async encryptSessionKey(e,t,r,n,i,a=!1,s=[],o=new Date,c=[],h=ie){const u=new Uh,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 jh;return i.publicKeyID=a?de.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 Gh(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 Fu(u)}async sign(e=[],t=null,r=[],n=new Date,i=[],a=[],s=ie){const o=new Uh,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 xh;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 xh;return h.signatureType=l,h.hashAlgorithm=await yu(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 Hu(c,e,t,r,n,i,a,!1,s)),new Fu(o)}compress(e,t=ie){if(e===$.compression.uncompressed)return this;const r=new Ch(t);r.algorithm=e,r.packets=this.packets;const n=new Uh;return n.push(r),new Fu(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 au(await Hu(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)}})),ju(a,i,e,t,!1,r)):ju(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 ju(e.packets.filterByTag($.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag($.packet.compressedData);return e.length?new Fu(e[0].packets):this}async appendSignature(e,t=ie){await this.packets.read(X.isUint8Array(e)?e:(await ye(e)).data,Ou,t)}write(){return this.packets.write()}armor(e=ie){return pe($.armor.message,this.write(),null,null,null,e)}}async function Hu(e,t,r=null,n=[],i=new Date,a=[],s=[],o=!1,c=ie){const h=new Uh,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 du(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 ju(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 xh?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 Uh;return e&&t.push(e),new au(t)})()};return h.signature.catch((()=>{})),h.verified.catch((()=>{})),h}(e,t,r,n,i,a)})))}async function qu({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 Uh.fromBinary(i,Nu,r),c=new Fu(o);return c.fromStream=s,c}async function Gu({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 Ah(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 Uh;u.push(h);const l=new Fu(u);return l.fromStream=c,l}const Vu=/*#__PURE__*/X.constructAllowedPackets([Kh]);class Wu{constructor(e,t){if(this.text=X.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof au))throw Error("Invalid signature input");this.signature=t||new au(new Uh)}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 Ah;o.setText(this.text);const c=new au(await Hu(o,e,t,r,n,i,a,!0,s));return new Wu(this.text,c)}verify(e,t=new Date,r=ie){const n=this.signature.packets.filterByTag($.packet.signature),i=new Ah;return i.setText(this.text),ju(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 pe($.armor.signed,r,void 0,void 0,void 0,e)}}async function $u({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 Uh.fromBinary(i.data,Vu,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 au(a);return new Wu(i.text,s)}async function Zu({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 Wu(e)}async function Xu({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}){yl(h={...ie,...h}),e=pl(e);const p=Object.keys(y);if(p.length>0)throw Error("Unknown option: "+p.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 d={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=wu(e)).subkeys=e.subkeys.map(((t,r)=>wu(e.subkeys[r],e)));let r=[cu(e,t)];r=r.concat(e.subkeys.map((e=>ou(e,t))));const n=await Promise.all(r),i=await Tu(n[0],n.slice(1),e,t),a=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:a}}(d,h);return e.getKeys().forEach((({keyPacket:e})=>Au(e,h))),{privateKey:gl(e,c,h),publicKey:"symmetric"!==r?gl(e.toPublic(),c,h):null,revocationCertificate:t}}catch(e){throw X.wrapError("Error generating keypair",e)}}async function Qu({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:a="armored",config:s,...o}){yl(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 hu(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 Tu(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:gl(e,a,s),publicKey:gl(e.toPublic(),a,s),revocationCertificate:t}}catch(e){throw X.wrapError("Error reformatting keypair",e)}}async function Yu({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:a,...s}){yl(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:gl(s,i,a),publicKey:gl(s.toPublic(),i,a)}:{privateKey:null,publicKey:gl(s,i,a)}}catch(e){throw X.wrapError("Error revoking key",e)}}async function Ju({privateKey:e,passphrase:t,config:r,...n}){yl(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 el({privateKey:e,passphrase:t,config:r,...n}){yl(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 tl({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:p=[],config:d,...f}){if(yl(d={...ie,...d}),cl(e),ul(a),t=pl(t),r=pl(r),n=pl(n),c=pl(c),h=pl(h),l=pl(l),y=pl(y),p=pl(p),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,p,d)),e=e.compress(await pu("compression",t,u,y,d),d),e=await e.encrypt(t,n,i,o,h,u,y,d),"object"===a)return e;const f="armored"===a;return dl(f?e.armor(d):e.write(),m,f?"utf8":"binary")}catch(e){throw X.wrapError("Error encrypting message",e)}}async function rl({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(yl(h={...ie,...h}),cl(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(),fl(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 dl(l.data,e.fromStream,s),l}catch(e){throw X.wrapError("Error decrypting message",e)}}async function nl({message:e,signingKeys:t,format:r="armored",detached:n=!1,signingKeyIDs:i=[],date:a=new Date,signingUserIDs:s=[],signatureNotations:o=[],config:c,...h}){if(yl(c={...ie,...c}),hl(e),ul(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 Wu&&"binary"===r)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Wu&&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((()=>{}))])}))),dl(h,e.fromStream,u?"utf8":"binary")}catch(e){throw X.wrapError("Error signing message",e)}}async function il({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:a=new Date,config:s,...o}){if(yl(s={...ie,...s}),hl(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 Wu&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof Wu&&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&&fl(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 dl(o.data,e.fromStream,n),o}catch(e){throw X.wrapError("Error verifying signed message",e)}}async function al({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(yl(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 Fu.generateSessionKey(e,t,r,n)}catch(e){throw X.wrapError("Error generating session key",e)}}async function sl({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(yl(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"),ul(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 gl(await Fu.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 ol({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...a}){if(yl(i={...ie,...i}),cl(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 cl(e){if(!(e instanceof Fu))throw Error("Parameter [message] needs to be of type Message")}function hl(e){if(!(e instanceof Wu||e instanceof Fu))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function ul(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const ll=Object.keys(ie).length;function yl(e){const t=Object.keys(e);if(t.length!==ll)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 dl(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 fl(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 gl(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{Hh as AEADEncryptedDataPacket,Wu as CleartextMessage,Ch as CompressedDataPacket,fa as KDFParams,Ah as LiteralDataPacket,Zh as MarkerPacket,Fu as Message,xh as OnePassSignaturePacket,Uh as PacketList,Du as PrivateKey,Uu as PublicKey,jh as PublicKeyEncryptedSessionKeyPacket,Vh as PublicKeyPacket,Xh as PublicSubkeyPacket,Yh as SecretKeyPacket,ru as SecretSubkeyPacket,au as Signature,Kh as SignaturePacket,Eu as Subkey,Oh as SymEncryptedIntegrityProtectedDataPacket,Gh as SymEncryptedSessionKeyPacket,$h as SymmetricallyEncryptedDataPacket,nu as TrustPacket,gi as UnparseablePacket,Qh as UserAttributePacket,tu as UserIDPacket,Mt as _,tt as a,pe as armor,At as b,rt as c,ie as config,Zu as createCleartextMessage,Gu as createMessage,gt as d,rl as decrypt,Ju as decryptKey,ol as decryptSessionKeys,zt as e,tl as encrypt,el as encryptKey,sl as encryptSessionKey,$ as enums,yr as f,Yt as g,Xu as generateKey,al as generateSessionKey,it as i,Je as m,xr as r,$u as readCleartextMessage,Bu as readKey,Ru as readKeys,qu as readMessage,zu as readPrivateKey,Mu as readPrivateKeys,su as readSignature,Qu as reformatKey,Yu as revokeKey,nl as sign,pt as u,ye as unarmor,il as verify};
3
3
  //# sourceMappingURL=openpgp.min.mjs.map