1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62548,e=>{"use strict";var t=e.i(43476),r=e.i(932),a=e.i(18566),i=e.i(71645);let n=[10,20,50,100];e.s(["TwingleForm",0,function(){let e,s,c,f=(0,r.c)(4),o=(0,a.useSearchParams)(),l=(0,i.useRef)(null),d=(0,i.useRef)(!1);return f[0]!==o?(e=()=>{if(!d.current){var e,t;let r,a,i,s,c,f,u;d.current=!0,e=l.current,t=function(e){if("more"===e)return"500.00";let t=Number.parseInt(e||"");return n.includes(t)?t.toString():void 0}(o.get("amount")),r=new URLSearchParams,t&&r.set("tw_amount",t),a=`https://spenden.twingle.de/embed/cemas-center-fuer-monitoring-analyse-und-strategie-ggmbh/allgemeine-spende/tw61b37d45890ec/widget?${r.toString()}`,i="_"+Math.random().toString(36).substring(2,9),c=(s=document).createElement("script"),f=s.getElementsByTagName("script")[0],(u=s.createElement("div")).id="twingle-public-embed-"+i,e.after(u),c.type="text/javascript",c.async=!0,c.id="tw-"+i,c.defer=!0,c.src=a,f.parentNode&&f.parentNode.insertBefore(c,f)}},s=[o],f[0]=o,f[1]=e,f[2]=s):(e=f[1],s=f[2]),(0,i.useEffect)(e,s),f[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,t.jsx)("div",{className:"mb-8 overflow-hidden rounded-xl",children:(0,t.jsx)("div",{ref:l})}),f[3]=c):c=f[3],c}],62548)},38754,e=>{"use strict";var t=e.i(43476),r=e.i(932),a=e.i(71645);let i=/^https:\/\/datawrapper\.dwcdn\.net\/(\w+)(\/(\d+\/?)?)?$/;e.s(["default",0,function(e){let n,s,c,f,o,l=(0,r.c)(9),{url:d,alt:u}=e,h=void 0===u?"Datenvisualisierung":u;l[0]!==d?(n=function(e){let t=e.match(i);if(!t)throw Error("Datawrapper chart URL did not match pattern");return t[1]}(d),l[0]=d,l[1]=n):n=l[1];let x=n,b=(0,a.useRef)(null);l[2]!==x?(s=()=>{let e=document.createElement("script");return e.src=`//datawrapper.dwcdn.net/${x}/embed.js`,e.defer=!0,b.current?.appendChild(e),()=>{e.remove()}},c=[x],l[2]=x,l[3]=s,l[4]=c):(s=l[3],c=l[4]),(0,a.useEffect)(s,c),l[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("div",{style:{minHeight:"720px"},ref:b}),l[5]=f):f=l[5];let y=`//datawrapper.dwcdn.net/${x}/full.png`;return l[6]!==h||l[7]!==y?(o=(0,t.jsxs)(t.Fragment,{children:[f,(0,t.jsx)("noscript",{children:(0,t.jsx)("img",{src:y,alt:h})})]}),l[6]=h,l[7]=y,l[8]=o):o=l[8],o}])},28893,e=>{e.v({anchor:"PublicKey-module-scss-module__DEwx1G__anchor",blockquote:"PublicKey-module-scss-module__DEwx1G__blockquote",bold:"PublicKey-module-scss-module__DEwx1G__bold",code:"PublicKey-module-scss-module__DEwx1G__code",footnote:"PublicKey-module-scss-module__DEwx1G__footnote",heading:"PublicKey-module-scss-module__DEwx1G__heading",hr:"PublicKey-module-scss-module__DEwx1G__hr",italic:"PublicKey-module-scss-module__DEwx1G__italic",list:"PublicKey-module-scss-module__DEwx1G__list",orderedList:"PublicKey-module-scss-module__DEwx1G__orderedList",paragraph:"PublicKey-module-scss-module__DEwx1G__paragraph",publicKey:"PublicKey-module-scss-module__DEwx1G__publicKey",strikethrough:"PublicKey-module-scss-module__DEwx1G__strikethrough",table:"PublicKey-module-scss-module__DEwx1G__table",tableWrapper:"PublicKey-module-scss-module__DEwx1G__tableWrapper",td:"PublicKey-module-scss-module__DEwx1G__td",th:"PublicKey-module-scss-module__DEwx1G__th",tr:"PublicKey-module-scss-module__DEwx1G__tr",underline:"PublicKey-module-scss-module__DEwx1G__underline",unorderedList:"PublicKey-module-scss-module__DEwx1G__unorderedList"})},72618,e=>{"use strict";let t,r,a,i,n,s,c,f,o;var l,d=e.i(43476),u=e.i(932),h=e.i(48148),x=e.i(71645);let b="u">typeof window?window:e.g,y=Symbol("doneWritingPromise"),g=Symbol("doneWritingResolve"),p=Symbol("doneWritingReject"),A=Symbol("readingIndex");class w extends Array{constructor(){super(),Object.setPrototypeOf(this,w.prototype),this[y]=new Promise((e,t)=>{this[g]=e,this[p]=t}),this[y].catch(()=>{})}}function m(e){return e&&e.getReader&&Array.isArray(e)}function E(e){if(!m(e)){let t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch(function(){}),r.call(t)},t}this.stream=e}function k(e){if(m(e))return"array";if(b.ReadableStream&&b.ReadableStream.prototype.isPrototypeOf(e))return"web";if(e&&!(b.ReadableStream&&e instanceof b.ReadableStream)&&"function"==typeof e._read&&"object"==typeof e._readableState)throw Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!e||!e.getReader)&&"web-like"}function v(e){return Uint8Array.prototype.isPrototypeOf(e)}function I(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!v(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}let r=new Uint8Array(t),a=0;return e.forEach(function(e){r.set(e,a),a+=e.length}),r}w.prototype.getReader=function(){return void 0===this[A]&&(this[A]=0),{read:async()=>(await this[y],this[A]===this.length?{value:void 0,done:!0}:{value:this[this[A]++],done:!1})}},w.prototype.readToEnd=async function(e){await this[y];let t=e(this.slice(this[A]));return this.length=0,t},w.prototype.clone=function(){let e=new w;return e[y]=this[y].then(()=>{e.push(...this)}),e},E.prototype.write=async function(e){this.stream.push(e)},E.prototype.close=async function(){this.stream[g]()},E.prototype.abort=async function(e){return this.stream[p](e),e},E.prototype.releaseLock=function(){},"object"==typeof b.process&&b.process.versions;let B=new WeakSet,S=Symbol("externalBuffer");function C(e){if(this.stream=e,e[S]&&(this[S]=e[S].slice()),m(e)){let t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(k(e)){let 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 t=!1;this._read=async()=>t||B.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>
1{if(t)try{B.add(e)}catch(e){}}}function K(e){return k(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function D(e){let t=k(e);if(t){if("array"!==t)throw Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");return e}let r=new w;return(async()=>{let t=V(r);await t.write(e),await t.close()})(),r}function U(e){var t;let r,a,i,n,s;return e.some(e=>k(e)&&!m(e))?(t=(t=e).map(K),r=Q(async function(e){await Promise.all(i.map(t=>_(t,e)))}),a=Promise.resolve(),i=t.map((e,i)=>F(e,(e,n)=>a=a.then(()=>P(e,r.writable,{preventClose:i!==t.length-1})))),r.readable):e.some(e=>m(e))?(n=new w,s=Promise.resolve(),e.forEach((t,r)=>s=s.then(()=>P(t,n,{preventClose:r!==e.length-1}))),n):"string"==typeof e[0]?e.join(""):I(e)}async function P(e,t,{preventClose:r=!1,preventAbort:a=!1,preventCancel:i=!1}={}){if(k(e)&&!m(e)&&!m(t)){e=K(e);try{if(e[S]){let r=V(t);for(let t=0;t<e[S].length;t++)await r.ready,await r.write(e[S][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:a,preventCancel:i})}catch(e){}return}k(e)||(e=D(e));let n=j(e),s=V(t);try{for(;;){await s.ready;let{done:e,value:t}=await n.read();if(e){r||await s.close();break}await s.write(t)}}catch(e){a||await s.abort(e)}finally{n.releaseLock(),s.releaseLock()}}function Q(e){let t,r,a,i=!1,n=!1;return{readable:new ReadableStream({start(e){a=e},pull(){t?t():i=!0},async cancel(t){n=!0,e&&await e(t),r&&r(t)}},{highWaterMark:0}),writable:new WritableStream({write:async function(e){if(n)throw Error("Stream is cancelled");a.enqueue(e),i?i=!1:(await new Promise((e,a)=>{t=e,r=a}),t=null,r=null)},close:a.close.bind(a),abort:a.error.bind(a)})}}function R(e,t=()=>{},r=()=>{},a={highWaterMark:0}){if(k(e))return L(e,t,r,a);let i=t(e),n=r();return void 0!==i&&void 0!==n?U([i,n]):void 0!==i?i:n}async function M(e,t=async()=>{},r=async()=>{},a={highWaterMark:1}){if(k(e))return L(e,t,r,a);let i=await t(e),n=await r();return void 0!==i&&void 0!==n?U([i,n]):void 0!==i?i:n}function L(e,t,r,a){if(m(e)){let a=new w;return(async()=>{let i=V(a);try{let a,n=await z(e),s=await t(n),c=await r();a=void 0!==s&&void 0!==c?U([s,c]):void 0!==s?s:c,await i.write(a),await i.close()}catch(e){await i.abort(e)}})(),a}if(k(e)){let i,n=!1;return new ReadableStream({start(){i=e.getReader()},async pull(a){if(n)return a.close(),void e.releaseLock();try{for(;;){let{value:s,done:c}=await i.read();n=c;let f=await (c?r:t)(s);if(void 0!==f)return void a.enqueue(f);if(c)return a.close(),void e.releaseLock()}}catch(e){a.error(e)}},async cancel(e){await i.cancel(e)}},a)}throw Error("Unreachable")}function F(e,t){if(k(e)&&!m(e)){let r,a=new TransformStream({start(e){r=e}}),i=P(e,a.writable),n=Q(async function(e){r.error(e),await i,await new Promise(e=>setTimeout(e))});return t(a.readable,n.writable),n.readable}e=D(e);let r=new w;return t(e,r),r}function N(e,t){let r,a=F(e,(e,i)=>{let n=j(e);n.remainder=()=>(n.releaseLock(),P(e,i),a),r=t(n)});return r}function T(e){if(m(e))return e.clone();if(k(e)){let t=function(e){if(m(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(k(e)){let t=K(e).tee();return t[0][S]=t[1][S]=e[S],t}return[G(e),G(e)]}(e);return H(e,t[0]),t[1]}return G(e)}function O(e){return m(e)?T(e):k(e)?new ReadableStream({start(t){let r=F(e,async(e,r)=>{let a=j(e),i=V(r);try{for(;;){await i.ready;let{done:e,value:r}=await a.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)}});H(e,r)}}):G(e)}function H(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach(([r,a])=>{"constructor"!==r&&(a.value?a.value=a.value.bind(t):a.get=a.get.bind(t),Object.defineProperty(e,r,a))})}function G(e,t=0,r=1/0){if(m(e))throw Error("Not implemented");if(k(e)){if(t>=0&&r>=0){let a,i=0;return new ReadableStream({start(){a=e.getReader()},async pull(n){try{for(;;){if(!(i<r))return n.close(),void e.releaseLock();{let s,{value:c,done:f}=await a.read();if(f)return n.close(),void e.releaseLock();if(i+c.length>=t&&(s=G(c,Math.max(t-i,0),r-i)),i+=c.length,s)return void n.enqueue(s)}}}catch(e){n.error(e)}},async cancel(e){await a.cancel(e)}},{highWaterMark:0})}if(t<0&&(r<0||r===1/0)){let a=[];return R(e,e=>{e.length>=-t?a=[e]:a.push(e)},()=>G(U(a),t,r))}if(0===t&&r<0){let a;return R(e,e=>{let i=a?U([a,e]):e;if(i.length>=-r)return a=G(i,r),G(i,t,r);a=i})}return console.warn(`stream.slice(input, ${t}, ${r}
1) not implemented efficiently.`),q(async()=>G(await z(e),t,r))}return e[S]&&(e=U(e[S].concat([e]))),v(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function z(e,t=U){return m(e)?e.readToEnd(t):k(e)?j(e).readToEnd(t):e}async function _(e,t){if(k(e)){if(e.cancel){let r=await e.cancel(t);return await new Promise(e=>setTimeout(e)),r}if(e.destroy)return e.destroy(t),await new Promise(e=>setTimeout(e)),t}}function q(e){let t=new w;return(async()=>{let r=V(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function j(e){return new C(e)}function V(e){return new E(e)}C.prototype.read=async function(){return this[S]&&this[S].length?{done:!1,value:this[S].shift()}:this._read()},C.prototype.releaseLock=function(){this[S]&&(this.stream[S]=this[S]),this._releaseLock()},C.prototype.cancel=function(e){return this._cancel(e)},C.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:a}=await this.read();if(a+="",r)return t.length?U(t):void 0;let i=a.indexOf("\n")+1;i&&(e=U(t.concat(a.substr(0,i))),t=[]),i!==a.length&&t.push(a.substr(i))}return this.unshift(...t),e},C.prototype.readByte=async function(){let{done:e,value:t}=await this.read();if(e)return;let r=t[0];return this.unshift(G(t,1)),r},C.prototype.readBytes=async function(e){let t=[],r=0;for(;;){let{done:a,value:i}=await this.read();if(a)return t.length?U(t):void 0;if(t.push(i),(r+=i.length)>=e){let r=U(t);return this.unshift(G(r,e)),G(r,0,e)}}},C.prototype.peekBytes=async function(e){let t=await this.readBytes(e);return this.unshift(t),t},C.prototype.unshift=function(...e){this[S]||(this[S]=[]),1===e.length&&v(e[0])&&this[S].length&&e[0].length&&this[S][0].byteOffset>=e[0].length?this[S][0]=new Uint8Array(this[S][0].buffer,this[S][0].byteOffset-e[0].length,this[S][0].byteLength+e[0].length):this[S].unshift(...e.filter(e=>e&&e.length))},C.prototype.readToEnd=async function(e=U){let t=[];for(;;){let{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let Y=Symbol("byValue");var Z={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28},symmetric:{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,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,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,padding:21},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,issuerKeyID: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,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,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,userIDInvali
1d:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},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[Y]||(e[Y]=[],Object.entries(e).forEach(([t,r])=>{e[Y][r]=t})),void 0!==e[Y][t])return e[Y][t];throw Error("Invalid enum value.")}},J={preferredHashAlgorithm:Z.hash.sha512,preferredSymmetricAlgorithm:Z.symmetric.aes256,preferredCompressionAlgorithm:Z.compression.uncompressed,aeadProtect:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:Z.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:Z.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([Z.symmetric.aes128,Z.symmetric.aes192,Z.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.3.0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,maxDecompressedMessageSize:1/0,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([Z.hash.md5,Z.hash.ripemd]),rejectMessageHashAlgorithms:new Set([Z.hash.md5,Z.hash.ripemd,Z.hash.sha1]),rejectPublicKeyAlgorithms:new Set([Z.publicKey.elgamal,Z.publicKey.dsa]),rejectCurves:new Set([Z.curve.secp256k1])};let W=(()=>!1)(),X={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:v,isStream:k,getNobleCurve:async(e,t)=>{if(!J.useEllipticFallback)throw Error("This curve is only supported in the full build of OpenPGP.js");let{nobleCurves:r}=await Promise.resolve().then(function(){return fc});switch(e){case Z.publicKey.ecdh:case Z.publicKey.ecdsa:{let e=r.get(t);if(!e)throw Error("Unsupported curve");return e}case Z.publicKey.x448:return r.get("x448");case Z.publicKey.ed448:return r.get("ed448");default:throw Error("Unsupported curve")}},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){let r=new Uint8Array(t);for(let a=0;a<t;a++)r[a]=e>>8*(t-a-1)&255;return r},readDate:function(e){return new Date(1e3*X.readNumber(e))},writeDate:function(e){let 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){let t=(e[0]<<8|e[1])+7>>>3;return X.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.length<r-t)throw Error("Input array too short");return e.subarray(t,r)},leftPad(e,t){if(e.length>t)throw Error("Input array too long");let r=new Uint8Array(t),a=t-e.length;return r.set(e,a),r},uint8ArrayToMPI:function(e){let t=X.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");let r=e.subarray(e.length-Math.ceil(t/8)),a=new Uint8Array([(65280&t)>>8,255&t]);return X.concatUint8Array([a,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;let r=e.subarray(t);return 8*(r.length-1)+X.nbits(r[0])},hexToUint8Array:function(e){let 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){let t="0123456789abcdef",r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),r},stringToUint8Array:function(e){return R(e,e=>{if(!X.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t})},uint8ArrayToString:function(e){let t=[],r=(e=new Uint8Array(e)).length;for(let a=0;a<r;a+=16384)t.push(String.fromCharCode.apply(String,e.subarray(a,a+16384<r?a+16384:r)));return t.join("")},encodeUTF8:function(e){let t=new TextEncoder("utf-8");function r(e,a=!1){return t.encode(e,{stream:!a})}return R(e,r,()=>r("",!0))},decodeUTF8:function(e){let t=new TextDecoder("utf-8");function r(e,a=!1){return t.decode(e,{stream:!a})}return R(e,r,()=>r(new Uint8Array,!0))},concat:U,concatUint8Array:I,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},findLastIndex:function(e,t){for(let r=e.length;r>=0;r--)if(t(e[r],r,e))return r;return -1},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){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),0!=(r=e>>8)&&(e=r,t+=8),0!=(r=e>>4)&&(e=r,t+=4),0!=(r=e>>2)&&(e=r,t+=2),0!=(r=e>>1)&&(e=r,t+=1),t},double:function(e){let t=new Uint8Array(e.length),r=e.length-1;for(let a=0;a<r;a++)t[a]=e[a]<<1^e[a+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(){let e=void 0!==b&&b.crypto&&b.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!e)throw Error("The WebCrypto API is not available");return e},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){return"u">typeof navigator?navigator.hardwareConcurrency||1:this.nodeRequire("os").cpus().length},isEmailAddress:function(e){return!!X.isString(e)&&/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return R(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;let a=[];for(let t=0;r=e.indexOf(10,t)+1;t=r)13!==e[r-2]&&a.push(r);if(!a.length)return e;let i=new Uint8Array(e.length+a.length),n=0;for(let t=0;t<a.length;t++){let r=e.subarray(a[t-1]||0,a[t]);i.set(r,n),i[(n+=r.length)-1]=13,i[n]=10,n++}
1return i.set(e.subarray(a[a.length-1]||0),n),i},()=>t?new Uint8Array([13]):void 0)},nativeEOL:function(e){let t=!1;return R(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 a=0;for(let t=0;t!==e.length;t=r){(r=e.indexOf(13,t)+1)||(r=e.length);let i=r-(10===e[r]);t&&e.copyWithin(a,t,i),a+=i-t}return e.subarray(0,a)},()=>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]||" "===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)}).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch{}return e}return Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){let 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((t,r)=>{let a;Promise.all(e.map(async e=>{try{t(await e)}catch(e){a=e}})).then(()=>{r(a)})})},selectUint8Array:function(e,t,r){let a=new Uint8Array(Math.max(t.length,r.length)),i=0;for(let n=0;n<a.length;n++)a[n]=t[n]&256-e|r[n]&255+e,i+=e&n<t.length|1-e&n<r.length;return a.subarray(0,i)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===Z.symmetric.aes128||e===Z.symmetric.aes192||e===Z.symmetric.aes256}},$=X.getNodeBuffer();function ee(e){let r=new Uint8Array;return R(e,e=>{r=X.concatUint8Array([r,e]);let a=[],i=Math.floor(r.length/45),n=45*i,s=t(r.subarray(0,n));for(let e=0;e<i;e++)a.push(s.substr(60*e,60)),a.push("\n");return r=r.subarray(n),a.join("")},()=>r.length?t(r)+"\n":"")}function et(e){let t="";return R(e,e=>{t+=e;let a=0,i=[" "," ","\r","\n"];for(let e=0;e<i.length;e++){let r=i[e];for(let e=t.indexOf(r);-1!==e;e=t.indexOf(r,e+1))a++}let n=t.length;for(;n>0&&(n-a)%4!=0;n--)i.includes(t[n])&&a--;let s=r(t.substr(0,n));return t=t.substr(n),s},()=>r(t))}function er(e){return et(e.replace(/-/g,"+").replace(/_/g,"/"))}function ea(e,t){return ee(e).replace(/[\r\n]/g,"").replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")}function ei(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"}function en(e){let t;return ee((t=0xce04b7,R(e,e=>{let r=ec?Math.floor(e.length/4):0,a=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=a[e],t=es[0][t>>24&255]^es[1][t>>16&255]^es[2][t>>8&255]^es[3][255&t];for(let a=4*r;a<e.length;a++)t=t>>8^es[0][255&t^e[a]]},()=>new Uint8Array([t,t>>8,t>>16]))))}$?(t=e=>$.from(e).toString("base64"),r=e=>{let t=$.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(t=e=>btoa(X.uint8ArrayToString(e)),r=e=>X.stringToUint8Array(atob(e)));let es=[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^(8388608&t?8801531:0);es[0][e]=(0xff0000&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)es[1][e]=es[0][e]>>8^es[0][255&es[0][e]];for(let e=0;e<=255;e++)es[2][e]=es[1][e]>>8^es[0][255&es[1][e]];for(let e=0;e<=255;e++)es[3][e]=es[2][e]>>8^es[0][255&es[2][e]];let ec=(new DataView(s=new ArrayBuffer(2)).setInt16(0,255,!0),255===new Int16Array(s)[0]);function ef(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 eo(e){return new Promise((t,r)=>{try{let a,i=/^-----[^-]+-----$/m,n=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/,s=[],c,f,o=s,l=[],d=et(F(e,async(e,u)=>{let h=j(e);try{for(;;){let e=await h.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=X.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),a)if(c)f||a!==Z.armor.signed||(i.test(e)?(l=l.join("\r\n"),f=!0,ef(o),o=[],c=!1):l.push(e.replace(/^- /,"")));else if(i.test(e)&&r(Error("Mandatory blank line missing between armor headers and armor data")),n.test(e)){if(ef(o),c=!0,f||a!==Z.armor.signed){t({text:l,data:d,headers:s,type:a});break}}else o.push(e);else i.test(e)&&(a=function(e){let 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])?Z.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?Z.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?Z.armor.signed:/MESSAGE/.test(t[1])?Z.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?Z.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?Z.armor.privateKey:/SIGNATURE/.test(t[1])?Z.armor.signature:void 0}(e))}}catch(e){return void r(e)}let x=V(u);try{for(;;){await x.ready;let{done:e,value:t}=await h.read();if(e)throw Error("Misformed armored text");let r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await h.readToEnd();e.length||(e=""),e=r+e;let t=(e=X.removeTrailingSpaces(e.replace(/\r/g,""))).split(i);if(1===t.length)throw Error("Misformed armored text");let a=function(e){let t=e,r=e.lastIndexOf("=");return r>=0&&r!==e.length-1&&(t=e.slice(0,r)),t}(t[0].slice(0,-1));await x.write(a);break}await x.write(r)}await x.ready,await x.close()}catch(e){await x.abort(e)}}))}catch(e){r(e)}}).then(async e=>(m(e.data)&&(e.data=await z(e.data)),e))}function el(e,t,r,a,i,n=!1,s=J){let c,f;e===Z.armor.signed&&(c=t.text,f=t.hash,t=t.data);let o=n&&O(t),l=[];switch(e){case Z.armor.multipartSection:l.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+a+"-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP MESSAGE, PART "+r+"/"+a+"-----\n");break;case Z.armor.multipartLast:l.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case Z.armor.signed:l.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),l.push(f?`Hash: ${f} 2 3`:"\n"),l.push(c.replace(/^-/gm,"- -")),l.push("\n-----BEGIN PGP SIGNATURE-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP SIGNATURE-----\n");break;case Z.armor.message:l.push("-----BEGIN PGP MESSAGE-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP MESSAGE-----\n");break;case Z.armor.publicKey:l.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case Z.armor.privateKey:l.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case Z.armor.signature:l.push("-----BEGIN PGP SIGNATURE-----\n"),l.push(ei(i,s)),l.push(ee(t)),o&&l.push("=",en(o)),l.push("-----END PGP SIGNATURE-----\n")}
3return X.concat(l)}let ed=BigInt(0),eu=BigInt(1);function eh(e){let t="0123456789ABCDEF",r="";return e.forEach(e=>{r+=t[e>>4]+t[15&e]}),BigInt("0x0"+r)}function ex(e,t){let r=e%t;return r<ed?r+t:r}function eb(e,t,r){if(r===ed)throw Error("Modulo cannot be zero");if(r===eu)return BigInt(0);if(t<ed)throw Error("Unsopported negative exponent");let a=t,i=e;i%=r;let n=BigInt(1);for(;a>ed;){let e=a&eu;a>>=eu,n=e?n*i%r:n,i=i*i%r}return n}function ey(e,t){let{gcd:r,x:a}=function(e,t){let r=BigInt(0),a=BigInt(1),i=BigInt(1),n=BigInt(0),s=e>=ed?e:-e,c=t>=ed?t:-t;for(;c!==ed;){let e=s/c,t=r;r=i-e*r,i=t,t=a,a=n-e*a,n=t,t=c,c=s%c,s=t}return{x:e<ed?-i:i,y:t<ed?-n:n,gcd:s}}(e,t);if(r!==eu)throw Error("Inverse does not exist");return ex(a+t,t)}function eg(e){let t=Number(e);if(t>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return t}function ep(e){let t=e<ed?BigInt(-1):ed,r=1,a=e;for(;(a>>=eu)!==t;)r++;return r}function eA(e){let t=e<ed?BigInt(-1):ed,r=BigInt(8),a=1,i=e;for(;(i>>=r)!==t;)a++;return a}function ew(e,t="be",r){let a=e.toString(16);a.length%2==1&&(a="0"+a);let i=a.length/2,n=new Uint8Array(r||i),s=r?r-i:0,c=0;for(;c<i;)n[c+s]=parseInt(a.slice(2*c,2*c+2),16),c++;return"be"!==t&&n.reverse(),n}let em=X.getNodeCrypto();function eE(e){let t="u">typeof crypto?crypto:em?.webcrypto;if(t?.getRandomValues){let r=new Uint8Array(e);return t.getRandomValues(r)}throw Error("No secure random number generator available.")}function ek(e,t){if(t<e)throw Error("Illegal parameter value: max <= min");let r=t-e;return ex(eh(eE(eA(r)+8)),r)+e}let ev=BigInt(1);function eI(e,t,r){let a=BigInt(30),i=ev<<BigInt(e-1),n=[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],s=ek(i,i<<ev),c=eg(ex(s,a));do s+=BigInt(n[c]),c=(c+n[c])%n.length,ep(s)>e&&(s=ex(s,i<<ev)+i,c=eg(ex(s,a)));while(!eB(s,t,r))return s}function eB(e,t,r){let a;return(!t||function(e,t){let r=e,a=t;for(;a!==ed;){let e=a;a=r%a,r=e}return r}(e-ev,t)===ev)&&(a=BigInt(0),!!eS.every(t=>ex(e,t)!==a))&&!!function(e,t=BigInt(2)){return eb(t,e-ev,e)===ev}(e)&&!!function(e,t){let r=ep(e);t||(t=Math.max(1,r/48|0));let a=e-ev,i=0;for(;!+((a>>BigInt(i)&eu)!==ed);)i++;let n=e>>BigInt(i);for(;t>0;t--){let t,r=eb(ek(BigInt(2),a),n,e);if(r!==ev&&r!==a){for(t=1;t<i;t++){if((r=ex(r*r,e))===ev)return!1;if(r===a)break}if(t===i)return!1}}return!0}(e,r)}let eS=[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,435
37,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].map(e=>BigInt(e)),eC=X.getWebCrypto(),eK=X.getNodeCrypto(),eD=eK&&eK.getHashes();function eU(e){if(eK&&eD.includes(e))return async function(t){let r=eK.createHash(e);return R(t,e=>{r.update(e)},()=>new Uint8Array(r.digest()))}}function eP(e,t){let r=async()=>{let{nobleHashes:t}=await Promise.resolve().then(function(){return fP}),r=t.get(e);if(!r)throw Error("Unsupported hash");return r};return async function(e){if(m(e)&&(e=await z(e)),X.isStream(e)){let t=(await r()).create();return R(e,e=>{t.update(e)},()=>t.digest())}return eC&&t?new Uint8Array(await eC.digest(t,e)):(await r())(e)}}let eQ=eU("md5")||eP("md5"),eR=eU("sha1")||eP("sha1","SHA-1"),eM=eU("sha224")||eP("sha224"),eL=eU("sha256")||eP("sha256","SHA-256"),eF=eU("sha384")||eP("sha384","SHA-384"),eN=eU("sha512")||eP("sha512","SHA-512"),eT=eU("ripemd160")||eP("ripemd160"),eO=eU("sha3-256")||eP("sha3_256"),eH=eU("sha3-512")||eP("sha3_512");function eG(e,t){switch(e){case Z.hash.md5:return eQ(t);case Z.hash.sha1:return eR(t);case Z.hash.ripemd:return eT(t);case Z.hash.sha256:return eL(t);case Z.hash.sha384:return eF(t);case Z.hash.sha512:return eN(t);case Z.hash.sha224:return eM(t);case Z.hash.sha3_256:return eO(t);case Z.hash.sha3_512:return eH(t);default:throw Error("Unsupported hash function")}}function ez(e){switch(e){case Z.hash.md5:return 16;case Z.hash.sha1:case Z.hash.ripemd:return 20;case Z.hash.sha256:return 32;case Z.hash.sha384:return 48;case Z.hash.sha512:return 64;case Z.hash.sha224:return 28;case Z.hash.sha3_256:return 32;case Z.hash.sha3_512:return 64;default:throw Error("Invalid hash algorithm.")}}let e_=[];function eq(e,t,r){let a;if(t.length!==ez(e))throw Error("Invalid hash length");let i=new Uint8Array(e_[e].length);for(a=0;a<e_[e].length;a++)i[a]=e_[e][a];let n=i.length+t.length;if(r<n+11)throw Error("Intended encoded message length too short");let s=new Uint8Array(r-n-3).fill(255),c=new Uint8Array(r);return c[1]=1,c.set(s,2),c.set(i,r-n),c.set(t,r-t.length),c}e_[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],e_[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],e_[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],e_[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],e_[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],e_[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],e_[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];let ej=X.getWebCrypto(),eV=X.getNodeCrypto(),eY=BigInt(1);async function eZ(e,t,r,a,i,n,s,c,f){var o,l;if(ez(e)>=r.length)throw Error("Digest size cannot exceed key modulus size");if(t&&!X.isStream(t)){if(X.getWebCrypto())try{return await async function(e,t,r,a,i,n,s,c){let f=eW(r,a,i,n,s,c),o=await ej.importKey("jwk",f,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["sign"]);return new Uint8Array(await ej.sign("RSASSA-PKCS1-v1_5",o,t))}(Z.read(Z.webHash,e),t,r,a,i,n,s,c)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto()){let f,o;return(f=eV.createSign(Z.read(Z.hash,e))).write(t),f.end(),o=eW(r,a,i,n,s,c),new Uint8Array(f.sign({key:o,format:"jwk",type:"pkcs1"}))}}return o=r,l=i,o=eh(o),ew(eb(eh(eq(e,f,eA(o))),l=eh(l),o),"be",eA(o))}async function eJ(e,t,r,a,i,n){if(t&&!X.isStream(t)){if(X.getWebCrypto())try{return await async function(e,t,r,a,i){let n=eX(a,i),s=await ej.importKey("jwk",n,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return ej.verify("RSASSA-PKCS1-v1_5",s,r,t)}(Z.read(Z.webHash,e),t,r,a,i)}catch(e){X.printDebugError(e)}else if(X.getNodeCrypto()){let n=eX(a,i),s=eV.createVerify(Z.read(Z.hash,e));s.write(t),s.end();try{return s.verify({key:n,format:"jwk",type:"pkcs1"},r)}catch{return!1}}}var s=r,c=a,f=i;if(c=eh(c),s=eh(s),f=eh(f),s>=c)throw Error("Signature size cannot exceed modulus size");let o=ew(eb(s,f,c),"be",eA(c)),l=eq(e,n,eA(c));return X.equalsUint8Array(o,l)}function eW(e,t,r,a,i,n){let s=eh(a),c=eh(i),f=eh(r),o=ex(f,c-eY),l=ex(f,s-eY);return l=ew(l),o=ew(o),{kty:"RSA",n:ea(e),e:ea(t),d:ea(r),p:ea(i),q:ea(a),dp:ea(o),dq:ea(l),qi:ea(n),ext:!0}}function eX(e,t){return{kty:"RSA",n:ea(e),e:ea(t),ext:!0}}function e$(e,t){return{n:er(e.n),e:ew(t),d:er(e.d),p:er(e.q),q:er(e.p),u:er(e.qi)}}let e0=BigInt(1),e1={"2a8648ce3d030107":Z.curve.nistP256,"2b81040022":Z.curve.nistP384,"2b81040023":Z.curve.nistP521,"2b8104000a":Z.curve.secp256k1,"2b06010401da470f01":Z.curve.ed25519Legacy,"2b060104019755010501":Z.curve.curve25519Legacy,"2b2403030208010107":Z.curve.brain
3poolP256r1,"2b240303020801010b":Z.curve.brainpoolP384r1,"2b240303020801010d":Z.curve.brainpoolP512r1};class e2{constructor(e){if(e instanceof e2)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){let 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(){let e=e1[this.toHex()];if(!e)throw Error("Unknown curve object identifier.");return e}}function e5(e){let t,r=0,a=e[0];return a<192?([r]=e,t=1):a<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===a&&(r=X.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function e3(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 e8(e){return new Uint8Array([192|e])}function e6(e,t){return X.concatUint8Array([e8(e),e3(t)])}function e4(e){return[Z.packet.literalData,Z.packet.compressedData,Z.packet.symmetricallyEncryptedData,Z.packet.symEncryptedIntegrityProtectedData,Z.packet.aeadEncryptedData].includes(e)}async function e9(e,t,r){let a,i;try{let n=await e.peekBytes(2);if(!n||n.length<2||!(128&n[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");let s=await e.readByte(),c,f,o=-1,l=-1;l=0,64&s&&(l=1),l?o=63&s:(o=(63&s)>>2,f=3&s);let d=e4(o),u,h=null;if(t&&d){if("array"===t){let e=new w;a=V(e),h=e}else{let e=new TransformStream;a=V(e.writable),h=e.readable}i=r({tag:o,packet:h})}else h=[];do{if(l){let t=await e.readByte();if(u=!1,t<192)c=t;else if(t>=192&&t<224)c=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(c=1<<(31&t),u=!0,!d)throw TypeError("This packet type does not support partial lengths.")}else c=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(f){case 0:c=await e.readByte();break;case 1:c=await e.readByte()<<8|await e.readByte();break;case 2:c=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:c=1/0}if(c>0){let t=0;for(;;){a&&await a.ready;let{done:r,value:i}=await e.read();if(r){if(c===1/0)break;throw Error("Unexpected end of packet")}let n=c===1/0?i:i.subarray(0,c-t);if(a?await a.write(n):h.push(n),(t+=i.length)>=c){e.unshift(i.subarray(c-t+i.length));break}}}}while(u)a?(await a.ready,await a.close()):(h=X.concatUint8Array(h),await r({tag:o,packet:h}))}catch(e){if(a)return await a.abort(e),!0;throw e}finally{a&&await i}}class e7 extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,e7),this.name="UnsupportedError"}}class te extends e7{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,e7),this.name="UnknownPacketError"}}class tt extends e7{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,e7),this.name="MalformedPacketError"}}class tr{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ta(e){switch(e){case Z.publicKey.ed25519:try{let e=X.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch(e=>{if("OperationError"===e.name){let e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),a=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(er(a.x)),seed:er(r.d)}}catch(i){if("NotSupportedError"!==i.name)throw i;let{default:t}=await Promise.resolve().then(function(){return ol}),r=eE(tc(e)),{publicKey:a}=t.sign.keyPair.fromSeed(r);return{A:a,seed:r}}case Z.publicKey.ed448:{let{secretKey:e,publicKey:t}=(await X.getNobleCurve(Z.publicKey.ed448)).keygen();return{A:t,seed:e}}default:throw Error("Unsupported EdDSA algorithm")}}async function ti(e,t,r,a,i,n){if(ez(t)<ez(tf(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case Z.publicKey.ed25519:try{let t=X.getWebCrypto(),r=tl(e,a,i),s=await t.importKey("jwk",r,"Ed25519",!1,["sign"]);return{RS:new Uint8Array(await t.sign("Ed25519",s,n))}}catch(r){if("NotSupportedError"!==r.name)throw r;let{default:e}=await Promise.resolve().then(function(){return ol}),t=X.concatUint8Array([i,a]);return{RS:e.sign.detached(n,t)}}case Z.publicKey.ed448:return{RS:(await X.getNobleCurve(Z.publicKey.ed448)).sign(n,i)};default:throw Error("Unsupported EdDSA algorithm")}}async function tn(e,t,{RS:r},a,i,n){if(ez(t)<ez(tf(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case Z.publicKey.ed25519:try{let t=X.getWebCrypto(),a=to(e,i),s=await t.importKey("jwk",a,"Ed25519",!1,["verify"]);return await t.verify("Ed25519",s,r,n)}catch(t){if("NotSupportedError"!==t.name)throw t;let{default:e}=await Promise.resolve().then(function(){return ol});return e.sign.detached.verify(n,r,i)}case Z.publicKey.ed448:return(await X.getNobleCurve(Z.publicKey.ed448)).verify(r,n,i);default:throw Error("Unsupported EdDSA algorithm")}}async function ts(e,t,r){switch(e){case Z.publicKey.ed25519:try{let a=X.getWebCrypto(),i=tl(e,t,r),n=to(e,t),s=await a.importKey("jwk",i,"Ed25519",!1,["sign"]),c=await a.importKey("jwk",n,"Ed25519",!1,["verify"]),f=eE(8),o=new Uint8Array(await a.sign("Ed25519",s,f));return await a.verify("Ed25519",c,o,f)}catch(i){if("NotSupportedError"!==i.name)return!1;let{default:e}=await Promise.resolve().then(function(){return ol}),{publicKey:a}=e.sign.keyPair.fromSeed(r);return X.equalsUint8Array(t,a)}case Z.publicKey.ed448:{let e=(await X.getNobleCurve(Z.publicKey.ed448)).getPublicKey(r);return X.equalsUint8Array(t,e)}default:return!1}}function tc(e){switch(e){case Z.publicKey.ed25519:return 32;case Z.publicKey.ed448:return 57;default:throw Error("Unsupported EdDSA algorithm")}}function tf(e){switch(e){case Z.publicKey.ed25519:return Z.hash.sha256;case Z.publicKey.ed448:return Z.hash.sha512;default:throw Error("Unknown EdDSA algo")}}let to=(e,t)=>{if(e===Z.publicKey.ed25519)return{kty:"OKP",crv:"Ed25519",x:ea(t),ext:!0};throw Error("Unsupported EdDSA algorithm")},tl=(e,t,r)=>{if(e===Z.publicKey.ed25519){let a=to(e,t);return a.d=ea(r),a}
3throw Error("Unsupported EdDSA algorithm")};var td=Object.freeze({__proto__:null,generate:ta,getPayloadSize:tc,getPreferredHashAlgo:tf,sign:ti,validateParams:ts,verify:tn});function tu(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function th(e,...t){if(!tu(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function tx(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function tb(e,t){th(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function ty(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function tg(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function tp(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function tA(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}let tw=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0];function tm(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!tu(e))throw Error("Uint8Array expected, got "+typeof e);e=tK(e)}return e}function tE(e,t){return e.buffer===t.buffer&&e.byteOffset<t.byteOffset+t.byteLength&&t.byteOffset<e.byteOffset+e.byteLength}function tk(e,t){if(tE(e,t)&&e.byteOffset<t.byteOffset)throw Error("complex overlap of input and output is not supported")}function tv(e,t){if(e.length!==t.length)return!1;let r=0;for(let a=0;a<e.length;a++)r|=e[a]^t[a];return 0===r}let tI=(e,t)=>{function r(a,...i){if(th(a),!tw)throw Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){let t=i[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?th(t):th(t,e.nonceLength)}let n=e.tagLength;n&&void 0!==i[1]&&th(i[1]);let s=t(a,...i),c=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");th(t)}},f=!1;return{encrypt(e,t){if(f)throw Error("cannot encrypt() twice with same key + nonce");return f=!0,th(e),c(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(th(e),n&&e.length<n)throw Error("invalid ciphertext length: smaller than tagLength="+n);return c(s.decrypt.length,t),s.decrypt(e,t)}}}return Object.assign(r,e),r};function tB(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&!tC(t))throw Error("invalid output, must be aligned");return t}function tS(e,t,r,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,a);let i=BigInt(32),n=BigInt(0xffffffff),s=Number(r>>i&n),c=Number(r&n);e.setUint32(t+0,s,a),e.setUint32(t+4,c,a)}function tC(e){return e.byteOffset%4==0}function tK(e){return Uint8Array.from(e)}let tD=new Uint8Array(16),tU=tg(tD),tP=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class tQ{constructor(e,t){var r,a,i,n,s;this.blockLen=16,this.outputLen=16,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,th(e=tm(e),16);const c=tA(e);let f=c.getUint32(0,!1),o=c.getUint32(4,!1),l=c.getUint32(8,!1),d=c.getUint32(12,!1);const u=[];for(let e=0;e<128;e++)u.push({s0:tP(f),s1:tP(o),s2:tP(l),s3:tP(d)}),{s0:f,s1:o,s2:l,s3:d}={s3:(i=l)<<31|(n=d)>>>1,s2:(a=o)<<31|i>>>1,s1:(r=f)<<31|a>>>1,s0:r>>>1^-0x1f000000&-(1&n)};const h=(s=t||1024)>65536?8:s>1024?4:2;if(![1,2,4,8].includes(h))throw Error("ghash: invalid window size, expected 2, 4 or 8");this.W=h;const x=128/h,b=this.windowSize=2**h,y=[];for(let e=0;e<x;e++)for(let t=0;t<b;t++){let r=0,a=0,i=0,n=0;for(let s=0;s<h;s++){if(!(t>>>h-s-1&1))continue;const{s0:c,s1:f,s2:o,s3:l}=u[h*e+s];r^=c,a^=f,i^=o,n^=l}y.push({s0:r,s1:a,s2:i,s3:n})}this.t=y}_updateBlock(e,t,r,a){e^=this.s0,t^=this.s1,r^=this.s2,a^=this.s3;let{W:i,t:n,windowSize:s}=this,c=0,f=0,o=0,l=0,d=(1<<i)-1,u=0;for(let h of[e,t,r,a])for(let e=0;e<4;e++){let t=h>>>8*e&255;for(let e=8/i-1;e>=0;e--){let{s0:r,s1:a,s2:h,s3:x}=n[u*s+(t>>>i*e&d)];c^=r,f^=a,o^=h,l^=x,u+=1}}this.s0=c,this.s1=f,this.s2=o,this.s3=l}update(e){tx(this),th(e=tm(e));let t=tg(e),r=Math.floor(e.length/16),a=e.length%16;for(let e=0;e<r;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return a&&(tD.set(e.subarray(16*r)),this._updateBlock(tU[0],tU[1],tU[2],tU[3]),tp(tU)),this}destroy(){let{t:e}=this;for(let t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){tx(this),tb(e,this),this.finished=!0;let{s0:t,s1:r,s2:a,s3:i}=this,n=tg(e);return n[0]=t,n[1]=r,n[2]=a,n[3]=i,e}digest(){let e=new Uint8Array(16);return this.digestInto(e),this.destroy(),e}}class tR extends tQ{constructor(e,t){th(e=tm(e));const r=function(e){e.reverse();let t=1&e[15],r=0;for(let t=0;t<e.length;t++){let a=e[t];e[t]=a>>>1|r,r=(1&a)<<7}return e[0]^=225&-t,e}(tK(e));super(r,t),tp(r)}update(e){e=tm(e),tx(this);let t=tg(e),r=e.length%16,a=Math.floor(e.length/16);for(let e=0;e<a;e++)this._updateBlock(tP(t[4*e+3]),tP(t[4*e+2]),tP(t[4*e+1]),tP(t[4*e+0]));return r&&(tD.set(e.subarray(16*a)),this._updateBlock(tP(tU[3]),tP(tU[2]),tP(tU[1]),tP(tU[0])),tp(tU)),this}digestInto(e){tx(this),tb(e,this),this.finished=!0;let{s0:t,s1:r,s2:a,s3:i}=this,n=tg(e);return n[0]=t,n[1]=r,n[2]=a,n[3]=i,e.reverse()}}function tM(e){let t=(t,r)=>e(r,t.length).update(tm(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}let tL=tM((e,t)=>new tQ(e,t));tM((e,t)=>new tR(e,t));let tF=new Uint8Array(16);function tN(e){return e<<1^283&-(e>>7)}function tT(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=tN(e);return r}let tO=(()=>{let e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=tN(r))e[t]=r;let t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let a=e[255-r];a|=a<<8,t[e[r]]=255&(a^a>>4^a>>5^a>>6^a>>7^99)}return tp(e),t})(),tH=tO.map((e,t)=>tO.indexOf(t)),tG=e=>e<<8|e>>>24,tz=e=>e<<24&0xff000000|e<<8&0xff0000|e>>>8&65280|e>>>24&255;function t_(e,t){if(256!==e.length)throw Error("Wrong sbox length");let r=new Uint32Array(256).map((r,a)=>t(e[a])),a=r.map(tG),i=a.map(tG),n=i.map(tG),s=new Uint32Array(65536),c=new Uint32Array(65536),f=new Uint16Array(65536);for(let t=0;t<256;t++)for(let o=0;o<256;o++){let l=256*t+o;s[l]=r[t]^a[o],c[l]=i[t]^n[o],f[l]=e[t]<<8|e[o]}return{sbox:e,sbox2:f,T0:r,T1:a,T2:i,T3:n,T01:s,T23:c}}let tq=t_(tO,e=>tT(e,3)<<24|e<<16|e<<8|tT(e,2)),tj=t_(tH,e=>tT(e,11)<<24|tT(e,13)<<16|tT(e,9)<<8|tT(e,14)),tV=(()=>{let e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=tN(r))e[t]=r;return e})();function tY(e){var t;th(e);let r=e.length;
3if(![16,24,32].includes(r))throw Error("aes: invalid key size, should be 16, 24 or 32, got "+r);let{sbox2:a}=tq,i=[];tC(e)||i.push(e=tK(e));let n=tg(e),s=n.length,c=e=>tW(a,e,e,e,e),f=new Uint32Array(r+28);f.set(n);for(let e=s;e<f.length;e++){let r=f[e-1];e%s==0?r=c((t=r)<<24|t>>>8)^tV[e/s-1]:s>6&&e%s==4&&(r=c(r)),f[e]=f[e-s]^r}return tp(...i),f}function tZ(e){let t=tY(e),r=t.slice(),a=t.length,{sbox2:i}=tq,{T0:n,T1:s,T2:c,T3:f}=tj;for(let e=0;e<a;e+=4)for(let i=0;i<4;i++)r[e+i]=t[a-e-4+i];tp(t);for(let e=4;e<a-4;e++){let t=r[e],a=tW(i,t,t,t,t);r[e]=n[255&a]^s[a>>>8&255]^c[a>>>16&255]^f[a>>>24]}return r}function tJ(e,t,r,a,i,n){return e[r<<8&65280|a>>>8&255]^t[i>>>8&65280|n>>>24&255]}function tW(e,t,r,a,i){return e[255&t|65280&r]|e[a>>>16&255|i>>>16&65280]<<16}function tX(e,t,r,a,i){let{sbox2:n,T01:s,T23:c}=tq,f=0;t^=e[f++],r^=e[f++],a^=e[f++],i^=e[f++];let o=e.length/4-2;for(let n=0;n<o;n++){let n=e[f++]^tJ(s,c,t,r,a,i),o=e[f++]^tJ(s,c,r,a,i,t),l=e[f++]^tJ(s,c,a,i,t,r),d=e[f++]^tJ(s,c,i,t,r,a);t=n,r=o,a=l,i=d}return{s0:e[f++]^tW(n,t,r,a,i),s1:e[f++]^tW(n,r,a,i,t),s2:e[f++]^tW(n,a,i,t,r),s3:e[f++]^tW(n,i,t,r,a)}}function t$(e,t,r,a,i){let{sbox2:n,T01:s,T23:c}=tj,f=0;t^=e[f++],r^=e[f++],a^=e[f++],i^=e[f++];let o=e.length/4-2;for(let n=0;n<o;n++){let n=e[f++]^tJ(s,c,t,i,a,r),o=e[f++]^tJ(s,c,r,t,i,a),l=e[f++]^tJ(s,c,a,r,t,i),d=e[f++]^tJ(s,c,i,a,r,t);t=n,r=o,a=l,i=d}return{s0:e[f++]^tW(n,t,i,a,r),s1:e[f++]^tW(n,r,t,i,a),s2:e[f++]^tW(n,a,r,t,i),s3:e[f++]^tW(n,i,a,r,t)}}function t0(e,t,r,a,i){th(r,16),th(a),i=tB(a.length,i);let n=tg(r),s=tA(r),c=tg(a),f=tg(i),o=12*!t,l=a.length,d=s.getUint32(o,t),{s0:u,s1:h,s2:x,s3:b}=tX(e,n[0],n[1],n[2],n[3]);for(let r=0;r+4<=c.length;r+=4)f[r+0]=c[r+0]^u,f[r+1]=c[r+1]^h,f[r+2]=c[r+2]^x,f[r+3]=c[r+3]^b,d=d+1>>>0,s.setUint32(o,d,t),{s0:u,s1:h,s2:x,s3:b}=tX(e,n[0],n[1],n[2],n[3]);let y=16*Math.floor(c.length/4);if(y<l){let e=new Uint32Array([u,h,x,b]),t=ty(e);for(let e=y,r=0;e<l;e++,r++)i[e]=a[e]^t[r];tp(e)}return i}let t1=tI({blockSize:16,nonceLength:16},function(e,t){function r(r,a){if(th(r),void 0!==a&&(th(a),!tC(a)))throw Error("unaligned destination");let i=tY(e),n=tK(t),s=[i,n];tC(r)||s.push(r=tK(r));let c=function(e,t,r,a){th(t,16),th(r);let i=r.length;tk(r,a=tB(i,a));let n=tg(t),{s0:s,s1:c,s2:f,s3:o}=tX(e,n[0],n[1],n[2],n[3]),l=tg(r),d=tg(a);for(let r=0;r+4<=l.length;r+=4){d[r+0]=l[r+0]^s,d[r+1]=l[r+1]^c,d[r+2]=l[r+2]^f,d[r+3]=l[r+3]^o;let a=1;for(let e=t.length-1;e>=0;e--)a=a+(255&t[e])|0,t[e]=255&a,a>>>=8;({s0:s,s1:c,s2:f,s3:o}=tX(e,n[0],n[1],n[2],n[3]))}let u=16*Math.floor(l.length/4);if(u<i){let e=new Uint32Array([s,c,f,o]),t=ty(e);for(let e=u,n=0;e<i;e++,n++)a[e]=r[e]^t[n];tp(e)}return a}(i,n,r,a);return tp(...s),c}return{encrypt:(e,t)=>r(e,t),decrypt:(e,t)=>r(e,t)}}),t2=tI({blockSize:16,nonceLength:16},function(e,t,r={}){let a=!r.disablePadding;return{encrypt(r,i){let n=tY(e),{b:s,o:c,out:f}=function(e,t,r){th(e);let a=e.length,i=a%16;if(!t&&0!==i)throw Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");tC(e)||(e=tK(e));let n=tg(e);if(t){let e=16-i;e||(e=16),a+=e}return tk(e,r=tB(a,r)),{b:n,o:tg(r),out:r}}(r,a,i),o=t,l=[n];tC(o)||l.push(o=tK(o));let d=tg(o),u=d[0],h=d[1],x=d[2],b=d[3],y=0;for(;y+4<=s.length;)u^=s[y+0],h^=s[y+1],x^=s[y+2],b^=s[y+3],({s0:u,s1:h,s2:x,s3:b}=tX(n,u,h,x,b)),c[y++]=u,c[y++]=h,c[y++]=x,c[y++]=b;if(a){let e=function(e){let t=new Uint8Array(16),r=tg(t);t.set(e);let a=16-e.length;for(let e=16-a;e<16;e++)t[e]=a;return r}(r.subarray(4*y));u^=e[0],h^=e[1],x^=e[2],b^=e[3],({s0:u,s1:h,s2:x,s3:b}=tX(n,u,h,x,b)),c[y++]=u,c[y++]=h,c[y++]=x,c[y++]=b}return tp(...l),f},decrypt(r,i){var n=r;if(th(n),n.length%16!=0)throw Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size 16");let s=tZ(e),c=t,f=[s];tC(c)||f.push(c=tK(c));let o=tg(c);i=tB(r.length,i),tC(r)||f.push(r=tK(r)),tk(r,i);let l=tg(r),d=tg(i),u=o[0],h=o[1],x=o[2],b=o[3];for(let e=0;e+4<=l.length;){let t=u,r=h,a=x,i=b;u=l[e+0],h=l[e+1];let{s0:n,s1:c,s2:f,s3:o}=t$(s,u,h,x=l[e+2],b=l[e+3]);d[e++]=n^t,d[e++]=c^r,d[e++]=f^a,d[e++]=o^i}return tp(...f),function(e,t){if(!t)return e;let r=e.length;if(!r)throw Error("aes/pcks5: empty ciphertext not allowed");let a=e[r-1];if(a<=0||a>16)throw Error("aes/pcks5: wrong padding");let i=e.subarray(0,-a);for(let t=0;t<a;t++)if(e[r-t-1]!==a)throw Error("aes/pcks5: wrong padding");return i}(i,a)}}}),t5=tI({blockSize:16,nonceLength:16},function(e,t){function r(r,a,i){th(r);let n=r.length;if(tE(r,i=tB(n,i)))throw Error("overlapping src and dst not supported.");let s=tY(e),c=t,f=[s];tC(c)||f.push(c=tK(c)),tC(r)||f.push(r=tK(r));let o=tg(r),l=tg(i),d=a?l:o,u=tg(c),h=u[0],x=u[1],b=u[2],y=u[3];for(let e=0;e+4<=o.length;){let{s0:t,s1:r,s2:a,s3:i}=tX(s,h,x,b,y);l[e+0]=o[e+0]^t,l[e+1]=o[e+1]^r,l[e+2]=o[e+2]^a,l[e+3]=o[e+3]^i,h=d[e++],x=d[e++],b=d[e++],y=d[e++]}let g=16*Math.floor(o.length/4);
3if(g<n){({s0:h,s1:x,s2:b,s3:y}=tX(s,h,x,b,y));let e=ty(new Uint32Array([h,x,b,y]));for(let t=g,a=0;t<n;t++,a++)i[t]=r[t]^e[a];tp(e)}return tp(...f),i}return{encrypt:(e,t)=>r(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}}),t3=tI({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},function(e,t,r){if(t.length<8)throw Error("aes/gcm: invalid nonce length");function a(e,t,a){var i,n;let s,c,f,o,l,d,u=(s=r?r.length:0,c=tL.create(e,a.length+s),r&&c.update(r),i=8*a.length,n=8*s,tS(o=tA(f=new Uint8Array(16)),0,BigInt(n),!1),tS(o,8,BigInt(i),!1),l=f,c.update(a),c.update(l),d=c.digest(),tp(l),d);for(let e=0;e<t.length;e++)u[e]^=t[e];return u}function i(){let r=tY(e),a=tF.slice(),i=tF.slice();if(t0(r,!1,i,i,a),12===t.length)i.set(t);else{let e=tF.slice();tS(tA(e),8,BigInt(8*t.length),!1);let r=tL.create(a).update(t).update(e);r.digestInto(i),r.destroy()}return{xk:r,authKey:a,counter:i,tagMask:t0(r,!1,i,tF)}}return{encrypt(e){let{xk:t,authKey:r,counter:n,tagMask:s}=i(),c=new Uint8Array(e.length+16),f=[t,r,n,s];tC(e)||f.push(e=tK(e)),t0(t,!1,n,e,c.subarray(0,e.length));let o=a(r,s,c.subarray(0,c.length-16));return f.push(o),c.set(o,e.length),tp(...f),c},decrypt(e){let{xk:t,authKey:r,counter:n,tagMask:s}=i(),c=[t,r,s,n];tC(e)||c.push(e=tK(e));let f=e.subarray(0,-16),o=e.subarray(-16),l=a(r,s,f);if(c.push(l),!tv(l,o))throw Error("aes/gcm: invalid ghash tag");let d=t0(t,!1,n,f);return tp(...c),d}}});function t8(e){return e instanceof Uint32Array||ArrayBuffer.isView(e)&&"Uint32Array"===e.constructor.name}let t6={encrypt(e,t){if(t.length>=0x100000000)throw Error("plaintext should be less than 4gb");let r=tY(e);if(16===t.length)!function(e,t){if(th(t,16),!t8(e))throw Error("_encryptBlock accepts result of expandKeyLE");let r=tg(t),{s0:a,s1:i,s2:n,s3:s}=tX(e,r[0],r[1],r[2],r[3]);r[0]=a,r[1]=i,r[2]=n,r[3]=s}(r,t);else{let e=tg(t),a=e[0],i=e[1];for(let t=0,n=1;t<6;t++)for(let t=2;t<e.length;t+=2,n++){let{s0:s,s1:c,s2:f,s3:o}=tX(r,a,i,e[t],e[t+1]);a=s,i=c^tz(n),e[t]=f,e[t+1]=o}e[0]=a,e[1]=i}r.fill(0)},decrypt(e,t){if(t.length-8>=0x100000000)throw Error("ciphertext should be less than 4gb");let r=tZ(e),a=t.length/8-1;if(1===a)!function(e,t){if(th(t,16),!t8(e))throw Error("_decryptBlock accepts result of expandKeyLE");let r=tg(t),{s0:a,s1:i,s2:n,s3:s}=t$(e,r[0],r[1],r[2],r[3]);r[0]=a,r[1]=i,r[2]=n,r[3]=s}(r,t);else{let e=tg(t),i=e[0],n=e[1];for(let t=0,s=6*a;t<6;t++)for(let t=2*a;t>=1;t-=2,s--){let{s0:a,s1:c,s2:f,s3:o}=t$(r,i,n^=tz(s),e[t],e[t+1]);i=a,n=c,e[t]=f,e[t+1]=o}e[0]=i,e[1]=n}r.fill(0)}},t4=new Uint8Array(8).fill(166),t9=tI({blockSize:8},e=>({encrypt(t){if(!t.length||t.length%8!=0)throw Error("invalid plaintext length");if(8===t.length)throw Error("8-byte keys not allowed in AESKW, use AESKWP instead");let r=function(...e){let t=0;for(let r=0;r<e.length;r++){let a=e[r];th(a),t+=a.length}let r=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let i=e[t];r.set(i,a),a+=i.length}return r}(t4,t);return t6.encrypt(e,r),r},decrypt(t){if(t.length%8!=0||t.length<24)throw Error("invalid ciphertext length");let r=tK(t);if(t6.decrypt(e,r),!tv(r.subarray(0,8),t4))throw Error("integrity check failed");return r.subarray(0,8).fill(0),r.subarray(8)}}));async function t7(e){switch(e){case Z.symmetric.aes128:case Z.symmetric.aes192:case Z.symmetric.aes256:throw Error("Not a legacy cipher");case Z.symmetric.cast5:case Z.symmetric.blowfish:case Z.symmetric.twofish:case Z.symmetric.tripledes:{let{legacyCiphers:t}=await Promise.resolve().then(function(){return ok}),r=Z.read(Z.symmetric,e),a=t.get(r);if(!a)throw Error("Unsupported cipher algorithm");return a}default:throw Error("Unsupported cipher algorithm")}}function re(e){return{keySize:function(e){switch(e){case Z.symmetric.aes128:case Z.symmetric.blowfish:case Z.symmetric.cast5:return 16;case Z.symmetric.aes192:case Z.symmetric.tripledes:return 24;case Z.symmetric.aes256:case Z.symmetric.twofish:return 32;default:throw Error("Unsupported cipher")}}(e),blockSize:function(e){switch(e){case Z.symmetric.aes128:case Z.symmetric.aes192:case Z.symmetric.aes256:case Z.symmetric.twofish:return 16;case Z.symmetric.blowfish:case Z.symmetric.cast5:case Z.symmetric.tripledes:return 8;default:throw Error("Unsupported cipher")}}(e)}}let rt=X.getWebCrypto();async function rr(e,t,r){let{keySize:a}=re(e);if(!X.isAES(e)||t.length!==a)throw Error("Unexpected algorithm or key size");try{let e=await rt.importKey("raw",t,{name:"AES-KW"},!1,["wrapKey"]),a=await rt.importKey("raw",r,{name:"HMAC",hash:"SHA-256"},!0,["sign"]),i=await rt.wrapKey("raw",a,e,{name:"AES-KW"});return new Uint8Array(i)}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;X.printDebugError("Browser did not support operation: "+e.message)}
3return t9(t).encrypt(r)}async function ra(e,t,r){let a,{keySize:i}=re(e);if(!X.isAES(e)||t.length!==i)throw Error("Unexpected algorithm or key size");try{a=await rt.importKey("raw",t,{name:"AES-KW"},!1,["unwrapKey"])}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;return X.printDebugError("Browser did not support operation: "+e.message),t9(t).decrypt(r)}try{let e=await rt.unwrapKey("raw",r,a,{name:"AES-KW"},{name:"HMAC",hash:"SHA-256"},!0,["sign"]);return new Uint8Array(await rt.exportKey("raw",e))}catch(e){if("OperationError"===e.name)throw Error("Key Data Integrity failed");throw e}}async function ri(e,t,r,a,i){let n=X.getWebCrypto(),s=Z.read(Z.webHash,e);if(!s)throw Error("Hash algo not supported with HKDF");let c=await n.importKey("raw",t,"HKDF",!1,["deriveBits"]);return new Uint8Array(await n.deriveBits({name:"HKDF",hash:s,salt:r,info:a},c,8*i))}let rn={x25519:X.encodeUTF8("OpenPGP X25519"),x448:X.encodeUTF8("OpenPGP X448")};async function rs(e){switch(e){case Z.publicKey.x25519:try{let e=X.getWebCrypto(),t=await e.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){let e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),r=await e.exportKey("jwk",t.privateKey),a=await e.exportKey("jwk",t.publicKey);if(r.x!==a.x){let e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(er(a.x)),k:er(r.d)}}catch(a){if("NotSupportedError"!==a.name)throw a;let{default:e}=await Promise.resolve().then(function(){return ol}),{secretKey:t,publicKey:r}=e.box.keyPair();return{A:r,k:t}}case Z.publicKey.x448:{let{secretKey:e,publicKey:t}=(await X.getNobleCurve(Z.publicKey.x448)).keygen();return{A:t,k:e}}default:throw Error("Unsupported ECDH algorithm")}}async function rc(e,t,r){switch(e){case Z.publicKey.x25519:try{let{ephemeralPublicKey:a,sharedSecret:i}=await rd(e,t),n=await ru(e,a,t,r);return X.equalsUint8Array(i,n)}catch{return!1}case Z.publicKey.x448:{let e=(await X.getNobleCurve(Z.publicKey.x448)).getPublicKey(r);return X.equalsUint8Array(t,e)}default:return!1}}async function rf(e,t,r){let{ephemeralPublicKey:a,sharedSecret:i}=await rd(e,r),n=X.concatUint8Array([a,r,i]);switch(e){case Z.publicKey.x25519:{let e=Z.symmetric.aes128,{keySize:r}=re(e),i=await ri(Z.hash.sha256,n,new Uint8Array,rn.x25519,r);return{ephemeralPublicKey:a,wrappedKey:await rr(e,i,t)}}case Z.publicKey.x448:{let e=Z.symmetric.aes256,{keySize:r}=re(Z.symmetric.aes256),i=await ri(Z.hash.sha512,n,new Uint8Array,rn.x448,r);return{ephemeralPublicKey:a,wrappedKey:await rr(e,i,t)}}default:throw Error("Unsupported ECDH algorithm")}}async function ro(e,t,r,a,i){let n=await ru(e,t,a,i),s=X.concatUint8Array([t,a,n]);switch(e){case Z.publicKey.x25519:{let e=Z.symmetric.aes128,{keySize:t}=re(e);return ra(e,await ri(Z.hash.sha256,s,new Uint8Array,rn.x25519,t),r)}case Z.publicKey.x448:{let e=Z.symmetric.aes256,{keySize:t}=re(Z.symmetric.aes256);return ra(e,await ri(Z.hash.sha512,s,new Uint8Array,rn.x448,t),r)}default:throw Error("Unsupported ECDH algorithm")}}function rl(e){switch(e){case Z.publicKey.x25519:return 32;case Z.publicKey.x448:return 56;default:throw Error("Unsupported ECDH algorithm")}}async function rd(e,t){switch(e){case Z.publicKey.x25519:try{let r=X.getWebCrypto(),a=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch(e=>{if("OperationError"===e.name){let e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e}),i=await r.exportKey("jwk",a.publicKey);if((await r.exportKey("jwk",a.privateKey)).x!==i.x){let e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}let n=rx(e,t),s=await r.importKey("jwk",n,"X25519",!1,[]),c=await r.deriveBits({name:"X25519",public:s},a.privateKey,8*rl(e));return{sharedSecret:new Uint8Array(c),ephemeralPublicKey:new Uint8Array(er(i.x))}}catch(n){if("NotSupportedError"!==n.name)throw n;let{default:e}=await Promise.resolve().then(function(){return ol}),{secretKey:r,publicKey:a}=e.box.keyPair(),i=e.scalarMult(r,t);return rh(i),{ephemeralPublicKey:a,sharedSecret:i}
3}case Z.publicKey.x448:{let e=await X.getNobleCurve(Z.publicKey.x448),{secretKey:r,publicKey:a}=e.keygen(),i=e.getSharedSecret(r,t);return rh(i),{ephemeralPublicKey:a,sharedSecret:i}}default:throw Error("Unsupported ECDH algorithm")}}async function ru(e,t,r,a){switch(e){case Z.publicKey.x25519:try{let i=X.getWebCrypto(),n=function(e,t,r){if(e===Z.publicKey.x25519){let a=rx(e,t);return a.d=ea(r),a}throw Error("Unsupported ECDH algorithm")}(e,r,a),s=rx(e,t),c=await i.importKey("jwk",n,"X25519",!1,["deriveKey","deriveBits"]),f=await i.importKey("jwk",s,"X25519",!1,[]),o=await i.deriveBits({name:"X25519",public:f},c,8*rl(e));return new Uint8Array(o)}catch(i){if("NotSupportedError"!==i.name)throw i;let{default:e}=await Promise.resolve().then(function(){return ol}),r=e.scalarMult(a,t);return rh(r),r}case Z.publicKey.x448:{let e=(await X.getNobleCurve(Z.publicKey.x448)).getSharedSecret(a,t);return rh(e),e}default:throw Error("Unsupported ECDH algorithm")}}function rh(e){let t=0;for(let r=0;r<e.length;r++)t|=e[r];if(0===t)throw Error("Unexpected low order point")}function rx(e,t){if(e===Z.publicKey.x25519)return{kty:"OKP",crv:"X25519",x:ea(t),ext:!0};throw Error("Unsupported ECDH algorithm")}var rb=Object.freeze({__proto__:null,decrypt:ro,encrypt:rf,generate:rs,generateEphemeralEncryptionMaterial:rd,getPayloadSize:rl,recomputeSharedSecret:ru,validateParams:rc});let ry=X.getWebCrypto(),rg=X.getNodeCrypto(),rp={[Z.curve.nistP256]:"P-256",[Z.curve.nistP384]:"P-384",[Z.curve.nistP521]:"P-521"},rA=rg?rg.getCurves():[],rw=rg?{[Z.curve.secp256k1]:rA.includes("secp256k1")?"secp256k1":void 0,[Z.curve.nistP256]:rA.includes("prime256v1")?"prime256v1":void 0,[Z.curve.nistP384]:rA.includes("secp384r1")?"secp384r1":void 0,[Z.curve.nistP521]:rA.includes("secp521r1")?"secp521r1":void 0,[Z.curve.ed25519Legacy]:rA.includes("ED25519")?"ED25519":void 0,[Z.curve.curve25519Legacy]:rA.includes("X25519")?"X25519":void 0,[Z.curve.brainpoolP256r1]:rA.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,[Z.curve.brainpoolP384r1]:rA.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,[Z.curve.brainpoolP512r1]:rA.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},rm={[Z.curve.nistP256]:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha256,cipher:Z.symmetric.aes128,node:rw[Z.curve.nistP256],web:rp[Z.curve.nistP256],payloadSize:32,sharedSize:256,wireFormatLeadingByte:4},[Z.curve.nistP384]:{oid:[6,5,43,129,4,0,34],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha384,cipher:Z.symmetric.aes192,node:rw[Z.curve.nistP384],web:rp[Z.curve.nistP384],payloadSize:48,sharedSize:384,wireFormatLeadingByte:4},[Z.curve.nistP521]:{oid:[6,5,43,129,4,0,35],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha512,cipher:Z.symmetric.aes256,node:rw[Z.curve.nistP521],web:rp[Z.curve.nistP521],payloadSize:66,sharedSize:528,wireFormatLeadingByte:4},[Z.curve.secp256k1]:{oid:[6,5,43,129,4,0,10],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha256,cipher:Z.symmetric.aes128,node:rw[Z.curve.secp256k1],payloadSize:32,wireFormatLeadingByte:4},[Z.curve.ed25519Legacy]:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:Z.publicKey.eddsaLegacy,hash:Z.hash.sha512,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Z.curve.curve25519Legacy]:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:Z.publicKey.ecdh,hash:Z.hash.sha256,cipher:Z.symmetric.aes128,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Z.curve.brainpoolP256r1]:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha256,cipher:Z.symmetric.aes128,node:rw[Z.curve.brainpoolP256r1],payloadSize:32,wireFormatLeadingByte:4},[Z.curve.brainpoolP384r1]:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha384,cipher:Z.symmetric.aes192,node:rw[Z.curve.brainpoolP384r1],payloadSize:48,wireFormatLeadingByte:4},[Z.curve.brainpoolP512r1]:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:Z.publicKey.ecdsa,hash:Z.hash.sha512,cipher:Z.symmetric.aes256,node:rw[Z.curve.brainpoolP512r1],payloadSize:64,wireFormatLeadingByte:4}};class rE{constructor(e){try{this.name=e instanceof e2?e.getName():Z.write(Z.curve,e)}catch{throw new e7("Unknown curve")}const t=rm[this.name];this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node,this.web=t.web,this.payloadSize=t.payloadSize,this.sharedSize=t.sharedSize,this.wireFormatLeadingByte=t.wireFormatLeadingByte,this.web&&X.getWebCrypto()?this.type="web":this.node&&X.getNodeCrypto()?this.type="node":this.name===Z.curve.curve25519Legacy?this.type="curve25519Legacy":this.name===Z.curve.ed25519Legacy&&(this.t
3ype="ed25519Legacy")}async genKeyPair(){switch(this.type){case"web":try{return await async function(e,t){let r=await ry.generateKey({name:"ECDSA",namedCurve:rp[e]},!0,["sign","verify"]),a=await ry.exportKey("jwk",r.privateKey);return{publicKey:rC(await ry.exportKey("jwk",r.publicKey),t),privateKey:er(a.d)}}(this.name,this.wireFormatLeadingByte)}catch(e){return X.printDebugError("Browser did not support generating ec key "+e.message),rS(this.name)}case"node":var e;let t;return e=this.name,(t=rg.createECDH(rw[e])).generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())};case"curve25519Legacy":{let{k:e,A:t}=await rs(Z.publicKey.x25519),r=e.slice().reverse();return r[0]=127&r[0]|64,r[31]&=248,{publicKey:X.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:r}}case"ed25519Legacy":{let{seed:e,A:t}=await ta(Z.publicKey.ed25519);return{publicKey:X.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:e}}default:return rS(this.name)}}}async function rk(e){let t=new rE(e),{oid:r,hash:a,cipher:i}=t,n=await t.genKeyPair();return{oid:r,Q:n.publicKey,secret:X.leftPad(n.privateKey,t.payloadSize),hash:a,cipher:i}}function rv(e){return rm[e.getName()].hash}async function rI(e,t,r,a){let i={[Z.curve.nistP256]:!0,[Z.curve.nistP384]:!0,[Z.curve.nistP521]:!0,[Z.curve.secp256k1]:!0,[Z.curve.curve25519Legacy]:e===Z.publicKey.ecdh,[Z.curve.brainpoolP256r1]:!0,[Z.curve.brainpoolP384r1]:!0,[Z.curve.brainpoolP512r1]:!0},n=t.getName();if(!i[n])return!1;if(n===Z.curve.curve25519Legacy){let e=a.slice().reverse();return!(r.length<1||64!==r[0])&&rc(Z.publicKey.x25519,r.subarray(1),e)}let s=(await X.getNobleCurve(Z.publicKey.ecdsa,n)).getPublicKey(a,!1);return!!X.equalsUint8Array(s,r)}function rB(e,t){let{payloadSize:r,wireFormatLeadingByte:a,name:i}=e,n=i===Z.curve.curve25519Legacy||i===Z.curve.ed25519Legacy?r:2*r;if(t[0]!==a||t.length!==n+1)throw Error("Invalid point encoding")}async function rS(e){let t=await X.getNobleCurve(Z.publicKey.ecdsa,e),{secretKey:r}=t.keygen();return{publicKey:t.getPublicKey(r,!1),privateKey:r}}function rC(e,t){let r=er(e.x),a=er(e.y),i=new Uint8Array(r.length+a.length+1);return i[0]=t,i.set(r,1),i.set(a,r.length+1),i}function rK(e,t,r){let a=r.slice(1,e+1),i=r.slice(e+1,2*e+1);return{kty:"EC",crv:t,x:ea(a),y:ea(i),ext:!0}}function rD(e,t,r,a){let i=rK(e,t,r);return i.d=ea(a),i}let rU=X.getWebCrypto(),rP=X.getNodeCrypto();async function rQ(e,t,r,a,i,n){let s=new rE(e);if(rB(s,a),r&&!X.isStream(r))switch(s.type){case"web":try{return await async function(e,t,r,a){let i=e.payloadSize,n=rD(e.payloadSize,rp[e.name],a.publicKey,a.privateKey),s=await rU.importKey("jwk",n,{name:"ECDSA",namedCurve:rp[e.name],hash:{name:Z.read(Z.webHash,e.hash)}},!1,["sign"]),c=new Uint8Array(await rU.sign({name:"ECDSA",namedCurve:rp[e.name],hash:{name:Z.read(Z.webHash,t)}},s,r));return{r:c.slice(0,i),s:c.slice(i,i<<1)}}(s,t,r,{publicKey:a,privateKey:i})}catch(e){if("nistP521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support signing: "+e.message)}break;case"node":return function(e,t,r,a){let i=X.nodeRequire("eckey-utils"),n=X.getNodeBuffer(),{privateKey:s}=i.generateDer({curveName:rw[e.name],privateKey:n.from(a)}),c=rP.createSign(Z.read(Z.hash,t));c.write(r),c.end();let f=new Uint8Array(c.sign({key:s,format:"der",type:"sec1",dsaEncoding:"ieee-p1363"})),o=e.payloadSize;return{r:f.subarray(0,o),s:f.subarray(o,o<<1)}}(s,t,r,i)}let c=(await X.getNobleCurve(Z.publicKey.ecdsa,s.name)).sign(n,i,{lowS:!1});return{r:ew(c.r,"be",s.payloadSize),s:ew(c.s,"be",s.payloadSize)}}async function rR(e,t,r,a,i,n){let s=new rE(e);rB(s,i);let c=async()=>0===n[0]&&rM(s,r,n.subarray(1),i);if(a&&!X.isStream(a))switch(s.type){case"web":try{return await async function(e,t,{r,s:a},i,n){let s=rK(e.payloadSize,rp[e.name],n),c=await rU.importKey("jwk",s,{name:"ECDSA",namedCurve:rp[e.name],hash:{name:Z.read(Z.webHash,e.hash)}},!1,["verify"]),f=X.concatUint8Array([r,a]).buffer;return rU.verify({name:"ECDSA",namedCurve:rp[e.name],hash:{name:Z.read(Z.webHash,t)}},c,f,i)}(s,t,r,a,i)||c()}catch(e){if("nistP521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;X.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return function(e,t,{r,s:a},i,n){let s=X.nodeRequire("eckey-utils"),c=X.getNodeBuffer(),{publicKey:f}=s.generateDer({curveName:rw[e.name],publicKey:c.from(n)}),o=rP.createVerify(Z.read(Z.hash,t));o.write(i),o.end();let l=X.concatUint8Array([r,a]);try{return o.verify({key:f,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},l)}catch{return!1}}(s,t,r,a,i)||c()}return await rM(s,r,n,i)||c()}async function rM(e,t,r,a){return(await X.getNobleCurve(Z.publicKey.ecdsa,e.name)).verify(X.concatUint8Array([t.r,t.s]),r,a,{lowS:!1})}var rL=Object.freeze({__proto__:null,sign:rQ,validateParams:async function(e,t,r){let a=new rE(e);if(a.keyType!==Z.publicKey.ecdsa)return!1;switch(a.type){case"web":case"node":{let a=eE(8),i=Z.hash.sha256,n=await eG(i,a);try{let s=await rQ(e,i,a,t,r,n);return await rR(e,i,s,a,t,n)}catch{return!1}}default:return rI(Z.publicKey.ecdsa,e,t,r)}},verify:rR});async function rF(e,t,r,a,i,n){if(rB(new rE(e),a),ez(t)<ez(Z.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");let{RS:s}=await ti(Z.publicKey.ed25519,t,0,a.subarray(1),i,n);return{r:s.subarray(0,32),s:s.subarray(32)}}async function rN(e,t,{r,s:a},i,n,s){if(rB(new rE(e),n),ez(t)<ez(Z.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");let c=X.concatUint8Array([r,a]);return tn(Z.publicKey.ed25519,t,{RS:c},0,n.subarray(1),s)}async function rT(e,t,r){return e.getName()===Z.curve.ed25519Legacy&&!(t.length<1||64!==t[0])&&ts(Z.publicKey.ed25519,t.subarray(1),r)}var rO=Object.freeze({__proto__:null,sign:rF,validateParams:rT,verify:rN});
3function rH(e,t,r,a){return X.concatUint8Array([t.write(),new Uint8Array([e]),r.write(),X.stringToUint8Array("Anonymous Sender "),a])}async function rG(e,t,r,a,i=!1,n=!1){let s;if(i){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(n){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await eG(e,X.concatUint8Array([new Uint8Array([0,0,0,1]),t,a]))).subarray(0,r)}async function rz(e,t){switch(e.type){case"curve25519Legacy":{let{sharedSecret:r,ephemeralPublicKey:a}=await rd(Z.publicKey.x25519,t.subarray(1));return{publicKey:X.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),a]),sharedKey:r}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t){let r=X.getWebCrypto(),a=rK(e.payloadSize,e.web,t),i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),n=r.importKey("jwk",a,{name:"ECDH",namedCurve:e.web},!1,[]);[i,n]=await Promise.all([i,n]);let s=r.deriveBits({name:"ECDH",namedCurve:e.web,public:n},i.privateKey,e.sharedSize),c=r.exportKey("jwk",i.publicKey);[s,c]=await Promise.all([s,c]);let f=new Uint8Array(s);return{publicKey:new Uint8Array(rC(c,e.wireFormatLeadingByte)),sharedKey:f}}(e,t)}catch(r){return X.printDebugError(r),rY(e,t)}break;case"node":let r,a;return(r=X.getNodeCrypto().createECDH(e.node)).generateKeys(),a=new Uint8Array(r.computeSecret(t)),{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:a};default:return rY(e,t)}}async function r_(e,t,r,a,i){let n,s,c=(n=8-r.length%8,(s=new Uint8Array(r.length+n).fill(n)).set(r),s),f=new rE(e);rB(f,a);let{publicKey:o,sharedKey:l}=await rz(f,a),d=rH(Z.publicKey.ecdh,e,t,i),{keySize:u}=re(t.cipher),h=await rG(t.hash,l,u,d);return{publicKey:o,wrappedKey:await rr(t.cipher,h,c)}}async function rq(e,t,r,a){if(a.length!==e.payloadSize){let t=new Uint8Array(e.payloadSize);t.set(a,e.payloadSize-a.length),a=t}switch(e.type){case"curve25519Legacy":{let e=a.slice().reverse();return{secretKey:e,sharedKey:await ru(Z.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&X.getWebCrypto())try{return await async function(e,t,r,a){let i=X.getWebCrypto(),n=rD(e.payloadSize,e.web,r,a),s=i.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),c=rK(e.payloadSize,e.web,t),f=i.importKey("jwk",c,{name:"ECDH",namedCurve:e.web},!0,[]);[s,f]=await Promise.all([s,f]);let o=i.deriveBits({name:"ECDH",namedCurve:e.web,public:f},s,e.sharedSize),l=i.exportKey("jwk",s);[o,l]=await Promise.all([o,l]);let d=new Uint8Array(o);return{secretKey:er(l.d),sharedKey:d}}(e,t,r,a)}catch(r){return X.printDebugError(r),rV(e,t,a)}break;case"node":var i;let n,s;return i=a,(n=X.getNodeCrypto().createECDH(e.node)).setPrivateKey(i),s=new Uint8Array(n.computeSecret(t)),{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:s};default:return rV(e,t,a)}}async function rj(e,t,r,a,i,n,s){let c,f=new rE(e);rB(f,i),rB(f,r);let{sharedKey:o}=await rq(f,r,i,n),l=rH(Z.publicKey.ecdh,e,t,s),{keySize:d}=re(t.cipher);for(let e=0;e<3;e++)try{let r=await rG(t.hash,o,d,l,1===e,2===e);return function(e){let t=e.length;if(t>0){let r=e[t-1];if(r>=1){let a=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(X.equalsUint8Array(a,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}(await ra(t.cipher,r,a))}catch(e){c=e}throw c}async function rV(e,t,r){return{secretKey:r,sharedKey:(await X.getNobleCurve(Z.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function rY(e,t){let r=await X.getNobleCurve(Z.publicKey.ecdh,e.name),{publicKey:a,privateKey:i}=await e.genKeyPair();return{publicKey:a,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var rZ=Object.freeze({__proto__:null,CurveWithOID:rE,ecdh:Object.freeze({__proto__:null,decrypt:rj,encrypt:r_,validateParams:async function(e,t,r){return rI(Z.publicKey.ecdh,e,t,r)}}),ecdhX:rb,ecdsa:rL,eddsa:td,eddsaLegacy:rO,generate:rk,getPreferredHashAlgo:rv});let rJ=BigInt(0),rW=BigInt(1);class rX{constructor(e){if(e){const{hash:t,cipher:r}=e;this.hash=t,this.cipher=r}else this.hash=null,this.cipher=null}read(e){if(e.length<4||3!==e[0]||1!==e[1])throw new e7("Cannot read KDFParams");return this.hash=e[2],this.cipher=e[3],4}write(){return new Uint8Array([3,1,this.hash,this.cipher])}}function r$(e,t,r){let a=0;switch(e){case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:{let e=X.readMPI(t.subarray(a));a+=e.length+2;let r=X.readMPI(t.subarray(a));a+=r.length+2;let i=X.readMPI(t.subarray(a));a+=i.length+2;let n=X.readMPI(t.subarray(a));return{read:a+=n.length+2,privateParams:{d:e,p:r,q:i,u:n}}}case Z.publicKey.dsa:case Z.publicKey.elgamal:{let e=X.readMPI(t.subarray(a));return{read:a+=e.length+2,privateParams:{x:e}}}case Z.publicKey.ecdsa:case Z.publicKey.ecdh:{let i=r5(e,r.oid),n=X.readMPI(t.subarray(a));return{read:a+=n.length+2,privateParams:{d:n=X.leftPad(n,i)}}}case Z.publicKey.eddsaLegacy:{let i=r5(e,r.oid);if(r.oid.getName()!==Z.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let n=X.readMPI(t.subarray(a));return{read:a+=n.length+2,privateParams:{seed:n=X.leftPad(n,i)}}}case Z.publicKey.ed25519:case Z.publicKey.ed448:{let r=r5(e),i=X.readExactSubarray(t,a,a+r);return{read:a+=i.length,privateParams:{seed:i}}}case Z.publicKey.x25519:case Z.publicKey.x448:{let r=r5(e),i=X.readExactSubarray(t,a,a+r);return{read:a+=i.length,privateParams:{k:i}}}default:throw new e7("Unknown public key encryption algorithm.")}}function r0(e,t){let r=new Set([Z.publicKey.ed25519,Z.publicKey.x25519,Z.publicKey.ed448,Z.publicKey.x448]),a=Object.keys(t).map(a=>{let i=t[a];return X.isUint8Array(i)?r.has(e)?i:X.uint8ArrayToMPI(i):i.write()});
3return X.concatUint8Array(a)}async function r1(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:{let{n:e,e:a}=t,{d:i,p:n,q:s,u:c}=r;return async function(e,t,r,a,i,n){if(e=eh(e),(a=eh(a))*(i=eh(i))!==e)return!1;let s=BigInt(2);if(ex(a*(n=eh(n)),i)!==BigInt(1))return!1;t=eh(t),r=eh(r);let c=ek(s,s<<BigInt(Math.floor(ep(e)/3))),f=c*r*t;return ex(f,a-eY)===c&&ex(f,i-eY)===c}(e,a,i,n,s,c)}case Z.publicKey.dsa:{let{p:e,q:a,g:i,y:n}=t,{x:s}=r;return async function(e,t,r,a,i){let n=eh(e),s=eh(t),c=eh(r),f=eh(a);if(c<=rW||c>=n||ex(n-rW,s)!==rJ||eb(c,s,n)!==rW)return!1;let o=BigInt(ep(s));if(o<BigInt(150)||!eB(s,null,32))return!1;let l=eh(i),d=BigInt(2);return f===eb(c,s*ek(d<<o-rW,d<<o)+l,n)}(e,a,i,n,s)}case Z.publicKey.elgamal:{let{p:e,g:a,y:i}=t,{x:n}=r;return async function(e,t,r,a){let i=eh(e),n=eh(t),s=eh(r);if(n<=e0||n>=i)return!1;let c=BigInt(ep(i));if(c<BigInt(1023)||eb(n,i-e0,i)!==e0)return!1;let f=n,o=BigInt(1),l=BigInt(2),d=l<<BigInt(17);for(;o<d;){if((f=ex(f*n,i))===e0)return!1;o++}let u=eh(a),h=ek(l<<c-e0,l<<c);return s===eb(n,(i-e0)*h+u,i)}(e,a,i,n)}case Z.publicKey.ecdsa:case Z.publicKey.ecdh:{let a=rZ[Z.read(Z.publicKey,e)],{oid:i,Q:n}=t,{d:s}=r;return a.validateParams(i,n,s)}case Z.publicKey.eddsaLegacy:{let{Q:e,oid:a}=t,{seed:i}=r;return rT(a,e,i)}case Z.publicKey.ed25519:case Z.publicKey.ed448:{let{A:a}=t,{seed:i}=r;return ts(e,a,i)}case Z.publicKey.x25519:case Z.publicKey.x448:{let{A:a}=t,{k:i}=r;return rc(e,a,i)}default:throw Error("Unknown public key algorithm.")}}function r2(e){try{e.getName()}catch{throw new e7("Unknown curve OID")}}function r5(e,t){switch(e){case Z.publicKey.ecdsa:case Z.publicKey.ecdh:case Z.publicKey.eddsaLegacy:return new rE(t).payloadSize;case Z.publicKey.ed25519:case Z.publicKey.ed448:return tc(e);case Z.publicKey.x25519:case Z.publicKey.x448:return rl(e);default:throw Error("Unknown elliptic algo")}}let r3=X.getWebCrypto(),r8=X.getNodeCrypto(),r6=r8?r8.getCiphers():[],r4={idea:r6.includes("idea-cfb")?"idea-cfb":void 0,tripledes:r6.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:r6.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:r6.includes("bf-cfb")?"bf-cfb":void 0,aes128:r6.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:r6.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:r6.includes("aes-256-cfb")?"aes-256-cfb":void 0};async function r9(e,t,r,a,i){let n=Z.read(Z.symmetric,e);if(X.getNodeCrypto()&&r4[n]){let i,n;return i=Z.read(Z.symmetric,e),n=new r8.createCipheriv(r4[i],t,a),R(r,e=>new Uint8Array(n.update(e)))}if(X.isAES(e))return async function(e,t,r,a){if(r3&&await ae.isSupported(e)){let i=new ae(e,t,a);return X.isStream(r)?M(r,e=>i.encryptChunk(e),()=>i.finish()):i.encrypt(r)}if(X.isStream(r)){let i=new at(!0,e,t,a);return M(r,e=>i.processChunk(e),()=>i.finish())}return t5(t,a).encrypt(r)}(e,t,r,a);let s=new(await t7(e))(t),c=s.blockSize,f=a.slice(),o=new Uint8Array,l=e=>{e&&(o=X.concatUint8Array([o,e]));let t=new Uint8Array(o.length),r,a=0;for(;e?o.length>=c:o.length;
3){let e=s.encrypt(f);for(r=0;r<c;r++)f[r]=o[r]^e[r],t[a++]=f[r];o=o.subarray(c)}return t.subarray(0,a)};return R(r,l,l)}async function r7(e,t,r,a){let i=Z.read(Z.symmetric,e);if(r8&&r4[i]){let i,n;return i=Z.read(Z.symmetric,e),n=new r8.createDecipheriv(r4[i],t,a),R(r,e=>new Uint8Array(n.update(e)))}if(X.isAES(e)){if(X.isStream(r)){let i=new at(!1,e,t,a);return M(r,e=>i.processChunk(e),()=>i.finish())}return t5(t,a).decrypt(r)}let n=new(await t7(e))(t),s=n.blockSize,c=a,f=new Uint8Array,o=e=>{e&&(f=X.concatUint8Array([f,e]));let t=new Uint8Array(f.length),r,a=0;for(;e?f.length>=s:f.length;){let e=n.encrypt(c);for(c=f.subarray(0,s),r=0;r<s;r++)t[a++]=c[r]^e[r];f=f.subarray(s)}return t.subarray(0,a)};return R(r,o,o)}class ae{constructor(e,t,r){const{blockSize:a}=re(e);this.key=t,this.prevBlock=r,this.nextBlock=new Uint8Array(a),this.i=0,this.blockSize=a,this.zeroBlock=new Uint8Array(this.blockSize)}static isSupported(e){let{keySize:t}=re(e);return r3.importKey("raw",new Uint8Array(t),"aes-cbc",!1,["encrypt"]).then(()=>!0,()=>!1)}async _runCBC(e,t){let r="AES-CBC";return this.keyRef=this.keyRef||await r3.importKey("raw",this.key,r,!1,["encrypt"]),new Uint8Array(await r3.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e)).subarray(0,e.length)}async encryptChunk(e){let t,r=this.nextBlock.length-this.i,a=e.subarray(0,r);if(this.nextBlock.set(a,this.i),this.i+e.length>=2*this.blockSize){let t=(e.length-r)%this.blockSize,a=X.concatUint8Array([this.nextBlock,e.subarray(r,e.length-t)]),i=X.concatUint8Array([this.prevBlock,a.subarray(0,a.length-this.blockSize)]),n=await this._runCBC(i);return ar(n,a),this.prevBlock=n.slice(-this.blockSize),t>0&&this.nextBlock.set(e.subarray(-t)),this.i=t,n}if(this.i+=a.length,this.i===this.nextBlock.length){let r=this.nextBlock;ar(t=await this._runCBC(this.prevBlock),r),this.prevBlock=t.slice(),this.i=0;let i=e.subarray(a.length);this.nextBlock.set(i,this.i),this.i+=i.length}else t=new Uint8Array;return t}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);let t=this.nextBlock,r=await this._runCBC(this.prevBlock);ar(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){let t=(await this._runCBC(X.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return ar(t,e),this.clearSensitiveData(),t}}class at{constructor(e,t,r,a){this.forEncryption=e;const{blockSize:i}=re(t);this.key=tY(r),a.byteOffset%4!=0&&(a=a.slice()),this.prevBlock=aa(a),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){let t=aa(e),r=new Uint8Array(e.length),a=aa(r);for(let e=0;e+4<=a.length;e+=4){let{s0:r,s1:i,s2:n,s3:s}=tX(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);a[e+0]=t[e+0]^r,a[e+1]=t[e+1]^i,a[e+2]=t[e+2]^n,a[e+3]=t[e+3]^s,this.prevBlock=(this.forEncryption?a:t).slice(e,e+4)}return r}async processChunk(e){let t,r=this.nextBlock.length-this.i,a=e.subarray(0,r);if(this.nextBlock.set(a,this.i),this.i+e.length>=2*this.blockSize){let t=(e.length-r)%this.blockSize,a=X.concatUint8Array([this.nextBlock,e.subarray(r,e.length-t)]),i=this._runCFB(a);return t>0&&this.nextBlock.set(e.subarray(-t)),this.i=t,i}if(this.i+=a.length,this.i===this.nextBlock.length){t=this._runCFB(this.nextBlock),this.i=0;let r=e.subarray(a.length);this.nextBlock.set(r,this.i),this.i+=r.length}else t=new Uint8Array;return t}async finish(){let e;return e=0===this.i?new Uint8Array:this._runCFB(this.nextBlock).subarray(0,this.i),this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function ar(e,t){let r=Math.min(e.length,t.length);for(let a=0;a<r;a++)e[a]=e[a]^t[a]}let aa=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),ai=X.getWebCrypto(),an=X.getNodeCrypto();function as(e,t){let r=e.length-16;for(let a=0;a<16;a++)e[a+r]^=t[a];return e}let ac=new Uint8Array(16);async function af(e){let t=await ao(e),r=X.double(await t(ac)),a=X.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%16==0)return as(e,t);let a=new Uint8Array(e.length+(16-e.length%16));return a.set(e),a[e.length]=128,as(a,r)}(e,r,a))).subarray(-16)}}async function ao(e){if(X.getNodeCrypto())return async function(t){return new Uint8Array(new an.createCipheriv("aes-"+8*e.length+"-cbc",e,ac).update(t))};if(X.getWebCrypto())try{return e=await ai.importKey("raw",e,{name:"AES-CBC",length:8*e.length}
3,!1,["encrypt"]),async function(t){let r=await ai.encrypt({name:"AES-CBC",iv:ac,length:128},e,t);return new Uint8Array(r).subarray(0,r.byteLength-16)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;X.printDebugError("Browser did not support operation: "+t.message)}return async function(t){return t2(e,ac,{disablePadding:!0}).encrypt(t)}}let al=X.getWebCrypto(),ad=X.getNodeCrypto(),au=X.getNodeBuffer(),ah=new Uint8Array(16),ax=new Uint8Array(16);ax[15]=1;let ab=new Uint8Array(16);async function ay(e){let t=await af(e);return function(e,r){return t(X.concatUint8Array([e,r]))}}async function ag(e){if(X.getNodeCrypto())return async function(t,r){let a=new ad.createCipheriv("aes-"+8*e.length+"-ctr",e,r);return new Uint8Array(au.concat([a.update(t),a.final()]))};if(X.getWebCrypto())try{let t=await al.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]);return async function(e,r){let a=await al.encrypt({name:"AES-CTR",counter:r,length:128},t,e);return new Uint8Array(a)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;X.printDebugError("Browser did not support operation: "+t.message)}return async function(t,r){return t1(e,r).encrypt(t)}}async function ap(e,t){if(e!==Z.symmetric.aes128&&e!==Z.symmetric.aes192&&e!==Z.symmetric.aes256)throw Error("EAX mode supports only AES cipher");let[r,a]=await Promise.all([ay(t),ag(t)]);return{encrypt:async function(e,t,i){let[n,s]=await Promise.all([r(ah,t),r(ax,i)]),c=await a(e,n),f=await r(ab,c);for(let e=0;e<16;e++)f[e]^=s[e]^n[e];return X.concatUint8Array([c,f])},decrypt:async function(e,t,i){if(e.length<16)throw Error("Invalid EAX ciphertext");let n=e.subarray(0,-16),s=e.subarray(-16),[c,f,o]=await Promise.all([r(ah,t),r(ax,i),r(ab,n)]);for(let e=0;e<16;e++)o[e]^=f[e]^c[e];if(!X.equalsUint8Array(s,o))throw Error("Authentication tag mismatch");return await a(n,c)}}}function aA(e){let t=0;for(let r=1;!(e&r);r<<=1)t++;return t}function aw(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function am(e,t){return aw(e.slice(),t)}ab[15]=2,ap.getNonce=function(e,t){let r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},ap.blockLength=16,ap.ivLength=16,ap.tagLength=16;let aE=new Uint8Array(16),ak=new Uint8Array([1]);async function av(e,t){let r,a,i,{keySize:n}=re(e);if(!X.isAES(e)||t.length!==n)throw Error("Unexpected algorithm or key size");let s=0,c=e=>t2(t,aE,{disablePadding:!0}).encrypt(e),f=e=>t2(t,aE,{disablePadding:!0}).decrypt(e);function o(e,t,a,i){let n=t.length/16|0;var f=t;let o=X.nbits(Math.max(f.length,i.length)/16|0)-1;for(let e=s+1;e<=o;e++)r[e]=X.double(r[e-1]);s=o;let l=X.concatUint8Array([aE.subarray(0,15-a.length),ak,a]),d=63&l[15];l[15]&=192;let u=c(l),h=X.concatUint8Array([u,am(u.subarray(0,8),u.subarray(1,9))]),x=X.shiftRight(h.subarray(0+(d>>3),17+(d>>3)),8-(7&d)).subarray(1),b=new Uint8Array(16),y=new Uint8Array(t.length+16),g,p=0;for(g=0;g<n;g++)aw(x,r[aA(g+1)]),y.set(aw(e(am(x,t)),x),p),aw(b,e===c?t:y.subarray(p)),t=t.subarray(16),p+=16;if(t.length){aw(x,r.x);let a=c(x);y.set(am(t,a),p);let i=new Uint8Array(16);i.set(e===c?t:y.subarray(p,-16),0),i[t.length]=128,aw(b,i),p+=t.length}let A=aw(c(aw(aw(b,x),r.$)),function(e){if(!e.length)return aE;let t=e.length/16|0,a=new Uint8Array(16),i=new Uint8Array(16);for(let n=0;n<t;n++)aw(a,r[aA(n+1)]),aw(i,c(am(a,e))),e=e.subarray(16);if(e.length){aw(a,r.x);let t=new Uint8Array(16);t.set(e,0),t[e.length]=128,aw(t,a),aw(i,c(t))}return i}(i));return y.set(A,p),y}return a=c(aE),i=X.double(a),(r=[])[0]=X.double(i),r.x=a,r.$=i,{encrypt:async function(e,t,r){return o(c,e,t,r)},decrypt:async function(e,t,r){if(e.length<16)throw Error("Invalid OCB ciphertext");let a=e.subarray(-16),i=o(f,e=e.subarray(0,-16),t,r);if(X.equalsUint8Array(a,i.subarray(-16)))return i.subarray(0,-16);throw Error("Authentication tag mismatch")}}}av.getNonce=function(e,t){let r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},av.blockLength=16,av.ivLength=15,av.tagLength=16;let aI=X.getWebCrypto(),aB=X.getNodeCrypto(),aS=X.getNodeBuffer(),aC="AES-GCM";async function aK(e,t){if(e!==Z.symmetric.aes128&&e!==Z.symmetric.aes192&&e!==Z.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(X.getNodeCrypto())return{encrypt:async function(e,r,a=new Uint8Array){let i=new aB.createCipheriv("aes-"+8*t.length+"-gcm",t,r);return i.setAAD(a),new Uint8Array(aS.concat([i.update(e),i.final(),i.getAuthTag()]))},decrypt:async function(e,r,a=new Uint8Array){let i=new aB.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);return i.setAAD(a),i.setAuthTag(e.slice(e.length-16,e.length)),new Uint8Array(aS.concat([i.update(e.slice(0,e.length-16)),i.final()]))}};if(X.getWebCrypto())try{let e=await aI.importKey("raw",t,{name:aC},!1,["encrypt","decrypt"]),r=navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/)||navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);return{encrypt:async function(a,i,n=new Uint8Array){if(r&&!a.length)return t3(t,i,n).encrypt
3(a);let s=await aI.encrypt({name:aC,iv:i,additionalData:n,tagLength:128},e,a);return new Uint8Array(s)},decrypt:async function(a,i,n=new Uint8Array){if(r&&16===a.length)return t3(t,i,n).decrypt(a);try{let t=await aI.decrypt({name:aC,iv:i,additionalData:n,tagLength:128},e,a);return new Uint8Array(t)}catch(e){if("OperationError"===e.name)throw Error("Authentication tag mismatch")}}}}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;X.printDebugError("Browser did not support operation: "+e.message)}return{encrypt:async function(e,r,a){return t3(t,r,a).encrypt(e)},decrypt:async function(e,r,a){return t3(t,r,a).decrypt(e)}}}function aD(e,t=!1){switch(e){case Z.aead.eax:return ap;case Z.aead.ocb:return av;case Z.aead.gcm:return aK;case Z.aead.experimentalGCM:if(!t)throw Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");return aK;default:throw Error("Unsupported AEAD mode")}}async function aU(e,t,r,a,i,n){switch(e){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaSign:{let{n:e,e:s}=a;return eJ(t,i,X.leftPad(r.s,e.length),e,s,n)}case Z.publicKey.dsa:{let{g:e,p:t,q:i,y:s}=a,{r:c,s:f}=r;return async function(e,t,r,a,i,n,s){if(e=eh(e),t=eh(t),i=eh(i),n=eh(n),a=eh(a),s=eh(s),e<=rJ||e>=n||t<=rJ||t>=n)return X.printDebug("invalid DSA Signature"),!1;let c=ex(eh(r.subarray(0,eA(n))),n),f=ey(t,n);if(f===rJ)return X.printDebug("invalid DSA Signature"),!1;a=ex(a,i),s=ex(s,i);let o=ex(c*f,n),l=ex(e*f,n);return ex(ex(eb(a,o,i)*eb(s,l,i),i),n)===e}(c,f,n,e,t,i,s)}case Z.publicKey.ecdsa:{let{oid:e,Q:s}=a,c=new rE(e).payloadSize;return rR(e,t,{r:X.leftPad(r.r,c),s:X.leftPad(r.s,c)},i,s,n)}case Z.publicKey.eddsaLegacy:{let{oid:e,Q:i}=a,s=new rE(e).payloadSize;return rN(e,t,{r:X.leftPad(r.r,s),s:X.leftPad(r.s,s)},0,i,n)}case Z.publicKey.ed25519:case Z.publicKey.ed448:{let{A:i}=a;return tn(e,t,r,0,i,n)}default:throw Error("Unknown signature algorithm.")}}async function aP(e,t,r,a,i,n){if(!r||!a)throw Error("Missing key parameters");switch(e){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaSign:{let{n:e,e:s}=r,{d:c,p:f,q:o,u:l}=a;return{s:await eZ(t,i,e,s,c,f,o,l,n)}}case Z.publicKey.dsa:{let{g:e,p:t,q:i}=r,{x:s}=a;return async function(e,t,r,a,i){let n,s,c,f,o=BigInt(0);r=eh(r),a=eh(a),t=eh(t),i=eh(i),t=ex(t,r),i=ex(i,a);let l=ex(eh(e.subarray(0,eA(a))),a);for(;;){if((s=ex(eb(t,n=ek(rW,a),r),a))===o)continue;let e=ex(i*s,a);if(f=ex(l+e,a),(c=ex(ey(n,a)*f,a))!==o)break}return{r:ew(s,"be",eA(r)),s:ew(c,"be",eA(r))}}(n,e,t,i,s)}case Z.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case Z.publicKey.ecdsa:{let{oid:e,Q:s}=r,{d:c}=a;return rQ(e,t,i,s,c,n)}case Z.publicKey.eddsaLegacy:{let{oid:e,Q:i}=r,{seed:s}=a;return rF(e,t,0,i,s,n)}case Z.publicKey.ed25519:case Z.publicKey.ed448:{let{A:i}=r,{seed:s}=a;return ti(e,t,0,i,s,n)}default:throw Error("Unknown signature algorithm.")}}aK.getNonce=function(e,t){let r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},aK.blockLength=16,aK.ivLength=12,aK.tagLength=16;class aQ extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,aQ),this.name="Argon2OutOfMemoryError"}}class aR{constructor(e=J){const{passes:t,parallelism:r,memoryExponent:a}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=a}generateSalt(){this.salt=eE(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(){let e=[new Uint8Array([Z.write(Z.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return X.concatUint8Array(e)}async produceKey(e,t){let r=2<<this.encodedM-1;try{a=a||(await Promise.resolve().then(function(){return oJ})).default,i=i||a();let n=(await i)({version:19,type:2,password:X.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(i=a()).catch(()=>{}),n}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 aQ("Could not allocate required memory for Argon2"):e}}}class aM{constructor(e,t=J){this.algorithm=Z.hash.sha256,this.type=Z.read(Z.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=eE(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 e7("Unknown s2k type.");if(t+=3,1001!==1e3+e[t++])throw new e7("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new e7("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...X.stringToUint8Array("GNU"),1]);let e=[new Uint8Array([Z.write(Z.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.")}
3return X.concatUint8Array(e)}async produceKey(e,t){e=X.encodeUTF8(e);let r=[],a=0,i=0;for(;a<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":{let r=X.concatUint8Array([this.salt,e]),a=r.length,n=Math.max(this.getCount(),a);(t=new Uint8Array(i+n)).set(r,i);for(let e=i+a;e<n;e+=a,a*=2)t.copyWithin(e,i,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}let n=await eG(this.algorithm,t);r.push(n),a+=n.length,i++}return X.concatUint8Array(r).subarray(0,t)}}let aL=new Set([Z.s2k.argon2,Z.s2k.iterated]);function aF(e,t=J){switch(e){case Z.s2k.argon2:return new aR(t);case Z.s2k.iterated:case Z.s2k.gnu:case Z.s2k.salted:case Z.s2k.simple:return new aM(e,t);default:throw new e7("Unsupported S2K type")}}var aN=Uint8Array,aT=Uint16Array,aO=Int32Array,aH=new aN([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,0,0,0]),aG=new aN([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,0,0]),az=new aN([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a_=function(e,t){for(var r=new aT(31),a=0;a<31;++a)r[a]=t+=1<<e[a-1];var i=new aO(r[30]);for(a=1;a<30;++a)for(var n=r[a];n<r[a+1];++n)i[n]=n-r[a]<<5|a;return{b:r,r:i}}
vendor: 5,372 bytes, line 3
3,aq=a_(aH,2),aj=aq.b,aV=aq.r;aj[28]=258,aV[258]=28;for(var aY=a_(aG,0),aZ=aY.b,aJ=aY.r,aW=new aT(32768),aX=0;aX<32768;++aX){var a$=(43690&aX)>>1|(21845&aX)<<1;a$=(61680&(a$=(52428&a$)>>2|(13107&a$)<<2))>>4|(3855&a$)<<4,aW[aX]=((65280&a$)>>8|(255&a$)<<8)>>1}var a0=function(e,t,r){for(var a=e.length,i=0,n=new aT(t);i<a;++i)e[i]&&++n[e[i]-1];var s,c=new aT(t);for(i=1;i<t;++i)c[i]=c[i-1]+n[i-1]<<1;if(r){s=new aT(1<<t);var f=15-t;for(i=0;i<a;++i)if(e[i])for(var o=i<<4|e[i],l=t-e[i],d=c[e[i]-1]++<<l,u=d|(1<<l)-1;d<=u;++d)s[aW[d]>>f]=o}else for(s=new aT(a),i=0;i<a;++i)e[i]&&(s[i]=aW[c[e[i]-1]++]>>15-e[i]);return s},a1=new aN(288);for(aX=0;aX<144;++aX)a1[aX]=8;for(aX=144;aX<256;++aX)a1[aX]=9;for(aX=256;aX<280;++aX)a1[aX]=7;for(aX=280;aX<288;++aX)a1[aX]=8;var a2=new aN(32);for(aX=0;aX<32;++aX)a2[aX]=5;var a5=a0(a1,9,0),a3=a0(a1,9,1),a8=a0(a2,5,0),a6=a0(a2,5,1),a4=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},a9=function(e,t,r){var a=t/8|0;return(e[a]|e[a+1]<<8)>>(7&t)&r},a7=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ie=function(e){return(e+7)/8|0},it=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new aN(e.subarray(t,r))},ir=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ia=function(e,t,r){var a=Error(t||ir[e]);if(a.code=e,Error.captureStackTrace&&Error.captureStackTrace(a,ia),!r)throw a;return a},ii=function(e,t,r){r<<=7&t;var a=t/8|0;e[a]|=r,e[a+1]|=r>>8},is=function(e,t,r){r<<=7&t;var a=t/8|0;e[a]|=r,e[a+1]|=r>>8,e[a+2]|=r>>16},ic=function(e,t){for(var r=[],a=0;a<e.length;++a)e[a]&&r.push({s:a,f:e[a]});var i=r.length,n=r.slice();if(!i)return{t:ib,l:0};if(1==i){var s=new aN(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(e,t){return e.f-t.f}),r.push({s:-1,f:25001});var c=r[0],f=r[1],o=0,l=1,d=2;for(r[0]={s:-1,f:c.f+f.f,l:c,r:f};l!=i-1;)c=r[r[o].f<r[d].f?o++:d++],f=r[o!=l&&r[o].f<r[d].f?o++:d++],r[l++]={s:-1,f:c.f+f.f,l:c,r:f};var u=n[0].s;for(a=1;a<i;++a)n[a].s>u&&(u=n[a].s);var h=new aT(u+1),x=io(r[l-1],h,0);if(x>t){a=0;var b=0,y=x-t,g=1<<y;for(n.sort(function(e,t){return h[t.s]-h[e.s]||e.f-t.f});a<i;++a){var p=n[a].s;if(!(h[p]>t))break;b+=g-(1<<x-h[p]),h[p]=t}for(b>>=y;b>0;){var A=n[a].s;h[A]<t?b-=1<<t-h[A]++-1:++a}for(;a>=0&&b;--a){var w=n[a].s;h[w]==t&&(--h[w],++b)}x=t}return{t:new aN(h),l:x}},io=function(e,t,r){return -1==e.s?Math.max(io(e.l,t,r+1),io(e.r,t,r+1)):t[e.s]=r},il=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new aT(++t),a=0,i=e[0],n=1,s=function(e){r[a++]=e},c=1;c<=t;++c)if(e[c]==i&&c!=t)++n;else{if(!i&&n>2){for(;n>138;n-=138)s(32754);n>2&&(s(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(s(i),--n;n>6;n-=6)s(8304);n>2&&(s(n-3<<5|8208),n=0)}for(;n--;)s(i);n=1,i=e[c]}return{c:r.subarray(0,a),n:t}},id=function(e,t){for(var r=0,a=0;a<t.length;++a)r+=e[a]*t[a];return r},iu=function(e,t,r){var a=r.length,i=ie(t+2);e[i]=255&a,e[i+1]=a>>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var n=0;n<a;++n)e[i+n+4]=r[n];return 8*(i+4+a)},ih=function(e,t,r,a,i,n,s,c,f,o,l){ii(t,l++,r),++i[256];for(var d=ic(i,15),u=d.t,h=d.l,x=ic(n,15),b=x.t,y=x.l,g=il(u),p=g.c,A=g.n,w=il(b),m=w.c,E=w.n,k=new aT(19),v=0;v<p.length;++v)++k[31&p[v]];for(v=0;v<m.length;++v)++k[31&m[v]];for(var I=ic(k,7),B=I.t,S=I.l,C=19;C>4&&!B[az[C-1]];--C);var K,D,U,P,Q=o+5<<3,R=id(i,a1)+id(n,a2)+s,M=id(i,u)+id(n,b)+s+14+3*C+id(k,B)+2*k[16]+3*k[17]+7*k[18];if(f>=0&&Q<=R&&Q<=M)return iu(t,l,e.subarray(f,f+o));if(ii(t,l,1+(M<R)),l+=2,M<R){K=a0(u,h,0),D=u,U=a0(b,y,0),P=b;var L=a0(B,S,0);for(ii(t,l,A-257),ii(t,l+5,E-1),ii(t,l+10,C-4),l+=14,v=0;v<C;++v)ii(t,l+3*v,B[az[v]]);l+=3*C;for(var F=[p,m],N=0;N<2;++N){var T=F[N];for(v=0;v<T.length;++v){var O=31&T[v];ii(t,l,L[O]),l+=B[O],O>15&&(ii(t,l,T[v]>>5&127),l+=T[v]>>12)}}}else K=a5,D=a1,U=a8,P=a2;for(v=0;v<c;++v){var H=a[v];if(H>255){is(t,l,K[(O=H>>18&31)+257]),l+=D[O+257],O>7&&(ii(t,l,H>>23&31),l+=aH[O]);var G=31&H;is(t,l,U[G]),l+=P[G],G>3&&(is(t,l,H>>5&8191),l+=aG[G])}else is(t,l,K[H]),l+=D[H]}return is(t,l,K[256]),l+D[256]},ix=new aO([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ib=new aN(0),iy=function(){var e=1,t=0;return{p:function(r){for(var a=e,i=t,n=0|r.length,s=0;s!=n;){for(var c=Math.min(s+2655,n);s<c;++s)i+=a+=r[s];a=(65535&a)+15*(a>>16),i=(65535&i)+15*(i>>16)}e=a,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},ig=function(e,t,r,a,i){if(!i&&(i={l:1},t.dictionary)){var n=t.dictionary.subarray(-32768),s=new aN(n.length+e.length);s.set(n),s.set(e,n.length),e=s,i.w=n.length}return function(e,t,r,a,i,n){var s=n.z||e.length,c=new aN(a+s+5*(1+Math.ceil(s/7e3))+i),f=c.subarray(a,c.length-i),o=n.l,l=7&(n.r||0);if(t){l&&(f[0]=n.r>>3);for(var d=ix[t-1],u=d>>13,h=8191&d,x=(1<<r)-1,b=n.p||new aT(32768),y=n.h||new aT(x+1),g=Math.ceil(r/3),p=2*g,A=function(t){return(e[t]^e[t+1]<<g^e[t+2]<<p)&x},w=new aO(25e3),m=new aT(288),E=new aT(32),k=0,v=0,I=n.i||0,B=0,S=n.w||0,C=0;I+2<s;++I){var K=A(I),D=32767&I,U=y[K];if(b[D]=U,y[K]=D,S<=I){var P=s-I;if((k>7e3||B>24576)&&(P>423||!o)){l=ih(e,f,0,w,m,E,v,B,C,I-C,l),B=k=v=0,C=I;for(var Q=0;Q<286;++Q)m[Q]=0;for(Q=0;Q<30;++Q)E[Q]=0}var R=2,M=0,L=h,F=D-U&32767;if(P>
vendor: 6,268 bytes, line 3
32&&K==A(I-F))for(var N=Math.min(u,P)-1,T=Math.min(32767,I),O=Math.min(258,P);F<=T&&--L&&D!=U;){if(e[I+R]==e[I+R-F]){for(var H=0;H<O&&e[I+H]==e[I+H-F];++H);if(H>R){if(R=H,M=F,H>N)break;var G=Math.min(F,H-2),z=0;for(Q=0;Q<G;++Q){var _=I-F+Q&32767,q=_-b[_]&32767;q>z&&(z=q,U=_)}}}F+=(D=U)-(U=b[D])&32767}if(M){w[B++]=0x10000000|aV[R]<<18|aJ[M];var j=31&aV[R],V=31&aJ[M];v+=aH[j]+aG[V],++m[257+j],++E[V],S=I+R,++k}else w[B++]=e[I],++m[e[I]]}}for(I=Math.max(I,S);I<s;++I)w[B++]=e[I],++m[e[I]];l=ih(e,f,o,w,m,E,v,B,C,I-C,l),o||(n.r=7&l|f[l/8|0]<<3,l-=7,n.h=y,n.p=b,n.i=I,n.w=S)}else{for(I=n.w||0;I<s+o;I+=65535){var Y=I+65535;Y>=s&&(f[l/8|0]=o,Y=s),l=iu(f,l+1,e.subarray(I,Y))}n.i=s}return it(c,0,a+ie(l)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,a,i)},ip=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},iA=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new aN(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(ig(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||ia(5),this.s.l&&ia(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var a=new aN(-32768&r);a.set(this.b.subarray(0,this.s.z)),this.b=a}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||ia(5),this.s.l&&ia(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),iw=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new aN(32768),this.p=new aN(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||ia(5),this.d&&ia(4),this.p.length){if(e.length){var t=new aN(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r){var a=e.length;if(!a||t.f&&!t.l)return r||new aN(0);var i=!r,n=i||2!=t.i,s=t.i;i&&(r=new aN(3*a));var c=function(e){var t=r.length;if(e>t){var a=new aN(Math.max(2*t,e));a.set(r),r=a}},f=t.f||0,o=t.p||0,l=t.b||0,d=t.l,u=t.d,h=t.m,x=t.n,b=8*a;do{if(!d){f=a9(e,o,1);var y=a9(e,o+1,3);if(o+=3,!y){var g=e[(C=ie(o)+4)-4]|e[C-3]<<8,p=C+g;if(p>a){s&&ia(0);break}n&&c(l+g),r.set(e.subarray(C,p),l),t.b=l+=g,t.p=o=8*p,t.f=f;continue}if(1==y)d=a3,u=a6,h=9,x=5;else if(2==y){var A=a9(e,o,31)+257,w=a9(e,o+10,15)+4,m=A+a9(e,o+5,31)+1;o+=14;for(var E=new aN(m),k=new aN(19),v=0;v<w;++v)k[az[v]]=a9(e,o+3*v,7);o+=3*w;var I=a4(k),B=(1<<I)-1,S=a0(k,I,1);for(v=0;v<m;){var C,K=S[a9(e,o,B)];if(o+=15&K,(C=K>>4)<16)E[v++]=C;else{var D=0,U=0;for(16==C?(U=3+a9(e,o,3),o+=2,D=E[v-1]):17==C?(U=3+a9(e,o,7),o+=3):18==C&&(U=11+a9(e,o,127),o+=7);U--;)E[v++]=D}}var P=E.subarray(0,A),Q=E.subarray(A);h=a4(P),x=a4(Q),d=a0(P,h,1),u=a0(Q,x,1)}else ia(1);if(o>b){s&&ia(0);break}}n&&c(l+131072);for(var R=(1<<h)-1,M=(1<<x)-1,L=o;;L=o){var F=(D=d[a7(e,o)&R])>>4;if((o+=15&D)>b){s&&ia(0);break}if(D||ia(2),F<256)r[l++]=F;else{if(256==F){L=o,d=null;break}var N=F-254;if(F>264){var T=aH[v=F-257];N=a9(e,o,(1<<T)-1)+aj[v],o+=T}var O=u[a7(e,o)&M],H=O>>4;if(O||ia(3),o+=15&O,Q=aZ[H],H>3&&(T=aG[H],Q+=a7(e,o)&(1<<T)-1,o+=T),o>b){s&&ia(0);break}n&&c(l+131072);var G=l+N;if(l<Q){var z=0-Q,_=Math.min(Q,G);for(z+l<0&&ia(3);l<_;++l)r[l]=(void 0)[z+l]}for(;l<G;++l)r[l]=r[l-Q]}}t.l=d,t.p=L,t.b=l,t.f=f,d&&(f=1,t.m=h,t.d=u,t.n=x)}while(!f)return l!=r.length&&i?it(r,0,l):r.subarray(0,l)}(this.p,this.s,this.o);this.ondata(it(r,t,this.s.b),this.d),this.o=it(r,this.s.b-32768),this.s.b=this.o.length,this.p=it(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),im=function(){function e(e,t){this.c=iy(),this.v=1,iA.call(this,e,t)}return e.prototype.push=function(e,t){this.c.p(e),iA.prototype.push.call(this,e,t)},e.prototype.p=function(e,t){var r=ig(e,this.o,this.v&&(this.o.dictionary?6:2),t&&4,this.s);this.v&&(function(e,t){var r=t.level;if(e[0]=120,e[1]=(0==r?0:r<6?1:9==r?3:2)<<6|(t.dictionary&&32),e[1]|=31-(e[0]<<8|e[1])%31,t.dictionary){var a=iy();a.p(t.dictionary),ip(e,2,a.d())}}(r,this.o),this.v=0),t&&ip(r,r.length-4,this.c.d()),this.ondata(r,t)},e.prototype.flush=function(){iA.prototype.flush.call(this)},e}(),iE=function(){function e(e,t){iw.call(this,e,t),this.v=e&&e.dictionary?2:1}return e.prototype.push=function(e,t){var r,a;if(iw.prototype.e.call(this,e),this.v){if(this.p.length<6&&!t)return;this.p=this.p.subarray((r=this.p,a=this.v-1,(8!=(15&r[0])||r[0]>>4>7||(r[0]<<8|r[1])%31)&&ia(6,"invalid zlib data"),(r[1]>>5&1)==+!a&&ia(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}t&&(this.p.length<4&&ia(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),iw.prototype.c.call(this,t)},e}(),ik="u">typeof TextDecoder&&new TextDecoder;try{ik.decode(ib,{stream:!0})}catch(e){}class iv{static get tag(){return Z.packet.literalData}constructor(e=new Date){this.format=Z.literal.utf8,this.date=X.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=Z.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?O(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await N(e,async e=>{let 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 a=e.remainder();m(a)&&(a=await z(a)),this.setBytes(a,t)})}writeHeader(){let e=X.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new
3Uint8Array([this.format]),a=X.writeDate(this.date);return X.concatUint8Array([r,t,e,a])}write(){let e=this.writeHeader(),t=this.getBytes();return X.concat([e,t])}}class iI{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){let t=new iI;return t.read(X.hexToUint8Array(e)),t}static wildcard(){let e=new iI;return e.read(new Uint8Array(8)),e}}let iB=Symbol("verified"),iS="[email protected]",iC=new Set([Z.signatureSubpacket.issuerKeyID,Z.signatureSubpacket.issuerFingerprint,Z.signatureSubpacket.embeddedSignature]);class iK{static get tag(){return Z.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=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 iI,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.preferredCipherSuites=null,this.revoked=null,this[iB]=null}read(e,t=J){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new e7("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new e7(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){let t=e[r++];this.salt=e.subarray(r,r+t),r+=t}let a=e.subarray(r,e.length),{read:i,signatureParams:n}=function(e,t){let r=0;switch(e){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaSign:{let e=X.readMPI(t.subarray(r));return{read:r+=e.length+2,signatureParams:{s:e}}}case Z.publicKey.dsa:case Z.publicKey.ecdsa:{let e=X.readMPI(t.subarray(r));r+=e.length+2;let a=X.readMPI(t.subarray(r));return{read:r+=a.length+2,signatureParams:{r:e,s:a}}}case Z.publicKey.eddsaLegacy:{let e=X.readMPI(t.subarray(r));r+=e.length+2;let a=X.readMPI(t.subarray(r));return{read:r+=a.length+2,signatureParams:{r:e,s:a}}}case Z.publicKey.ed25519:case Z.publicKey.ed448:{let a=2*tc(e),i=X.readExactSubarray(t,r,r+a);return{read:r+=i.length,signatureParams:{RS:i}}}default:throw new e7("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,a);if(i<a.length)throw Error("Error reading MPIs");this.params=n}writeParams(){return this.params instanceof Promise?q(async()=>r0(this.publicKeyAlgorithm,await this.params)):r0(this.publicKeyAlgorithm,this.params)}write(){let e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),X.concat(e)}
3async sign(e,t,r=new Date,a=!1,i){this.version=e.version,this.created=X.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();let n=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){let e=iU(this.hashAlgorithm);if(null===this.salt)this.salt=eE(e);else if(e!==this.salt.length)throw Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter(({name:e})=>e===iS).length)throw Error("Unexpected existing salt notation");{let e=eE(iU(this.hashAlgorithm));this.rawNotations.push({name:iS,value:e,humanReadable:!1,critical:!1})}}n.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=X.concat(n);let s=this.toHash(this.signatureType,t,a),c=await this.hash(this.signatureType,t,s,a);this.signedHashValue=G(T(c),0,2);let f=async()=>aP(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,s,await z(c));X.isStream(c)?this.params=f():(this.params=await f(),this[iB]=!0)}writeHashedSubPackets(){let e,t=Z.signatureSubpacket,r=[];if(null===this.created)throw Error("Missing signature creation time");r.push(iD(t.signatureCreationTime,!0,X.writeDate(this.created))),null!==this.signatureExpirationTime&&r.push(iD(t.signatureExpirationTime,!0,X.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&r.push(iD(t.exportableCertification,!0,new Uint8Array([+!!this.exportable]))),null!==this.trustLevel&&(e=new Uint8Array([this.trustLevel,this.trustAmount]),r.push(iD(t.trustSignature,!0,e))),null!==this.regularExpression&&r.push(iD(t.regularExpression,!0,this.regularExpression)),null!==this.revocable&&r.push(iD(t.revocable,!0,new Uint8Array([+!!this.revocable]))),null!==this.keyExpirationTime&&r.push(iD(t.keyExpirationTime,!0,X.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.preferredSymmetricAlgorithms)),r.push(iD(t.preferredSymmetricAlgorithms,!1,e))),null!==this.revocationKeyClass&&(e=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),e=X.concat([e,this.revocationKeyFingerprint]),r.push(iD(t.revocationKey,!1,e))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&r.push(iD(t.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach(({name:a,value:i,humanReadable:n,critical:s})=>{e=[new Uint8Array([128*!!n,0,0,0])];let c=X.encodeUTF8(a);e.push(X.writeNumber(c.length,2)),e.push(X.writeNumber(i.length,2)),e.push(c),e.push(i),e=X.concat(e),r.push(iD(t.notationData,s,e))}),null!==this.preferredHashAlgorithms&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.preferredHashAlgorithms)),r.push(iD(t.preferredHashAlgorithms,!1,e))),null!==this.preferredCompressionAlgorithms&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.preferredCompressionAlgorithms)),r.push(iD(t.preferredCompressionAlgorithms,!1,e))),null!==this.keyServerPreferences&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.keyServerPreferences)),r.push(iD(t.keyServerPreferences,!1,e))),null!==this.preferredKeyServer&&r.push(iD(t.preferredKeyServer,!1,X.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&r.push(iD(t.primaryUserID,!1,new Uint8Array([+!!this.isPrimaryUserID]))),null!==this.policyURI&&r.push(iD(t.policyURI,!1,X.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.keyFlags)),r.push(iD(t.keyFlags,!0,e))),null!==this.signersUserID&&r.push(iD(t.signersUserID,!1,X.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(e=X.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),r.push(iD(t.reasonForRevocation,!0,e))),null!==this.features&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.features)),r.push(iD(t.features,!1,e))),null!==this.signatureTargetPublicKeyAlgorithm&&((e=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])]).push(X.stringToUint8Array(this.signatureTargetHash)),e=X.concat(e),r.push(iD(t.signatureTarget,!0,e))),null!==this.embeddedSignature&&r.push(iD(t.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(e=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],e=X.concat(e),r.push(iD(t.issuerFingerprint,this.version>=5,e))),null!==this.preferredAEADAlgorithms&&(e=X.stringToUint8Array(X.uint8ArrayToString(this.preferredAEADAlgorithms)),r.push(iD(t.preferredAEADAlgorithms,!1,e))),null!==this.preferredCipherSuites&&(e=new Uint8Array([].concat(...this.preferredCipherSuites)),r.push(iD(t.preferredCipherSuites,!1,e)));let a=X.concat(r),i=X.writeNumber(a.length,6===this.version?4:2);
3return X.concat([i,a])}writeUnhashedSubPackets(){let e=this.unhashedSubpackets.map(({type:e,critical:t,body:r})=>iD(e,t,r)),t=X.concat(e),r=X.writeNumber(t.length,6===this.version?4:2);return X.concat([r,t])}readSubPacket(e,t=!0){let r=0,a=!!(128&e[0]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:a,body:e.subarray(r,e.length)}),iC.has(i)))switch(i){case Z.signatureSubpacket.signatureCreationTime:this.created=X.readDate(e.subarray(r,e.length));break;case Z.signatureSubpacket.signatureExpirationTime:{let t=X.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case Z.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case Z.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case Z.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case Z.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case Z.signatureSubpacket.keyExpirationTime:{let t=X.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case Z.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case Z.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw Error("Unexpected Issuer Key ID subpacket");break;case Z.signatureSubpacket.notationData:{let t=!!(128&e[r]);r+=4;let i=X.readNumber(e.subarray(r,r+2));r+=2;let n=X.readNumber(e.subarray(r,r+2));r+=2;let s=X.decodeUTF8(e.subarray(r,r+i)),c=e.subarray(r+i,r+i+n);this.rawNotations.push({name:s,humanReadable:t,value:c,critical:a}),t&&(this.notations[s]=X.decodeUTF8(c));break}case Z.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=X.decodeUTF8(e.subarray(r,e.length));break;case Z.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case Z.signatureSubpacket.policyURI:this.policyURI=X.decodeUTF8(e.subarray(r,e.length));break;case Z.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.signersUserID:this.signersUserID=X.decodeUTF8(e.subarray(r,e.length));break;case Z.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=X.decodeUTF8(e.subarray(r,e.length));break;case Z.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];let t=ez(this.signatureTargetHashAlgorithm);this.signatureTargetHash=X.uint8ArrayToString(e.subarray(r,r+t));break}case Z.signatureSubpacket.embeddedSignature:this.embeddedSignature=new iK,this.embeddedSignature.read(e.subarray(r,e.length));break;case Z.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case Z.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case Z.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t<e.length;t+=2)this.preferredCipherSuites.push([e[t],e[t+1]]);break;default:this.unknownSubpackets.push({type:i,critical:a,body:e.subarray(r,e.length)})}}readSubPackets(e,t=!0,r){let a=6===this.version?4:2,i=X.readNumber(e.subarray(0,a)),n=a;for(;n<2+i;){let a=e5(e.subarray(n,e.length));n+=a.offset,this.readSubPacket(e.subarray(n,n+a.len),t,r),n+=a.len}return n}toSign(e,t){let r=Z.signature;
3switch(e){case r.binary:return null!==t.text?X.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{let 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,a;if(t.userID)a=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");a=209,e=t.userAttribute}let i=e.write();return X.concat([this.toSign(r.key,t),new Uint8Array([a]),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 R(T(this.signatureData),e=>{r+=e.length},()=>{let a=[];return 5!==this.version||this.signatureType!==Z.signature.binary&&this.signatureType!==Z.signature.text||(t?a.push(new Uint8Array(6)):a.push(e.writeHeader())),a.push(new Uint8Array([this.version,255])),5===this.version&&a.push(new Uint8Array(4)),a.push(X.writeNumber(r,4)),X.concat(a)})}toHash(e,t,r=!1){let a=this.toSign(e,t);return X.concat([this.salt||new Uint8Array,a,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,a=!1){if(6===this.version&&this.salt.length!==iU(this.hashAlgorithm))throw Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,a)),eG(this.hashAlgorithm,r)}async verify(e,t,r,a=new Date,i=!1,n=J){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.");let s=t===Z.signature.binary||t===Z.signature.text;if(!(this[iB]&&!s)){let a,n;if(this.hashed?n=await this.hashed:(a=this.toHash(t,r,i),n=await this.hash(t,r,a)),n=await z(n),this.signedHashValue[0]!==n[0]||this.signedHashValue[1]!==n[1])throw Error("Signed digest did not match");if(this.params=await this.params,this[iB]=await aU(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,a,n),!this[iB])throw Error("Signature verification failed")}let c=X.normalizeDate(a);if(c&&this.created>c)throw Error("Signature creation time is in the future");if(c&&c>=this.getExpirationTime())throw Error("Signature is expired");if(n.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+Z.read(Z.hash,this.hashAlgorithm).toUpperCase());if(n.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[Z.signature.binary,Z.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+Z.read(Z.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach(({type:e,critical:t})=>{if(t)throw Error("Unknown critical signature subpacket type "+e)}),this.rawNotations.forEach(({name:e,critical:t})=>{if(t&&0>n.knownNotations.indexOf(e))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){let 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 iD(e,t,r){let a=[];return a.push(e3(r.length+1)),a.push(new Uint8Array([128*!!t|e])),a.push(r),X.concat(a)}function iU(e){switch(e){case Z.hash.sha256:return 16;case Z.hash.sha384:return 24;case Z.hash.sha512:return 32;case Z.hash.sha224:case Z.hash.sha3_256:return 16;case Z.hash.sha3_512:return 32;default:throw Error("Unsupported hash function")}}class iP{static get tag(){return Z.packet.onePassSignature}static fromSignaturePacket(e,t){let r=new iP;return r.version=6===e.version?6:3,r.signatureType=e.signatureType,r.hashAlgorithm=e.hashAlgorithm,r.publicKeyAlgorithm=e.publicKeyAlgorithm,r.issuerKeyID=e.issuerKeyID,r.salt=e.salt,r.issuerFingerprint=e.issuerFingerprint,r.flags=+!!t,r}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.salt=null,this.issuerKeyID=null,this.issuerFingerprint=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new e7(`Version ${this.version} of the one-pass signature packet is unsupported.`);if(this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],6===this.version){let r=e[t++];this.salt=e.subarray(t,t+r),t+=r,this.issuerFingerprint=e.subarray(t,t+32),t+=32,this.issuerKeyID=new iI,this.issuerKeyID.read(this.issuerFingerprint)}else this.issuerKeyID=new iI,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8;return this.flags=e[t++],this}write(){let e=[new Uint8Array([this.version,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm])];return 6===this.version?e.push(new Uint8Array([this.salt.length]),this.salt,this.issuerFingerprint):e.push(this.issuerKeyID.write()),e.push(new Uint8Array([this.flags])),X.concatUint8Array(e)}calculateTrailer(...e){return q(async()=>iK.prototype.calculateTrailer.apply(await this.correspondingSig,e))}async verify(){let e=await this.correspondingSig;if(!e||e.constructor.tag!==Z.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)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!X.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!X.equalsUint8Array(e.salt,this.salt))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}iP.prototype.hash=iK.prototype.hash,iP.prototype.toHash=iK.prototype.toHash,iP.prototype.toSign=iK.prototype.toSign;class iQ extends Array{static async fromBinary(e,t,r=J,a=null,i=!1){let n=new iQ;return await n.read(e,t,r,a,i),n}async read(e,t,r=J,a=null,i=!1){let n;r.additionalAllowedPackets.length&&(n=X.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...n}),this.stream=F(e,async(e,s)=>{let c=j(e),f=V(s);try{let s=X.isStream(e);for(;;){let e,o;if(await f.ready,await e9(c,s,async s=>{try{if(s.tag===Z.packet.marker||s.tag===Z.packet.trust||s.tag===Z.packet.padding)return;let e=function(e,t){if(!t[e]){let t;try{t=Z.read(Z.packet,e)}catch{throw new te("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}(s.tag,t);try{a?.recordPacket(s.tag,n)}catch(e){if(r.enforceGrammar)throw e;X.printDebugError(e)}e.packets=new iQ,e.fromStream=X.isStream(s.packet),o=e.fromStream;try{await e.read(s.packet,r)}catch(t){if(!(t instanceof e7))throw X.wrapError(new tt(`Parsing ${e.constructor.name} failed`),t);throw t}await f.write(e)}
3catch(o){let t=o instanceof te&&s.tag<=39,a=o instanceof e7&&!(o instanceof te)&&!r.ignoreUnsupportedPackets,n=o instanceof tt&&!r.ignoreMalformedPackets,c=e4(s.tag);if(t||a||n||c||!(o instanceof te||o instanceof e7||o instanceof tt))i?e=o:await f.abort(o);else{let e=new tr(s.tag,s.packet);await f.write(e)}X.printDebugError(o)}}),o&&(s=null),e)throw await c.readToEnd(),e;let l=await c.peekBytes(2);if(!l||!l.length){try{a?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;X.printDebugError(e)}return await f.ready,void await f.close()}}}catch(e){await f.abort(e)}});let s=j(this.stream);for(;;){let{done:e,value:t}=await s.read();if(e?this.stream=null:this.push(t),e||e4(t.constructor.tag))break}s.releaseLock()}write(){let e=[];for(let t=0;t<this.length;t++){let r=this[t]instanceof tr?this[t].tag:this[t].constructor.tag,a=this[t].write();if(X.isStream(a)&&e4(this[t].constructor.tag)){let t=[],i=0;e.push(e8(r)),e.push(R(a,e=>{if(t.push(e),(i+=e.length)>=512){let e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,a=X.concat([function(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}(e)].concat(t));return i=(t=[a.subarray(1+r)])[0].length,a.subarray(0,1+r)}},()=>X.concat([e3(i)].concat(t))))}else{if(X.isStream(a)){let t=0;e.push(R(T(a),e=>{t+=e.length},()=>e6(r,t)))}else e.push(e6(r,a.length));e.push(a)}}return X.concat(e)}filterByTag(...e){let t=new iQ,r=e=>t=>e===t;for(let a=0;a<this.length;a++)e.some(r(this[a].constructor.tag))&&t.push(this[a]);return t}findPacket(e){return this.find(t=>t.constructor.tag===e)}indexOfTag(...e){let t=[],r=e=>t=>e===t;for(let a=0;a<this.length;a++)e.some(r(this[a].constructor.tag))&&t.push(a);return t}}class iR extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,iR),this.name="GrammarError"}}(oH=oz||(oz={}))[oH.EmptyMessage=0]="EmptyMessage",oH[oH.PlaintextOrEncryptedData=1]="PlaintextOrEncryptedData",oH[oH.EncryptedSessionKeys=2]="EncryptedSessionKeys",oH[oH.StandaloneAdditionalAllowedData=3]="StandaloneAdditionalAllowedData";class iM{constructor(){this.state=oz.EmptyMessage,this.leadingOnePassSignatureCounter=0}recordPacket(e,t){switch(this.state){case oz.EmptyMessage:case oz.StandaloneAdditionalAllowedData:switch(e){case Z.packet.literalData:case Z.packet.compressedData:case Z.packet.aeadEncryptedData:case Z.packet.symEncryptedIntegrityProtectedData:case Z.packet.symmetricallyEncryptedData:return void(this.state=oz.PlaintextOrEncryptedData);case Z.packet.signature:if(this.state===oz.StandaloneAdditionalAllowedData&&--this.leadingOnePassSignatureCounter<0)throw new iR("Trailing signature packet without OPS");return;case Z.packet.onePassSignature:if(this.state===oz.StandaloneAdditionalAllowedData)throw new iR("OPS following StandaloneAdditionalAllowedData");return void this.leadingOnePassSignatureCounter++;case Z.packet.publicKeyEncryptedSessionKey:case Z.packet.symEncryptedSessionKey:return void(this.state=oz.EncryptedSessionKeys);default:if(!t?.[e])throw new iR(`Unexpected packet ${e} in state ${this.state}`);return void(this.state=oz.StandaloneAdditionalAllowedData)}case oz.PlaintextOrEncryptedData:if(e===Z.packet.signature){if(--this.leadingOnePassSignatureCounter<0)throw new iR("Trailing signature packet without OPS");return void(this.state=oz.PlaintextOrEncryptedData)}if(!t?.[e])throw new iR(`Unexpected packet ${e} in state ${this.state}`);return void(this.state=oz.PlaintextOrEncryptedData);case oz.EncryptedSessionKeys:switch(e){case Z.packet.publicKeyEncryptedSessionKey:case Z.packet.symEncryptedSessionKey:return void(this.state=oz.EncryptedSessionKeys);case Z.packet.symEncryptedIntegrityProtectedData:case Z.packet.aeadEncryptedData:case Z.packet.symmetricallyEncryptedData:return void(this.state=oz.PlaintextOrEncryptedData);case Z.packet.signature:if(--this.leadingOnePassSignatureCounter<0)throw new iR("Trailing signature packet without OPS");return void(this.state=oz.PlaintextOrEncryptedData);default:if(!t?.[e])throw new iR(`Unexpected packet ${e} in state ${this.state}`);this.state=oz.EncryptedSessionKeys}}}recordEnd(){switch(this.state){case oz.EmptyMessage:case oz.PlaintextOrEncryptedData:case oz.EncryptedSessionKeys:case oz.StandaloneAdditionalAllowedData:if(this.leadingOnePassSignatureCounter>0)throw new iR("Missing trailing signature packets")}}}let iL=X.constructAllowedPackets([iv,iP,iK]);class iF{static get tag(){return Z.packet.compressedData}constructor(e=J){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=J){await N(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=J){let t=Z.read(Z.compression,this.algorithm),r=iH[t];if(!r)throw Error(t+" decompression not supported");let a=await r(this.compressed);if(e.maxDecompressedMessageSize!==1/0){let t=0;a=R(a,r=>{if((t+=r.length)>e.maxDecompressedMessageSize)throw Error("Maximum decompressed message size exceeded");return r})}k(this.compressed)&&!m(this.compressed)||(a=await z(a)),this.packets=await iQ.fromBinary(a,iL,e,new iM)}compress(){let e=Z.read(Z.compression,this.algorithm),t=iO[e];if(!t)throw Error(e+" compression not supported");let r=this.packets.write(),a=t(r);k(r)&&!m(r)||(a=q(()=>z(a))),this.compressed=a}}function iN(e,t){return r=>{let a,i;if(i=j(a=m(r)?new ReadableStream({async start(e){try{e.enqueue(await z(r)),e.close()}catch(t){e.error(t)}}}):k(r)?r:K(r)),a=new ReadableStream({async pull(e){try{let{value:t,done:r}=await i.read();if(r)return void e.close();for(let r=0;r<=t.length;r+=65536)(!r||r<t.length)&&e.enqueue(t.subarray(r,r+65536))}catch(t){e.error(t)}}},{highWaterMark:0}),e)try{let t=e();return a.pipeThrough(t)}catch(e){if("TypeError"!==e.name)throw e}let n=j(a),s=new t,c=!1,f=!1;return new ReadableStream({start(e){s.ondata=(t,r)=>{e.enqueue(t),c=!0,r&&(e.close(),f=!0)}},async pull(){for(c=!1;!c&&!f;){let{done:e,value:t}=await n.read();if(e)return void s.push(new Uint8Array,!0);t.length&&s.push(t)}}},{highWaterMark:0})}}let iT=e=>({compressor:"u">typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"u">typeof DecompressionStream&&(()=>new DecompressionStream(e))}),iO={zip:iN(iT("deflate-raw").compressor,iA),zlib:iN(iT("deflate").compressor,im)},iH={uncompressed:e=>e,zip:iN(iT("deflate-raw").decompressor,iw),zlib:iN(iT("deflate").decompressor,iE),bzip2:async function(e){let{default:t}=await Promise.resolve().then(function(){return oW});return t(K(e))}},iG=X.constructAllowedPackets([iv,iF,iP,iK]);class iz{static get tag(){return Z.packet.publicKey}constructor(e=new Date,t=J){this.version=t.v6Keys?6:4,this.created=X.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){let t=new iz,{version:r,created:a,algorithm:i,publicParams:n,keyID:s,fingerprint:c}=e;return t.version=r,t.created=a,t.algorithm=i,t.publicParams=n,t.keyID=s,t.fingerprint=c,t}async read(e,t=J){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new e7("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=X.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);let{read:t,publicParams:a}=function(e,t){let r=0;switch(e){case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:{let e=X.readMPI(t.subarray(r));r+=e.length+2;let a=X.readMPI(t.subarray(r));return{read:r+=a.length+2,publicParams:{n:e,e:a}}}case Z.publicKey.dsa:{let e=X.readMPI(t.subarray(r));r+=e.length+2;let a=X.readMPI(t.subarray(r));r+=a.length+2;let i=X.readMPI(t.subarray(r));r+=i.length+2;let n=X.readMPI(t.subarray(r));return{read:r+=n.length+2,publicParams:{p:e,q:a,g:i,y:n}}}case Z.publicKey.elgamal:{let e=X.readMPI(t.subarray(r));r+=e.length+2;let a=X.readMPI(t.subarray(r));r+=a.length+2;let i=X.readMPI(t.subarray(r));return{read:r+=i.length+2,publicParams:{p:e,g:a,y:i}}}case Z.publicKey.ecdsa:{let e=new e2;r+=e.read(t),r2(e);let a=X.readMPI(t.subarray(r));return{read:r+=a.length+2,publicParams:{oid:e,Q:a}}}case Z.publicKey.eddsaLegacy:{let e=new e2;if(r+=e.read(t),r2(e),e.getName()!==Z.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let a=X.readMPI(t.subarray(r));return{read:r+=a.length+2,publicParams:{oid:e,Q:a=X.leftPad(a,33)}}}case Z.publicKey.ecdh:{let e=new e2;r+=e.read(t),r2(e);let a=X.readMPI(t.subarray(r));r+=a.length+2;let i=new rX;return{read:r+=i.read(t.subarray(r)),publicParams:{oid:e,Q:a,kdfParam
3s:i}}}case Z.publicKey.ed25519:case Z.publicKey.ed448:case Z.publicKey.x25519:case Z.publicKey.x448:{let a=X.readExactSubarray(t,r,r+r5(e));return{read:r+=a.length,publicParams:{A:a}}}default:throw new e7("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&a.oid&&(a.oid.getName()===Z.curve.curve25519Legacy||a.oid.getName()===Z.curve.ed25519Legacy))throw Error("Legacy curve25519 cannot be used with v6 keys");return this.publicParams=a,r+=t,await this.computeFingerprintAndKeyID(),r}throw new e7(`Version ${this.version} of the key packet is unsupported.`)}write(){let e=[];e.push(new Uint8Array([this.version])),e.push(X.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));let t=r0(this.algorithm,this.publicParams);return this.version>=5&&e.push(X.writeNumber(t.length,4)),e.push(t),X.concatUint8Array(e)}writeForHash(e){let t=this.writePublicKey();return X.concatUint8Array([new Uint8Array([149+e]),X.writeNumber(t.length,e>=5?4:2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new iI,this.version>=5)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(){let e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await eG(Z.hash.sha256,e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await eG(Z.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(){let e={};e.algorithm=Z.read(Z.publicKey,this.algorithm);let t=this.publicParams.n||this.publicParams.p;return t?e.bits=X.uint8ArrayBitLength(t):this.publicParams.oid&&(e.curve=this.publicParams.oid.getName()),e}}iz.prototype.readPublicKey=iz.prototype.read,iz.prototype.writePublicKey=iz.prototype.write;class i_ extends iz{static get tag(){return Z.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){let t=new i_,{version:r,created:a,algorithm:i,publicParams:n,keyID:s,fingerprint:c}=e;return t.version=r,t.created=a,t.algorithm=i,t.publicParams=n,t.keyID=s,t.fingerprint=c,t}}class iq extends iz{static get tag(){return Z.packet.secretKey}constructor(e=new Date,t=J){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.isLegacyAEAD=null,this.privateParams=null,this.usedModernAEAD=null}async read(e,t=J){let r=await this.readPublicKey(e,t),a=r;this.s2kUsage=e[r++],5===this.version&&r++,6===this.version&&this.s2kUsage&&r++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[r++],253===this.s2kUsage&&(this.aead=e[r++]),6===this.version&&r++;let t=e[r++];if(this.s2k=aF(t),r+=this.s2k.read(e.subarray(r,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.isLegacyAEAD=253===this.s2kUsage&&(5===this.version||4===this.version&&t.parseAEADEncryptedV4KeysAsLegacy),253!==this.s2kUsage||this.isLegacyAEAD?(this.iv=e.subarray(r,r+re(this.symmetric).blockSize),this.usedModernAEAD=!1):(this.iv=e.subarray(r,r+aD(this.aead).ivLength),this.usedModernAEAD=!0),r+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(a),this.isEncrypted=!0}if(5===this.version&&(r+=4),this.keyMaterial=e.subarray(r),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){let e;if(6===this.version)e=this.keyMaterial;else if(e=this.keyMaterial.subarray(0,-2),!X.equalsUint8Array(X.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{let{read:t,privateParams:r}=r$(this.algorithm,e,this.publicParams);if(t<e.length)throw Error("Error reading MPIs");this.privateParams=r}catch(e){if(e instanceof e7)throw e;throw Error("Error reading MPIs")}}}write(){let e=this.writePublicKey();
3if(this.unparseableKeyMaterial)return X.concatUint8Array([e,this.unparseableKeyMaterial]);let t=[e];t.push(new Uint8Array([this.s2kUsage]));let r=[];if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead);let e=this.s2k.write();6===this.version&&r.push(e.length),r.push(...e)}return this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),(5===this.version||6===this.version&&this.s2kUsage)&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=r0(this.algorithm,this.privateParams)),5===this.version&&t.push(X.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||6===this.version||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=J){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=aF(Z.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=Z.symmetric.aes256,this.isLegacyAEAD=null,this.usedModernAEAD=null)}async encrypt(e,t=J){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=function(e){let{s2kType:t}=e;if(!aL.has(t))throw Error("The provided `config.s2kType` value is not allowed");return aF(t,e)}(t),this.s2k.generateSalt();let r=r0(this.algorithm,this.privateParams);this.symmetric=Z.symmetric.aes256;let{blockSize:a}=re(this.symmetric);if(t.aeadProtect){this.s2kUsage=253,this.aead=t.preferredAEADAlgorithm;let i=aD(this.aead);this.isLegacyAEAD=5===this.version,this.usedModernAEAD=!this.isLegacyAEAD;let n=e8(this.constructor.tag),s=await ij(this.version,this.s2k,e,this.symmetric,this.aead,n,this.isLegacyAEAD),c=await i(this.symmetric,s);this.iv=this.isLegacyAEAD?eE(a):eE(i.ivLength);let f=this.isLegacyAEAD?new Uint8Array:X.concatUint8Array([n,this.writePublicKey()]);this.keyMaterial=await c.encrypt(r,this.iv.subarray(0,i.ivLength),f)}else{this.s2kUsage=254,this.usedModernAEAD=!1;let t=await ij(this.version,this.s2k,e,this.symmetric);this.iv=eE(a),this.keyMaterial=await r9(this.symmetric,t,X.concatUint8Array([r,await eG(Z.hash.sha1,r)]),this.iv)}}async decrypt(e){let t,r;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 a=e8(this.constructor.tag);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 ij(this.version,this.s2k,e,this.symmetric,this.aead,a,this.isLegacyAEAD),253===this.s2kUsage){let e=aD(this.aead,!0),i=await e(this.symmetric,t);try{let t=this.isLegacyAEAD?new Uint8Array:X.concatUint8Array([a,this.writePublicKey()]);r=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),t)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{let e=await r7(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);let a=await eG(Z.hash.sha1,r);if(!X.equalsUint8Array(a,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{let{privateParams:e}=r$(this.algorithm,r,this.publicParams);this.privateParams=e}catch{throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0,this.aead=null,this.symmetric=null,this.isLegacyAEAD=null}async validate(){let e;if(!this.isDummy()){if(!this.isDecrypted())throw Error("Key is not decrypted");if(!this.usedModernAEAD){try{e=await r1(this.algorithm,this.publicParams,this.privateParams)}catch{e=!1}
3if(!e)throw Error("Key is invalid")}}}async generate(e,t){if(6===this.version&&(this.algorithm===Z.publicKey.ecdh&&t===Z.curve.curve25519Legacy||this.algorithm===Z.publicKey.eddsaLegacy))throw Error(`Cannot generate v6 keys of type 'ecc' with curve ${t}. Generate a key of type 'curve25519' instead`);let{privateParams:r,publicParams:a}=await function(e,t,r){switch(e){case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:return(async function(e,t){let r,a,i;if(t=BigInt(t),X.getWebCrypto()){let r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:ew(t),hash:{name:"SHA-1"}},a=await ej.generateKey(r,!0,["sign","verify"]);return e$(await ej.exportKey("jwk",a.privateKey),t)}if(X.getNodeCrypto()){let r={modulusLength:e,publicExponent:eg(t),publicKeyEncoding:{type:"pkcs1",format:"jwk"},privateKeyEncoding:{type:"pkcs1",format:"jwk"}};return e$(await new Promise((e,t)=>{eV.generateKeyPair("rsa",r,(r,a,i)=>{r?t(r):e(i)})}),t)}do a=eI(e-(e>>1),t,40),i=(r=eI(e>>1,t,40))*a;while(ep(i)!==e)let n=(r-eY)*(a-eY);return a<r&&([r,a]=[a,r]),{n:ew(i),e:ew(t),d:ew(ey(t,n)),p:ew(r),q:ew(a),u:ew(ey(r,a))}})(t,65537).then(({n:e,e:t,d:r,p:a,q:i,u:n})=>({privateParams:{d:r,p:a,q:i,u:n},publicParams:{n:e,e:t}}));case Z.publicKey.ecdsa:return rk(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new e2(e),Q:t}}));case Z.publicKey.eddsaLegacy:return rk(r).then(({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new e2(e),Q:t}}));case Z.publicKey.ecdh:return rk(r).then(({oid:e,Q:t,secret:r,hash:a,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new e2(e),Q:t,kdfParams:new rX({hash:a,cipher:i})}}));case Z.publicKey.ed25519:case Z.publicKey.ed448:return ta(e).then(({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}}));case Z.publicKey.x25519:case Z.publicKey.x448:return rs(e).then(({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}}));case Z.publicKey.dsa:case Z.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}}(this.algorithm,e,t);this.privateParams=r,this.publicParams=a,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 ij(e,t,r,a,i,n,s){if("argon2"===t.type&&!i)throw Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw Error("Using Simple S2K with version 6 keys is not allowed");let{keySize:c}=re(a),f=await t.produceKey(r,c);if(!i||5===e||s)return f;let o=X.concatUint8Array([n,new Uint8Array([e,a,i])]);return ri(Z.hash.sha256,f,new Uint8Array,o,c)}class iV extends iq{static get tag(){return Z.packet.secretSubkey}constructor(e=new Date,t=J){super(e,t)}}async function iY(e,t){let r=new iV(e.date,t);return r.packets=null,r.algorithm=Z.write(Z.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve),await r.computeFingerprintAndKeyID(),r}async function iZ(e,t,r,a,i=new Date,n){let s,c;for(let f=e.length-1;f>=0;f--)try{(!s||e[f].created>=s.created)&&(await e[f].verify(t,r,a,i,void 0,n),s=e[f])}catch(e){c=e}if(!s)throw X.wrapError(`Could not find valid ${Z.read(Z.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,(e,t,r)=>t+" "+r.toLowerCase()),c);return s}function iJ(e,t,r=new Date){let a=X.normalizeDate(r);if(null!==a){let r=i2(e,t);return!(e.created<=a&&a<r)}return!1}async function iW(e,t,r,a){let i={};i.key=t,i.bind=e;let n={signatureType:Z.signature.subkeyBinding};return r.sign?(n.keyFlags=[Z.keyFlags.signData],n.embeddedSignature=await i$(i,[],e,{signatureType:Z.signature.keyBinding},r.date,void 0,void 0,void 0,a)):n.keyFlags=[Z.keyFlags.encryptCommunication|Z.keyFlags.encryptStorage],r.keyExpirationTime>0&&(n.keyExpirationTime=r.keyExpirationTime,n.keyNeverExpires=!1),await i$(i,[],t,n,r.date,void 0,void 0,void 0,a)}async function iX(e,t,r=new Date,a=[],i){let n=Z.hash.sha256,s=i.preferredHashAlgorithm,c=await Promise.all(e.map(async(e,t)=>(await e.getPrimarySelfSignature(r,a[t],i)).preferredHashAlgorithms||[])),f=new Map;for(let e of c)for(let t of e)try{let e=Z.write(Z.hash,t);f.set(e,f.has(e)?f.get(e)+1:1)}catch{}let o=t=>0===e.length||f.get(t)===e.length||t===n,l=()=>{if(0===f.size)return n;let e=Array.from(f.keys()).filter(e=>o(e)).sort((e,t)=>
3ez(e)-ez(t))[0];return ez(e)>=ez(n)?e:n};if(new Set([Z.publicKey.ecdsa,Z.publicKey.eddsaLegacy,Z.publicKey.ed25519,Z.publicKey.ed448]).has(t.algorithm)){let e=function(e,t){switch(e){case Z.publicKey.ecdsa:case Z.publicKey.eddsaLegacy:return rv(t);case Z.publicKey.ed25519:case Z.publicKey.ed448:return tf(e);default:throw Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=o(s),a=ez(s)>=ez(e);if(r&&a)return s;{let t=l();return ez(t)>=ez(e)?t:e}}return o(s)?s:l()}async function i$(e,t,r,a,i,n,s=[],c=!1,f){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");let o=new iK;return Object.assign(o,a),o.publicKeyAlgorithm=r.algorithm,o.hashAlgorithm=await iX(t,r,i,n,f),o.rawNotations=[...s],await o.sign(r,e,i,c,f),o}async function i0(e,t,r,a=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map(async function(e){e.isExpired(a)||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 i1(e,t,r,a,i,n,s=new Date,c){n=n||e;let f=[];return await Promise.all(a.map(async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){let a=![Z.reasonForRevocation.keyRetired,Z.reasonForRevocation.keySuperseded,Z.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(n,t,r,a?null:s,!1,c),f.push(e.issuerKeyID)}}catch{}})),i?(i.revoked=!!f.some(e=>e.equals(i.issuerKeyID))||i.revoked||!1,i.revoked):f.length>0}function i2(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function i5(e,t,r){switch(e.algorithm){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:case Z.publicKey.dsa:case Z.publicKey.ecdsa:case Z.publicKey.eddsaLegacy:case Z.publicKey.ed25519:case Z.publicKey.ed448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Z.keyFlags.signData);default:return!1}}function i3(e,t,r){switch(e.algorithm){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaEncrypt:case Z.publicKey.elgamal:case Z.publicKey.ecdh:case Z.publicKey.x25519:case Z.publicKey.x448:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Z.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Z.keyFlags.encryptStorage);default:return!1}}function i8(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaEncrypt:case Z.publicKey.elgamal:case Z.publicKey.ecdh:case Z.publicKey.x25519:case Z.publicKey.x448:return!(!(!t.keyFlags||t.keyFlags[0]&Z.keyFlags.signData)||!r.allowInsecureDecryptionWithSigningKeys)||!t.keyFlags||!!(t.keyFlags[0]&Z.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Z.keyFlags.encryptStorage);default:return!1}}function i6(e,t){let r=Z.write(Z.publicKey,e.algorithm),a=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(a.algorithm+" keys are considered too weak.");switch(r){case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:case Z.publicKey.rsaEncrypt:if(a.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case Z.publicKey.ecdsa:case Z.publicKey.eddsaLegacy:case Z.publicKey.ecdh:if(t.rejectCurves.has(a.curve))throw Error(`Support for ${a.algorithm} keys using curve ${a.curve} is disabled.`)}}class i4{constructor(e,t){this.userID=e.constructor.tag===Z.packet.userID?e:null,this.userAttribute=e.constructor.tag===Z.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){let e=new iQ;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){let e=new i4(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){let a=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:a},n=new i4(i.userID||i.userAttribute,this.mainKey);return n.otherCertifications=await Promise.all(e.map(async function(e){if(!e.isPrivate())throw Error("Need private key for signing");
3if(e.hasSameFingerprintAs(a))throw Error("The user's own key can only be used for self-certifications");let n=await e.getSigningKey(void 0,t,void 0,r);return i$(i,[e],n.keyPacket,{signatureType:Z.signature.certGeneric,keyFlags:[Z.keyFlags.certifyKeys|Z.keyFlags.signData]},t,void 0,void 0,void 0,r)})),await n.update(this,t,r),n}async isRevoked(e,t,r=new Date,a=J){let i=this.mainKey.keyPacket;return i1(i,Z.signature.certRevocation,{key:i,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,a)}async verifyCertificate(e,t,r=new Date,a){let i=this,n=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:n},{issuerKeyID:c}=e,f=t.filter(e=>e.getKeys(c).length>0);return 0===f.length?null:(await Promise.all(f.map(async t=>{let n=await t.getSigningKey(c,e.created,void 0,a);if(e.revoked||await i.isRevoked(e,n.keyPacket,r,a))throw Error("User certificate is revoked");try{await e.verify(n.keyPacket,Z.signature.certGeneric,s,r,void 0,a)}catch(e){throw X.wrapError("User certificate is invalid",e)}})),!0)}async verifyAllCertifications(e,t=new Date,r){let a=this;return Promise.all(this.selfCertifications.concat(this.otherCertifications).map(async i=>({keyID:i.issuerKeyID,valid:await a.verifyCertificate(i,e,t,r).catch(()=>!1)})))}async verify(e=new Date,t){let r;if(!this.selfCertifications.length)throw Error("No self-certifications found");let a=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:a};for(let n=this.selfCertifications.length-1;n>=0;n--)try{let r=this.selfCertifications[n];if(r.revoked||await this.isRevoked(r,void 0,e,t))throw Error("Self-certification is revoked");try{await r.verify(a,Z.signature.certGeneric,i,e,void 0,t)}catch(e){throw X.wrapError("Self-certification is invalid",e)}return!0}catch(e){r=e}throw r}async update(e,t,r){let a=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:a};await i0(e,this,"selfCertifications",t,async function(e){try{return await e.verify(a,Z.signature.certGeneric,i,t,!1,r),!0}catch{return!1}}),await i0(e,this,"otherCertifications",t),await i0(e,this,"revocationSignatures",t,function(e){return i1(a,Z.signature.certRevocation,i,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=Z.reasonForRevocation.noReason,string:r=""}={},a=new Date,i=J){let n={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new i4(n.userID||n.userAttribute,this.mainKey);return s.revocationSignatures.push(await i$(n,[],e,{signatureType:Z.signature.certRevocation,reasonForRevocationFlag:Z.write(Z.reasonForRevocation,t),reasonForRevocationString:r},a,void 0,void 0,!1,i)),await s.update(this),s}}class i9{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){let e=new iQ;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){let e=new i9(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,a=J){let i=this.mainKey.keyPacket;return i1(i,Z.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,a)}async verify(e=new Date,t=J){let r=this.mainKey.keyPacket,a={key:r,bind:this.keyPacket},i=await iZ(this.bindingSignatures,r,Z.signature.subkeyBinding,a,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(iJ(this.keyPacket,i,e))throw Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=J){let r,a=this.mainKey.keyPacket,i={key:a,bind:this.keyPacket};try{r=await iZ(this.bindingSignatures,a,Z.signature.subkeyBinding,i,e,t)}catch{return null}let n=i2(this.keyPacket,r),s=r.getExpirationTime();return n<s?n:s}async update(e,t=new Date,r=J){let a=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===Z.packet.publicSubkey&&e.keyPacket.constructor.tag===Z.packet.secretSubkey&&(this.keyPacket=e.keyPacket);let i=this,n={key:a,bind:i.keyPacket};await i0(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(a,Z.signature.subkeyBinding,n,t,void 0,r),!0}catch{return!1}}),await i0(e,this,"revocationSignatures",t,function(e){return i1(a,Z.signature.subkeyRevocation,n,[e],void 0,void 0,t,r)})}async revoke(e,{flag:t=Z.reasonForRevocation.noReason,string:r=""}={},a=new Date,i=J){let n={key:e,bind:this.keyPacket},s=new i9(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await i$(n,[],e,{signatureType:Z.signature.subkeyRevocation,reasonForRevocationFlag:Z.write(Z.reasonForRevocation,t),reasonForRevocationString:r},a,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
3=>{i9.prototype[e]=function(){return this.keyPacket[e]()}});let i7=X.constructAllowedPackets([iK]),ne=new Set([Z.packet.publicKey,Z.packet.privateKey]),nt=new Set([Z.packet.publicKey,Z.packet.privateKey,Z.packet.publicSubkey,Z.packet.privateSubkey]);class nr{packetListToStructure(e,t=new Set){let r,a,i,n;for(let s of e){if(s instanceof tr){nt.has(s.tag)&&!n&&(n=ne.has(s.tag)?ne:nt);continue}let e=s.constructor.tag;if(n){if(!n.has(e))continue;n=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case Z.packet.publicKey:case Z.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,!(a=this.getKeyID()))throw Error("Missing Key ID");break;case Z.packet.userID:case Z.packet.userAttribute:r=new i4(s,this),this.users.push(r);break;case Z.packet.publicSubkey:case Z.packet.secretSubkey:r=null,i=new i9(s,this),this.subkeys.push(i);break;case Z.packet.signature:switch(s.signatureType){case Z.signature.certGeneric:case Z.signature.certPersona:case Z.signature.certCasual:case Z.signature.certPositive:if(!r){X.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(a)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case Z.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case Z.signature.key:this.directSignatures.push(s);break;case Z.signature.subkeyBinding:if(!i){X.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(s);break;case Z.signature.keyRevocation:this.revocationSignatures.push(s);break;case Z.signature.subkeyRevocation:if(!i){X.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(s)}}}}toPacketList(){let e=new iQ;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){let 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;let 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){let 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={},a=J){let i;await this.verifyPrimaryKey(t,r,a);let n=this.keyPacket;try{i6(n,a)}catch(e){throw X.wrapError("Could not verify primary key",e)}for(let r of this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm))if(!e||r.getKeyID().equals(e))try{await r.verify(t,a);let e={key:n,bind:r.keyPacket},i=await iZ(r.bindingSignatures,n,Z.signature.subkeyBinding,e,t,a);if(!i5(r.keyPacket,i,a))continue;if(!i.embeddedSignature)throw Error("Missing embedded signature");return await iZ([i.embeddedSignature],r.keyPacket,Z.signature.keyBinding,e,t,a),i6(r.keyPacket,a),r}catch(e){i=e}try{let i=await this.getPrimarySelfSignature(t,r,a);if((!e||n.getKeyID().equals(e))&&i5(n,i,a))return i6(n,a),this}catch(e){i=e}throw X.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),i)}async getEncryptionKey(e,t=new Date,r={},a=J){let i;await this.verifyPrimaryKey(t,r,a);let n=this.keyPacket;try{i6(n,a)}catch(e){throw X.wrapError("Could not verify primary key",e)}for(let r of this.subkeys.slice().sort((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm))if(!e||r.getKeyID().equals(e))try{await r.verify(t,a);let e={key:n,bind:r.keyPacket},i=await iZ(r.bindingSignatures,n,Z.signature.subkeyBinding,e,t,a);if(i3(r.keyPacket,i,a))return i6(r.keyPacket,a),r}catch(e){i=e}try{let i=await this.getPrimarySelfSignature(t,r,a);if((!e||n.getKeyID().equals(e))&&i3(n,i,a))return i6(n,a),this}catch(e){i=e}throw X.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),i)}async isRevoked(e,t,r=new Date,a=J){return i1(this.keyPacket,Z.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,a)}async verifyPrimaryKey(e=new Date,t={},r=J){let a=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");if(iJ(a,await this.getPrimarySelfSignature(e,t,r),e))throw Error("Primary key is expired");if(6!==a.version){let t=await iZ(this.directSignatures,a,Z.signature.key,{key:a},e,r).catch(()=>{});if(t&&iJ(a,t,e))throw Error("Primary key is expired")}}async getExpirationTime(e,t=J){let r;try{let a=await this.getPrimarySelfSignature(null,e,t),i=i2(this.keyPacket,a),n=a.getExpirationTime(),s=6!==this.keyPacket.version&&await iZ(this.directSignatures,this.keyPacket,Z.signature.key,{key:this.keyPacket},null,t).catch(()=>{});if(s){let e=i2(this.keyPacket,s);r=Math.min(i,n,e)}else r=i<n?i:n}catch{r=null}return X.normalizeDate(r)}async getPrimarySelfSignature(e=new Date,t={},r=J){let a=this.keyPacket;if(6===a.version)return iZ(this.directSignatures,a,Z.signature.key,{key:a},e,r);let{selfCertification:i}=await this.getPrimaryUser(e,t,r);return i}async getPrimaryUser(e=new Date,t={},r=J){let a,i=this.keyPacket,n=[];for(let s=0;s<this.users.length;s++)try{let 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.c
3omment!==t.comment)throw Error("Could not find user that matches that user ID");let c={userID:a.userID,key:i},f=await iZ(a.selfCertifications,i,Z.signature.certGeneric,c,e,r);n.push({index:s,user:a,selfCertification:f})}catch(e){a=e}if(!n.length)throw a||Error("Could not find primary user");await Promise.all(n.map(async t=>{t.selfCertification.revoked||await t.user.isRevoked(t.selfCertification,null,e,r)}));let s=n.sort(function(e,t){let r=e.selfCertification,a=t.selfCertification;return a.revoked-r.revoked||r.isPrimaryUserID-a.isPrimaryUserID||r.created-a.created}).pop(),{user:c,selfCertification:f}=s;if(f.revoked||await c.isRevoked(f,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=J){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)}let a=this.clone();return await i0(e,a,"revocationSignatures",t,i=>i1(a.keyPacket,Z.signature.keyRevocation,a,[i],null,e.keyPacket,t,r)),await i0(e,a,"directSignatures",t),await Promise.all(e.users.map(async e=>{let i=a.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(a=>a.update(e,t,r)));else{let t=e.clone();t.mainKey=a,a.users.push(t)}})),await Promise.all(e.subkeys.map(async e=>{let i=a.subkeys.filter(t=>t.hasSameFingerprintAs(e));if(i.length>0)await Promise.all(i.map(a=>a.update(e,t,r)));else{let t=e.clone();t.mainKey=a,a.subkeys.push(t)}})),a}async getRevocationCertificate(e=new Date,t=J){let r={key:this.keyPacket},a=await iZ(this.revocationSignatures,this.keyPacket,Z.signature.keyRevocation,r,e,t),i=new iQ;i.push(a);let n=6!==this.keyPacket.version;return el(Z.armor.publicKey,i.write(),null,null,"This is a revocation certificate",n,t)}async applyRevocationCertificate(e,t=new Date,r=J){let a=await eo(e),i=(await iQ.fromBinary(a.data,i7,r)).findPacket(Z.packet.signature);if(!i||i.signatureType!==Z.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,Z.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw X.wrapError("Could not verify revocation signature",e)}let n=this.clone();return n.revocationSignatures.push(i),n}async signPrimaryUser(e,t,r,a=J){let{index:i,user:n}=await this.getPrimaryUser(t,r,a),s=await n.certify(e,t,a),c=this.clone();return c.users[i]=s,c}async signAllUsers(e,t=new Date,r=J){let a=this.clone();return a.users=await Promise.all(this.users.map(function(a){return a.certify(e,t,r)})),a}async verifyPrimaryUser(e,t=new Date,r,a=J){let i=this.keyPacket,{user:n}=await this.getPrimaryUser(t,r,a);return e?await n.verifyAllCertifications(e,t,a):[{keyID:i.getKeyID(),valid:await n.verify(t,a).catch(()=>!1)}]}async verifyAllUsers(e,t=new Date,r=J){let a=this.keyPacket,i=[];return await Promise.all(this.users.map(async n=>{let s=e?await n.verifyAllCertifications(e,t,r):[{keyID:a.getKeyID(),valid:await n.verify(t,r).catch(()=>!1)}];i.push(...s.map(e=>({userID:n.userID?n.userID.userID:null,userAttribute:n.userAttribute,keyID:e.keyID,valid:e.valid})))})),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach(e=>{nr.prototype[e]=i9.prototype[e]});class na extends nr{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([Z.packet.secretKey,Z.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=J){let t=6!==this.keyPacket.version;return el(Z.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class ni extends na{constructor(e){if(super(),this.packetListToStructure(e,new Set([Z.packet.publicKey,Z.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){let e=new iQ;for(let t of this.toPacketList())switch(t.constructor.tag){case Z.packet.secretKey:{let r=iz.fromSecretKeyPacket(t);e.push(r);break}case Z.packet.secretSubkey:{let r=i_.fromSecretSubkeyPacket(t);e.push(r);break}default:e.push(t)}return new na(e)}armor(e=J){let t=6!==this.keyPacket.version;return el(Z.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},a=J){let i=this.keyPacket,n=[],s=null;for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0)){if(this.subkeys[r].keyPacket.isDummy()){s=s||Error("Gnu-dummy key packets cannot be used for decryption");continue}try{let e={key:i,bind:this.subkeys[r].keyPacket},s=await iZ(this.subkeys[r].bindingSignatures,i,Z.signature.subkeyBinding,e,t,a);i8(this.subkeys[r].keyPacket,s,a)&&n.push(this.subkeys[r])}catch(e){s=e}}let c=await this.getPrimarySelfSignature(t,r,a);if((!e||i.getKeyID().equals(e,!0))&&i8(i,c,a)&&(i.isDummy()?s=s||Error("Gnu-dummy key packets cannot be used for decryption"):n.push(this)),0===n.length)throw s||Error("No decryption key packets found");return n}
3isDecrypted(){return this.getKeys().some(({keyPacket:e})=>e.isDecrypted())}async validate(e=J){let t;if(!this.isPrivate())throw Error("Cannot validate a public key");if(this.keyPacket.isDummy()){let 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();{let 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(e=>e.keyPacket.validate()))}}clearPrivateParams(){this.getKeys().forEach(({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()})}async revoke({flag:e=Z.reasonForRevocation.noReason,string:t=""}={},r=new Date,a=J){if(!this.isPrivate())throw Error("Need private key for revoking");let i={key:this.keyPacket},n=this.clone();return n.revocationSignatures.push(await i$(i,[],this.keyPacket,{signatureType:Z.signature.keyRevocation,reasonForRevocationFlag:Z.write(Z.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,a)),n}async addSubkey(e={}){let t={...J,...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}`);let 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");let a=r.getAlgorithmInfo();a.type=function(e){switch(Z.write(Z.publicKey,e)){case Z.publicKey.rsaEncrypt:case Z.publicKey.rsaEncryptSign:case Z.publicKey.rsaSign:case Z.publicKey.dsa:return"rsa";case Z.publicKey.ecdsa:case Z.publicKey.eddsaLegacy:return"ecc";case Z.publicKey.ed25519:return"curve25519";case Z.publicKey.ed448:return"curve448";default:throw Error("Unsupported algorithm")}}(a.algorithm),a.rsaBits=a.bits||4096,a.curve=a.curve||"curve25519Legacy",e=function(e,t={}){switch(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.ke
3yExpirationTime?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.type){case"ecc":try{e.curve=Z.write(Z.curve,e.curve)}catch{throw Error("Unknown curve")}e.curve!==Z.curve.ed25519Legacy&&e.curve!==Z.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?Z.curve.ed25519Legacy:Z.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===Z.curve.ed25519Legacy?Z.publicKey.eddsaLegacy:Z.publicKey.ecdsa:e.algorithm=Z.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?Z.publicKey.ed25519:Z.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?Z.publicKey.ed448:Z.publicKey.x448;break;case"rsa":e.algorithm=Z.publicKey.rsaEncryptSign;break;default:throw Error("Unsupported key type "+e.type)}return e}(e,a);let i=await iY(e,{...t,v6Keys:6===this.keyPacket.version});i6(i,t);let n=await iW(i,r,e,t),s=this.toPacketList();return s.push(i,n),new ni(s)}}let nn=X.constructAllowedPackets([iz,i_,iq,iV,class e{static get tag(){return Z.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(t){if(X.isString(t)||t.name&&!X.isString(t.name)||t.email&&!X.isEmailAddress(t.email)||t.comment&&!X.isString(t.comment))throw Error("Invalid user ID format");let r=new e;Object.assign(r,t);let a=[];return r.name&&a.push(r.name),r.comment&&a.push(`(${r.comment})`),r.email&&a.push(`<${r.email}>`),r.userID=a.join(" "),r}read(e,t=J){let r=X.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");let a=r.indexOf("<"),i=r.lastIndexOf(">");if(-1!==a&&-1!==i&&i>a){let e=r.substring(a+1,i);if(/^[^\s@]+@[^\s@]+$/.test(e)){this.email=e;let t=r.substring(0,a).trim(),i=t.indexOf("("),n=t.lastIndexOf(")");-1!==i&&-1!==n&&n>i?(this.comment=t.substring(i+1,n).trim(),this.name=t.substring(0,i).trim()):(this.name=t,this.comment="")}}else{let e;e=r.trim(),/^[^\s@]+@[^\s@]+$/.test(e)&&(this.email=r.trim(),this.name="",this.comment="")}this.userID=r}write(){return X.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}},class e{static get tag(){return Z.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){let r=e5(e.subarray(t,e.length));t+=r.offset,this.attributes.push(X.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){let e=[];for(let t=0;t<this.attributes.length;t++)e.push(e3(this.attributes[t].length)),e.push(X.stringToUint8Array(this.attributes[t]));return X.concatUint8Array(e)}equals(t){return!!(t&&t instanceof e)&&this.attributes.every(function(e,r){return e===t.attributes[r]})}},iK]);async function ns({armoredKey:e,binaryKey:t,config:r,...a}){let i;if(r={...J,...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");let n=Object.keys(a);if(n.length>0)throw Error("Unknown option: "+n.join(", "));if(e){let{type:t,data:r}=await eo(e);if(t!==Z.armor.publicKey&&t!==Z.armor.privateKey)throw Error("Armored text not of type key");i=r}else i=t;let s=await iQ.fromBinary(i,nn,r),c=s.indexOfTag(Z.packet.publicKey,Z.packet.secretKey);if(0===c.length)throw Error("No key packet found");var f=s.slice(c[0],c[1]);for(let e of f)switch(e.constructor.tag){case Z.packet.secretKey:return new ni(f);case Z.packet.publicKey:return new na(f)}throw Error("No key packet found")}Object.keys(J).length;let nc="object"==typeof b&&"crypto"in b?b.crypto:void 0;function nf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function no(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function nl(e,...t){if(!nf(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function nd(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.createHasher");no(e.outputLen),no(e.blockLen)}function nu(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function nh(e,t){nl(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function nx(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function nb(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ny(e,t){return e<<32-t|e>>>t}function ng(e,t){return e<<t|e>>>32-t>>>0}let np=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0]?e=>e:function(e){var t;for(let r=0;r<e.length;r++)e[r]=(t=e[r])<<24&0xff000000|t<<8&0xff0000|t>>>8&65280|t>>>24&255;return e},nA="function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex,nw=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function nm(e){if(nl(e),nA)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=nw[e[r]];return t}function nE(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function nk(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);if(nA)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let a=new Uint8Array(r);for(let t=0,i=0;t<r;t++,i+=2){let r=nE(e.charCodeAt(i)),n=nE(e.charCodeAt(i+1));if(void 0===r||void 0===n)throw Error('hex string expected, got non-hex character "'+(e[i]+e[i+1])+'" at index '+i);a[t]=16*r+n}return a}function nv(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),nl(e),e}function nI(...e){let t=0;for(let r=0;r<e.length;r++){let a=e[r];nl(a),t+=a.length}let r=new Uint8Array(t);for(let t=0,a=0;t<e.length;t++){let i=e[t];r.set(i,a),a+=i.length}return r}class nB{}function nS(e){let t=t=>e().update(nv(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function nC(e=32){if(nc&&"function"==typeof nc.getRandomValues)return nc.getRandomValues(new Uint8Array(e));if(nc&&"function"==typeof nc.randomBytes)return Uint8Array.from(nc.randomBytes(e));throw Error("crypto.getRandomValues must be defined")}let nK=BigInt(0),nD=BigInt(1);function nU(e,t=""){if("boolean"!=typeof e)throw Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e);return e}function nP(e,t,r=""){let a=nf(e),i=e?.length,n=void 0!==t;if(!a||n&&i!==t)throw Error((r&&`"${r}" `)+"expected Uint8Array"+(n?" of length "+t:"")+", got "+(a?"length="+i:"type="+typeof e));return e}function nQ(e){let t=e.toString(16);return 1&t.length?"0"+t:t}function nR(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?nK:BigInt("0x"+e)}function nM(e){return nl(e),nR(nm(Uint8Array.from(e).reverse()))}function nL(e,t){return nk(e.toString(16).padStart(2*t,"0"))}function nF(e,t){return nL(e,t).reverse()}function nN(e,t,r){let a;if("string"==typeof t)try{a=nk(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!nf(t))throw Error(e+" must be hex string or Uint8Array");a=Uint8Array.from(t)}let i=a.length;if("number"==typeof r&&i!==r)throw Error(e+" of length "+r+" expected, got "+i);return a}function nT(e){return Uint8Array.from(e)}let nO=e=>"bigint"==typeof e&&nK<=e;function nH(e,t,r,a){if(!(nO(t)&&nO(r)&&nO(a))||!(r<=t)||!(t<a))throw Error("expected valid "+e+": "+r+" <= n < "+a+", got "+t)}function nG(e){let t;for(t=0;e>nK;e>>=nD,t+=1);return t}let nz=e=>(nD<<BigInt(e))-nD;function n_(e,t,r={}){if(!e||"object"!=typeof e)throw Error("expected valid options object");function a(t,r,a){let i=e[t];if(a&&void 0===i)return;let n=typeof i;if(n!==r||null===i)throw Error(`param "${t}
3" is invalid: expected ${r}, got ${n}`)}Object.entries(t).forEach(([e,t])=>a(e,t,!1)),Object.entries(r).forEach(([e,t])=>a(e,t,!0))}function nq(e){let t=new WeakMap;return(r,...a)=>{let i=t.get(r);if(void 0!==i)return i;let n=e(r,...a);return t.set(r,n),n}}let nj=BigInt(0),nV=BigInt(1),nY=BigInt(2),nZ=BigInt(3),nJ=BigInt(4),nW=BigInt(5),nX=BigInt(7),n$=BigInt(8),n0=BigInt(9),n1=BigInt(16);function n2(e,t){let r=e%t;return r>=nj?r:t+r}function n5(e,t,r){let a=e;for(;t-- >nj;)a*=a,a%=r;return a}function n3(e,t){if(e===nj)throw Error("invert: expected non-zero number");if(t<=nj)throw Error("invert: expected positive modulus, got "+t);let r=n2(e,t),a=t,i=nj,n=nV;for(;r!==nj;){let e=a%r,t=i-a/r*n;a=r,r=e,i=n,n=t}if(a!==nV)throw Error("invert: does not exist");return n2(i,t)}function n8(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function n6(e,t){let r=(e.ORDER+nV)/nJ,a=e.pow(t,r);return n8(e,a,t),a}function n4(e,t){let r=(e.ORDER-nW)/n$,a=e.mul(t,nY),i=e.pow(a,r),n=e.mul(t,i),s=e.mul(e.mul(n,nY),i),c=e.mul(n,e.sub(s,e.ONE));return n8(e,c,t),c}function n9(e){if(e<nZ)throw Error("sqrt is not defined for small field");let t=e-nV,r=0;for(;t%nY===nj;)t/=nY,r++;let a=nY,i=sa(e);for(;1===st(i,a);)if(a++>1e3)throw Error("Cannot find square root: probably non-prime P");if(1===r)return n6;let n=i.pow(a,t),s=(t+nV)/nY;return function(e,a){if(e.is0(a))return a;if(1!==st(e,a))throw Error("Cannot find square root");let i=r,c=e.mul(e.ONE,n),f=e.pow(a,t),o=e.pow(a,s);for(;!e.eql(f,e.ONE);){if(e.is0(f))return e.ZERO;let t=1,r=e.sqr(f);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw Error("Cannot find square root");let a=nV<<BigInt(i-t-1),n=e.pow(c,a);i=t,c=e.sqr(n),f=e.mul(f,c),o=e.mul(o,n)}return o}}let n7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function se(e,t,r=!1){let a=Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce((t,r,i)=>e.is0(r)?t:(a[i]=t,e.mul(t,r)),e.ONE),n=e.inv(i);return t.reduceRight((t,r,i)=>e.is0(r)?t:(a[i]=e.mul(t,a[i]),e.mul(t,r)),n),a}function st(e,t){let r=(e.ORDER-nV)/nY,a=e.pow(t,r),i=e.eql(a,e.ONE),n=e.eql(a,e.ZERO),s=e.eql(a,e.neg(e.ONE));if(!i&&!n&&!s)throw Error("invalid Legendre symbol result");return i?1:n?0:-1}function sr(e,t){void 0!==t&&no(t);let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function sa(e,t,r=!1,a={}){let i;if(e<=nj)throw Error("invalid field: expected ORDER > 0, got "+e);let n,s,c,f=!1;if("object"==typeof t&&null!=t){if(a.sqrt||r)throw Error("cannot specify opts in two arguments");t.BITS&&(n=t.BITS),t.sqrt&&(s=t.sqrt),"boolean"==typeof t.isLE&&(r=t.isLE),"boolean"==typeof t.modFromBytes&&(f=t.modFromBytes),c=t.allowedLengths}else"number"==typeof t&&(n=t),a.sqrt&&(s=a.sqrt);let{nBitLength:o,nByteLength:l}=sr(e,n);if(l>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let d=Object.freeze({ORDER:e,isLE:r,BITS:o,BYTES:l,MASK:nz(o),ZERO:nj,ONE:nV,allowedLengths:c,create:t=>n2(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return nj<=t&&t<e},is0:e=>e===nj,isValidNot0:e=>!d.is0(e)&&d.isValid(e),isOdd:e=>(e&nV)===nV,neg:t=>n2(-t,e),eql:(e,t)=>e===t,sqr:t=>n2(t*t,e),add:(t,r)=>n2(t+r,e),sub:(t,r)=>n2(t-r,e),mul:(t,r)=>n2(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<nj)throw Error("invalid exponent, negatives unsupported");if(r===nj)return e.ONE;if(r===nV)return t;let a=e.ONE,i=t;for(;r>nj;)r&nV&&(a=e.mul(a,i)),i=e.sqr(i),r>>=nV;return a})(d,e,t),div:(t,r)=>n2(t*n3(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>n3(t,e),sqrt:s||(t=>{let r,a,n,s,c,f;return i||(i=e%nJ===nZ?n6:e%n$===nW?n4:e%n1===n0?(r=sa(e),n=(a=n9(e))(r,r.neg(r.ONE)),s=a(r,n),c=a(r,r.neg(n)),f=(e+nX)/n1,(e,t)=>{let r=e.pow(t,f),a=e.mul(r,n),i=e.mul(r,s),o=e.mul(r,c),l=e.eql(e.sqr(a),t),d=e.eql(e.sqr(i),t);r=e.cmov(r,a,l),a=e.cmov(o,i,d);let u=e.eql(e.sqr(a),t),h=e.cmov(r,a,u);return n8(e,h,t),h}):n9(e)),i(d,t)}),toBytes:e=>r?nF(e,l):nL(e,l),fromBytes:(t,a=!0)=>{if(c){if(!c.includes(t.length)||t.length>l)throw Error("Field.fromBytes: expected "+c+" bytes, got "+t.length);let e=new Uint8Array(l);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==l)throw Error("Field.fromBytes: expected "+l+" bytes, got "+t.length);let i=r?nM(t):nR(nm(t));if(f&&(i=n2(i,e)),!a&&!d.isValid(i))throw Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>se(d,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(d)}function si(e){if("bigint"!=typeof e)throw Error("field order must be bigint");return Math.ceil(e.toString(2).length/8)}function sn(e){let t=si(e);return t+Math.ceil(t/2)}class ss extends nB{constructor(e,t,r,a){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=a,this.buffer=new Uint8Array(e),this.view=nb(this.buffer)}update(e){nu(this),nl(e=nv(e));let{view:t,buffer:r,blockLen:a}=this,i=e.length;for(let n=0;n<i;){let s=Math.min(a-this.pos,i-n);if(s!==a)r.set(e.subarray(n,n+s),this.pos),this.pos+=s,n+=s,this.pos===a&&(this.process(t,0),this.pos=0);else{let t=nb(e);for(;a<=i-n;n+=a)this.process(t,n)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){nu(this),nh(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:a,isLE:i}=this,{pos:n}=this;t[n++]=128,nx(this.buffer.subarray(n)),this.padOffset>a-n&&(this.process(r,0),n=0);for(let e=n;e<a;e++)t[e]=0;!function(e,t,r,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,a);let i=BigInt(32),n=BigInt(0xffffffff),s=Number(r>>i&n),c=Number(r&n),f=4*!!a,o=4*!a;e.setUint32(t+f,s,a),e.setUint32(t+o,c,a)}(r,a-8,BigInt(8*this.length),i),this.process(r,0);let s=nb(e),c=this.outputLen;if(c%4)throw Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,o=this.get();if(f>o.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<f;e++)s.setUint32(4*e,o[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:a,finished:i,destroyed:n,pos:s}=this;return e.destroyed=n,e.finished=i,e.length=a,e.pos=s,a%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}}
3let sc=Uint32Array.from([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),sf=Uint32Array.from([0xc1059ed8,0x367cd507,0x3070dd17,0xf70e5939,0xffc00b31,0x68581511,0x64f98fa7,0xbefa4fa4]),so=Uint32Array.from([0xcbbb9d5d,0xc1059ed8,0x629a292a,0x367cd507,0x9159015a,0x3070dd17,0x152fecd8,0xf70e5939,0x67332667,0xffc00b31,0x8eb44a87,0x68581511,0xdb0c2e0d,0x64f98fa7,0x47b5481d,0xbefa4fa4]),sl=Uint32Array.from([0x6a09e667,0xf3bcc908,0xbb67ae85,0x84caa73b,0x3c6ef372,0xfe94f82b,0xa54ff53a,0x5f1d36f1,0x510e527f,0xade682d1,0x9b05688c,0x2b3e6c1f,0x1f83d9ab,0xfb41bd6b,0x5be0cd19,0x137e2179]),sd=BigInt(0x100000000-1),su=BigInt(32);function sh(e,t=!1){let r=e.length,a=new Uint32Array(r),i=new Uint32Array(r);for(let n=0;n<r;n++){let{h:r,l:s}=function(e,t=!1){return t?{h:Number(e&sd),l:Number(e>>su&sd)}:{h:0|Number(e>>su&sd),l:0|Number(e&sd)}}(e[n],t);[a[n],i[n]]=[r,s]}return[a,i]}let sx=(e,t,r)=>e>>>r,sb=(e,t,r)=>e<<32-r|t>>>r,sy=(e,t,r)=>e>>>r|t<<32-r,sg=(e,t,r)=>e<<32-r|t>>>r,sp=(e,t,r)=>e<<64-r|t>>>r-32,sA=(e,t,r)=>e>>>r-32|t<<64-r;function sw(e,t,r,a){let i=(t>>>0)+(a>>>0);return{h:e+r+(i/0x100000000|0)|0,l:0|i}}let sm=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),sE=(e,t,r,a)=>t+r+a+(e/0x100000000|0)|0,sk=(e,t,r,a)=>(e>>>0)+(t>>>0)+(r>>>0)+(a>>>0),sv=(e,t,r,a,i)=>t+r+a+i+(e/0x100000000|0)|0,sI=(e,t,r,a,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(a>>>0)+(i>>>0),sB=(e,t,r,a,i,n)=>t+r+a+i+n+(e/0x100000000|0)|0,sS=Uint32Array.from([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),sC=new Uint32Array(64);class sK extends ss{constructor(e=32){super(64,e,8,!1),this.A=0|sc[0],this.B=0|sc[1],this.C=0|sc[2],this.D=0|sc[3],this.E=0|sc[4],this.F=0|sc[5],this.G=0|sc[6],this.H=0|sc[7]}get(){let{A:e,B:t,C:r,D:a,E:i,F:n,G:s,H:c}=this;return[e,t,r,a,i,n,s,c]}set(e,t,r,a,i,n,s,c){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|a,this.E=0|i,this.F=0|n,this.G=0|s,this.H=0|c}process(e,t){for(let r=0;r<16;r++,t+=4)sC[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=sC[e-15],r=sC[e-2],a=ny(t,7)^ny(t,18)^t>>>3,i=ny(r,17)^ny(r,19)^r>>>10;sC[e]=i+sC[e-7]+a+sC[e-16]|0}let{A:r,B:a,C:i,D:n,E:s,F:c,G:f,H:o}=this;for(let e=0;e<64;e++){var l,d,u,h;let t=o+(ny(s,6)^ny(s,11)^ny(s,25))+((l=s)&c^~l&f)+sS[e]+sC[e]|0,x=(ny(r,2)^ny(r,13)^ny(r,22))+((d=r)&(u=a)^d&(h=i)^u&h)|0;o=f,f=c,c=s,s=n+t|0,n=i,i=a,a=r,r=t+x|0}r=r+this.A|0,a=a+this.B|0,i=i+this.C|0,n=n+this.D|0,s=s+this.E|0,c=c+this.F|0,f=f+this.G|0,o=o+this.H|0,this.set(r,a,i,n,s,c,f,o)}roundClean(){nx(sC)}destroy(){this.set(0,0,0,0,0,0,0,0),nx(this.buffer)}}class sD extends sK{constructor(){super(28),this.A=0|sf[0],this.B=0|sf[1],this.C=0|sf[2],this.D=0|sf[3],this.E=0|sf[4],this.F=0|sf[5],this.G=0|sf[6],this.H=0|sf[7]}}let sU=sh(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0
3xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),sP=sU[0],sQ=sU[1],sR=new Uint32Array(80),sM=new Uint32Array(80);class sL extends ss{constructor(e=64){super(128,e,16,!1),this.Ah=0|sl[0],this.Al=0|sl[1],this.Bh=0|sl[2],this.Bl=0|sl[3],this.Ch=0|sl[4],this.Cl=0|sl[5],this.Dh=0|sl[6],this.Dl=0|sl[7],this.Eh=0|sl[8],this.El=0|sl[9],this.Fh=0|sl[10],this.Fl=0|sl[11],this.Gh=0|sl[12],this.Gl=0|sl[13],this.Hh=0|sl[14],this.Hl=0|sl[15]}get(){let{Ah:e,Al:t,Bh:r,Bl:a,Ch:i,Cl:n,Dh:s,Dl:c,Eh:f,El:o,Fh:l,Fl:d,Gh:u,Gl:h,Hh:x,Hl:b}=this;return[e,t,r,a,i,n,s,c,f,o,l,d,u,h,x,b]}set(e,t,r,a,i,n,s,c,f,o,l,d,u,h,x,b){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|a,this.Ch=0|i,this.Cl=0|n,this.Dh=0|s,this.Dl=0|c,this.Eh=0|f,this.El=0|o,this.Fh=0|l,this.Fl=0|d,this.Gh=0|u,this.Gl=0|h,this.Hh=0|x,this.Hl=0|b}process(e,t){for(let r=0;r<16;r++,t+=4)sR[r]=e.getUint32(t),sM[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|sR[e-15],r=0|sM[e-15],a=sy(t,r,1)^sy(t,r,8)^sx(t,0,7),i=sg(t,r,1)^sg(t,r,8)^sb(t,r,7),n=0|sR[e-2],s=0|sM[e-2],c=sy(n,s,19)^sp(n,s,61)^sx(n,0,6),f=sk(i,sg(n,s,19)^sA(n,s,61)^sb(n,s,6),sM[e-7],sM[e-16]),o=sv(f,a,c,sR[e-7],sR[e-16]);sR[e]=0|o,sM[e]=0|f}let{Ah:r,Al:a,Bh:i,Bl:n,Ch:s,Cl:c,Dh:f,Dl:o,Eh:l,El:d,Fh:u,Fl:h,Gh:x,Gl:b,Hh:y,Hl:g}=this;for(let e=0;e<80;e++){let t=sy(l,d,14)^sy(l,d,18)^sp(l,d,41),p=sg(l,d,14)^sg(l,d,18)^sA(l,d,41),A=l&u^~l&x,w=sI(g,p,d&h^~d&b,sQ[e],sM[e]),m=sB(w,y,t,A,sP[e],sR[e]),E=0|w,k=sy(r,a,28)^sp(r,a,34)^sp(r,a,39),v=sg(r,a,28)^sA(r,a,34)^sA(r,a,39),I=r&i^r&s^i&s,B=a&n^a&c^n&c;y=0|x,g=0|b,x=0|u,b=0|h,u=0|l,h=0|d,({h:l,l:d}=sw(0|f,0|o,0|m,0|E)),f=0|s,o=0|c,s=0|i,c=0|n,i=0|r,n=0|a;let S=sm(E,v,B);r=sE(S,m,k,I),a=0|S}({h:r,l:a}=sw(0|this.Ah,0|this.Al,0|r,0|a)),({h:i,l:n}=sw(0|this.Bh,0|this.Bl,0|i,0|n)),({h:s,l:c}=sw(0|this.Ch,0|this.Cl,0|s,0|c)),({h:f,l:o}=sw(0|this.Dh,0|this.Dl,0|f,0|o)),({h:l,l:d}=sw(0|this.Eh,0|this.El,0|l,0|d)),({h:u,l:h}=sw(0|this.Fh,0|this.Fl,0|u,0|h)),({h:x,l:b}=sw(0|this.Gh,0|this.Gl,0|x,0|b)),({h:y,l:g}=sw(0|this.Hh,0|this.Hl,0|y,0|g)),this.set(r,a,i,n,s,c,f,o,l,d,u,h,x,b,y,g)}roundClean(){nx(sR,sM)}destroy(){nx(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class sF extends sL{constructor(){super(48),this.Ah=0|so[0],this.Al=0|so[1],this.Bh=0|so[2],this.Bl=0|so[3],this.Ch=0|so[4],this.Cl=0|so[5],this.Dh=0|so[6],this.Dl=0|so[7],this.Eh=0|so[8],this.El=0|so[9],this.Fh=0|so[10],this.Fl=0|so[11],this.Gh=0|so[12],this.Gl=0|so[13],this.Hh=0|so[14],this.Hl=0|so[15]}}let sN=nS(()=>new sK),sT=nS(()=>new sD),sO=nS(()=>new sL),sH=nS(()=>new sF);class sG extends nB{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,nd(e);const r=nv(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,i=new Uint8Array(a);i.set(r.length>a?e.create().update(r).digest():r);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),nx(i)}update(e){return nu(this),this.iHash.update(e),this}digestInto(e){nu(this),nl(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:a,destroyed:i,blockLen:n,outputLen:s}=this;return e.finished=a,e.destroyed=i,e.blockLen=n,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let sz=(e,t,r)=>new sG(e,t).update(r).digest();sz.create=(e,t)=>
3new sG(e,t);let s_=BigInt(0),sq=BigInt(1);function sj(e,t){let r=t.negate();return e?r:t}function sV(e,t){let r=se(e.Fp,t.map(e=>e.Z));return t.map((t,a)=>e.fromAffine(t.toAffine(r[a])))}function sY(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function sZ(e,t){sY(e,t);let r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:nz(e),maxNumber:r,shiftBy:BigInt(e)}}function sJ(e,t,r){let{windowSize:a,mask:i,maxNumber:n,shiftBy:s}=r,c=Number(e&i),f=e>>s;c>a&&(c-=n,f+=sq);let o=t*a;return{nextN:f,offset:o+Math.abs(c)-1,isZero:0===c,isNeg:c<0,isNegF:t%2!=0,offsetF:o}}let sW=new WeakMap,sX=new WeakMap;function s$(e){return sX.get(e)||1}function s0(e){if(e!==s_)throw Error("invalid wNAF")}class s1{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let a=e;for(;t>s_;)t&sq&&(r=r.add(a)),a=a.double(),t>>=sq;return r}precomputeWindow(e,t){let{windows:r,windowSize:a}=sZ(t,this.bits),i=[],n=e,s=n;for(let e=0;e<r;e++){s=n,i.push(s);for(let e=1;e<a;e++)s=s.add(n),i.push(s);n=s.double()}return i}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let a=this.ZERO,i=this.BASE,n=sZ(e,this.bits);for(let e=0;e<n.windows;e++){let{nextN:s,offset:c,isZero:f,isNeg:o,isNegF:l,offsetF:d}=sJ(r,e,n);r=s,f?i=i.add(sj(l,t[d])):a=a.add(sj(o,t[c]))}return s0(r),{p:a,f:i}}wNAFUnsafe(e,t,r,a=this.ZERO){let i=sZ(e,this.bits);for(let e=0;e<i.windows&&r!==s_;e++){let{nextN:n,offset:s,isZero:c,isNeg:f}=sJ(r,e,i);if(r=n,!c){let e=t[s];a=a.add(f?e.negate():e)}}return s0(r),a}getPrecomputes(e,t,r){let a=sW.get(t);return a||(a=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(a=r(a)),sW.set(t,a))),a}cached(e,t,r){let a=s$(e);return this.wNAF(a,this.getPrecomputes(a,e,r),t)}unsafe(e,t,r,a){let i=s$(e);return 1===i?this._unsafeLadder(e,t,a):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),t,a)}createCache(e,t){sY(t,this.bits),sX.set(e,t),sW.delete(e)}hasCache(e){return 1!==s$(e)}}function s2(e,t,r,a){!function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(a,t);let i=r.length,n=a.length;if(i!==n)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,c=nG(BigInt(i)),f=1;c>12?f=c-3:c>4?f=c-2:c>0&&(f=2);let o=nz(f),l=Array(Number(o)+1).fill(s),d=s;for(let e=Math.floor((t.BITS-1)/f)*f;e>=0;e-=f){l.fill(s);for(let t=0;t<n;t++){let i=Number(a[t]>>BigInt(e)&o);l[i]=l[i].add(r[t])}let t=s;for(let e=l.length-1,r=s;e>0;e--)r=r.add(l[e]),t=t.add(r);if(d=d.add(t),0!==e)for(let e=0;e<f;e++)d=d.double()}return d}function s5(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return n_(t,n7.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"})),t}return sa(e,{isLE:r})}function s3(e,t,r={},a){if(void 0===a&&(a="edwards"===e),!t||"object"!=typeof t)throw Error(`expected valid ${e} CURVE object`);for(let e of["p","n","h"]){let r=t[e];if(!("bigint"==typeof r&&r>s_))throw Error(`CURVE.${e} must be positive bigint`)}let i=s5(t.p,r.Fp,a),n=s5(t.n,r.Fn,a);for(let r of["Gx","Gy","a","weierstrass"===e?"b":"d"])if(!i.isValid(t[r]))throw Error(`CURVE.${r} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:n}}let s8=(e,t)=>(e+(e>=0?t:-t)/ct)/t;function s6(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function s4(e,t){let r={};for(let a of Object.keys(t))r[a]=void 0===e[a]?t[a]:e[a];return nU(r.lowS,"lowS"),nU(r.prehash,"prehash"),void 0!==r.format&&s6(r.format),r}let s9={Err:class extends Error{constructor(e=""){super(e)}},_tlv:{encode:(e,t)=>{let{Err:r}=s9;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");let a=t.length/2,i=nQ(a);if(i.length/2&128)throw new r("tlv.encode: long form length too big");let n=a>
3127?nQ(i.length/2|128):"";return nQ(e)+n+i+t},decode(e,t){let{Err:r}=s9,a=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[a++]!==e)throw new r("tlv.decode: wrong tlv");let i=t[a++],n=0;if(128&i){let e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");let s=t.subarray(a,a+e);if(s.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===s[0])throw new r("tlv.decode(long): zero leftmost byte");for(let e of s)n=n<<8|e;if(a+=e,n<128)throw new r("tlv.decode(long): not minimal encoding")}else n=i;let s=t.subarray(a,a+n);if(s.length!==n)throw new r("tlv.decode: wrong value length");return{v:s,l:t.subarray(a+n)}}},_int:{encode(e){let{Err:t}=s9;if(e<s7)throw new t("integer: negative integers are not allowed");let r=nQ(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=s9;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return nR(nm(e))}},toSig(e){let{Err:t,_int:r,_tlv:a}=s9,i=nN("signature",e),{v:n,l:s}=a.decode(48,i);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:f}=a.decode(2,n),{v:o,l:l}=a.decode(2,f);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(c),s:r.decode(o)}},hexFromSig(e){let{_tlv:t,_int:r}=s9,a=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,a)}},s7=BigInt(0),ce=BigInt(1),ct=BigInt(2),cr=BigInt(3),ca=BigInt(4);function ci(e,t){let r,{BYTES:a}=e;if("bigint"==typeof t)r=t;else{let i=nN("private key",t);try{r=e.fromBytes(i)}catch(e){throw Error(`invalid private key: expected ui8a of size ${a}, got ${typeof t}`)}}if(!e.isValidNot0(r))throw Error("invalid private key: out of range [1..N-1]");return r}function cn(e){return Uint8Array.of(e?2:3)}function cs(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function cc(e,t){let r=t=>(function(e){var t;let r,{CURVE:a,curveOpts:i,hash:n,ecdsaOpts:s}=function(e){let t,r,a,{CURVE:i,curveOpts:n}=(t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,a=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(e=>Math.ceil(e/2)))):void 0,{CURVE:t,curveOpts:{Fp:r,Fn:sa(t.n,{BITS:e.nBitLength,allowedLengths:a,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}),s={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:i,curveOpts:n,hash:e.hash,ecdsaOpts:s}}(e);return r=(t=function(e,t,r={}){nd(t),n_(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let a=r.randomBytes||nC,i=r.hmac||((e,...r)=>sz(t,e,nI(...r))),{Fp:n,Fn:s}=e,{ORDER:c,BITS:f}=s,{keygen:o,getPublicKey:l,getSharedSecret:d,utils:u,lengths:h}=function(e,t={}){let{Fn:r}=e,a=t.randomBytes||nC,i=Object.assign(cs(e.Fp,r),{seed:sn(r.ORDER)});function n(e){try{return!!ci(r,e)}catch(e){return!1}}function s(e=a(i.seed)){return function(e,t,r=!1){let a=e.length,i=si(t),n=sn(t);if(a<16||a<n||a>1024)throw Error("expected "+n+"-1024 bytes of input, got "+a);let s=n2(r?nM(e):nR(nm(e)),t-nV)+nV;return r?nF(s,i):nL(s,i)}(nP(e,i.seed,"seed"),r.ORDER)}function c(t,a=!0){return e.BASE.multiply(ci(r,t)).toBytes(a)}function f(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;let{secretKey:a,publicKey:n,publicKeyUncompressed:s}=i;if(r.allowedLengths||a===n)return;let c=nN("key",t).length;return c===n||c===s}return Object.freeze({getPublicKey:c,getSharedSecret:function(t,a,i=!0){if(!0===f(t))throw Error("first arg must be private key");if(!1===f(a))throw Error("second arg must be public key");let n=ci(r,t);return e.fromHex(a).multiply(n).toBytes(i)},keygen:function(e){let t=s(e);return{secretKey:t,publicKey:c(t)}},Point:e,utils:{isValidSecretKey:n,isValidPublicKey:function(t,r){let{publicKey:a,publicKeyUncompressed:n}=i;try{let i=t.length;return(!0!==r||i===a)&&(!1!==r||i===n)&&!!e.fromBytes(t)}catch(e){return!1}},randomSecretKey:s,isValidPrivateKey:n,randomPrivateKey:s,normPrivateKeyToScalar:e=>
vendor: 10,076 bytes, line 3
3ci(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)},lengths:i})}(e,r),x={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},b="compact";function y(e,t){if(!s.isValidNot0(t))throw Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class g{constructor(e,t,r){this.r=y("r",e),this.s=y("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=b){var r,a;let i,n;if(r=e,s6(a=t),n=h.signature,nP(r,"compact"===a?n:"recovered"===a?n+1:void 0,a+" signature"),"der"===t){let{r:t,s:r}=s9.toSig(nP(e));return new g(t,r)}"recovered"===t&&(i=e[0],t="compact",e=e.subarray(1));let c=s.BYTES,f=e.subarray(0,c),o=e.subarray(c,2*c);return new g(s.fromBytes(f),s.fromBytes(o),i)}static fromHex(e,t){return this.fromBytes(nk(e),t)}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(t){let r=n.ORDER,{r:a,s:i,recovery:f}=this;if(null==f||![0,1,2,3].includes(f))throw Error("recovery id invalid");if(c*ct<r&&f>1)throw Error("recovery id is ambiguous for h>1 curve");let o=2===f||3===f?a+c:a;if(!n.isValid(o))throw Error("recovery id 2 or 3 invalid");let l=n.toBytes(o),d=e.fromBytes(nI(cn(!(1&f)),l)),u=s.inv(o),h=A(nN("msgHash",t)),x=s.create(-h*u),b=s.create(i*u),y=e.BASE.multiplyUnsafe(x).add(d.multiplyUnsafe(b));if(y.is0())throw Error("point at infinify");return y.assertValidity(),y}hasHighS(){return this.s>c>>ce}toBytes(e=b){if(s6(e),"der"===e)return nk(s9.hexFromSig(this));let t=s.toBytes(this.r),r=s.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw Error("recovery bit must be present");return nI(Uint8Array.of(this.recovery),t,r)}return nI(t,r)}toHex(e){return nm(this.toBytes(e))}assertValidity(){}static fromCompact(e){return g.fromBytes(nN("sig",e),"compact")}static fromDER(e){return g.fromBytes(nN("sig",e),"der")}normalizeS(){return this.hasHighS()?new g(this.r,s.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return nm(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return nm(this.toBytes("compact"))}}let p=r.bits2int||function(e){if(e.length>8192)throw Error("input is too large");let t=nR(nm(e)),r=8*e.length-f;return r>0?t>>BigInt(r):t},A=r.bits2int_modN||function(e){return s.create(p(e))},w=nz(f);function m(e){return nH("num < 2^"+f,e,s7,w),s.toBytes(e)}function E(e,r){return nP(e,void 0,"message"),r?nP(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:o,getPublicKey:l,getSharedSecret:d,utils:u,lengths:h,Point:e,sign:function(r,n,f={}){let{seed:o,k2sig:l}=function(t,r,i){if(["recovered","canonical"].some(e=>e in i))throw Error("sign() legacy options not supported");let{lowS:n,prehash:f,extraEntropy:o}=s4(i,x),l=A(t=E(t,f)),d=ci(s,r),u=[m(d),m(l)];if(null!=o&&!1!==o){let e=!0===o?a(h.secretKey):o;u.push(nN("extraEntropy",e))}return{seed:nI(...u),k2sig:function(t){let r=p(t);if(!s.isValidNot0(r))return;let a=s.inv(r),i=e.BASE.multiply(r).toAffine(),f=s.create(i.x);if(f===s7)return;let o=s.create(a*s.create(l+f*d));if(o===s7)return;let u=2*(i.x!==f)|Number(i.y&ce),h=o;return n&&o>c>>ce&&(h=s.neg(o),u^=1),new g(f,h,u)}}}(r=nN("message",r),n,f);return(function(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let a=e=>new Uint8Array(e),i=a(e),n=a(e),s=0,c=()=>{i.fill(1),n.fill(0),s=0},f=(...e)=>r(n,i,...e),o=(e=a(0))=>{n=f(Uint8Array.of(0),e),i=f(),0!==e.length&&(n=f(Uint8Array.of(1),e),i=f())},l=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let e=0,r=[];for(;e<t;){let t=(i=f()).slice();r.push(t),e+=i.length}return nI(...r)};return(e,t)=>{let r;for(c(),o(e);!(r=t(l()));)o();return c(),r}})(t.outputLen,s.BYTES,i)(o,l)},verify:function(t,r,a,i={}){let{lowS:n,prehash:c,format:f}=s4(i,x);if(a=nN("publicKey",a),r=E(nN("message",r),c),"strict"in i)throw Error("options.strict was renamed to lowS");let o=void 0===f?function(e){let t,r="string"==typeof e||nf(e),a=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!a)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(a)t=new g(e.r,e.s);else if(r){try{t=g.fromBytes(nN("sig",e),"der")}catch(e){if(!(e instanceof s9.Err))throw e}if(!t)try{t=g.fromBytes(nN("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):g.fromBytes(nN("sig",t),f);if(!1===o)return!1;try{let t=e.fromBytes(a);if(n&&o.hasHighS())return!1;let{r:i,s:c}=o,f=A(r),l=s.inv(c),d=s.create(f*l),u=s.create(i*l),h=e.BASE.multiplyUnsafe(d).add(t.multiplyUnsafe(u));if(h.is0())return!1;return s.create(h.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){let{prehash:a}=s4(r,x);return t=E(t,a),g.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:g,hash:t})}(function(e,t={}){let r=s3("weierstrass",e,t),{Fp:a,Fn:i}=r,n=r.CURVE,{h:s,n:c}=n;n_(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:f}=t;if(f&&(!a.is0(n.a)||"bigint"!=typeof f.beta||!Array.isArray(f.basises)))throw Error('invalid endo: expected "beta": bigint and "basises": array');let o=cs(a,i);function l(){if(!a.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}let d=t.toBytes||function(e,t,r){let{x:i,y:n}=t.toAffine(),s=a.toBytes(i);return(nU(r,"isCompressed"),r)?(l(),nI(cn(!a.isOdd(n)),s)):nI(Uint8Array.of(4),s,a.toBytes(n))},u=t.fromBytes||function(e){nP(e,void 0,"Point");let{publicKey:t,publicKeyUncompressed:r}=o,i=e.length,n=e[0],s=e.subarray(1);if(i!==t||2!==n&&3!==n){if(i===r&&4===n){let e=a.BYTES,t=a.fromBytes(s.subarray(0,e)),r=a.fromBytes(s.subarray(e,2*e));if(!x(t,r))throw Error("bad point: is not on curve");return{x:t,y:r}}throw Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{let e,t=a.fromBytes(s);if(!a.isValid(t))throw Error("bad point: is not on curve, wrong x");let r=h(t);try{e=a.sqrt(r)}catch(e){throw Error("bad point: is not on curve, sqrt error"+(e instanceof Error?": "+e.message:""))}return l(),!(1&~n)!==a.isOdd(e)&&(e=a.neg(e)),{x:t,y:e}}};function h(e){let t=a.sqr(e),r=a.mul(t,e);return a.add(a.add(r,a.mul(e,n.a)),n.b)}function x(e,t){let r=a.sqr(t),i=h(e);return a.eql(r,i)}if(!x(n.Gx,n.Gy))throw Error("bad curve params: generator point");let b=a.mul(a.pow(n.a,cr),ca),y=a.mul(a.sqr(n.b),BigInt(27));if(a.is0(a.add(b,y)))throw Error("bad curve params: a or b");function g(e,t,r=!1){if(!a.isValid(t)||r&&a.is0(t))throw Error("bad point coordinate "+e);return t}function p(e){if(!(e instanceof k))throw Error("ProjectivePoint expected")}function A(e){if(!f||!f.basises)throw Error("no endo");return function(e,t,r){let[[a,i],[n,s]]=t,c=s8(s*e,r),f=s8(-i*e,r),o=e-c*a-f*n,l=-c*i-f*s,d=o<s7,u=l<s7;d&&(o=-o),u&&(l=-l);let h=nz(Math.ceil(nG(r)/2))+ce;if(o<s7||o>=h||l<s7||l>=h)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:o,k2neg:u,k2:l}}(e,f.basises,i.ORDER)}let w=nq((e,t)=>{let{X:r,Y:i,Z:n}=e;if(a.eql(n,a.ONE))return{x:r,y:i};let s=e.is0();null==t&&(t=s?a.ONE:a.inv(n));let c=a.mul(r,t),f=a.mul(i,t),o=a.mul(n,t);if(s)return{x:a.ZERO,y:a.ZERO};if(!a.eql(o,a.ONE))throw Error("invZ was invalid");return{x:c,y:f}}),m=nq(e=>{if(e.is0()){if(t.allowInfinityPoint&&!a.is0(e.Y))return;throw Error("bad point: ZERO")}let{x:r,y:i}=e.toAffine();if(!a.isValid(r)||!a.isValid(i))throw Error("bad point: x or y not field elements");if(!x(r,i))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function E(e,t,r,i,n){return r=new k(a.mul(r.X,e),r.Y,r.Z),t=sj(i,t),r=sj(n,r),t.add(r)}class k{constructor(e,t,r){this.X=g("x",e),this.Y=g("y",t,!0),this.Z=g("z",r),Object.freeze(this)}static CURVE(){return n}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!a.isValid(t)||!a.isValid(r))throw Error("invalid affine point");if(e instanceof k)throw Error("projective point not allowed");return a.is0(t)&&a.is0(r)?k.ZERO:new k(t,r,a.ONE)}static fromBytes(e){let t=k.fromAffine(u(nP(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return k.fromBytes(nN("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return I.createCache(this,e),t||this.multiply(cr),this}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(!a.isOdd)throw Error("Field doesn't support isOdd");return!a.isOdd(e)}equals(e){p(e);let{X:t,Y:r,Z:i}=this,{X:n,Y:s,Z:c}=e,f=a.eql(a.mul(t,c),a.mul(n,i)),o=a.eql(a.mul(r,c),a.mul(s,i));return f&&o}negate(){return new k(this.X,a.neg(this.Y),this.Z)}double(){let{a:e,b:t}=n,r=a.mul(t,cr),{X:i,Y:s,Z:c}=this,f=a.ZERO,o=a.ZERO,l=a.ZERO,d=a.mul(i,i),u=a.mul(s,s),h=a.mul(c,c),x=a.mul(i,s);return x=a.add(x,x),l=a.mul(i,c),l=a.add(l,l),f=a.mul(e,l),o=a.mul(r,h),o=a.add(f,o),f=a.sub(u,o),o=a.add(u,o),o=a.mul(f,o),f=a.mul(x,f),l=a.mul(r,l),h=a.mul(e,h),x=a.sub(d,h),x=a.mul(e,x),x=a.add(x,l),l=a.add(d,d),d=a.add(l,d),d=a.add(d,h),d=a.mul(d,x),o=a.add(o,d),h=a.mul(s,c),h=a.add(h,h),d=a.mul(h,x),f=a.sub(f,d),l=a.mul(h,u),l=a.add(l,l),new k(f,o,l=a.add(l,l))}add(e){p(e);let{X:t,Y:r,Z:i}=this,{X:s,Y:c,Z:f}=e,o=a.ZERO,l=a.ZERO,d=a.ZERO,u=n.a,h=a.mul(n.b,cr),x=a.mul(t,s),b=a.mul(r,c),y=a.mul(i,f),g=a.add(t,r),A=a.add(s,c);g=a.mul(g,A),A=a.add(x,b),g=a.sub(g,A),A=a.add(t,i);let w=a.add(s,f);return A=a.mul(A,w),w=a.add(x,y),A=a.sub(A,w),w=a.add(r,i),o=a.add(c,f),w=a.mul(w,o),o=a.add(b,y),w=a.sub(w,o),d=a.mul(u,A),o=a.mul(h,y),d=a.add(o,d),o=a.sub(b,d),d=a.add(b,d),l=a.mul(o,d),b=a.add(x,x),b=a.add(b,x),y=a.mul(u,y),A=a.mul(h,A),b=a.add(b,y),y=a.sub(x,y),y=a.mul(u,y),A=a.add(A,y),x=a.mul(b,A),l=a.add(l,x),x=a.mul(w,A),o=a.mul(g,o),o=a.sub(o,x),x=a.mul(g,b),d=a.mul(w,d),new k(o,l,d=a.add(d,x))}subtract(e){return this.add(e.negate())}is0(){return this.equals(k.ZERO)}multiply(e){let r,a,{endo:n}=t;if(!i.isValidNot0(e))throw Error("invalid scalar: out of range");let s=e=>I.cached(this,e,e=>sV(k,e));
3if(n){let{k1neg:t,k1:i,k2neg:c,k2:f}=A(e),{p:o,f:l}=s(i),{p:d,f:u}=s(f);a=l.add(u),r=E(n.beta,o,d,t,c)}else{let{p:t,f:i}=s(e);r=t,a=i}return sV(k,[r,a])[0]}multiplyUnsafe(e){let{endo:r}=t;if(!i.isValid(e))throw Error("invalid scalar: out of range");if(e===s7||this.is0())return k.ZERO;if(e===ce)return this;if(I.hasCache(this))return this.multiply(e);if(r){let{k1neg:t,k1:a,k2neg:i,k2:n}=A(e),{p1:s,p2:c}=function(e,t,r,a){let i=t,n=e.ZERO,s=e.ZERO;for(;r>s_||a>s_;)r&sq&&(n=n.add(i)),a&sq&&(s=s.add(i)),i=i.double(),r>>=sq,a>>=sq;return{p1:n,p2:s}}(k,this,a,n);return E(r.beta,s,c,t,i)}return I.unsafe(this,e)}multiplyAndAddUnsafe(e,t,r){let a=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return a.is0()?void 0:a}toAffine(e){return w(this,e)}isTorsionFree(){let{isTorsionFree:e}=t;return s===ce||(e?e(k,this):I.unsafe(this,c).is0())}clearCofactor(){let{clearCofactor:e}=t;return s===ce?this:e?e(k,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return nU(e,"isCompressed"),this.assertValidity(),d(k,this,e)}toHex(e=!0){return nm(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return sV(k,e)}static msm(e,t){return s2(k,i,e,t)}static fromPrivateKey(e){return k.BASE.multiply(ci(i,e))}}k.BASE=new k(n.Gx,n.Gy,a.ONE),k.ZERO=new k(a.ZERO,a.ONE,a.ZERO),k.Fp=a,k.Fn=i;let v=i.BITS,I=new s1(k,t.endo?Math.ceil(v/2):v);return k.BASE.precompute(8),k}(a,i),n,s)).Point,Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,sr(r.Fn.ORDER,r.Fn.BITS))})})({...e,hash:t});return{...r(t),create:r}}let cf={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},co={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},cl={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},cd=sa(cf.p),cu=sa(co.p),ch=sa(cl.p),cx=cc({...cf,Fp:cd,lowS:!1},sN),cb=cc({...co,Fp:cu,lowS:!1},sH),cy=cc({...cl,Fp:ch,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},sO),cg=BigInt(0),cp=BigInt(1),cA=BigInt(2),cw=BigInt(7),cm=BigInt(256),cE=BigInt(113),ck=[],cv=[],cI=[];for(let e=0,t=cp,r=1,a=0;e<24;e++){[r,a]=[a,(2*r+3*a)%5],ck.push(2*(5*a+r)),cv.push((e+1)*(e+2)/2%64);let i=cg;for(let e=0;e<7;e++)(t=(t<<cp^(t>>cw)*cE)%cm)&cA&&(i^=cp<<(cp<<BigInt(e))-cp);cI.push(i)}let cB=sh(cI,!0),cS=cB[0],cC=cB[1],cK=(e,t,r)=>r>32?t<<r-32|e>>>64-r:e<<r|t>>>32-r,cD=(e,t,r)=>r>32?e<<r-32|t>>>64-r:t<<r|e>>>32-r;class cU extends nB{constructor(e,t,r,a=!1,i=24){var n;if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=a,this.rounds=i,no(r),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=new Uint32Array((n=this.state).buffer,n.byteOffset,Math.floor(n.byteLength/4))}clone(){return this._cloneInto()}keccak(){np(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let a=24-t;a<24;a++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let a=(t+8)%10,i=(t+2)%10,n=r[i],s=r[i+1],c=cK(n,s,1)^r[a],f=cD(n,s,1)^r[a+1];for(let r=0;r<50;r+=10)e[t+r]^=c,e[t+r+1]^=f}let t=e[2],i=e[3];for(let r=0;r<24;r++){let a=cv[r],n=cK(t,i,a),s=cD(t,i,a),c=ck[r];t=e[c],i=e[c+1],e[c]=n,e[c+1]=s}for(let t=0;t<50;t+=10){for(let a=0;a<10;a++)r[a]=e[t+a];for(let a=0;a<10;a++)e[t+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=cS[a],e[1]^=cC[a]}nx(r)}(this.state32,this.rounds),np(this.state32),this.posOut=0,this.pos=0}update(e){nu(this),nl(e=nv(e));let{blockLen:t,state:r}=this,a=e.length;for(let i=0;i<a;){let n=Math.min(t-this.pos,a-i);for(let t=0;t<n;t++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:a}=this;e[r]^=t,128&t&&r===a-1&&this.keccak(),e[a-1]^=128,this.keccak()}writeInto(e){nu(this,!1),nl(e),this.finish();let t=this.state,{blockLen:r}=this;for(let a=0,i=e.length;a<i;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,i-a);e.set(t.subarray(this.posOut,this.posOut+n),a),this.posOut+=n,a+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return no(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(nh(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,nx(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:a,rounds:i,enableXOF:n}=this;return e||(e=new cU(t,r,a,n,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=a,e.enableXOF=n,e.destroyed=this.destroyed,e}}let cP=(e,t,r)=>nS(()=>new cU(t,e,r)),cQ=cP(6,136,32),cR=cP(6,72,64),cM=(oG=(e={})=>new cU(136,31,void 0===e.dkLen?32:e.dkLen,!0),(c=(e,t)=>oG(t).update(nv(e)).digest()).outputLen=(f=oG({})).outputLen,c.blockLen=f.blockLen,c.create=e=>oG(e),c),cL=BigInt(0),cF=BigInt(1),cN=BigInt(2),cT=BigInt(8);function cO(e,t={}){var r,a;let i,n,s,c,f,o=s3("edwards",e,t,t.FpFnLE),{Fp:l,Fn:d}=o,u=o.CURVE,{h:h}=u;n_(t,{},{uvRatio:"function"});let x=cN<<BigInt(8*d.BYTES)-cF,b=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:l.sqrt(l.div(e,t))}}catch(e){return{isValid:!1,value:cL}}});if(r=u.Gx,a=u.Gy,i=l.sqr(r),n=l.sqr(a),s=l.add(l.mul(u.a,i),n),c=l.add(l.ONE,l.mul(u.d,l.mul(i,n))),!l.eql(s,c))throw Error("bad curve params: generator point");function y(e,t,r=!1){return nH("coordinate "+e,t,r?cF:cL,x),t}function g(e){if(!(e instanceof w))throw Error("ExtendedPoint expected")}let p=nq((e,t)=>
3{let r,a,{X:i,Y:n,Z:s}=e,c=e.is0();null==t&&(t=c?cT:l.inv(s));let f=(r=i*t,l.create(r)),o=(a=n*t,l.create(a)),d=l.mul(s,t);if(c)return{x:cL,y:cF};if(d!==cF)throw Error("invZ was invalid");return{x:f,y:o}}),A=nq(e=>{let t,r,a,i,n,s,c,f,o,d,h,x,{a:b,d:y}=u;if(e.is0())throw Error("bad point: ZERO");let{X:g,Y:p,Z:A,T:w}=e,m=(t=g*g,l.create(t)),E=(r=p*p,l.create(r)),k=(a=A*A,l.create(a)),v=(i=k*k,l.create(i));if(c=k*(n=m*b,s=l.create(n)+E,l.create(s)),l.create(c)!==(d=v+(o=y*(f=m*E,l.create(f)),l.create(o)),l.create(d)))throw Error("bad point: equation left != right (1)");if(h=g*p,l.create(h)!==(x=A*w,l.create(x)))throw Error("bad point: equation left != right (2)");return!0});class w{constructor(e,t,r,a){this.X=y("x",e),this.Y=y("y",t),this.Z=y("z",r,!0),this.T=y("t",a),Object.freeze(this)}static CURVE(){return u}static fromAffine(e){let t;if(e instanceof w)throw Error("extended point not allowed");let{x:r,y:a}=e||{};return y("x",r),y("y",a),new w(r,a,cF,(t=r*a,l.create(t)))}static fromBytes(e,t=!1){let r,a,i,n,s=l.BYTES,{a:c,d:f}=u;e=nT(nP(e,s,"point")),nU(t,"zip215");let o=nT(e),d=e[s-1];o[s-1]=-129&d;let h=nM(o);nH("point.y",h,cL,t?x:l.ORDER);let y=(r=h*h,l.create(r)),{isValid:g,value:p}=b((a=y-cF,l.create(a)),(i=f*y-c,l.create(i)));if(!g)throw Error("bad point: invalid y coordinate");let A=(p&cF)===cF,m=!!(128&d);if(!t&&p===cL&&m)throw Error("bad point: x=0 and x_0=1");return m!==A&&(n=-p,p=l.create(n)),w.fromAffine({x:p,y:h})}static fromHex(e,t=!1){return w.fromBytes(nN("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return m.createCache(this,e),t||this.multiply(cN),this}assertValidity(){A(this)}equals(e){let t,r,a,i;g(e);let{X:n,Y:s,Z:c}=this,{X:f,Y:o,Z:d}=e,u=(t=n*d,l.create(t)),h=(r=f*c,l.create(r)),x=(a=s*d,l.create(a)),b=(i=o*c,l.create(i));return u===h&&x===b}is0(){return this.equals(w.ZERO)}negate(){let e,t;return new w((e=-this.X,l.create(e)),this.Y,this.Z,(t=-this.T,l.create(t)))}double(){let e,t,r,a,i,n,s,c,f,o,d,{a:h}=u,{X:x,Y:b,Z:y}=this,g=(e=x*x,l.create(e)),p=(t=b*b,l.create(t)),A=(a=cN*(r=y*y,l.create(r)),l.create(a)),m=(i=h*g,l.create(i)),E=x+b,k=(n=E*E,s=l.create(n)-g-p,l.create(s)),v=m+p,I=v-A,B=m-p,S=(c=k*I,l.create(c)),C=(f=v*B,l.create(f)),K=(o=k*B,l.create(o));return new w(S,C,(d=I*v,l.create(d)),K)}add(e){let t,r,a,i,n,s,c,f,o,d;g(e);let{a:h,d:x}=u,{X:b,Y:y,Z:p,T:A}=this,{X:m,Y:E,Z:k,T:v}=e,I=(t=b*m,l.create(t)),B=(r=y*E,l.create(r)),S=(a=A*x*v,l.create(a)),C=(i=p*k,l.create(i)),K=(n=(b+y)*(m+E)-I-B,l.create(n)),D=C-S,U=C+S,P=(s=B-h*I,l.create(s)),Q=(c=K*D,l.create(c)),R=(f=U*P,l.create(f)),M=(o=K*P,l.create(o));return new w(Q,R,(d=D*U,l.create(d)),M)}subtract(e){return this.add(e.negate())}multiply(e){if(!d.isValidNot0(e))throw Error("invalid scalar: expected 1 <= sc < curve.n");let{p:t,f:r}=m.cached(this,e,e=>sV(w,e));return sV(w,[t,r])[0]}multiplyUnsafe(e,t=w.ZERO){if(!d.isValid(e))throw Error("invalid scalar: expected 0 <= sc < curve.n");return e===cL?w.ZERO:this.is0()||e===cF?this:m.unsafe(this,e,e=>sV(w,e),t)}isSmallOrder(){return this.multiplyUnsafe(h).is0()}isTorsionFree(){return m.unsafe(this,u.n).is0()}toAffine(e){return p(this,e)}clearCofactor(){return h===cF?this:this.multiplyUnsafe(h)}toBytes(){let{x:e,y:t}=this.toAffine(),r=l.toBytes(t);return r[r.length-1]|=e&cF?128:0,r}toHex(){return nm(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return sV(w,e)}static msm(e,t){return s2(w,d,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}w.BASE=new w(u.Gx,u.Gy,cF,(f=u.Gx*u.Gy,l.create(f))),w.ZERO=new w(cL,cF,cF,cL),w.Fp=l,w.Fn=d;let m=new s1(w,d.BITS);return w.BASE.precompute(8),w}let cH=BigInt(0),cG=BigInt(1),cz=BigInt(2),c_={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},cq=Object.assign({},c_,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),cj=nS(()=>cM.create({dkLen:114})),cV=BigInt(1),cY=BigInt(2),cZ=BigInt(3);BigInt(4);let cJ=BigInt(11),cW=BigInt(22),cX=BigInt(44),c$=BigInt(88),c0=BigInt(223);function c1(e){let t=c_.p,r=e*e*e%t,a=r*r*e%t,i=n5(a,cZ,t)*a%t,n=n5(i,cZ,t)*a%t,s=n5(n,cY,t)*r%t,c=n5(s,cJ,t)*s%t,f=n5(c,cW,t)*c%t,o=n5(f,cX,t)*f%t,l=n5(o,c$,t)*o%t,d=n5(l,cX,t)*f%t,u=n5(d,cY,t)*r%t,h=n5(u,cV,t)*e%t;return n5(h,c0,t)*u%t}function c2(e){return e[0]&=252,e[55]|=128,e[56]=0,e}let c5=sa(c_.p,{BITS:456,isLE:!0}),c3=sa(c_.n,{BITS:456,isLE:!0}),c8=function(e){var t;let r,a,i,n,{CURVE:s,curveOpts:c,hash:f,eddsaOpts:o}=(r={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},a={Fp:e.Fp,Fn:sa(r.n,e.nBitLength,!0),uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve},{CURVE:r,curveOpts:a,hash:e.hash,eddsaOpts:i});return n=(t=function(e,t,r={}){if("function"!=typeof t)throw Error('"hash" function param is required');n_(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:a}=r,{BASE:i,Fp:n,Fn:s}=e,c=r.randomBytes||nC,f=r.adjustScalarBytes||(e=>e),o=r.domain||((e,t,r)=>{if(nU(r,"phflag"),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function l(e){return s.create(nM(e))}function d(e){var r;let a,n,s,{head:c,prefix:o,scalar:d}=(r=nN("private key",r=e,a=y.secretKey),{head:s=f((n=nN("hashed private key",t(r),2*a)).slice(0,a)),prefix:n.slice(a,2*a),scalar:l(s)}),u=i.multiply(d),h=u.toBytes();return{head:c,prefix:o,scalar:d,point:u,pointBytes:h}}function u(e){return d(e).pointBytes}function h(e=Uint8Array.of(),...r){return l(t(o(nI(...r),nN("context",e),!!a)))}let x={zip215:!0},b=n.BYTES,y={secretKey:b,publicKey:b,signature:2*b,seed:b};function g(e=c(y.seed)){return nP(e,y.seed,"seed")}let p={getExtendedPublicKey:d,randomSecretKey:g,isValidSecretKey:function(e){return nf(e)&&e.length===s.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){let{y:r}=e.fromBytes(t),a=y.publicKey,i=32===a;if(!i&&57!==a)throw Error("only defined for 25519 and 448");let s=i?n.div(cF+r,cF-r):n.div(r-cF,r+cF);return n.toBytes(s)},toMontgomerySecret(e){let r=y.secretKey;return nP(e,r),f(t(e.subarray(0,r))).subarray(0,r)},randomPrivateKey:g,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){let t=p.randomSecretKey(e);return{secretKey:t,publicKey:u(t)}},getPublicKey:u,sign:function(e,t,r={}){e=nN("message",e),a&&(e=a(e));let{prefix:n,scalar:c,pointBytes:f}=d(t),o=h(r.context,n,e),l=i.multiply(o).toBytes(),u=h(r.context,l,f,e),x=s.create(o+u*c);
3if(!s.isValid(x))throw Error("sign failed: invalid s");return nP(nI(l,s.toBytes(x)),y.signature,"result")},verify:function(t,r,n,s=x){let c,f,o,{context:l,zip215:d}=s,u=y.signature;t=nN("signature",t,u),r=nN("message",r),n=nN("publicKey",n,y.publicKey),void 0!==d&&nU(d,"zip215"),a&&(r=a(r));let b=u/2,g=t.subarray(0,b),p=nM(t.subarray(b,u));try{c=e.fromBytes(n,d),f=e.fromBytes(g,d),o=i.multiplyUnsafe(p)}catch(e){return!1}if(!d&&c.isSmallOrder())return!1;let A=h(l,f.toBytes(),c.toBytes(),r);return f.add(c.multiplyUnsafe(A)).subtract(o).clearCofactor().is0()},utils:p,Point:e,lengths:y})}(cO(s,c),f,o)).Point,Object.assign({},t,{ExtendedPoint:n,CURVE:e,nBitLength:n.Fn.BITS,nByteLength:n.Fn.BYTES})}({...c_,Fp:c5,Fn:c3,nBitLength:c3.BITS,hash:cj,adjustScalarBytes:c2,domain:function(e,t,r){var a;if(t.length>255)throw Error("context must be smaller than 255, got: "+t.length);return nI((a="SigEd448",Uint8Array.from(a,(e,t)=>{let r=e.charCodeAt(0);if(1!==e.length||r>127)throw Error(`string contains non-ASCII character "${a[t]}" with code ${r} at position ${t}`);return r})),new Uint8Array([+!!r,t.length]),t,e)},uvRatio:function(e,t){let r=c_.p,a=n2(e*e*t,r),i=n2(a*e,r),n=n2(i*a*t,r),s=n2(i*c1(n),r),c=n2(s*s,r);return{isValid:n2(c*t,r)===e,value:s}}});cO(cq);let c6=function(e){let{P:t,type:r,adjustScalarBytes:a,powPminus2:i,randomBytes:n}=(n_(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})),s="x25519"===r;if(!s&&"x448"!==r)throw Error("invalid type");let c=n||nC,f=s?255:448,o=s?32:56,l=s?BigInt(9):BigInt(5),d=s?BigInt(121665):BigInt(39081),u=s?cz**BigInt(254):cz**BigInt(447),h=u+(s?BigInt(8)*cz**BigInt(251)-cG:BigInt(4)*cz**BigInt(445)-cG)+cG,x=e=>n2(e,t),b=nF(x(l),o);function y(e,r){let n,c=function(e,r){nH("u",e,cH,t),nH("scalar",r,u,h);let a=cG,n=cH,s=e,c=cG,o=cH;for(let t=BigInt(f-1);t>=cH;t--){let i=r>>t&cG;o^=i,({x_2:a,x_3:s}=p(o,a,s)),({x_2:n,x_3:c}=p(o,n,c)),o=i;let f=a+n,l=x(f*f),u=a-n,h=x(u*u),b=l-h,y=s+c,g=x((s-c)*f),A=x(y*u),w=g+A,m=g-A;s=x(w*w),c=x(e*x(m*m)),a=x(l*h),n=x(b*(l+x(d*b)))}return{x_2:a,x_3:s}=p(o,a,s),{x_2:n,x_3:c}=p(o,n,c),x(a*i(n))}((n=nN("u coordinate",r,o),s&&(n[31]&=127),x(nM(n))),nM(a(nN("scalar",e,o))));if(c===cH)throw Error("invalid private or public key received");return nF(x(c),o)}function g(e){return y(e,b)}function p(e,t,r){let a=x(e*(t-r));return{x_2:t=x(t-a),x_3:r=x(r+a)}}let A={secretKey:o,publicKey:o,seed:o},w=(e=c(o))=>(nl(e,A.seed),e);return{keygen:function(e){let t=w(e);return{secretKey:t,publicKey:g(t)}},getSharedSecret:(e,t)=>y(e,t),getPublicKey:e=>g(e),scalarMult:y,scalarMultBase:g,utils:{randomSecretKey:w,randomPrivateKey:w},GuBytes:b.slice(),lengths:A}}({P:o=c_.p,type:"x448",powPminus2:e=>n2(n5(c1(e),cY,o)*e,o),adjustScalarBytes:c2}),c4={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},c9={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},c7=BigInt(2),fe=sa(c4.p,{sqrt:function(e){let t=c4.p,r=BigInt(3),a=BigInt(6),i=BigInt(11),n=BigInt(22),s=BigInt(23),c=BigInt(44),f=BigInt(88),o=e*e*e%t,l=o*o*e%t,d=n5(l,r,t)*l%t,u=n5(d,r,t)*l%t,h=n5(u,c7,t)*o%t,x=n5(h,i,t)*h%t,b=n5(x,n,t)*x%t,y=n5(b,c,t)*b%t,g=n5(y,f,t)*y%t,p=n5(g,c,t)*b%t,A=n5(p,r,t)*l%t,w=n5(A,s,t)*x%t,m=n5(w,a,t)*o%t,E=n5(m,c7,t);if(!fe.eql(fe.sqr(E),e))throw Error("Cannot find square root");return E}}),ft=cc({...c4,Fp:fe,lowS:!0,endo:c9},sN),fr=sa(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),fa=cc({a:fr.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:fr,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},sN),fi=sa(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),fn=cc({a:fi.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:fi,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fc
3afe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},sH),fs=sa(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3"));var fc=Object.freeze({__proto__:null,nobleCurves:new Map(Object.entries({nistP256:cx,nistP384:cb,nistP521:cy,brainpoolP256r1:fa,brainpoolP384r1:fn,brainpoolP512r1:cc({a:fs.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:fs,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},sO),secp256k1:ft,x448:c6,ed448:c8}))});let ff=Uint32Array.from([0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0]),fo=new Uint32Array(80);class fl extends ss{constructor(){super(64,20,8,!1),this.A=0|ff[0],this.B=0|ff[1],this.C=0|ff[2],this.D=0|ff[3],this.E=0|ff[4]}get(){let{A:e,B:t,C:r,D:a,E:i}=this;return[e,t,r,a,i]}set(e,t,r,a,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|a,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)fo[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)fo[e]=ng(fo[e-3]^fo[e-8]^fo[e-14]^fo[e-16],1);let{A:r,B:a,C:i,D:n,E:s}=this;for(let e=0;e<80;e++){var c,f,o,l;let t,d;e<20?(t=(c=a)&i^~c&n,d=0x5a827999):e<40?(t=a^i^n,d=0x6ed9eba1):e<60?(t=(f=a)&(o=i)^f&(l=n)^o&l,d=0x8f1bbcdc):(t=a^i^n,d=0xca62c1d6);let u=ng(r,5)+t+s+d+fo[e]|0;s=n,n=i,i=ng(a,30),a=r,r=u}r=r+this.A|0,a=a+this.B|0,i=i+this.C|0,n=n+this.D|0,s=s+this.E|0,this.set(r,a,i,n,s)}roundClean(){nx(fo)}destroy(){this.set(0,0,0,0,0),nx(this.buffer)}}let fd=nS(()=>new fl),fu=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),fh=Uint8Array.from(Array(16).fill(0).map((e,t)=>t)),fx=fh.map(e=>(9*e+5)%16),fb=(()=>{let e=[[fh],[fx]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map(e=>fu[e]));return e})(),fy=fb[0],fg=fb[1],fp=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),fA=fy.map((e,t)=>e.map(e=>fp[t][e])),fw=fg.map((e,t)=>e.map(e=>fp[t][e])),fm=Uint32Array.from([0,0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xa953fd4e]),fE=Uint32Array.from([0x50a28be6,0x5c4dd124,0x6d703ef3,0x7a6d76e9,0]);function fk(e,t,r,a){return 0===e?t^r^a:1===e?t&r|~t&a:2===e?(t|~r)^a:3===e?t&a|r&~a:t^(r|~a)}let fv=new Uint32Array(16);class fI extends ss{constructor(){super(64,20,8,!0),this.h0=0x67452301,this.h1=-0x10325477,this.h2=-0x67452302,this.h3=0x10325476,this.h4=-0x3c2d1e10}get(){let{h0:e,h1:t,h2:r,h3:a,h4:i}=this;return[e,t,r,a,i]}set(e,t,r,a,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|a,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)fv[r]=e.getUint32(t,!0);let r=0|this.h0,a=r,i=0|this.h1,n=i,s=0|this.h2,c=s,f=0|this.h3,o=f,l=0|this.h4,d=l;for(let e=0;e<5;e++){let t=4-e,u=fm[e],h=fE[e],x=fy[e],b=fg[e],y=fA[e],g=fw[e];for(let t=0;t<16;t++){let a=ng(r+fk(e,i,s,f)+fv[x[t]]+u,y[t])+l|0;r=l,l=f,f=0|ng(s,10),s=i,i=a}for(let e=0;e<16;e++){let r=ng(a+fk(t,n,c,o)+fv[b[e]]+h,g[e])+d|0;a=d,d=o,o=0|ng(c,10),c=n,n=r}}this.set(this.h1+s+o|0,this.h2+f+d|0,this.h3+l+a|0,this.h4+r+n|0,this.h0+i+c|0)}roundClean(){nx(fv)}destroy(){this.destroyed=!0,nx(this.buffer),this.set(0,0,0,0,0)}}let fB=nS(()=>new fI),fS=Array.from({length:64},(e,t)=>Math.floor(0x100000000*Math.abs(Math.sin(t+1)))),fC=(e,t,r)=>e&t^~e&r,fK=new Uint32Array([0x67452301,0xefcdab89,0x98badcfe,0x10325476]),fD=new Uint32Array(16);class fU extends ss{constructor(){super(64,16,8,!0),this.A=0|fK[0],this.B=0|fK[1],this.C=0|fK[2],this.D=0|fK[3]}get(){let{A:e,B:t,C:r,D:a}=this;return[e,t,r,a]}set(e,t,r,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)fD[r]=e.getUint32(t,!0);let{A:r,B:a,C:i,D:n}=this;for(let e=0;e<64;e++){let t,s,c;e<16?(t=fC(a,i,n),s=e,c=[7,12,17,22]):e<32?(t=fC(n,a,i),s=(5*e+1)%16,c=[5,9,14,20]):e<48?(t=a^i^n,s=(3*e+5)%16,c=[4,11,16,23]):(t=i^(a|~n),s=7*e%16,c=[6,10,15,21]),t=t+r+fS[e]+fD[s],r=n,n=i,i=a,a+=ng(t,c[e%4])}r=r+this.A|0,a=a+this.B|0,i=i+this.C|0,n=n+this.D|0,this.set(r,a,i,n)}roundClean(){fD.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}var fP=Object.freeze({__proto__:null,nobleHashes:new Map(Object.entries({md5:nS(()=>new fU),sha1:fd,sha224:sT,sha256:sN,sha384:sH,sha512:sO,sha3_256:cQ,sha3_512:cR,ripemd160:fB}))});let fQ="object"==typeof b&&"crypto"in b?b.crypto:void 0,fR={};var fM=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},fL=function(){throw Error("no PRNG")},fF=new Uint8Array(32);fF[0]=9;var fN=fM(),fT=fM([1]),fO=fM([56129,1]),fH=fM([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),fG=fM([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),fz=fM([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),f_=fM([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),fq=fM([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function fj(e,t,r,a){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=a>>24&255,e[t+5]=a>>16&255,e[t+6]=a>>8&255,e[t+7]=255&a}function fV(e,t,r,a){var i,n=0;for(i=0;i<32;i++)n|=e[t+i]^r[a+i];return(1&n-1>>>8)-1}function fY(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function fZ(e){var t,r,a=1;for(t=0;t<16;
vendor: 2,679 bytes, line 3
3t++)a=Math.floor((r=e[t]+a+65535)/65536),e[t]=r-65536*a;e[0]+=a-1+37*(a-1)}function fJ(e,t,r){for(var a,i=~(r-1),n=0;n<16;n++)a=i&(e[n]^t[n]),e[n]^=a,t[n]^=a}function fW(e,t){var r,a,i,n=fM(),s=fM();for(r=0;r<16;r++)s[r]=t[r];for(fZ(s),fZ(s),fZ(s),a=0;a<2;a++){for(n[0]=s[0]-65517,r=1;r<15;r++)n[r]=s[r]-65535-(n[r-1]>>16&1),n[r-1]&=65535;n[15]=s[15]-32767-(n[14]>>16&1),i=n[15]>>16&1,n[14]&=65535,fJ(s,n,1-i)}for(r=0;r<16;r++)e[2*r]=255&s[r],e[2*r+1]=s[r]>>8}function fX(e,t){var r=new Uint8Array(32),a=new Uint8Array(32);return fW(r,e),fW(a,t),fV(r,0,a,0)}function f$(e){var t=new Uint8Array(32);return fW(t,e),1&t[0]}function f0(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function f1(e,t,r){for(var a=0;a<16;a++)e[a]=t[a]+r[a]}function f2(e,t,r){for(var a=0;a<16;a++)e[a]=t[a]-r[a]}function f5(e,t,r){var a,i,n=0,s=0,c=0,f=0,o=0,l=0,d=0,u=0,h=0,x=0,b=0,y=0,g=0,p=0,A=0,w=0,m=0,E=0,k=0,v=0,I=0,B=0,S=0,C=0,K=0,D=0,U=0,P=0,Q=0,R=0,M=0,L=r[0],F=r[1],N=r[2],T=r[3],O=r[4],H=r[5],G=r[6],z=r[7],_=r[8],q=r[9],j=r[10],V=r[11],Y=r[12],Z=r[13],J=r[14],W=r[15];n+=(a=t[0])*L,s+=a*F,c+=a*N,f+=a*T,o+=a*O,l+=a*H,d+=a*G,u+=a*z,h+=a*_,x+=a*q,b+=a*j,y+=a*V,g+=a*Y,p+=a*Z,A+=a*J,w+=a*W,s+=(a=t[1])*L,c+=a*F,f+=a*N,o+=a*T,l+=a*O,d+=a*H,u+=a*G,h+=a*z,x+=a*_,b+=a*q,y+=a*j,g+=a*V,p+=a*Y,A+=a*Z,w+=a*J,m+=a*W,c+=(a=t[2])*L,f+=a*F,o+=a*N,l+=a*T,d+=a*O,u+=a*H,h+=a*G,x+=a*z,b+=a*_,y+=a*q,g+=a*j,p+=a*V,A+=a*Y,w+=a*Z,m+=a*J,E+=a*W,f+=(a=t[3])*L,o+=a*F,l+=a*N,d+=a*T,u+=a*O,h+=a*H,x+=a*G,b+=a*z,y+=a*_,g+=a*q,p+=a*j,A+=a*V,w+=a*Y,m+=a*Z,E+=a*J,k+=a*W,o+=(a=t[4])*L,l+=a*F,d+=a*N,u+=a*T,h+=a*O,x+=a*H,b+=a*G,y+=a*z,g+=a*_,p+=a*q,A+=a*j,w+=a*V,m+=a*Y,E+=a*Z,k+=a*J,v+=a*W,l+=(a=t[5])*L,d+=a*F,u+=a*N,h+=a*T,x+=a*O,b+=a*H,y+=a*G,g+=a*z,p+=a*_,A+=a*q,w+=a*j,m+=a*V,E+=a*Y,k+=a*Z,v+=a*J,I+=a*W,d+=(a=t[6])*L,u+=a*F,h+=a*N,x+=a*T,b+=a*O,y+=a*H,g+=a*G,p+=a*z,A+=a*_,w+=a*q,m+=a*j,E+=a*V,k+=a*Y,v+=a*Z,I+=a*J,B+=a*W,u+=(a=t[7])*L,h+=a*F,x+=a*N,b+=a*T,y+=a*O,g+=a*H,p+=a*G,A+=a*z,w+=a*_,m+=a*q,E+=a*j,k+=a*V,v+=a*Y,I+=a*Z,B+=a*J,S+=a*W,h+=(a=t[8])*L,x+=a*F,b+=a*N,y+=a*T,g+=a*O,p+=a*H,A+=a*G,w+=a*z,m+=a*_,E+=a*q,k+=a*j,v+=a*V,I+=a*Y,B+=a*Z,S+=a*J,C+=a*W,x+=(a=t[9])*L,b+=a*F,y+=a*N,g+=a*T,p+=a*O,A+=a*H,w+=a*G,m+=a*z,E+=a*_,k+=a*q,v+=a*j,I+=a*V,B+=a*Y,S+=a*Z,C+=a*J,K+=a*W,b+=(a=t[10])*L,y+=a*F,g+=a*N,p+=a*T,A+=a*O,w+=a*H,m+=a*G,E+=a*z,k+=a*_,v+=a*q,I+=a*j,B+=a*V,S+=a*Y,C+=a*Z,K+=a*J,D+=a*W,y+=(a=t[11])*L,g+=a*F,p+=a*N,A+=a*T,w+=a*O,m+=a*H,E+=a*G,k+=a*z,v+=a*_,I+=a*q,B+=a*j,S+=a*V,C+=a*Y,K+=a*Z,D+=a*J,U+=a*W,g+=(a=t[12])*L,p+=a*F,A+=a*N,w+=a*T,m+=a*O,E+=a*H,k+=a*G,v+=a*z,I+=a*_,B+=a*q,S+=a*j,C+=a*V,K+=a*Y,D+=a*Z,U+=a*J,P+=a*W,p+=(a=t[13])*L,A+=a*F,w+=a*N,m+=a*T,E+=a*O,k+=a*H,v
vendor: 4,871 bytes, line 3
3+=a*G,I+=a*z,B+=a*_,S+=a*q,C+=a*j,K+=a*V,D+=a*Y,U+=a*Z,P+=a*J,Q+=a*W,A+=(a=t[14])*L,w+=a*F,m+=a*N,E+=a*T,k+=a*O,v+=a*H,I+=a*G,B+=a*z,S+=a*_,C+=a*q,K+=a*j,D+=a*V,U+=a*Y,P+=a*Z,Q+=a*J,R+=a*W,w+=(a=t[15])*L,s+=38*(E+=a*N),c+=38*(k+=a*T),f+=38*(v+=a*O),o+=38*(I+=a*H),l+=38*(B+=a*G),d+=38*(S+=a*z),u+=38*(C+=a*_),h+=38*(K+=a*q),x+=38*(D+=a*j),b+=38*(U+=a*V),y+=38*(P+=a*Y),g+=38*(Q+=a*Z),p+=38*(R+=a*J),A+=38*(M+=a*W),n=(a=(n+=38*(m+=a*F))+(i=1)+65535)-65536*(i=Math.floor(a/65536)),s=(a=s+i+65535)-65536*(i=Math.floor(a/65536)),c=(a=c+i+65535)-65536*(i=Math.floor(a/65536)),f=(a=f+i+65535)-65536*(i=Math.floor(a/65536)),o=(a=o+i+65535)-65536*(i=Math.floor(a/65536)),l=(a=l+i+65535)-65536*(i=Math.floor(a/65536)),d=(a=d+i+65535)-65536*(i=Math.floor(a/65536)),u=(a=u+i+65535)-65536*(i=Math.floor(a/65536)),h=(a=h+i+65535)-65536*(i=Math.floor(a/65536)),x=(a=x+i+65535)-65536*(i=Math.floor(a/65536)),b=(a=b+i+65535)-65536*(i=Math.floor(a/65536)),y=(a=y+i+65535)-65536*(i=Math.floor(a/65536)),g=(a=g+i+65535)-65536*(i=Math.floor(a/65536)),p=(a=p+i+65535)-65536*(i=Math.floor(a/65536)),A=(a=A+i+65535)-65536*(i=Math.floor(a/65536)),w=(a=w+i+65535)-65536*(i=Math.floor(a/65536)),n=(a=(n+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(a/65536)),s=(a=s+i+65535)-65536*(i=Math.floor(a/65536)),c=(a=c+i+65535)-65536*(i=Math.floor(a/65536)),f=(a=f+i+65535)-65536*(i=Math.floor(a/65536)),o=(a=o+i+65535)-65536*(i=Math.floor(a/65536)),l=(a=l+i+65535)-65536*(i=Math.floor(a/65536)),d=(a=d+i+65535)-65536*(i=Math.floor(a/65536)),u=(a=u+i+65535)-65536*(i=Math.floor(a/65536)),h=(a=h+i+65535)-65536*(i=Math.floor(a/65536)),x=(a=x+i+65535)-65536*(i=Math.floor(a/65536)),b=(a=b+i+65535)-65536*(i=Math.floor(a/65536)),y=(a=y+i+65535)-65536*(i=Math.floor(a/65536)),g=(a=g+i+65535)-65536*(i=Math.floor(a/65536)),p=(a=p+i+65535)-65536*(i=Math.floor(a/65536)),A=(a=A+i+65535)-65536*(i=Math.floor(a/65536)),w=(a=w+i+65535)-65536*(i=Math.floor(a/65536)),n+=i-1+37*(i-1),e[0]=n,e[1]=s,e[2]=c,e[3]=f,e[4]=o,e[5]=l,e[6]=d,e[7]=u,e[8]=h,e[9]=x,e[10]=b,e[11]=y,e[12]=g,e[13]=p,e[14]=A,e[15]=w}function f3(e,t){f5(e,t,t)}function f8(e,t){var r,a=fM();for(r=0;r<16;r++)a[r]=t[r];for(r=253;r>=0;r--)f3(a,a),2!==r&&4!==r&&f5(a,a,t);for(r=0;r<16;r++)e[r]=a[r]}function f6(e,t,r){var a,i,n=new Uint8Array(32),s=new Float64Array(80),c=fM(),f=fM(),o=fM(),l=fM(),d=fM(),u=fM();for(i=0;i<31;i++)n[i]=t[i];for(n[31]=127&t[31]|64,n[0]&=248,f0(s,r),i=0;i<16;i++)f[i]=s[i],l[i]=c[i]=o[i]=0;for(c[0]=l[0]=1,i=254;i>=0;--i)fJ(c,f,a=n[i>>>3]>>>(7&i)&1),fJ(o,l,a),f1(d,c,o),f2(c,c,o),f1(o,f,l),f2(f,f,l),f3(l,d),f3(u,c),f5(c,o,c),f5(o,f,d),f1(d,c,o),f2(c,c,o),f3(f,c),f2(o,l,u),f5(c,o,fO),f1(c,c,l),f5(o,o,c),f5(c,l,u),f5(l,f,s),f3(f,d),fJ(c,f,a),fJ(o,l,a);for(i=0;i<16;i++)s[i+16]=c[i],s[i+32]=o[i],s[i+48]=f[i],s[i+64]=l[i];var h=s.subarray(32),x=s.subarray(16);return f8(h,h),f5(x,x,h),fW(e,x),0}var f4=[0x428a2f98,0xd728ae22,0x71374491,0x23ef65cd,0xb5c0fbcf,0xec4d3b2f,0xe9b5dba5,0x8189dbbc,0x3956c25b,0xf348b538,0x59f111f1,0xb605d019,0x923f82a4,0xaf194f9b,0xab1c5ed5,0xda6d8118,0xd807aa98,0xa3030242,0x12835b01,0x45706fbe,0x243185be,0x4ee4b28c,0x550c7dc3,0xd5ffb4e2,0x72be5d74,0xf27b896f,0x80deb1fe,0x3b1696b1,0x9bdc06a7,0x25c71235,0xc19bf174,0xcf692694,0xe49b69c1,0x9ef14ad2,0xefbe4786,0x384f25e3,0xfc19dc6,0x8b8cd5b5,0x240ca1cc,0x77ac9c65,0x2de92c6f,0x592b0275,0x4a7484aa,0x6ea6e483,0x5cb0a9dc,0xbd41fbd4,0x76f988da,0x831153b5,0x983e5152,0xee66dfab,0xa831c66d,0x2db43210,0xb00327c8,0x98fb213f,0xbf597fc7,0xbeef0ee4,0xc6e00bf3,0x3da88fc2,0xd5a79147,0x930aa725,0x6ca6351,0xe003826f,0x14292967,0xa0e6e70,0x27b70a85,0x46d22ffc,0x2e1b2138,0x5c26c926,0x4d2c6dfc,0x5ac42aed,0x53380d13,0x9d95b3df,0x650a7354,0x8baf63de,0x766a0abb,0x3c77b2a8,0x81c2c92e,0x47edaee6,0x92722c85,0x1482353b,0xa2bfe8a1,0x4cf10364,0xa81a664b,0xbc423001,0xc24b8b70,0xd0f89791,0xc76c51a3,0x654be30,0xd192e819,0xd6ef5218,0xd6990624,0x5565a910,0xf40e3585,0x5771202a,0x106aa070,0x32bbd1b8,0x19a4c116,0xb8d2d0c8,0x1e376c08,0x5141ab53,0x2748774c,0xdf8eeb99,0x34b0bcb5,0xe19b48a8,0x391c0cb3,0xc5c95a63,0x4ed8aa4a,0xe3418acb,0x5b9cca4f,0x7763e373,0x682e6ff3,0xd6b2b8a3,0x748f82ee,0x5defb2fc,0x78a5636f,0x43172f60,0x84c87814,0xa1f0ab72,0x8cc70208,0x1a6439ec,0x90befffa,0x23631e28,0xa4506ceb,0xde82bde9,0xbef9a3f7,0xb2c67915,0xc67178f2,0xe372532b,0xca273ece,0xea26619c,0xd186b8c7,0x21c0c207,0xeada7dd6,0xcde0eb1e,0xf57d4f7f,0xee6ed178,0x6f067aa,0x72176fba,0xa637dc5,0xa2c898a6,0x113f9804,0xbef90dae,0x1b710b35,0x131c471b,0x28db77f5,0x23047d84,0x32caab7b,0x40c72493,0x3c9ebe0a,0x15c9bebc,0x431d67c4,0x9c100d4c,0x4cc5d4be,0xcb3e42b6,0x597f299c,0xfc657e2a,0x5fcb6fab,0x3ad6faec,0x6c44198c,0x4a475817];function f9(e,t,r,a){for(var i,n,s,c,f,o,l,d,u,h,x,b,y,g,p,A,w,m,E,k,v,I,B,S,C,K,D=new Int32Array(16),U=new Int32Array(16),P=e[0],Q=e[1],R=e[2],M=e[3],L=e[4],F=e[5],N=e[6],T=e[7],O=t[0],H=t[1],G=t[2],z=t[3],_=t[4],q=t[5],j=t[6],V=t[7],Y=0;a>=128;){for(E=0;E<16;
vendor: 5,290 bytes, line 3
3E++)k=8*E+Y,D[E]=r[k+0]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3],U[E]=r[k+4]<<24|r[k+5]<<16|r[k+6]<<8|r[k+7];for(E=0;E<80;E++)if(i=P,n=Q,s=R,c=M,f=L,o=F,l=N,u=O,h=H,x=G,b=z,y=_,g=q,p=j,B=65535&(I=V),S=I>>>16,C=65535&(v=T),K=v>>>16,B+=65535&(I=(_>>>14|L<<18)^(_>>>18|L<<14)^(L>>>9|_<<23)),S+=I>>>16,C+=65535&(v=(L>>>14|_<<18)^(L>>>18|_<<14)^(_>>>9|L<<23)),K+=v>>>16,B+=65535&(I=_&q^~_&j),S+=I>>>16,C+=65535&(v=L&F^~L&N),K+=v>>>16,B+=65535&(I=f4[2*E+1]),S+=I>>>16,C+=65535&(v=f4[2*E]),K+=v>>>16,v=D[E%16],S+=(I=U[E%16])>>>16,C+=65535&v,K+=v>>>16,C+=(S+=(B+=65535&I)>>>16)>>>16,B=65535&(I=m=65535&B|S<<16),S=I>>>16,C=65535&(v=w=65535&C|(K+=C>>>16)<<16),K=v>>>16,B+=65535&(I=(O>>>28|P<<4)^(P>>>2|O<<30)^(P>>>7|O<<25)),S+=I>>>16,C+=65535&(v=(P>>>28|O<<4)^(O>>>2|P<<30)^(O>>>7|P<<25)),K+=v>>>16,S+=(I=O&H^O&G^H&G)>>>16,C+=65535&(v=P&Q^P&R^Q&R),K+=v>>>16,d=65535&(C+=(S+=(B+=65535&I)>>>16)>>>16)|(K+=C>>>16)<<16,A=65535&B|S<<16,B=65535&(I=b),S=I>>>16,C=65535&(v=c),K=v>>>16,S+=(I=m)>>>16,C+=65535&(v=w),K+=v>>>16,Q=i,R=n,M=s,L=c=65535&(C+=(S+=(B+=65535&I)>>>16)>>>16)|(K+=C>>>16)<<16,F=f,N=o,T=l,P=d,H=u,G=h,z=x,_=b=65535&B|S<<16,q=y,j=g,V=p,O=A,E%16==15)for(k=0;k<16;k++)v=D[k],B=65535&(I=U[k]),S=I>>>16,C=65535&v,K=v>>>16,v=D[(k+9)%16],B+=65535&(I=U[(k+9)%16]),S+=I>>>16,C+=65535&v,K+=v>>>16,w=D[(k+1)%16],B+=65535&(I=((m=U[(k+1)%16])>>>1|w<<31)^(m>>>8|w<<24)^(m>>>7|w<<25)),S+=I>>>16,C+=65535&(v=(w>>>1|m<<31)^(w>>>8|m<<24)^w>>>7),K+=v>>>16,w=D[(k+14)%16],S+=(I=((m=U[(k+14)%16])>>>19|w<<13)^(w>>>29|m<<3)^(m>>>6|w<<26))>>>16,C+=65535&(v=(w>>>19|m<<13)^(m>>>29|w<<3)^w>>>6),K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),D[k]=65535&C|K<<16,U[k]=65535&B|S<<16;B=65535&(I=O),S=I>>>16,C=65535&(v=P),K=v>>>16,v=e[0],S+=(I=t[0])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[0]=P=65535&C|K<<16,t[0]=O=65535&B|S<<16,B=65535&(I=H),S=I>>>16,C=65535&(v=Q),K=v>>>16,v=e[1],S+=(I=t[1])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[1]=Q=65535&C|K<<16,t[1]=H=65535&B|S<<16,B=65535&(I=G),S=I>>>16,C=65535&(v=R),K=v>>>16,v=e[2],S+=(I=t[2])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[2]=R=65535&C|K<<16,t[2]=G=65535&B|S<<16,B=65535&(I=z),S=I>>>16,C=65535&(v=M),K=v>>>16,v=e[3],S+=(I=t[3])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[3]=M=65535&C|K<<16,t[3]=z=65535&B|S<<16,B=65535&(I=_),S=I>>>16,C=65535&(v=L),K=v>>>16,v=e[4],S+=(I=t[4])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[4]=L=65535&C|K<<16,t[4]=_=65535&B|S<<16,B=65535&(I=q),S=I>>>16,C=65535&(v=F),K=v>>>16,v=e[5],S+=(I=t[5])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[5]=F=65535&C|K<<16,t[5]=q=65535&B|S<<16,B=65535&(I=j),S=I>>>16,C=65535&(v=N),K=v>>>16,v=e[6],S+=(I=t[6])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[6]=N=65535&C|K<<16,t[6]=j=65535&B|S<<16,B=65535&(I=V),S=I>>>16,C=65535&(v=T),K=v>>>16,v=e[7],S+=(I=t[7])>>>16,C+=65535&v,K+=(v>>>16)+((C+=(S+=(B+=65535&I)>>>16)>>>16)>>>16),e[7]=T=65535&C|K<<16,t[7]=V=65535&B|S<<16,Y+=128,a-=128}return a}function f7(e,t,r){var a,i=new Int32Array(8),n=new Int32Array(8),s=new Uint8Array(256),c=r;for(i[0]=0x6a09e667,i[1]=0xbb67ae85,i[2]=0x3c6ef372,i[3]=0xa54ff53a,i[4]=0x510e527f,i[5]=0x9b05688c,i[6]=0x1f83d9ab,i[7]=0x5be0cd19,n[0]=0xf3bcc908,n[1]=0x84caa73b,n[2]=0xfe94f82b,n[3]=0x5f1d36f1,n[4]=0xade682d1,n[5]=0x2b3e6c1f,n[6]=0xfb41bd6b,n[7]=0x137e2179,f9(i,n,t,r),r%=128,a=0;a<r;a++)s[a]=t[c-r+a];for(s[r]=128,s[(r=256-(r<112)*128)-9]=0,fj(s,r-8,c/0x20000000|0,c<<3),f9(i,n,s,r),a=0;a<8;a++)fj(e,8*a,i[a],n[a]);return 0}function oe(e,t){var r=fM(),a=fM(),i=fM(),n=fM(),s=fM(),c=fM(),f=fM(),o=fM(),l=fM();f2(r,e[1],e[0]),f2(l,t[1],t[0]),f5(r,r,l),f1(a,e[0],e[1]),f1(l,t[0],t[1]),f5(a,a,l),f5(i,e[3],t[3]),f5(i,i,fG),f5(n,e[2],t[2]),f1(n,n,n),f2(s,a,r),f2(c,n,i),f1(f,n,i),f1(o,a,r),f5(e[0],s,c),f5(e[1],o,f),f5(e[2],f,c),f5(e[3],s,o)}function ot(e,t,r){var a;for(a=0;a<4;a++)fJ(e[a],t[a],r)}function or(e,t){var r=fM(),a=fM(),i=fM();f8(i,t[2]),f5(r,t[0],i),f5(a,t[1],i),fW(e,a),e[31]^=f$(r)<<7}function oa(e,t,r){var a,i;for(fY(e[0],fN),fY(e[1],fT),fY(e[2],fT),fY(e[3],fN),i=255;i>=0;--i)ot(e,t,a=r[i/8|0]>>(7&i)&1),oe(t,e),oe(e,e),ot(e,t,a)}function oi(e,t){var r=[fM(),fM(),fM(),fM()];fY(r[0],fz),fY(r[1],f_),fY(r[2],fT),f5(r[3],fz,f_),oa(e,r,t)}function on(e,t,r){var a,i=new Uint8Array(64),n=[fM(),fM(),fM(),fM()];for(r||fL(t,32),f7(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,oi(n,i),or(e,n),a=0;a<32;a++)t[a+32]=e[a];return 0}var os=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 oc(e,t){var r,a,i,n;for(a=63;a>=32;--a){for(r=0,i=a-32,n=a-12;i<n;++i)t[i]+=r-16*t[a]*os[i-(a-32)],r=Math.floor((t[i]+128)/256),t[i]-=256*r;t[i]+=r,t[a]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*os[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*os[i];for(a=0;a<32;a++)t[a+1]+=t[a]>>8,e[a]=255&t[a]}function of(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;oc(e,r)}function oo(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}fR.scalarMult=function(e,t){if(oo(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");
3var r=new Uint8Array(32);return f6(r,e,t),r},fR.box={},fR.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return fL(t,32),f6(e,t,fF),{publicKey:e,secretKey:t}},fR.box.keyPair.fromSecretKey=function(e){if(oo(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return f6(t,e,fF),{publicKey:t,secretKey:new Uint8Array(e)}},fR.sign=function(e,t){if(oo(e,t),64!==t.length)throw Error("bad secret key size");var r=new Uint8Array(64+e.length);return function(e,t,r,a){var i,n,s=new Uint8Array(64),c=new Uint8Array(64),f=new Uint8Array(64),o=new Float64Array(64),l=[fM(),fM(),fM(),fM()];for(f7(s,a,32),s[0]&=248,s[31]&=127,s[31]|=64,i=0;i<r;i++)e[64+i]=t[i];for(i=0;i<32;i++)e[32+i]=s[32+i];for(f7(f,e.subarray(32),r+32),of(f),oi(l,f),or(e,l),i=32;i<64;i++)e[i]=a[i];for(f7(c,e,r+64),of(c),i=0;i<64;i++)o[i]=0;for(i=0;i<32;i++)o[i]=f[i];for(i=0;i<32;i++)for(n=0;n<32;n++)o[i+n]+=c[i]*s[n];oc(e.subarray(32),o)}(r,e,e.length,t),r},fR.sign.detached=function(e,t){for(var r=fR.sign(e,t),a=new Uint8Array(64),i=0;i<a.length;i++)a[i]=r[i];return a},fR.sign.detached.verify=function(e,t,r){if(oo(e,t,r),64!==t.length)throw Error("bad signature size");if(32!==r.length)throw Error("bad public key size");var a,i=new Uint8Array(64+e.length),n=new Uint8Array(64+e.length);for(a=0;a<64;a++)i[a]=t[a];for(a=0;a<e.length;a++)i[a+64]=e[a];return function(e,t,r,a){var i,n,s,c,f,o,l,d,u=new Uint8Array(32),h=new Uint8Array(64),x=[fM(),fM(),fM(),fM()],b=[fM(),fM(),fM(),fM()];if(r<64||(i=fM(),n=fM(),s=fM(),c=fM(),f=fM(),o=fM(),l=fM(),fY(b[2],fT),f0(b[1],a),f3(s,b[1]),f5(c,s,fH),f2(s,s,b[2]),f1(c,b[2],c),f3(f,c),f3(o,f),f5(l,o,f),f5(i,l,s),f5(i,i,c),function(e,t){var r,a=fM();for(r=0;r<16;r++)a[r]=t[r];for(r=250;r>=0;r--)f3(a,a),1!==r&&f5(a,a,t);for(r=0;r<16;r++)e[r]=a[r]}(i,i),f5(i,i,s),f5(i,i,c),f5(i,i,c),f5(b[0],i,c),f3(n,b[0]),f5(n,n,c),fX(n,s)&&f5(b[0],b[0],fq),f3(n,b[0]),f5(n,n,c),fX(n,s)?-1:(f$(b[0])===a[31]>>7&&f2(b[0],fN,b[0]),f5(b[3],b[0],b[1]),0)))return -1;for(d=0;d<r;d++)e[d]=t[d];for(d=0;d<32;d++)e[d+32]=a[d];if(f7(h,e,r),of(h),oa(x,b,h),oi(b,t.subarray(32)),oe(x,b),or(u,x),r-=64,fV(t,0,u,0)){for(d=0;d<r;d++)e[d]=0;return -1}for(d=0;d<r;d++)e[d]=t[d+64];return r}(n,i,i.length,r)>=0},fR.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return on(e,t),{publicKey:e,secretKey:t}},fR.sign.keyPair.fromSecretKey=function(e){if(oo(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)}},fR.sign.keyPair.fromSeed=function(e){if(oo(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),a=0;a<32;a++)r[a]=e[a];return on(t,r,!0),{publicKey:t,secretKey:r}},fR.setPRNG=function(e){fL=e},fQ&&fQ.getRandomValues&&fR.setPRNG(function(e,t){var r,a=new Uint8Array(t);for(r=0;r<t;r+=65536)fQ.getRandomValues(a.subarray(r,r+Math.min(t-r,65536)));for(r=0;r<t;r++)e[r]=a[r];for(var i=0;i<a.length;i++)a[i]=0});var ol=Object.freeze({__proto__:null,default:fR});function od(e,t,r,a,i,n){let s=[0x1010400,0,65536,0x1010404,0x1010004,66564,4,65536,1024,0x1010400,0x1010404,1024,0x1000404,0x1010004,0x1000000,4,1028,0x1000400,0x1000400,66560,66560,0x1010000,0x1010000,0x1000404,65540,0x1000004,0x1000004,65540,0,1028,66564,0x1000000,65536,0x1010404,4,0x1010000,0x1010400,0x1000000,0x1000000,1024,0x1010004,65536,66560,0x1000004,1024,4,0x1000404,66564,0x1010404,65540,0x1010000,0x1000404,0x1000004,1028,66564,0x1010400,1028,0x1000400,0x1000400,0,65540,66560,0,0x1010004],c=[-0x7fef7fe0,-0x7fff8000,32768,1081376,1048576,32,-0x7fefffe0,-0x7fff7fe0,-0x7fffffe0,-0x7fef7fe0,-0x7fef8000,-0x80000000,-0x7fff8000,1048576,32,-0x7fefffe0,1081344,1048608,-0x7fff7fe0,0,-0x80000000,32768,1081376,-0x7ff00000,1048608,-0x7fffffe0,0,1081344,32800,-0x7fef8000,-0x7ff00000,32800,0,1081376,-0x7fefffe0,1048576,-0x7fff7fe0,-0x7ff00000,-0x7fef8000,32768,-0x7ff00000,-0x7fff8000,32,-0x7fef7fe0,1081376,32,32768,-0x80000000,32800,-0x7fef8000,1048576,-0x7fffffe0,1048608,-0x7fff7fe0,-0x7fffffe0,1048608,1081344,0,-0x7fff8000,32800,-0x80000000,-0x7fefffe0,-0x7fef7fe0,1081344],f=[520,0x8020200,0,0x8020008,0x8000200,0,131592,0x8000200,131080,0x8000008,0x8000008,131072,0x8020208,131080,0x8020000,520,0x8000000,8,0x8020200,512,131584,0x8020000,0x8020008,131592,0x8000208,131584,131072,0x8000208,8,0x8020208,512,0x8000000,0x8020200,0x8000000,131080,520,131072,0x8020200,0x8000200,0,512,131080,0x8020208,0x8000200,0x8000008,512,0,0x8020008,0x8000208,131072,0x8000000,0x8020208,8,131592,131584,0x8000008,0x8020000,0x8000208,520,0x8020000,131592,8,0x8020008,131584],o=[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],l=[256,0x2080100,0x2080000,0x42000100,524288,256,0x40000000,0x2080000,0x40080100,524288,0x2000100,0x40080100,0x42000100,0x42080000,524544,0x40000000,0x2000000,0x40080000,0x40080000,0,0x40000100,
30x42080100,0x42080100,0x2000100,0x42080000,0x40000100,0,0x42000000,0x2080100,0x2000000,0x42000000,524544,524288,0x42000100,256,0x2000000,0x40000000,0x2080000,0x42000100,0x40080100,0x2000100,0x40000000,0x42080000,0x2080100,0x40080100,256,0x2000000,0x42080000,0x42080100,524544,0x42000000,0x42080100,0x2080000,0,0x40080000,0x42000000,524544,0x2000100,0x40000100,524288,0,0x40080000,0x2080100,0x40000100],d=[0x20000010,0x20400000,16384,0x20404010,0x20400000,16,0x20404010,4194304,0x20004000,4210704,4194304,0x20000010,4194320,0x20004000,0x20000000,16400,0,4194320,0x20004010,16384,4210688,0x20004010,16,0x20400010,0x20400010,0,4210704,0x20404000,16400,4210688,0x20404000,0x20000000,0x20004000,16,0x20400010,4210688,0x20404010,4194304,16400,0x20000010,4194304,0x20004000,0x20000000,16400,0x20000010,0x20404010,4210688,0x20400000,4210704,0x20404000,0,0x20400010,16,16384,0x20400000,4210704,16384,4194320,0x20004010,0,0x20404000,0x20000000,4194320,0x20004010],u=[2097152,0x4200002,0x4000802,0,2048,0x4000802,2099202,0x4200800,0x4200802,2097152,0,0x4000002,2,0x4000000,0x4200002,2050,0x4000800,2099202,2097154,0x4000800,0x4000002,0x4200000,0x4200800,2097154,0x4200000,2048,2050,0x4200802,2099200,2,0x4000000,2099200,0x4000000,2099200,2097152,0x4000802,0x4000802,0x4200002,0x4200002,2,2097154,0x4000000,0x4000800,2097152,0x4200800,2050,2099202,0x4200800,2050,0x4000002,0x4200802,0x4200000,2099200,0,2,0x4200802,0,2099202,0x4200000,2048,0x4000002,0x4000800,2048,2097154],h=[0x10001040,4096,262144,0x10041040,0x10000000,0x10001040,64,0x10000000,262208,0x10040000,0x10041040,266240,0x10041000,266304,4096,64,0x10040000,0x10000040,0x10001000,4160,266240,262208,0x10040040,0x10041000,4160,0,0,0x10040040,0x10000040,0x10001000,266304,262144,266304,262144,0x10041000,4096,64,0x10040040,4096,266304,0x10001000,64,0x10000040,0x10040000,0x10040040,0x10000000,262144,0x10001040,0,0x10041040,262208,0x10000040,0x10040000,0x10001000,0x10001040,0,0x10041040,266240,266240,4160,4160,262208,0x10000000,0x10041000],x,b,y,g,p,A,w,m,E,k,v=0,I=t.length,B=32===e.length?3:9;m=3===B?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&&(I=(t=function(e){let t=8-e.length%8;if(!(t<8)){if(8===t)return e;throw Error("des: invalid padding")}let r=new Uint8Array(e.length+t);for(let t=0;t<e.length;t++)r[t]=e[t];for(let a=0;a<t;a++)r[e.length+a]=0;return r}(t)).length);let S=new Uint8Array(I),C=0;for(;v<I;){for(y=0xf0f0f0f&((A=t[v++]<<24|t[v++]<<16|t[v++]<<8|t[v++])>>>4^(w=t[v++]<<24|t[v++]<<16|t[v++]<<8|t[v++])),w^=y,A^=y<<4,y=65535&(A>>>16^w),w^=y,A^=y<<16,y=0x33333333&(w>>>2^A),A^=y,w^=y<<2,y=0xff00ff&(w>>>8^A),A^=y,w^=y<<8,y=0x55555555&(A>>>1^w),w^=y,A^=y<<1,A=A<<1|A>>>31,w=w<<1|w>>>31,b=0;b<B;b+=3){for(E=m[b+1],k=m[b+2],x=m[b];x!==E;x+=k)g=w^e[x],p=(w>>>4|w<<28)^e[x+1],y=A,A=w,w=y^(c[g>>>24&63]|o[g>>>16&63]|d[g>>>8&63]|h[63&g]|s[p>>>24&63]|f[p>>>16&63]|l[p>>>8&63]|u[63&p]);y=A,A=w,w=y}y=0x55555555&((A=A>>>1|A<<31)>>>1^(w=w>>>1|w<<31)),w^=y,A^=y<<1,y=0xff00ff&(w>>>8^A),A^=y,w^=y<<8,y=0x33333333&(w>>>2^A),A^=y,w^=y<<2,y=65535&(A>>>16^w),w^=y,A^=y<<16,y=0xf0f0f0f&(A>>>4^w),w^=y,A^=y<<4,S[C++]=A>>>24,S[C++]=A>>>16&255,S[C++]=A>>>8&255,S[C++]=255&A,S[C++]=w>>>24,S[C++]=w>>>16&255,S[C++]=w>>>8&255,S[C++]=255&w}return r||(S=function(e){let t=null;for(t=1;0===e[e.length-t];)t++;return t--,e.subarray(0,e.length-t)}(S)),S}function ou(e){let t=[0,4,0x20000000,0x20000004,65536,65540,0x20010000,0x20010004,512,516,0x20000200,0x20000204,66048,660
352,0x20010200,0x20010204],r=[0,1,1048576,1048577,0x4000000,0x4000001,0x4100000,0x4100001,256,257,1048832,1048833,0x4000100,0x4000101,0x4100100,0x4100101],a=[0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808,0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808],i=[0,2097152,0x8000000,0x8200000,8192,2105344,0x8002000,0x8202000,131072,2228224,0x8020000,0x8220000,139264,2236416,0x8022000,0x8222000],n=[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,0x2000000,0x2000400,0x2000020,0x2000420,0x2000000,0x2000400,0x2000020,0x2000420],c=[0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002,0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002],f=[0,65536,2048,67584,0x20000000,0x20010000,0x20000800,0x20010800,131072,196608,133120,198656,0x20020000,0x20030000,0x20020800,0x20030800],o=[0,262144,0,262144,2,262146,2,262146,0x2000000,0x2040000,0x2000000,0x2040000,0x2000002,0x2040002,0x2000002,0x2040002],l=[0,0x10000000,8,0x10000008,0,0x10000000,8,0x10000008,1024,0x10000400,1032,0x10000408,1024,0x10000400,1032,0x10000408],d=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],u=[0,0x1000000,512,0x1000200,2097152,0x1200000,2097664,0x1200200,0x4000000,0x5000000,0x4000200,0x5000200,0x4200000,0x5200000,0x4200200,0x5200200],h=[0,4096,0x8000000,0x8001000,524288,528384,0x8080000,0x8081000,16,4112,0x8000010,0x8001010,524304,528400,0x8080010,0x8081010],x=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],b=e.length>8?3:1,y=Array(32*b),g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],p,A,w,m=0,E=0;for(let k=0;k<b;k++){let b=e[m++]<<24|e[m++]<<16|e[m++]<<8|e[m++],k=e[m++]<<24|e[m++]<<16|e[m++]<<8|e[m++];w=0xf0f0f0f&(b>>>4^k),k^=w,b^=w<<4,w=65535&(k>>>-16^b),b^=w,k^=w<<-16,w=0x33333333&(b>>>2^k),k^=w,b^=w<<2,w=65535&(k>>>-16^b),b^=w,k^=w<<-16,w=0x55555555&(b>>>1^k),k^=w,b^=w<<1,w=0xff00ff&(k>>>8^b),b^=w,k^=w<<8,w=0x55555555&(b>>>1^k),k^=w,b^=w<<1,w=b<<8|k>>>20&240,b=k<<24|k<<8&0xff0000|k>>>8&65280|k>>>24&240,k=w;for(let e=0;e<16;e++)g[e]?(b=b<<2|b>>>26,k=k<<2|k>>>26):(b=b<<1|b>>>27,k=k<<1|k>>>27),b&=-15,k&=-15,p=t[b>>>28]|r[b>>>24&15]|a[b>>>20&15]|i[b>>>16&15]|n[b>>>12&15]|s[b>>>8&15]|c[b>>>4&15],w=65535&((A=f[k>>>28]|o[k>>>24&15]|l[k>>>20&15]|d[k>>>16&15]|u[k>>>12&15]|h[k>>>8&15]|x[k>>>4&15])>>>16^p),y[E++]=p^w,y[E++]=A^w<<16}return y}function oh(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 od(ou(this.key[2]),od(ou(this.key[1]),od(ou(this.key[0]),e,!0),!1),!0)}}function ox(){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){let t=Array(e.length);for(let n=0;n<e.length;n+=8){let s,c=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3],f=e[n+4]<<24|e[n+5]<<16|e[n+6]<<8|e[n+7];s=f,f=c^r(f,this.masking[0],this.rotate[0]),c=s,s=f,f=c^a(f,this.masking[1],this.rotate[1]),c=s,s=f,f=c^i(f,this.masking[2],this.rotate[2]),c=s,s=f,f=c^r(f,this.masking[3],this.rotate[3]),c=s,s=f,f=c^a(f,this.masking[4],this.rotate[4]),c=s,s=f,f=c^i(f,this.masking[5],this.rotate[5]),c=s,s=f,f=c^r(f,this.masking[6],this.rotate[6]),c=s,s=f,f=c^a(f,this.masking[7],this.rotate[7]),c=s,s=f,f=c^i(f,this.masking[8],this.rotate[8]),c=s,s=f,f=c^r(f,this.masking[9],this.rotate[9]),c=s,s=f,f=c^a(f,this.masking[10],this.rotate[10]),c=s,s=f,f=c^i(f,this.masking[11],this.rotate[11]),c=s,s=f,f=c^r(f,this.masking[12],this.rotate[12]),c=s,s=f,f=c^a(f,this.masking[13],this.rotate[13]),c=s,s=f,f=c^i(f,this.masking[14],this.rotate[14]),c=s,s=f,f=c^r(f,this.masking[15],this.rotate[15]),c=s,t[n]=f>>>24&255,t[n+1]=f>>>16&255,t[n+2]=f>>>8&255,t[n+3]=255&f,t[n+4]=c>>>24&255,t[n+5]=c>>>16&255,t[n+6]=c>>>8&255,t[n+7]=255&c}return t},this.decrypt=function(e){let t=Array(e.length);for(let n=0;n<e.length;n+=8){let s,c=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3],f=e[n+4]<<24|e[n+5]<<16|e[n+6]<<8|e[n+7];s=f,f=c^r(f,this.masking[15],this.rotate[15]),c=s,s=f,f=c^i(f,this.masking[14],this.rotate[14]),c=s,s=f,f=c^a(f,this.masking[13],this.rotate[13]),c=s,s=f,f=c^r(f,this.masking[12],this.rotate[12]),c=s,s=f,f=c^i(f,this.masking[11],this.rotate[11]),c=s,s=f,f=c^a(f,this.masking[10],this.rotate[10]),c=s,s=f,f=c^r(f,this.masking[9],this.rotate[9]),c=s,s=f,f=c^i(f,this.masking[8],this.rotate[8]),c=s,s=f,f=c^a(f,this.masking[7],this.rotate[7]),c=s,s=f,f=c^r(f,this.masking[6],this.rotate[6]),c=s,s=f,f=c^i(f,this.masking[5],this.rotate[5]),c=s,s=f,f=c^a(f,this.masking[4],this.rotate[4]),c=s,s=f,f=c^r(f,this.masking[3],this.rotate[3]),c=s,s=f,f=c^i(f,this.masking[2],this.rotate[2]),c=s,s=f,f=c^a(f,this.masking[1],this.rotate[1]),c=s,s=f,f=c^r(f,this.masking[0],this.rotate[0]),c=s,t[n]=f>>>24&255,t[n+1]=f>>>16&255,t[n+2]=f>>>8&255,t[n+3]=255&f,t[n+4]=c>>>24&255,t[n+5]=c>>16&255,t[n+6]=c>>8&255,t[n+7]=255&c}return t};let 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];let t=[,,,,];function r(e,t,r){let a=t+e,i=a<<r|a>>>32-r;return(n[0][i>>>24]^n[1][i>>>16&255])-n[2][i>>>8&255]+n[3][255&i]}function a(e,t,r){let a=t^e,i=a<<r|a>>>32-r;return n[0][i>>>24]-n[1][i>>>16&255]+n[2][i>>>8&255]^n[3][255&i]}function i(e,t,r){let a=t-e,i=a<<r|a>>>32-r;return(n[0][i>>>24]+n[1][i>>>16&255]^n[2][i>>>8&255])-n[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){let a,i=[,,,,,,,,],s=Array(32);for(let e=0;e<4;e++)a=4*e,i[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];let c=[6,7,4,5],f,o=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){let t=e[r][a];f=i[t[1]]^n[4][i[t[2]>>>2]>>>24-8*(3&t[2])&255]^n[5][i[t[3]>>>2]>>>24-8*(3&t[3])&255]^n[6][i[t[4]>>>2]>>>24-8*(3&t[4])&255]^n[7][i[t[5]>>>2]>>>24-8*(3&t[5])&255]^n[c[a]][i[t[6]>>>2]>>>24-8*(3&t[6])&255],i[t[0]]=f}for(a=0;a<4;a++){let e=t[r][a];f=n[4][i[e[0]>>>2]>>>24-8*(3&e[0])&255]^n[5][i[e[1]>>>2]>>>24-8*(3&e[1])&255]^n[6][i[e[2]>>>2]>>>24-8*(3&e[2])&255]^n[7][i[e[3]>>>2]>>>24-8*(3&e[3])&255]^n[4+a][i[e[4]>>>2]>>>24-8*(3&e[4])&255],s[o]=f,o++}}for(let e=0;e<16;e++)this.masking[e]=s[e],this.rotate[e]=31&s[16+e]}
3;let n=[,,,,,,,,];n[0]=[0x30fb40d4,0x9fa0ff0b,0x6beccd2f,0x3f258c7a,0x1e213f2f,0x9c004dd3,0x6003e540,0xcf9fc949,0xbfd4af27,0x88bbbdb5,0xe2034090,0x98d09675,0x6e63a0e0,0x15c361d2,0xc2e7661d,0x22d4ff8e,0x28683b6f,0xc07fd059,0xff2379c8,0x775f50e2,0x43c340d3,0xdf2f8656,0x887ca41a,0xa2d2bd2d,0xa1c9e0d6,0x346c4819,0x61b76d87,0x22540f2f,0x2abe32e1,0xaa54166b,0x22568e3a,0xa2d341d0,1725645e3,0xa784392f,5111599,0x2db9d2de,0x97943fac,0x4a97c1d8,0x527644b7,0xb5f437a7,0xb82cbaef,0xd751d159,0x6ff7f0ed,0x5a097a1f,0x827b68d0,0x90ecf52e,0x22b0c054,0xbc8e5935,0x4b6d2f7f,0x50bb64a2,0xd2664910,0xbee5812d,0xb7332290,0xe93b159f,0xb48ee411,0x4bff345d,0xfd45c240,0xad31973f,0xc4f6d02e,0x55fc8165,0xd5b1caad,0xa1ac2dae,0xa2d4b76d,0xc19b0c50,0x882240f2,0xc6e4f38,0xa4e4bfd7,0x4f5ba272,0x564c1d2f,0xc59c5319,0xb949e354,0xb04669fe,0xb1b6ab8a,0xc71358dd,0x6385c545,0x110f935d,0x57538ad5,0x6a390493,0xe63d37e0,0x2a54f6b3,0x3a787d5f,0x6276a0b5,0x19a6fcdf,0x7a42206a,0x29f9d4d5,0xf61b1891,0xbb72275e,0xaa508167,0x38901091,0xc6b505eb,0x84c7cb8c,0x2ad75a0f,0x874a1427,0xa2d1936b,0x2ad286af,0xaa56d291,0xd7894360,0x425c750d,0x93b39e26,0x187184c9,0x6c00b32d,0x73e2bb14,0xa0bebc3c,0x54623779,0x64459eab,0x3f328b82,0x7718cf82,0x59a2cea6,0x4ee002e,0x89fe78e6,0x3fab0950,0x325ff6c2,0x81383f05,0x6963c5c8,0x76cb5ad6,0xd49974c9,0xca180dcf,0x380782d5,0xc7fa5cf6,0x8ac31511,0x35e79e13,0x47da91d0,0xf40f9086,0xa7e2419e,0x31366241,0x51ef495,0xaa573b04,0x4a805d8d,0x548300d0,3287612,0xbf64cddf,0xba57a68e,0x75c6372b,0x50afd341,0xa7c13275,0x915a0bf5,0x6b54bfab,0x2b0b1426,0xab4cc9d7,0x449ccd82,0xf7fbf265,0xab85c5f3,0x1b55db94,0xaad4e324,0xcfa4bd3f,0x2deaa3e2,0x9e204d02,0xc8bd25ac,0xeadf55b3,0xd5bd9e98,0xe31231b2,0x2ad5ad6c,0x954329de,0xadbe4528,0xd8710f69,0xaa51c90f,0xaa786bf6,0x22513f1e,0xaa51a79b,0x2ad344cc,0x7b5a41f0,0xd37cfbad,0x1b069505,0x41ece491,0xb4c332e6,0x32268d4,0xc9600acc,0xce387e6d,0xbf6bb16c,0x6a70fb78,0xd03d9c9,0xd4df39de,0xe01063da,0x4736f464,0x5ad328d8,0xb347cc96,0x75bb0fc3,0x98511bfb,0x4ffbcc35,0xb58bcf6a,0xe11f0abc,0xbfc5fe4a,0xa70aec10,0xac39570a,0x3f04442f,0x6188b153,0xe0397a2e,0x5727cb79,0x9ceb418f,0x1cacd68d,0x2ad37c96,0x175cb9d,0xc69dff09,0xc75b65f0,0xd9db40d8,0xec0e7779,0x4744ead4,0xb11c3274,0xdd24cb9e,0x7e1c54bd,0xf01144f9,0xd2240eb1,0x9675b3fd,0xa3ac3755,0xd47c27af,0x51c85f4d,0x56907596,0xa5bb15e6,0x580304f0,0xca042cf1,0x11a37ea,0x8dbfaadb,0x35ba3e4a,0x3526ffa0,0xc37b4d09,0xbc306ed9,0x98a52666,0x5648f725,0xff5e569d,0xced63d0,0x7c63b2cf,0x700b45e1,0xd5ea50f1,0x85a92872,0xaf1fbda7,0xd4234870,0xa7870bf3,0x2d3b4d79,0x42e04198,0xcd0ede7,0x26470db8,0xf881814c,0x474d6ad7,0x7c0c5e5c,0xd1231959,0x381b7298,0xf5d2f4db,0xab838653,0x6e2f1e23,0x83719c9e,0xbd91e046,0x9a56456e,0xdc39200c,0x20c8c571,0x962bda1c,0xe1e696ff,0xb141ab08,0x7cca89b9,0x1a69e783,0x2cc4843,0xa2f7c579,0x429ef47d,0x427b169c,0x5ac9f049,0xdd8f0f00,0x5c8165bf],n[1]=[0x1f201094,0xef0ba75b,0x69e3cf7e,0x393f4380,0xfe61cf7a,0xeec5207a,0x55889c94,0x72fc0651,0xada7ef79,0x4e1d7235,0xd55a63ce,0xde0436ba,0x99c430ef,0x5f0c0794,0x18dcdb7d,0xa1d6eff3,0xa0b52f7b,0x59e83605,0xee15b094,0xe9ffd909,0xdc440086,0xef944459,0xba83ccb3,0xe0c3cdfb,0xd1da4181,0x3b092ab1,0xf997f1c1,0xa5e6cf7b,0x1420ddb,0xe4e7ef5b,0x25a1ff41,0xe180f806,0x1fc41080,0x179bee7a,0xd37ac6a9,0xfe5830a4,0x98de8b7f,0x77e83f4e,0x79929269,0x24fa9f7b,0xe113c85b,0xacc40083,0xd7503525,0xf7ea615f,0x62143154,0xd554b63,0x5d681121,0xc866c359,0x3d63cf73,0xcee234c0,0xd4d87e87,0x5c672b21,0x71f6181,0x39f7627f,0x361e3084,0xe4eb573b,0x602f64a4,0xd63acd9c,0x1bbc4635,0x9e81032d,0x2701f50c,0x99847ab4,0xa0e3df79,0xba6cf38c,0x10843094,0x2537a95e,0xf46f6ffe,0xa1ff3b1f,0x208cfb6a,0x8f458c74,0xd9e0a227,0x4ec73a34,0xfc884f69,0x3e4de8df,0xef0e0088,0x3559648d,0x8a45388c,0x1d804366,0x721d9bfd,0xa58684bb,0xe8256333,0x844e8212,0x128d8098,0xfed33fb4,0xce280ae1,0x27e19ba5,0xd5a6c252,0xe49754bd,0xc5d655dd,0xeb667064,0x77840b4d,0xa1b6a801,0x84db26a9,0xe0b56714,0x21f043b7,0xe5d05860,0x54f03084,0x66ff472,0xa31aa153,0xdadc4755,0xb5625dbf,0x68561be6,0x83ca6b94,0x2d6ed23b,0xeccf01db,0xa6d3d0ba,0xb6803d5c,0xaf77a709,0x33b4a34c,0x397bc8d6,0x5ee22b95,0x5f0e5304,0x81ed6f61,0x20e74364,0xb45e1378,0xde18639b,0x881ca122,0xb96726d1,0x8049a7e8,0x22b7da7b,0x5e552d25,0x5272d237,0x79d2951c,0xc60d894c,0x488cb402,0x1ba4fe5b,0xa4b09f6b,0x1ca815cf,0xa20c3005,0x8871df63,0xb9de2fcb,0xcc6c9e9,0xbeeff53,0xe3214517,0xb4542835,0x9f63293c,0xee41e729,0x6e1d2d7c,0x50045286,0x1e6685f3,0xf33401c6,0x30a22c95,0x31a70850,0x60930f13,0x73f98417,0xa1269859,0xec645c44,0x52c877a9,0xcdff33a6,0xa02b1741,0x7cbad9a2,0x2180036f,0x50d99c08,0xcb3f4861,0xc26bd765,0x64a3f6ab,0x80342676,0x25a75e7b,0xe4e6d1fc,0x20c710e6,0xcdf0b680,0x17844d3b,0x31eef84d,0x7e0824e4,0x2ccb49eb,0x846a3bae,0x8ff77888,0xee5d60f6,0x7af75673,0x2fdd5cdb,0xa11631c1,0x30f66f43,0
3xb3faec54,0x157fd7fa,0xef8579cc,0xd152de58,0xdb2ffd5e,0x8f32ce19,0x306af97a,0x2f03ef8,0x99319ad5,0xc242fa0f,0xa7e3ebb0,0xc68e4906,0xb8da230c,0x80823028,0xdcdef3c8,0xd35fb171,0x88a1bc8,0xbec0c560,0x61a3c9e8,0xbca8f54d,0xc72feffa,0x22822e99,0x82c570b4,0xd8d94e89,0x8b1c34bc,0x301e16e6,0x273be979,0xb0ffeaa6,0x61d9b8c6,0xb24869,0xb7ffce3f,0x8dc283b,0x43daf65a,0xf7e19798,0x7619b72f,0x8f1c9ba4,0xdc8637a0,0x16a7d3b1,0x9fc393b7,0xa7136eeb,0xc6bcc63e,0x1a513742,0xef6828bc,0x520365d6,0x2d6a77ab,0x3527ed4b,0x821fd216,0x95c6e2e,0xdb92f2fb,0x5eea29cb,0x145892f5,0x91584f7f,0x5483697b,0x2667a8cc,0x85196048,0x8c4bacea,0x833860d4,0xd23e0f9,0x6c387e8a,0xae6d249,0xb284600c,0xd835731d,0xdcb1c647,0xac4c56ea,0x3ebd81b3,0x230eabb0,0x6438bc87,0xf0b5b1fa,0x8f5ea2b3,0xfc184642,0xa036b7a,0x4fb089bd,0x649da589,0xa345415e,0x5c038323,0x3e5d3bb9,0x43d79572,0x7e6dd07c,0x6dfdf1e,0x6c6cc4ef,0x7160a539,0x73bfbe70,0x83877605,0x4523ecf1],n[2]=[0x8defc240,0x25fa5d9f,0xeb903dbf,0xe810c907,0x47607fff,0x369fe44b,0x8c1fc644,0xaececa90,0xbeb1f9bf,0xeefbcaea,0xe8cf1950,0x51df07ae,0x920e8806,0xf0ad0548,0xe13c8d83,0x927010d5,0x11107d9f,0x7647db9,0xb2e3e4d4,0x3d4f285e,0xb9afa820,0xfade82e0,0xa067268b,0x8272792e,0x553fb2c0,0x489ae22b,0xd4ef9794,0x125e3fbc,0x21fffcee,0x825b1bfd,0x9255c5ed,0x1257a240,0x4e1a8302,0xbae07fff,0x528246e7,0x8e57140e,0x3373f7bf,0x8c9f8188,0xa6fc4ee8,0xc982b5a5,0xa8c01db7,0x579fc264,0x67094f31,0xf2bd3f5f,0x40fff7c1,0x1fb78dfc,0x8e6bd2c1,0x437be59b,0x99b03dbf,0xb5dbc64b,0x638dc0e6,0x55819d99,0xa197c81c,0x4a012d6e,0xc5884a28,0xccc36f71,0xb843c213,0x6c0743f1,0x8309893c,0xfeddd5f,0x2f7fe850,0xd7c07f7e,0x2507fbf,0x5afb9a04,0xa747d2d0,0x1651192e,0xaf70bf3e,0x58c31380,0x5f98302e,0x727cc3c4,0xa0fb402,0xf7fef82,0x8c96fdad,0x5d2c2aae,0x8ee99a49,0x50da88b8,0x8427f4a0,0x1eac5790,0x796fb449,0x8252dc15,0xefbd7d9b,0xa672597d,0xada840d8,0x45f54504,0xfa5d7403,0xe83ec305,0x4f91751a,0x925669c2,0x23efe941,0xa903f12e,0x60270df2,0x276e4b6,0x94fd6574,0x927985b2,0x8276dbcb,0x2778176,0xf8af918d,0x4e48f79e,0x8f616ddf,0xe29d840e,0x842f7d83,0x340ce5c8,0x96bbb682,0x93b4b148,0xef303cab,0x984faf28,0x779faf9b,0x92dc560d,0x224d1e20,0x8437aa88,0x7d29dc96,0x2756d3dc,0x8b907cee,0xb51fd240,0xe7c07ce3,0xe566b4a1,0xc3e9615e,0x3cf8209d,0x6094d1e3,0xcd9ca341,0x5c76460e,0xea983b,0xd4d67881,0xfd47572c,0xf76cedd9,0xbda8229c,0x127dadaa,0x438a074e,0x1f97c090,0x81bdb8a,0x93a07ebe,0xb938ca15,0x97b03cff,0x3dc2c0f8,0x8d1ab2ec,0x64380e51,0x68cc7bfb,0xd90f2788,0x12490181,0x5de5ffd4,0xdd7ef86a,0x76a2e214,0xb9a40368,0x925d958f,0x4b39fffa,0xba39aee9,0xa4ffd30b,0xfaf7933b,0x6d498623,0x193cbcfa,0x27627545,0x825cf47a,1639812e3,0xd11e42d1,0xcead04f4,0x127ea392,0x10428db7,0x8272a972,0x9270c4a8,0x127de50b,0x285ba1c8,0x3c62f44f,0x35c0eaa5,0xe805d231,0x428929fb,0xb4fcdf82,0x4fb66a53,0xe7dc15b,0x1f081fab,0x108618ae,0xfcfd086d,0xf9ff2889,0x694bcc11,0x236a5cae,0x12deca4d,0x2c3f8cc5,0xd2d02dfe,0xf8ef5896,0xe4cf52da,0x95155b67,0x494a488c,0xb9b6a80c,0x5c8f82bc,0x89d36b45,0x3a609437,0xec00c9a9,0x44715253,0xa874b49,0xd773bc40,0x7c34671c,0x2717ef6,0x4feb5536,0xa2d02fff,0xd2bf60c4,0xd43f03c0,0x50b4ef6d,0x7478cd1,7215240,0xa2e53f55,0xb9e6d4bc,0xa2048016,0x97573833,0xd7207d67,0xde0f8f3d,0x72f87b33,0xabcc4f33,0x7688c55d,0x7b00a6b0,0x947b0001,0x570075d2,0xf9bb88f8,0x8942019e,0x4264a5ff,0x856302e0,0x72dbd92b,0xee971b69,0x6ea22fde,0x5f08ae2b,0xaf7a616d,0xe5c98767,0xcf1febd2,0x61efc8c2,0xf1ac2571,0xcc8239c2,0x67214cb8,0xb1e583d1,0xb7dc3e62,0x7f10bdce,0xf90a5c38,0xff0443d,0x606e6dc6,0x60543a49,0x5727c148,0x2be98a1d,0x8ab41738,0x20e1be24,0xaf96da0f,0x68458425,0x99833be5,0x600d457d,0x282f9350,0x8334b362,0xd91d1120,0x2b6d8da0,0x642b1e31,0x9c305a00,0x52bce688,0x1b03588a,0xf7baefd5,0x4142ed9c,0xa4315c11,0x83323ec5,0xdfef4636,0xa133c501,0xe9d3531c,0xee353783],n[3]=[0x9db30420,0x1fb6e9de,0xa7be7bef,0xd273a298,0x4a4f7bdb,0x64ad8c57,0x85510443,0xfa020ed1,0x7e287aff,0xe60fb663,0x95f35a1,0x79ebf120,0xfd059d43,0x6497b7b1,0xf3641f63,0x241e4adf,0x28147f5f,0x4fa2b8cd,0xc9430040,0xcc32220,0xfdd30b30,0xc0a5374f,0x1d2d00d9,0x24147b15,0xee4d111a,0xfca5167,0x71ff904c,0x2d195ffe,0x1a05645f,0xc13fefe,0x81b08ca,0x5170121,0x80530100,0xe83e5efe,0xac9af4f8,0x7fe72701,0xd2b8ee5f,0x6df4261,0xbb9e9b8a,0x7293ea25,0xce84ffdf,0xf5718801,0x3dd64b04,0xa26f263b,0x7ed48400,0x547eebe6,0x446d4ca0,0x6cf3d6f5,0x2649abdf,0xaea0c7f5,0x36338cc1,0x503f7e93,0xd3772061,0x11b638e1,0x72500e03,0xf80eb2bb,0xabe0502e,0xec8d77de,0x57971e81,0xe14f6746,0xc9335400,0x6920318f,0x81dbb99,0xffc304a5,0x4d351805,0x7f3d5ce3,0xa6c866c6,0x5d5bcca9,0xdaec6fea,0x9f926f91,0x9f46222f,0x3991467d,0xa5bf6d8e,0x1143c44f,0x43958302,0xd0214eeb,0x22083b8,0x3fb6180c,0x18f8931e,0x281658e6,0x26486e3e,0x8bd78a70,0x7477e4c1,0xb506e07c,0xf32d0a25,0x79098b02,0xe4eabb81,0x28123b23,0x69dead38,0x1574ca16,0xdf871b62,0x211c40b7,0xa51a9ef9,1324923,0x41e8ac8,0x9114003,0xbd59e4d2,0xe3d156d5,0x4fe876d5,0x2f91a340,0x557be8de,0xeae4a7,0xce5c2ec,0x4db4bba6,0xe756bdff,0xdd3369ac,0xec17b035,0x6572327,0x99afc8b0,0x56c8c391,0x6b65811c,0x5e146119,0x6e85cb75,0xbe07c002,0xc2325577,0x893ff4ec,0x5bbfc92d,0xd0ec3b25,0xb7801ab7,0x8d6d3b24,0x20c763ef,0xc366a5fc,0x9c382880,0xace3205,0xaac9548a,0xeca1d7c7,0x41
3afa32,0x1d16625a,0x6701902c,0x9b757a54,0x31d477f7,0x9126b031,0x36cc6fdb,0xc70b8b46,0xd9e66a48,0x56e55a79,0x26a4ceb,0x52437eff,0x2f8f76b4,0xdf980a5,0x8674cde3,0xedda04eb,0x17a9be04,0x2c18f4df,0xb7747f9d,0xab2af7b4,0xefc34d20,0x2e096b7c,0x1741a254,0xe5b6a035,0x213d42f6,0x2c1c7c26,0x61c2f50f,0x6552daf9,0xd2c231f8,0x25130f69,0xd8167fa2,0x418f2c8,1742502,0xd1526ab,0x63315c21,0x5e0a72ec,0x49bafefd,0x187908d9,0x8d0dbd86,0x311170a7,0x3e9b640c,0xcc3e10d7,0xd5cad3b6,0xcaec388,0xf73001e1,0x6c728aff,0x71eae2a1,0x1f9af36e,0xcfcbd12f,0xc1de8417,0xac07be6b,0xcb44a1d8,0x8b9b0f56,0x13988c3,0xb1c52fca,0xb4be31cd,0xd8782806,0x12a3a4e2,0x6f7de532,0x58fd7eb6,0xd01ee900,0x24adffc2,0xf4990fc5,0x9711aac5,1932181,0x82e5e7d2,0x109873f6,6369430,0xc32d9521,0xada121ff,0x29908415,0x7fbb977f,0xaf9eb3db,0x29c9ed2a,0x5ce2a465,0xa730f32c,0xd0aa3fe8,0x8a5cc091,0xd49e2ce7,0xce454a9,0xd60acd86,0x15f1919,0x77079103,0xdea03af6,0x78a8565e,0xdee356df,0x21f05cbe,0x8b75e387,0xb3c50651,0xb8a5c3ef,0xd8eeb6d2,0xe523be77,0xc2154529,0x2f69efdf,0xafe67afb,0xf470c4b2,0xf3e0eb5b,0xd6cc9876,0x39e4460c,0x1fda8538,0x1987832f,0xca007367,0xa99144f8,0x296b299e,0x492fc295,0x9266beab,0xb5676e69,0x9bd3ddda,0xdf7e052f,0xdb25701c,0x1b5e51ee,0xf65324e6,0x6afce36c,0x316cc04,0x8644213e,0xb7dc59d0,0x7965291f,0xccd6fd43,0x41823979,0x932bcdf6,0xb657c34d,0x4edfd282,0x7ae5290c,0x3cb9536b,0x851e20fe,0x9833557e,0x13ecf0b0,0xd3ffb372,0x3f85c5c1,0xaef7ed2],n[4]=[0x7ec90c04,0x2c6e74b9,0x9b0e66df,0xa6337911,0xb86a7fff,0x1dd358f5,0x44dd9d44,0x1731167f,0x8fbf1fa,0xe7f511cc,0xd2051b00,0x735aba00,0x2ab722d8,0x386381cb,0xacf6243a,
30x69befd7a,0xe6a2e77f,0xf0c720cd,0xc4494816,0xccf5c180,0x38851640,0x15b0a848,0xe68b18cb,0x4caadeff,0x5f480a01,0x412b2aa,0x259814fc,0x41d0efe2,0x4e40b48d,0x248eb6fb,0x8dba1cfe,0x41a99b02,0x1a550a04,0xba8f65cb,0x7251f4e7,0x95a51725,0xc106ecd7,0x97a5980a,0xc539b9aa,0x4d79fe6a,0xf2f3f763,0x68af8040,0xed0c9e56,0x11b4958b,0xe1eb5a88,0x8709e6b0,0xd7e07156,0x4e29fea7,0x6366e52d,0x2d1c000,0xc4ac8e05,0x9377f571,0xc05372a,0x578535f2,0x2261be02,0xd642a0c9,0xdf13a280,0x74b55bd2,0x682199c0,0xd421e5ec,0x53fb3ce8,0xc8adedb3,0x28a87fc9,0x3d959981,0x5c1ff900,0xfe38d399,0xc4eff0b,0x62407ea,0xaa2f4fb1,0x4fb96976,0x90c79505,0xb0a8a774,0xef55a1ff,0xe59ca2c2,0xa6b62d27,0xe66a4263,0xdf65001f,0xec50966,0xdfdd55bc,0x29de0655,0x911e739a,0x17af8975,0x32c7911c,0x89f89468,0xd01e980,0x524755f4,0x3b63cc9,0xcc844b2,0xbcf3f0aa,0x87ac36e9,0xe53a7426,0x1b3d82b,0x1a9e7449,0x64ee2d7e,0xcddbb1da,0x1c94910,0xb868bf80,0xd26f3fd,0x9342ede7,0x4a5c284,0x636737b6,0x50f5b616,0xf24766e3,0x8eca36c1,0x136e05db,0xfef18391,0xfb887a37,0xd6e7f7d4,0xc7fb7dc9,0x3063fcdf,0xb6f589de,0xec2941da,0x26e46695,0xb7566419,0xf654efc5,0xd08d58b7,0x48925401,0xc1bacb7f,0xe5ff550f,0xb6083049,0x5bb5d0e8,0x87d72e5a,0xab6a6ee1,0x223a66ce,0xc62bf3cd,0x9e0885f9,0x68cb3e47,0x86c010f,0xa21de820,0xd18b69de,0xf3f65777,0xfa02c3f6,0x407edac3,0xcbb3d550,0x1793084d,0xb0d70eba,0xab378d5,0xd951fb0c,0xded7da56,0x4124bbe4,0x94ca0b56,0xf5755d1,0xe0e1e56e,0x6184b5be,0x580a249f,0x94f74bc0,0xe327888e,0x9f7b5561,0xc3dc0280,0x5687715,0x646c6bd7,0x44904db3,0x66b4f0a3,0xc0f1648a,0x697ed5af,0x49e92ff6,0x309e374f,0x2cb6356a,0x85808573,0x4991f840,0x76f0ae02,0x83be84d,0x28421c9a,0x44489406,0x736e4cb8,0xc1092910,0x8bc95fc6,0x7d869cf4,0x134f616f,0x2e77118d,0xb31b2be1,0xaa90b472,0x3ca5d717,0x7d161bba,0x9cad9010,0xaf462ba2,0x9fe459d2,0x45d34559,0xd9f2da13,0xdbc65487,0xf3e4f94e,0x176d486f,0x97c13ea,0x631da5c7,0x445f7382,0x175683f4,0xcdc66a97,0x70be0288,0xb3cdcf72,0x6e5dd2f3,0x20936079,0x459b80a5,0xbe60e2db,0xa9c23101,0xeba5315c,0x224e42f2,0x1c5c1572,0xf6721b2c,0x1ad2fff3,0x8c25404e,0x324ed72f,0x4067b7fd,0x523138e,0x5ca3bc78,0xdc0fd66e,0x75922283,0x784d6b17,0x58ebb16e,0x44094f85,0x3f481d87,0xfcfeae7b,0x77b5ff76,0x8c2302bf,0xaaf47556,0x5f46b02a,0x2b092801,0x3d38f5f7,0xca81f36,0x52af4a8a,0x66d5e7c0,0xdf3b0874,0x95055110,0x1b5ad7a8,0xf61ed5ad,0x6cf6e479,0x20758184,0xd0cefa65,0x88f7be58,0x4a046826,0xff6f8f3,0xa09c7f70,0x5346aba0,0x5ce96c28,0xe176eda3,0x6bac307f,0x376829d2,0x85360fa9,0x17e3fe2a,0x24b79767,0xf5a96b20,0xd6cd2595,0x68ff1ebf,0x7555442c,0xf19f06be,0xf9e0659a,0xeeb9491d,0x34010718,0xbb30cab8,0xe822fe15,0x88570983,0x750e6249,0xda627e55,1584857e3,0xb1534546,0x6d47de08,0xefe9e7d4],n[5]=[0xf6fa8f9d,0x2cac6ce1,0x4ca34867,0xe2337f7c,0x95db08e7,0x16843b4,0xeced5cbc,0x325553ac,0xbf9f0960,0xdfa1e2ed,0x83f0579d,0x63ed86b9,0x1ab6a6b8,0xde5ebe39,0xf38ff732,0x8989b138,0x33f14961,0xc01937bd,0xf506c6da,0xe4625e7e,0xa308ea99,0x4e23e33c,0x79cbd7cc,0x48a14367,0xa3149619,0xfec94bd5,0xa114174a,0xeaa01866,0xa084db2d,0x9a8486f,0xa888614a,0x2900af98,0x1665991,0xe1992863,0xc8f30c60,0x2e78ef3c,0xd0d51932,0xcf0fec14,0xf7ca07d2,0xd0a82072,0xfd41197e,0x9305a6b0,0xe86be3da,0x74bed3cd,0x372da53c,0x4c7f4448,0xdab5d440,0x6dba0ec3,0x83919a7,0x9fbaeed9,0x49dbcfb0,0x4e670c53,0x5c3d9c01,0x64bdb941,0x2c0e636a,0xba7dd9cd,0xea6f7388,0xe70bc762,0x35f29adb,0x5c4cdd8d,0xf0d48d8c,0xb88153e2,0x8a19866,0x1ae2eac8,0x284caf89,0xaa928223,0x9334be53,0x3b3a21bf,0x16434be3,0x9aea3906,0xefe8c36e,0xf890cdd9,0x80226dae,0xc340a4a3,0xdf7e9c09,0xa694a807,0x5b7c5ecc,0x221db3a6,0x9a69a02f,0x68818a54,0xceb2296f,0x53c0843a,0xfe893655,0x25bfe68a,0xb4628abc,0xcf222ebf,0x25ac6f48,0xa9a99387,0x53bddb65,0xe76ffbe7,0xe967fd78,0xba93563,0x8e342bc1,0xe8a11be9,0x4980740d,0xc8087dfc,0x8de4bf99,0xa11101a0,0x7fd37975,0xda5a26c0,0xe81f994f,0x9528cd89,0xfd339fed,0xb87834bf,0x5f04456d,0x22258698,0xc9c4c83b,0x2dc156be,0x4f628daa,0x57f55ec5,0xe2220abe,0xd2916ebf,0x4ec75b95,0x24f2c3c0,0x42d15d99,0xcd0d7fa0,0x7b6e27ff,0xa8dc8af0,0x7345c106,0xf41e232f,0x35162386,0xe6ea8926,0x3333b094,0x157ec6f2,0x372b74af,0x692573e4,0xe9a9d848,0xf3160289,0x3a62ef1d,0xa787e238,0xf3a5f676,0x74364853,0x20951063,0x4576698d,0xb6fad407,0x592af950,0x36f73523,0x4cfb6e87,0x7da4cec0,0x6c152daa,0xcb0396a8,0xc50dfe5d,0xfcd707ab,0x921c42f,0x89dff0bb,0x5fe2be78,0x448f4f33,0x754613c9,0x2b05d08d,0x48b9d585,0xdc049441,0xc8098f9b,0x7dede786,0xc39a3373,0x42410005,0x6a091751,0xef3c8a6,0x890072d6,0x28207682,0xa9a9f7be,0xbf32679d,0xd45b5b75,0xb353fd00,0xcbb0e358,0x830f220a,0x1f8fb214,0xd372cf08,0xcc3c4a13,0x8cf63166,0x61c87be,0x88c98f88,0x6062e397,0x47cf8e7a,0xb6c85283,0x3cc2acfb,0x3fc06976,0x4e8f0252,0x64d8314d,0xda3870e3,0x1e665459,0xc10908f0,0x513021a5,0x6c5b68b7,
30x822f8aa0,0x3007cd3e,0x74719eef,0xdc872681,0x73340d4,0x7e432fd9,0xc5ec241,0x8809286c,0xf592d891,0x8a930f6,0x957ef305,0xb7fbffbd,0xc266e96f,0x6fe4ac98,0xb173ecc0,0xbc60b42a,0x953498da,0xfba1ae12,0x2d4bd736,0xf25faab,0xa4f3fceb,0xe2969123,0x257f0c3d,0x9348af49,0x361400bc,0xe8816f4a,0x3814f200,0xa3f94043,0x9c7a54c2,0xbc704f57,0xda41e7f9,0xc25ad33a,0x54f4a084,0xb17f5505,0x59357cbe,0xedbd15c8,0x7f97c5ab,0xba5ac7b5,0xb6f6deaf,0x3a479c3a,0x5302da25,0x653d7e6a,0x54268d49,0x51a477ea,0x5017d55b,0xd7d25d88,0x44136c76,0x404a8c8,0xb8e5a121,0xb81a928a,0x60ed5869,0x97c55b96,0xeaec991b,0x29935913,0x1fdb7f1,0x88e8dfa,0x9ab6f6f5,0x3b4cbf9f,0x4a5de3ab,0xe6051d35,0xa0e1d855,0xd36b4cf1,0xf544edeb,0xb0e93524,0xbebb8fbd,0xa2d762cf,0x49c92f54,0x38b5f331,0x7128a454,0x48392905,0xa65b1db8,0x851c97bd,0xd675cf2f],n[6]=[0x85e04019,0x332bf567,0x662dbfff,0xcfc65693,0x2a8d7f6f,0xab9bc912,0xde6008a1,0x2028da1f,0x227bce7,0x4d642916,0x18fac300,0x50f18b82,0x2cb2cb11,0xb232e75c,0x4b3695f2,0xb28707de,0xa05fbcf6,0xcd4181e9,0xe150210c,0xe24ef1bd,0xb168c381,0xfde4e789,1551479e3,0x1e8bfd43,0x4d495001,0x38be4341,0x913cee1d,0x92a79c3f,0x89766be,0xbaeeadf4,0x1286becf,0xb6eacb19,0x2660c200,0x7565bde4,0x64241f7a,0x8248dca9,0xc3b3ad66,0x28136086,0xbd8dfa8,0x356d1cf2,0x107789be,0xb3b2e9ce,0x502aa8f,0xbc0351e,0x166bf52a,0xeb12ff82,0xe3486911,0xd34d7516,0x4e7b3aff,0x5f43671b,0x9cf6e037,0x4981ac83,0x334266ce,0x8c9341b7,0xd0d854c0,0xcb3a6c88,0x47bc2829,0x4725ba37,0xa66ad22b,0x7ad61f1e,0xc5cbafa,0x4437f107,0xb6e79962,0x42d2d816,0xa961288,0xe1a5c06e,0x13749e67,0x72fc081a,0xb1d139f7,0xf9583745,0xcf19df58,0xbec3f756,0xc06eba30,0x7211b24,0x45c28829,0xc95e317f,0xbc8ec511,0x38bc46e9,0xc6e6fa14,0xbae8584a,0xad4ebc46,0x468f508b,0x7829435f,0xf124183b,0x821dba9f,0xaff60ff4,0xea2c4e6d,0x16e39264,0x92544a8b,0x9b4fc3,0xaba68ced,0x9ac96f78,0x6a5b79a,0xb2856e6e,0x1aec3ca9,0xbe838688,0xe0804e9,0x55f1be56,0xe7e5363b,0xb3a1f25d,0xf7debb85,0x61fe033c,0x16746233,0x3c034c28,0xda6d0c74,0x79aac56c,0x3ce4e1ad,0x51f0c802,0x98f8f35a,0x1626a49f,0xeed82b29,0x1d382fe3,0xc4fb99a,0xbb325778,0x3ec6d97b,0x6e77a6a9,0xcb658b5c,0xd45230c7,0x2bd1408b,0x60c03eb7,0xb9068d78,0xa33754f4,0xf430c87d,0xc8a71302,0xb96d8c32,0xebd4e7be,0xbe8b9d2d,0x7979fb06,0xe7225308,0x8b75cf77,0x11ef8da4,0xe083c858,0x8d6b786f,0x5a6317a6,0xfa5cf7a0,0x5dda0033,0xf28ebfb0,0xf5b9c310,0xa0eac280,0x8b9767a,0xa3d9d2b0,0x79d34217,0x21a718d,0x9ac6336a,0x2711fd60,0x438050e3,0x69908a8,0x3d7fedc4,0x826d2bef,0x4eeb8476,0x488dcf25,0x36c9d566,0x28e74e41,0xc2610aca,0x3d49a9cf,0xbae3b9df,0xb65f8de6,0x92aeaf64,0x3ac7d5e6,0x9ea80509,0xf22b017d,0xa4173f70,0xdd1e16c3,0x15e0d7f9,0x50b1b887,0x2b9f4fd5,0x625aba82,0x6a017962,0x2ec01b9c,0x15488aa9,0xd716e740,0x40055a2c,0x93d29a22,0xe32dbf9a,0x58745b9,0x3453dc1e,0xd699296e,0x496cff6f,0x1c9f4986,0xdfe2ed07,0xb87242d1,0x19de7eae,0x53e561a,0x15ad6f8c,0x66626c1c,0x7154c24c,0xea082b2a,0x93eb2939,0x17dcb0f0,0x58d4f2ae,0x9ea294fb,0x52cf564c,0x9883fe66,0x2ec40581,0x763953c3,0x1d6692e,0xd3a0c108,0xa1e7160e,0xe4f2dfa6,0x693ed285,0x74904698,0x4c2b0edd,0x4f757656,0x5d393378,0xa132234f,0x3d321c5d,0xc3f5e194,0x4b269301,0xc79f022f,0x3c997e7e,0x5e4f9504,0x3ffafbbd,0x76f7ad0e,0x296693f4,0x3d1fce6f,0xc61e45be,0xd3b5ab34,0xf72bf9b7,0x1b0434c0,0x4e72b567,0x5592a33d,0xb5229301,0xcfd2a87f,0x60aeb767,0x1814386b,0x30bcc33d,0x38a0c07d,0xfd1606f2,0xc363519b,0x589dd390,0x5479f8e6,0x1cb8d647,0x97fd61a9,0xea7759f4,0x2d57539d,0x569a58cf,0xe84e63ad,0x462e1b78,0x6580f87e,0xf3817914,0x91da55f4,0x40a230f3,0xd1988f35,0xb6e318d2,0x3ffa50bc,0x3d40f021,0xc3c0bdae,0x4958c24c,0x518f36b2,0x84b1d370,0xfedce83,0x878ddada,0xf2a279c7,0x94e01be8,0x90716f4b,0x954b8aa3],n[7]=[0xe216300d,0xbbddfffc,0xa7ebdabd,0x35648095,0x7789f8b7,0xe6c1121b,0xe241600,0x52ce8b5,0x11a9cfb0,0xe5952f11,0xece7990a,0x9386d174,0x2a42931c,0x76e38111,0xb12def3a,0x37ddddfc,0xde9adeb1,0xa0cc32c,0xbe197029,0x84a00940,0xbb243a0f,0xb4d137cf,0xb44e79f0,0x49eedfd,0xb15a15d,0x480d3168,0x8bbbde5a,0x669ded42,0xc7ece831,0x3f8f95e7,0x72df191b,0x7580330d,0x94074251,0x5c7dcdfa,0xabbe6d63,0xaa402164,0xb301d40a,0x2e7d1ca,0x53571dae,0x7a3182a2,0x12a8ddec,0xfdaa335d,0x176f43e8,0x71fb46d4,0x38129022,0xce949ad4,0xb84769ad,0x965bd862,0x82f3d055,0x66fb9767,0x15b80b4e,0x1d5b47a0,0x4cfde06f,0xc28ec4b8,0x57e8726e,0x647a78fc,0x99865d44,0x608bd593,0x6c200e03,0x39dc5ff6,0x5d0b00a3,0xae63aff2,0x7e8bd632,0x70108c0c,0xbbd35049,0x2998df04,0x980cf42a,0x9b6df491,0x9e7edd53,0x6918548,0x58cb7e07,0x3b74ef2e,0x522fffb1,0xd24708cc,0x1c7e27cd,0xa4eb215b,0x3cf1d2e2,0x19b47a38,0x424f7618,0x35856039,0x9d17dee7,0x27eb35e6,0xc9aff67b,0x36baf5b8,0x9c467cd,0xc18910b1,0xe11dbf7b,0x6cd1af8,0x7170c608,0x2d5e3354,0xd4de495a,0x64c6d006,0xbcc0c62c,0x3dd00db3,0x708f8f34,0x77d51b42,0x264f620f,0x24b8d2bf,0x15c1b79e,0x46a52564,0xf8d7e54e,0x3e378160,0x7895cda5,0x859c15a5,0xe6459788,0xc37bc75f,0xdb07ba0c,0x676a3ab,0x7f229b1e,0x31842e7b,0x24259fd7,0xf8bef472,0x835ffcb8,0x6df4c1f2,0x96f5b195,0xfd0af0fc,0xb0fe134c,0xe2506d3d,0x4f9b12ea,0xf215f225,0xa223736f,0x9fb4c428,0x25d04979,0x34c713f8,0xc4618187,0xea7a6e98,0x7cd16efc,0x1436876c,0xf1544107,0xbedeee14,0x56e9af27,0xa04aa441,0x3cf7c899,0x92ecbae6,0xdd67016d,0x151682eb,0xa842eedf,0xfdba60b4,0xf1907b75,0x20e3030f,0x24d8c29e,0xe139673b,0xefa63fb8,0x71873054,0xb6f2cf3b,0x9f326442,0xcb15a4cc,0xb01a4504,0xf1e47d8d,0x844a1be5,0xbae7dfdc,0x42cbda70,0xcd7dae0a,0x57e85b7a,0xd53f5af6,0x20cf4d8c,0xcea4d428,0x79d130a4,0x3486ebfb,0x33d3cddc,0x77853b53,0x37effcb5,0xc5068778,0xe580b3e6,0x4e68b8f4,0xc5c8b37e,0xd809ea2,0x398feb7c,0x132a4f94,0x43b7950e,0x2fee7d1c,0x223613bd,0xdd06caa2,0x37df932b,0xc4248289,0xacf3ebc3,0x5715f6b7,0xef3478dd,0xf267616f,0xc148cbe4,0x9052815e,0x5e410fab,0xb48a2465,0x2eda7fa4,0xe87b40e4,0xe98ea084,0x5889e9e1,0xefd390fc,0xdd07d35b,0xdb485694,0x38d7e5b2,0x57720101,0x730edebc,0x5b643113,0x94917e4f,0x503c2fba,0x646f1282,0x7523d24a,0xe0779695,0xf9c17a8f,0x7a5b2121,0xd187b896,0x29263a4d,0xba510cdf,0x81f47c9f,0xad1163ed,0xea7b5965,0x1a00726e,0x11403092,0xda6d77,0x4a0cdd61,0xad1f4603,0x605bdfb0,0x9eedc364,0x22ebe6a8,0xcee7d28a,0xa0e736a0,0x5564a6b9,0x10853209,0xc7eb8f37,0x2de705ca,0x8951570f,0xdf09822b,0xbd691a6c,0xaa12e4f2,0x87451c0f,0xe0f6a27a,0x3ada4819,0x4cf1764f,0xd771c2b,0x67cdb156,0x350d8384,0x5938fa0f,0x42399ef3,0x36997b07,0xe84093d,0x4aa93e61,0x8360d87b,0x1fa98b0c,0x1149382c,0xe97625a5,0x614d1b7,0xe25244b,0xc768347,0x589e8d82,0xd2059d1,0xa466bb1e,0xf8da0a82,0x4f19130,0xba6e4ec0,0x99265164,0x1ee7230d,0x50b2ad80,0xeaee6801,0x8db2a283,0xea8bf59e]}function ob(e){this.cast5=new ox,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt
3(e)}}function oy(e,t){return(e<<t|e>>>32-t)&0xffffffff}function og(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function op(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function oA(e,t){return e>>>8*t&255}function ow(e){this.tf=function(){let e=null,t=null,r=-1,a=[],i=[[],[],[],[]];function n(e){return i[0][oA(e,0)]^i[1][oA(e,1)]^i[2][oA(e,2)]^i[3][oA(e,3)]}function s(e){return i[0][oA(e,3)]^i[1][oA(e,0)]^i[2][oA(e,1)]^i[3][oA(e,2)]}return{name:"twofish",blocksize:16,open:function(t){let r,n,s,c,f,o,l,d,u,h=[],x=[],b=[],y=[],g=[[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]],p=[[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]],A=[[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]],w=[[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]],m=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],k=[[],[]],v=[[],[],[],[]];function I(e){return e^e>>2^[0,90,180,238][3&e]}function B(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function S(e,t){let r=t>>4,a=15&t,i=g[e][r^a],n=p[e][m[a]^E[r]];return w[e][m[n]^E[i]]<<4|A[e][i^n]}function C(e,t){let r=oA(e,0),a=oA(e,1),i=oA(e,2),n=oA(e,3);switch(o){case 4:r=k[1][r]^oA(t[3],0),a=k[0][a]^oA(t[3],1),i=k[0][i]^oA(t[3],2),n=k[1][n]^oA(t[3],3);case 3:r=k[1][r]^oA(t[2],0),a=k[1][a]^oA(t[2],1),i=k[0][i]^oA(t[2],2),n=k[0][n]^oA(t[2],3);case 2:r=k[0][k[0][r]^oA(t[1],0)]^oA(t[0],0),a=k[0][k[1][a]^oA(t[1],1)]^oA(t[0],1),i=k[1][k[0][i]^oA(t[1],2)]^oA(t[0],2),n=k[1][k[1][n]^oA(t[1],3)]^oA(t[0],3)}return v[0][r]^v[1][a]^v[2][i]^v[3][n]}for(r=(e=(e=t).slice(0,32)).length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)b[r>>2]=og(e,r);for(r=0;r<256;r++)k[0][r]=S(0,r),k[1][r]=S(1,r);for(r=0;r<256;r++)d=I(l=k[1][r]),u=B(l),v[0][r]=l+(d<<8)+(u<<16)+(u<<24),v[2][r]=d+(u<<8)+(l<<16)+(u<<24),d=I(l=k[0][r]),u=B(l),v[1][r]=u+(u<<8)+(d<<16)+(l<<24),v[3][r]=d+(l<<8)+(u<<16)+(d<<24);for(o=b.length/2,r=0;r<o;r++)n=b[r+r],h[r]=n,s=b[r+r+1],x[r]=s,y[o-r-1]=function(e,t){let r,a,i;for(r=0;r<8;r++)a=t>>>24,t=t<<8|e>>>24,e<<=8,i=a<<1,128&a&&(i^=333),t^=a^i<<16,i^=a>>>1,1&a&&(i^=166),t^=i<<24|i<<8;return t}(n,s);for(r=0;r<40;r+=2)s=(n=0x1010101*r)+0x1010101,n=C(n,h),s=oy(C(s,x),8),a[r]=n+s|0,a[r+1]=oy(n+2*s,9);for(r=0;r<256;r++)switch(n=s=c=f=r,o){case 4:n=k[1][n]^oA(y[3],0),s=k[0][s]^oA(y[3],1),c=k[0][c]^oA(y[3],2),f=k[1][f]^oA(y[3],3);case 3:n=k[1][n]^oA(y[2],0),s=k[1][s]^oA(y[2],1),c=k[0][c]^oA(y[2],2),f=k[0][f]^oA(y[2],3);case 2:i[0][r]=v[0][k[0][k[0][n]^oA(y[1],0)]^oA(y[0],0)],i[1][r]=v[1][k[0][k[1][s]^oA(y[1],1)]^oA(y[0],1)],i[2][r]=v[2][k[1][k[0][c]^oA(y[1],2)]^oA(y[0],2)],i[3][r]=v[3][k[1][k[1][f]^oA(y[1],3)]^oA(y[0],3)]}},close:function(){a=[],i=[[],[],[],[]]},encrypt:function(e,i){let c=[og(t=e,r=i)^a[0],og(t,r+4)^a[1],og(t,r+8)^a[2],og(t,r+12)^a[3]];for(let e=0;e<8;e++)!function(e,t){let r=n(t[0]),i=s(t[1]);t[2]=oy(t[2]^r+i+a[4*e+8],31),t[3]=oy(t[3],1)^r+2*i+a[4*e+9],r=n(t[2]),i=s(t[3]),t[0]=oy(t[0]^r+i+a[4*e+10],31),t[1]=oy(t[1],1)^r+2*i+a[4*e+11]}(e,c);return op(t,r,c[2]^a[4]),op(t,r+4,c[3]^a[5]),op(t,r+8,c[0]^a[6]),op(t,r+12,c[1]^a[7]),r+=16,t},decrypt:function(e,i){let c=[og(t=e,r=i)^a[4],og(t,r+4)^a[5],og(t,r+8)^a[6],og(t,r+12)^a[7]];for(let e=7;e>=0;e--)!function(e,t){let r=n(t[0]),i=s(t[1]);t[2]=oy(t[2],1)^r+i+a[4*e+10],t[3]=oy(t[3]^r+2*i+a[4*e+11],31),r=n(t[2]),i=s(t[3]),t[0]=oy(t[0],1)^r+i+a[4*e+8],t[1]=oy(t[1]^r+2*i+a[4*e+9],31)}(e,c);op(t,r,c[2]^a[0]),op(t,r+4,c[3]^a[1]),op(t,r+8,c[0]^a[2]),op(t,r+12,c[1]^a[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 om(){}function oE(e){this.bf=new om,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}oh.keySize=oh.prototype.keySize=24,oh.blockSize=oh.prototype.blockSize=8,ob.blockSize=ob.prototype.blockSize=8,ob.keySize=ob.prototype.keySize=16,ow.keySize=ow.prototype.keySize=32,ow.blockSize=ow.prototype.blockSize=16,om.prototype.BLOCKSIZE=8,om.prototype.SBOXES=[[0xd1310ba6,0x98dfb5ac,0x2ffd72db,0xd01adfb7,0xb8e1afed,0x6a267e96,0xba7c9045,0xf12c7f99,0x24a19947,0xb3916cf7,0x801f2e2,0x858efc16,0x636920d8,0x71574e69,0xa458fea3,0xf4933d7e,0xd95748f,0x728eb658,0x718bcd58,0x82154aee,0x7b54a41d,0xc25a59b5,0x9c30d539,0x2af26013,0xc5d1b023,0x286085f0,0xca417918,0xb8db38ef,0x8e79dcb0,0x603a180e,0x6c9e0e8b,0xb01e8a3e,0xd71577c1,0xbd314b27,0x78af2fda,0x55605c60,0xe65525f3,0xaa55ab94,0x57489862,0x63e81440,0x55ca396a,0x2aab10b6,0xb4cc5c34,0x1141e8ce,0xa15486af,0x7c72e993,0xb3ee1411,0x636fbc2a,
30x2ba9c55d,0x741831f6,0xce5c3e16,0x9b87931e,0xafd6ba33,0x6c24cf5c,0x7a325381,0x28958677,0x3b8f4898,0x6b4bb9af,0xc4bfe81b,0x66282193,0x61d809cc,0xfb21a991,0x487cac60,0x5dec8032,0xef845d5d,0xe98575b1,0xdc262302,0xeb651b88,0x23893e81,0xd396acc5,0xf6d6ff3,0x83f44239,0x2e0b4482,0xa4842004,0x69c8f04a,0x9e1f9b5e,0x21c66842,0xf6e96c9a,0x670c9c61,0xabd388f0,0x6a51a0d2,0xd8542f68,0x960fa728,0xab5133a3,0x6eef0b6c,0x137a3be4,0xba3bf050,0x7efb2a98,0xa1f1651d,0x39af0176,0x66ca593e,0x82430e88,0x8cee8619,0x456f9fb4,0x7d84a5c3,0x3b8b5ebe,0xe06f75d8,0x85c12073,0x401a449f,0x56c16aa6,0x4ed3aa62,0x363f7706,0x1bfedf72,0x429b023d,0x37d0d724,0xd00a1248,0xdb0fead3,0x49f1c09b,0x75372c9,0x80991b7b,0x25d479d8,0xf6e8def7,0xe3fe501a,0xb6794c3b,0x976ce0bd,0x4c006ba,0xc1a94fb6,0x409f60c4,0x5e5c9ec2,0x196a2463,0x68fb6faf,0x3e6c53b5,0x1339b2eb,0x3b52ec6f,0x6dfc511f,0x9b30952c,0xcc814544,0xaf5ebd09,0xbee3d004,0xde334afd,0x660f2807,0x192e4bb3,0xc0cba857,0x45c8740f,0xd20b5f39,0xb9d3fbdb,0x5579c0bd,0x1a60320a,0xd6a100c6,0x402c7279,0x679f25fe,0xfb1fa3cc,0x8ea5e9f8,0xdb3222f8,0x3c7516df,0xfd616b15,0x2f501ec8,0xad0552ab,0x323db5fa,0xfd238760,0x53317b48,0x3e00df82,0x9e5c57bb,0xca6f8ca0,0x1a87562e,0xdf1769db,0xd542a8f6,0x287effc3,0xac6732c6,0x8c4f5573,0x695b27b0,0xbbca58c8,0xe1ffa35d,0xb8f011a0,0x10fa3d98,0xfd2183b8,0x4afcb56c,0x2dd1d35b,0x9a53e479,0xb6f84565,0xd28e49bc,0x4bfb9790,0xe1ddf2da,0xa4cb7e33,0x62fb1341,0xcee4c6e8,0xef20cada,0x36774c01,0xd07e9efe,0x2bf11fb4,0x95dbda4d,0xae909198,0xeaad8e71,0x6b93d5a0,0xd08ed1d0,0xafc725e0,0x8e3c5b2f,0x8e7594b7,0x8ff6e2fb,0xf2122b64,0x8888b812,0x900df01c,0x4fad5ea0,0x688fc31c,0xd1cff191,0xb3a8c1ad,0x2f2f2218,0xbe0e1777,0xea752dfe,0x8b021fa1,0xe5a0cc0f,0xb56f74e8,0x18acf3d6,0xce89e299,0xb4a84fe0,0xfd13e0b7,0x7cc43b81,0xd2ada8d9,0x165fa266,0x80957705,0x93cc7314,0x211a1477,0xe6ad2065,0x77b5fa86,0xc75442f5,0xfb9d35cf,0xebcdaf0c,0x7b3e89a0,0xd6411bd3,0xae1e7e49,2428461,0x2071b35e,0x226800bb,0x57b8e0af,0x2464369b,0xf009b91e,0x5563911d,0x59dfa6aa,0x78c14389,0xd95a537f,0x207d5ba2,0x2e5b9c5,0x83260376,0x6295cfa9,0x11c81968,0x4e734a41,0xb3472dca,0x7b14a94a,0x1b510052,0x9a532915,0xd60f573f,0xbc9bc6e4,0x2b60a476,0x81e67400,0x8ba6fb5,0x571be91f,0xf296ec6b,0x2a0dd915,0xb6636521,0xe7b9f9b6,0xff34052e,0xc5855664,0x53b02d5d,0xa99f8fa1,0x8ba4799,0x6e85076a],[0x4b7a70e9,0xb5b32944,0xdb75092e,0xc4192623,290971e4,0x49a7df7d,0x9cee60b8,0x8fedb266,0xecaa8c71,0x699a17ff,0x5664526c,0xc2b19ee1,0x193602a5,0x75094c29,0xa0591340,0xe4183a3e,0x3f54989a,0x5b429d65,0x6b8fe4d6,0x99f73fd6,0xa1d29c07,0xefe830f5,0x4d2d38e6,0xf0255dc1,0x4cdd2086,0x8470eb26,0x6382e9c6,0x21ecc5e,0x9686b3f,0x3ebaefc9,0x3c971814,0x6b6a70a1,0x687f3584,0x52a0e286,0xb79c5305,0xaa500737,0x3e07841c,0x7fdeae5c,0x8e7d44ec,0x5716f2b8,0xb03ada37,0xf0500c0d,0xf01c1f04,0x200b3ff,0xae0cf51a,0x3cb574b2,0x25837a58,0xdc0921bd,0xd19113f9,0x7ca92ff6,0x94324773,0x22f54701,0x3ae5e581,0x37c2dadc,0xc8b57634,0x9af3dda7,0xa9446146,0xfd0030e,0xecc8c73e,0xa4751e41,0xe238cd99,0x3bea0e2f,0x3280bba1,0x183eb331,0x4e548b38,0x4f6db908,0x6f420d03,0xf60a04bf,0x2cb81290,0x24977c79,0x5679b072,0xbcaf89af,0xde9a771f,0xd9930810,0xb38bae12,0xdccf3f2e,0x5512721f,0x2e6b7124,0x501adde6,0x9f84cd87,0x7a584718,0x7408da17,0xbc9f9abc,0xe94b7d8c,0xec7aec3a,0xdb851dfa,0x63094366,0xc464c3d2,0xef1c1847,0x3215d908,0xdd433b37,0x24c2ba16,0x12a14d43,0x2a65c451,0x50940002,0x133ae4dd,0x71dff89e,0x10314e55,0x81ac77d6,0x5f11199b,0x43556f1,0xd7a3c76b,0x3c11183b,0x5924a509,0xf28fe6ed,0x97f1fbfa,0x9ebabf2c,0x1e153c6e,0x86e34570,0xeae96fb1,0x860e5e0a,0x5a3e2ab3,0x771fe71c,0x4e3d06fa,0x2965dcb9,0x99e71d0f,0x803e89d6,0x5266c825,0x2e4cc978,0x9c10b36a,0xc6150eba,0x94e2ea78,0xa5fc3c53,0x1e0a2df4,0xf2f74ea7,0x361d2b3d,0x1939260f,0x19c27960,0x5223a708,0xf71312b6,0xebadfe6e,0xeac31f66,0xe3bc4595,0xa67bc883,0xb17f37d1,0x18cff28,0xc332ddef,0xbe6c5aa5,0x65582185,0x68ab9802,0xeecea50f,0xdb2f953b,0x2aef7dad,0x5b6e2f84,0x1521b628,0x29076170,0xecdd4775,0x619f1510,0x13cca830,0xeb61bd96,0x334fe1e,0xaa0363cf,0xb5735c90,0x4c70a239,0xd59e9e0b,0xcbaade14,0xeecc86bc,0x60622ca7,0x9cab5cab,0xb2f3846e,0x648b1eaf,0x19bdf0ca,0xa02369b9,0x655abb50,0x40685a32,0x3c2ab4b3,0x319ee9d5,0xc021b8f7,0x9b540b19,0x875fa099,0x95f7997e,0x623d7da8,0xf837889a,0x97e32d77,0x11ed935f,0x16681281,0xe358829,0xc7e61fd6,0x96dedfa1,0x7858ba99,0x57f584a5,0x1b227263,0x9b83c3ff,0x1ac24696,0xcdb30aeb,0x532e3054,0x8fd948e4,0x6dbc3128,0x58ebf2ef,0x34c6ffea,0xfe28ed61,0xee7c3c73,0x5d4a14d9,0xe864b7e3,0x42105d14,0x203e13e0,0x45eee2b6,0xa3aaabea,0xdb6c4f15,0xfacb4fd0,0xc742f442,0xef6abbb5,0x654f3b1d,0x41cd2105,0xd81e799e,0x86854dc7,0xe44b476a,0x3d816250,0xcf62a1f2,0x5b8d2646,0xfc8883a0,0xc1c7b6a3,0x7f1524c3,0x69cb7492,0x47848a0b,0x5692b285,0x95bbf00,0xad19489d,0x1462b174,0x23820e00,0x58428d2a,0xc55f5ea,0x1dadf43e,0x233f7061,
30x3372f092,0x8d937e41,0xd65fecf1,0x6c223bdb,0x7cde3759,0xcbee7460,0x4085f2a7,0xce77326e,0xa6078084,0x19f8509e,0xe8efd855,0x61d99735,0xa969a7aa,0xc50c06c2,0x5a04abfc,0x800bcadc,0x9e447a2e,0xc3453484,0xfdd56705,0xe1e9ec9,0xdb73dbd3,0x105588cd,0x675fda79,0xe3674340,0xc5c43465,0x713e38d8,0x3d28f89e,0xf16dff20,0x153e21e7,0x8fb03d4a,0xe6e39f2b,0xdb83adf7],[0xe93d5a68,0x948140f7,0xf64c261c,0x94692934,0x411520f7,0x7602d4f7,0xbcf46b2e,0xd4a20068,0xd4082471,0x3320f46a,0x43b7d4b7,0x500061af,0x1e39f62e,0x97244546,0x14214f74,0xbf8b8840,0x4d95fc1d,0x96b591af,0x70f4ddd3,0x66a02f45,0xbfbc09ec,0x3bd9785,0x7fac6dd0,0x31cb8504,0x96eb27b3,0x55fd3941,0xda2547e6,0xabca0a9a,0x28507825,0x530429f4,0xa2c86da,0xe9b66dfb,0x68dc1462,0xd7486900,0x680ec0a4,0x27a18dee,0x4f3ffea2,0xe887ad8c,0xb58ce006,0x7af4d6b6,0xaace1e7c,0xd3375fec,0xce78a399,0x406b2a42,0x20fe9e35,0xd9f385b9,0xee39d7ab,0x3b124e8b,0x1dc9faf7,0x4b6d1856,0x26a36631,0xeae397b2,0x3a6efa74,0xdd5b4332,0x6841e7f7,0xca7820fb,0xfb0af54e,0xd8feb397,0x454056ac,0xba489527,0x55533a3a,0x20838d87,0xfe6ba9b7,0xd096954b,0x55a867bc,0xa1159a58,0xcca92963,0x99e1db33,0xa62a4a56,0x3f3125f9,0x5ef47e1c,0x9029317c,0xfdf8e802,0x4272f70,0x80bb155c,0x5282ce3,0x95c11548,0xe4c66d22,0x48c1133f,0xc70f86dc,0x7f9c9ee,0x41041f0f,0x404779a4,0x5d88
36e17,0x325f51eb,0xd59bc0d1,0xf2bcc18f,0x41113564,0x257b7834,0x602a9c60,0xdff8e8a3,0x1f636c1b,0xe12b4c2,0x2e1329e,0xaf664fd1,0xcad18115,0x6b2395e0,0x333e92e1,0x3b240b62,0xeebeb922,0x85b2a20e,0xe6ba0d99,0xde720c8c,0x2da2f728,0xd0127845,0x95b794fd,0x647d0862,0xe7ccf5f0,0x5449a36f,0x877d48fa,0xc39dfd27,0xf33e8d1e,0xa476341,0x992eff74,0x3a6f6eab,0xf4f8fd37,0xa812dc60,0xa1ebddf8,0x991be14c,0xdb6e6b0d,0xc67b5510,0x6d672c37,0x2765d43b,0xdcd0e804,0xf1290dc7,0xcc00ffa3,0xb5390f92,0x690fed0b,0x667b9ffb,0xcedb7d9c,0xa091cf0b,0xd9155ea3,0xbb132f88,0x515bad24,0x7b9479bf,0x763bd6eb,0x37392eb3,0xcc115979,0x8026e297,0xf42e312d,0x6842ada7,0xc66a2b3b,0x12754ccc,0x782ef11c,0x6a124237,0xb79251e7,0x6a1bbe6,0x4bfb6350,0x1a6b1018,0x11caedfa,0x3d25bdd8,0xe2e1c3c9,0x44421659,0xa121386,0xd90cec6e,0xd5abea2a,0x64af674e,0xda86a85f,0xbebfe988,0x64e4c3fe,0x9dbc8057,0xf0f7c086,0x60787bf8,0x6003604d,0xd1fd8346,0xf6381fb0,0x7745ae04,0xd736fccc,0x83426b33,0xf01eab71,0xb0804187,0x3c005e5f,0x77a057be,0xbde8ae24,0x55464299,0xbf582e61,0x4e58f48f,0xf2ddfda2,0xf474ef38,0x8789bdc2,0x5366f9c3,0xc8b38e74,0xb475f255,0x46fcd9b9,0x7aeb2661,0x8b1ddf84,0x846a0e79,0x915f95e2,0x466e598e,0x20b45770,0x8cd55591,0xc902de4c,0xb90bace1,0xbb8205d0,0x11a86248,0x7574a99e,0xb77f19b6,0xe0a9dc09,0x662d09a1,0xc4324633,0xe85a1f02,0x9f0be8c,0x4a99a025,0x1d6efe10,0x1ab93d1d,0xba5a4df,0xa186f20f,0x2868f169,0xdcb7da83,0x573906fe,0xa1e2ce9b,0x4fcd7f52,0x50115e01,0xa70683fa,0xa002b5c4,0xde6d027,0x9af88c27,0x773f8641,0xc3604c06,0x61a806b5,0xf0177a28,0xc0f586e0,6314154,0x30dc7d62,0x11e69ed7,0x2338ea63,0x53c2dd94,0xc2c21634,0xbbcbee56,0x90bcb6de,0xebfc7da1,0xce591d76,0x6f05e409,0x4b7c0188,0x39720a3d,0x7c927c24,0x86e3725f,0x724d9db9,0x1ac15bb4,0xd39eb8fc,0xed545578,0x8fca5b5,0xd83d7cd3,0x4dad0fc4,0x1e50ef5e,0xb161e6f8,0xa28514d9,0x6c51133c,0x6fd5c7e7,0x56e14ec4,0x362abfce,0xddc6c837,0xd79a3234,0x92638212,0x670efa8e,0x406000e0],[0x3a39ce37,0xd3faf5cf,0xabc27737,0x5ac52d1b,0x5cb0679e,0x4fa33742,0xd3822740,0x99bc9bbe,0xd5118e9d,0xbf0f7315,0xd62d1c7e,0xc700c47b,0xb78c1b6b,0x21a19045,0xb26eb1be,0x6a366eb4,0x5748ab2f,0xbc946e79,0xc6a376d2,0x6549c2c8,0x530ff8ee,0x468dde7d,0xd5730a1d,0x4cd04dc6,0x2939bbdb,0xa9ba4650,0xac9526e8,0xbe5ee304,0xa1fad5f0,0x6a2d519a,0x63ef8ce2,0x9a86ee22,0xc089c2b8,0x43242ef6,0xa51e03aa,0x9cf2d0a4,0x83c061ba,0x9be96a4d,0x8fe51550,0xba645bd6,0x2826a2f9,0xa73a3ae1,0x4ba99586,0xef5562e9,0xc72fefd3,0xf752f7da,0x3f046f69,0x77fa0a59,0x80e4a915,0x87b08601,0x9b09e6ad,0x3b3ee593,0xe990fd5a,0x9e34d797,0x2cf0b7d9,0x22b8b51,0x96d5ac3a,0x17da67d,0xd1cf3ed6,0x7c7d2d28,0x1f9f25cf,0xadf2b89b,0x5ad6b472,0x5a88f54c,0xe029ac71,0xe019a5e6,0x47b0acfd,0xed93fa9b,0xe8d3c48d,0x283b57cc,0xf8d56629,0x79132e28,0x785f0191,0xed756055,0xf7960e44,0xe3d35e8c,0x15056dd4,0x88f46dba,0x3a16125,0x564f0bd,0xc3eb9e15,0x3c9057a2,0x97271aec,0xa93a072a,0x1b3f6d9b,0x1e6321f5,0xf59c66fb,0x26dcf319,0x7533d928,0xb155fdf5,0x3563482,0x8aba3cbb,0x28517711,0xc20ad9f8,0xabcc5167,0xccad925f,0x4de81751,0x3830dc8e,0x379d5862,0x9320f991,0xea7a90c2,0xfb3e7bce,0x5121ce64,0x774fbe32,0xa8b6e37e,0xc3293d46,0x48de5369,0x6413e680,0xa2ae0810,0xdd6db224,0x69852dfd,0x9072166,0xb39a460a,0x6445c0dd,0x586cdecf,0x1c20c8ae,0x5bbef7dd,0x1b588d40,0xccd2017f,0x6bb4e3bb,0xdda26a7e,0x3a59ff45,0x3e350a44,0xbcb4cdd5,0x72eacea8,0xfa6484bb,0x8d6612ae,0xbf3c6f47,0xd29be463,0x542f5d9e,0xaec2771b,0xf64e6370,0x740e0d8d,0xe75b1357,0xf8721671,0xaf537d5d,0x4040cb08,0x4eb4e2cc,0x34d2466a,0x115af84,3786409e3,0x95983a1d,0x6b89fb4,0xce6ea048,0x6f3f3b82,0x3520ab82,0x11a1d4b,0x277227f8,0x611560b1,0xe7933fdc,0xbb3a792b,0x344525bd,0xa08839e1,0x51ce794b,0x2f32c9b7,0xa01fbac9,0xe01cc87e,0xbcc7d1f6,0xcf0111c3,0xa1e8aac7,0x1a908749,0xd44fbd9a,0xd0dadecb,0xd50ada38,0x339c32a,0xc6913667,0x8df9317c,0xe0b12b4f,0xf79e59b7,0x43f5bb3a,0xf2d519ff,0x27d9459c,0xbf97222c,0x15e6fc2a,0xf91fc71,0x9b941525,0xfae59361,0xceb69ceb,0xc2a86459,0x12baa8d1,0xb6c1075e,0xe3056a0c,0x10d25065,0xcb03a442,0xe0ec6e0e,0x1698db3b,0x4c98a0be,0x3278e964,0x9f1f9532,0xe0d392df,0xd3a0342b,0x8971f21e,0x1b0a7441,0x4ba3348c,0xc5be7120,0xc37632d8,0xdf359f8d,0x9b992f2e,0xe60b6f47,0xfe3f11d,0xe54cda54,0x1edad891,0xce6279cf,0xcd3e7e6f,0x1618b166,0xfd2c1d05,0x848fd2c5,0xf6fb2299,0xf523f357,0xa6327623,0x93a83531,0x56cccd02,0xacf08162,0x5a75ebb5,0x6e163697,0x88d273cc,0xde966292,0x81b949d0,0x4c50901b,0x71c65614,0xe6c6c7bd,0x327a140a,0x45e1d006,0xc3f27b9a,0xc9aa53fd,0x62a80f00,0xbb25bfe2,0x35bdd2f6,0x71126905,0xb2040222,0xb6cbcf7c,0xcd769c2b,0x53113ec0,0x1640e3d3,0x38abbd60,0x2547adf0,0xba38209c,0xf746ce76,0x77afa1c5,0x20756060,0x85cbfe4e,0x8ae88dd8,0x7aaaf9b0,0x4cf9aa7e,0x1948c25c,0x2fb8a8c,0x1c36ae4,0xd6ebe1f9,0x90d4f869,0xa65cdea0,0x3f09252d,0xc208e69f,0xb74e6132,0xce77e25b,0x578fdfe3,0x3ac372e6]],om.prototype.PARRAY=[0x243f6a88,0
3x85a308d3,0x13198a2e,0x3707344,0xa4093822,0x299f31d0,0x82efa98,0xec4e6c89,0x452821e6,0x38d01377,0xbe5466cf,0x34e90c6c,0xc0ac29b7,0xc97c50dd,0x3f84d5b5,0xb5470917,0x9216d5d9,0x8979fb1b],om.prototype.NN=16,om.prototype._clean=function(e){return e<0&&(e=(0x7fffffff&e)+0x80000000),e},om.prototype._F=function(e){let t=255&e,r=255&(e>>>=8),a=255&(e>>>=8),i=255&(e>>>=8);return(this.sboxes[0][i]+this.sboxes[1][a]^this.sboxes[2][r])+this.sboxes[3][t]},om.prototype._encryptBlock=function(e){let t,r=e[0],a=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],a=this._F(r)^a;let e=r;r=a,a=e}r^=this.parray[this.NN+0],a^=this.parray[this.NN+1],e[0]=this._clean(a),e[1]=this._clean(r)},om.prototype.encryptBlock=function(e){let t,r=[0,0],a=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+a];this._encryptBlock(r);let i=[];for(t=0;t<this.BLOCKSIZE/2;++t)i[t+0]=r[0]>>>24-8*t&255,i[t+a]=r[1]>>>24-8*t&255;return i},om.prototype._decryptBlock=function(e){let t,r=e[0],a=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],a=this._F(r)^a;let e=r;r=a,a=e}r^=this.parray[1],a^=this.parray[0],e[0]=this._clean(a),e[1]=this._clean(r)},om.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let a=0;for(let t=0;t<4;++t)a=a<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^a}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];let a=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(a),this.parray[t+0]=a[0],this.parray[t+1]=a[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(a),this.sboxes[t][r+0]=a[0],this.sboxes[t][r+1]=a[1]},oE.keySize=oE.prototype.keySize=16,oE.blockSize=oE.prototype.blockSize=8;var ok=Object.freeze({__proto__:null,legacyCiphers:new Map(Object.entries({tripledes:oh,cast5:ob,twofish:ow,blowfish:oE}))});function ov(e,t,r,a){e[t]+=r[a],e[t+1]+=r[a+1]+(e[t]<r[a])}function oI(e,t){e[0]+=t,e[1]+=e[0]<t}function oB(e,t,r,a,i,n,s,c){ov(e,r,e,a),ov(e,r,t,s);let f=e[n]^e[r],o=e[n+1]^e[r+1];e[n]=o,e[n+1]=f,ov(e,i,e,n),f=e[a]^e[i],o=e[a+1]^e[i+1],e[a]=f>>>24^o<<8,e[a+1]=o>>>24^f<<8,ov(e,r,e,a),ov(e,r,t,c),f=e[n]^e[r],o=e[n+1]^e[r+1],e[n]=f>>>16^o<<16,e[n+1]=o>>>16^f<<16,ov(e,i,e,n),f=e[a]^e[i],o=e[a+1]^e[i+1],e[a]=o>>>31^f<<1,e[a+1]=f>>>31^o<<1}let oS=new Uint32Array([0xf3bcc908,0x6a09e667,0x84caa73b,0xbb67ae85,0xfe94f82b,0x3c6ef372,0x5f1d36f1,0xa54ff53a,0xade682d1,0x510e527f,0x2b3e6c1f,0x9b05688c,0xfb41bd6b,0x1f83d9ab,0x137e2179,0x5be0cd19]),oC=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(e=>2*e));function oK(e,t){let r=new Uint32Array(32),a=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=oS[t];r[24]^=e.t0[0],r[25]^=e.t0[1];let i=0xffffffff*!!t;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){let t=e<<4;oB(r,a,0,8,16,24,oC[t+0],oC[t+1]),oB(r,a,2,10,18,26,oC[t+2],oC[t+3]),oB(r,a,4,12,20,28,oC[t+4],oC[t+5]),oB(r,a,6,14,22,30,oC[t+6],oC[t+7]),oB(r,a,0,10,20,30,oC[t+8],oC[t+9]),oB(r,a,2,12,22,24,oC[t+10],oC[t+11]),oB(r,a,4,14,16,26,oC[t+12],oC[t+13]),oB(r,a,6,8,18,28,oC[t+14],oC[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class oD{constructor(e,t,r,a){const i=new Uint8Array(64);this.S={b:new Uint8Array(oQ),h:new Uint32Array(oP/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),a&&i.set(a,48);const n=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=oS[e]^n[e];if(t){const e=new Uint8Array(oQ);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw Error("Input must be Uint8Array or Buffer");let t=0;for(;t<e.length;){this.S.c===oQ&&(oI(this.S.t0,this.S.c),oK(this.S,!1),this.S.c=0);let r=oQ-this.S.c;this.S.b.set(e.subarray(t,t+r),this.S.c);let a=Math.min(r,e.length-t);this.S.c+=a,t+=a}return this}
3digest(e){oI(this.S.t0,this.S.c),this.S.b.fill(0,this.S.c),this.S.c=oQ,oK(this.S,!0);let t=e||new Uint8Array(this.S.outlen);for(let e=0;e<this.S.outlen;e++)t[e]=this.S.h[e>>2]>>8*(3&e);return this.S.h=null,t.buffer}}function oU(e,t,r,a){if(e>oP)throw Error(`outlen must be at most ${oP} (given: ${e})`);return new oD(e,t,r,a)}let oP=64,oQ=128,oR=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function oM(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function oL(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw Error("LE64: large numbers unsupported");let a=t;for(let t=r;t<r+7;t++)e[t]=a,a=(a-e[t])/256;return e}function oF(e,t,r){let a=new Uint8Array(64),i=new Uint8Array(4+t.length);if(oM(i,e,0),i.set(t,4),e<=64)return oU(e).update(i).digest(r),r;let n=Math.ceil(e/32)-2;for(let e=0;e<n;e++)oU(64).update(0===e?i:a).digest(a),r.set(a.subarray(0,32),32*e);let s=new Uint8Array(oU(e-32*n).update(a).digest());return r.set(s,32*n),r}function oN(e,t,r,a){return e.fn.XOR(t.byteOffset,r.byteOffset,a.byteOffset),t}async function oT(e,t){let r=new WebAssembly.Memory({initial:1040,maximum:65536}),a=await async function(e,t,r){let a={env:{memory:e}};if(void 0===n)try{let e=await t(a);return n=!0,e}catch(e){n=!1}return(n?t:r)(a)}(r,e,t);return e=>(function(e,{memory:t,instance:r}){var a,i;let n,s,c,f;if(!oR)throw Error("BigEndian system not supported");let o=function({type:e,version:t,tagLength:r,password:a,salt:i,ad:n,secret:s,parallelism:c,memorySize:f,passes:o}){let l=(e,t,r,a)=>{if(t<r||t>a)throw Error(`${e} size should be between ${r} and ${a} bytes`)};if(2!==e||19!==t)throw Error("Unsupported type or version");return l("password",a,8,0xffffffff),l("salt",i,8,0xffffffff),l("tag",r,4,0xffffffff),l("memory",f,8*c,0xffffffff),n&&l("associated data",n,0,0xffffffff),s&&l("secret",s,0,32),{type:e,version:t,tagLength:r,password:a,salt:i,ad:n,secret:s,lanes:c,memorySize:f,passes:o}}({type:2,version:19,...e}),{G:l,G2:d,xor:u,getLZ:h}=r.exports,x={},b={};b.G=l,b.G2=d,b.XOR=u;let y=4*o.lanes*Math.floor(o.memorySize/(4*o.lanes)),g=1024*y+10240;if(t.buffer.byteLength<g){let e=Math.ceil((g-t.buffer.byteLength)/65536);t.grow(e)}let p=0;x.gZ=new Uint8Array(t.buffer,p,1024),p+=x.gZ.length,x.prngR=new Uint8Array(t.buffer,p,1024),p+=x.prngR.length,x.prngTmp=new Uint8Array(t.buffer,p,1024),p+=x.prngTmp.length,x.ZERO1024=new Uint8Array(t.buffer,p,1024),p+=x.ZERO1024.length;let A=new Uint32Array(t.buffer,p,2);p+=A.length*Uint32Array.BYTES_PER_ELEMENT;let w={fn:b,refs:x},m=new Uint8Array(t.buffer,p,1024);p+=m.length;let E=new Uint8Array(t.buffer,p,1024*o.memorySize),k=new Uint8Array(t.buffer,0,p),v=(n=oU(64),s=new Uint8Array(4),oM(c=new Uint8Array(24),o.lanes,0),oM(c,o.tagLength,4),oM(c,o.memorySize,8),oM(c,o.passes,12),oM(c,o.version,16),oM(c,o.type,20),f=[c],o.password?(f.push(oM(new Uint8Array(4),o.password.length,0)),f.push(o.password)):f.push(s),o.salt?(f.push(oM(new Uint8Array(4),o.salt.length,0)),f.push(o.salt)):f.push(s),o.secret?(f.push(oM(new Uint8Array(4),o.secret.length,0)),f.push(o.secret)):f.push(s),o.ad?(f.push(oM(new Uint8Array(4),o.ad.length,0)),f.push(o.ad)):f.push(s),n.update(function(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!(e[r]instanceof Uint8Array))throw Error("concatArrays: Data must be in the form of a Uint8Array");t+=e[r].length}let r=new Uint8Array(t),a=0;return e.forEach(e=>{r.set(e,a),a+=e.length}),r}(f)),new Uint8Array(n.digest())),I=y/o.lanes,B=Array(o.lanes).fill(null).map(()=>Array(I)),S=(e,t)=>(B[e][t]=E.subarray(e*I*1024+1024*t,e*I*1024+1024*t+1024),B[e][t]);for(let e=0;e<o.lanes;e++){let t=new Uint8Array(v.length+8);t.set(v),oM(t,0,v.length),oM(t,e,v.length+4),oF(1024,t,S(e,0)),oM(t,1,v.length),oF(1024,t,S(e,1))}let C=I/4;for(let e=0;e<o.passes;e++)for(let t=0;t<4;t++){let r=0===e&&t<=1;for(let n=0;n<o.lanes;n++){let s=2*(0===t&&0===e),c=r?function*(e,t,r,a,i,n,s,c){e.refs.prngTmp.fill(0);let f=e.refs.prngTmp.subarray(0,48);oL(f,t,0),oL(f,r,8),oL(f,a,16),oL(f,i,24),oL(f,n,32),oL(f,2,40);for(let t=1;t<=s;t++){var o,l,d;oL(e.refs.prngTmp,t,f.length);let r=(o=e.refs.ZERO1024,l=e.refs.prngTmp,d=e.refs.prngR,e.fn.G2(o.byteOffset,l.byteOffset,d.byteOffset,e.refs.gZ.byteOffset),d);for(let e=1===t?8*c:0;e<r.length;e+=8)yield r.subarray(e,e+8)}return[]}(w,e,n,t,y,o.passes,C,s):null;for(;s<C;s++){let f=t*C+s,l=f>0?B[n][f-1]:B[n][I-1],d=r?c.next().value:l;h(A.byteOffset,d.byteOffset,n,o.lanes,e,t,s,4,C);let u=A[0],x=A[1];0===e&&S(n,f),a=B[u][x],i=e>0?m:B[n][f],w.fn.G(l.byteOffset,a.byteOffset,i.byteOffset,w.refs.gZ.byteOffset),e>0&&oN(w,B[n][f],m,B[n][f])}}}let K=B[0][I-1];for(let e=1;e<o.lanes;e++)oN(w,K,K,B[e][I-1]);let D=oF(o.tagLength,K,new Uint8Array(o.tagLength));return k.fill(0),t.grow(0),D})(e,{instance:a.instance,memory:r})}function oO(e,t,r,a){var i,n,s,c=null,f=b.atob(r),o=f.length;c=new Uint8Array(new ArrayBuffer(o));for(var l=0;l<o;l++)c[l]=f.charCodeAt(l);return i=c,n=WebAssembly.instantiate,s=WebAssembly.compile,a?n(i,a):s(i)}var oH,oG,oz,o_,oq,oj,oV,oY,oZ,oJ=Object.freeze({__proto__:null,default:async()=>oT(e=>oO
vendor: 5,896 bytes, line 3
3(0,0,"AGFzbQEAAAABKwdgBH9/f38AYAABf2AAAGADf39/AGAJf39/f39/f39/AX9gAX8AYAF/AX8CEwEDZW52Bm1lbW9yeQIBkAiAgAQDCgkCAwAABAEFBgEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwACAkcyAAMFZ2V0TFoABBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAgJc3RhY2tTYXZlAAUMc3RhY2tSZXN0b3JlAAYKc3RhY2tBbGxvYwAHCQcBAEEBCwEACs0gCQMAAQtYAQJ/A0AgACAEQQR0IgNqIAIgA2r9AAQAIAEgA2r9AAQA/VH9CwQAIAAgA0EQciIDaiACIANq/QAEACABIANq/QAEAP1R/QsEACAEQQJqIgRBwABHDQALC7ceAgt7A38DQCADIBFBBHQiD2ogASAPav0ABAAgACAPav0ABAD9USIF/QsEACACIA9qIAX9CwQAIAMgD0EQciIPaiABIA9q/QAEACAAIA9q/QAEAP1RIgX9CwQAIAIgD2ogBf0LBAAgEUECaiIRQcAARw0ACwNAIAMgEEEHdGoiAEEQaiAA/QAEcCAA/QAEMCIFIAD9AAQQIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEUCIG/c4BIAkgCf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAX9USIFQSj9ywEgBUEY/c0B/VAiCCAE/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAEIAT9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAogCf1RIgVBMP3LASAFQRD9zQH9UCIFIAb9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCP1RIgRBAf3LASAEQT/9zQH9UCIMIAD9AARgIAD9AAQgIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIABBQGsiAf0ABAAiB/3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiByAE/VEiBEEo/csBIARBGP3NAf1QIgsgBv3OASALIAv9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAI/VEiBEEw/csBIARBEP3NAf1QIgQgB/3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAL/VEiB0EB/csBIAdBP/3NAf1QIg0gDf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eHyIH/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/VEiC0Eg/csBIAtBIP3NAf1QIgsgCP3OASALIAv9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAH/VEiB0Eo/csBIAdBGP3NAf1QIgcgCv3OASAHIAf9DQABAgMICQoLAAECAwgJCgsgCiAK/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiDv0LBAAgACAGIA0gDCAM/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgr9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgYgBSAEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USIFQSD9ywEgBUEg/c0B/VAiBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAr9USIEQSj9ywEgBEEY/c0B/VAiCiAG/c4BIAogCv0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAQgBf1RIgVBMP3LASAFQRD9zQH9UCIFIA4gC/1RIgRBMP3LASAEQRD9zQH9UCIEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRgIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRwIAEgBCAI/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAUgCf3OASAFIAX9DQABAgMICQoLAAECAwgJCgsgCSAJ/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCf0LBFAgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEICAAIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEMCAQQQFqIhBBCEcNAAtBACEQA0AgAyAQQQR0aiIAQYABaiAA/QAEgAcgAP0ABIADIgUgAP0ABIABIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEgAUiBv3OASAJIAn9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAF/VEiBUEo/csBIAVBGP3NAf1QIgggBP3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgBCAE/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCiAKIAn9USIFQTD9ywEgBUEQ/c0B/VAiBSAG/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAj9USIEQQH9ywEgBEE//c0B/VAiDCAA/QAEgAYgAP0ABIACIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIAD9AASABCIH/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIHIAT9USIEQSj9ywEgBEEY/c0B/VAiCyAG/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAj9USIEQTD9ywEgBEEQ/c0B/VAiBCAH/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAv9USIHQQH9ywEgB0E//c0B/VAiDSAN/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgf9zgEgByAH/Q0AAQIDCAkKCwABAgMICQoLIAogCv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgogBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USILQSD9ywEgC0Eg/c0B/VAiCyAI/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAf9USIHQSj9ywEgB0EY/c0B/VAiByAK/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIO/QsEACAAIAYgDSAMIAz9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh8iCv3OASAKIAr9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAFIAQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/1RIgVBIP3LASAFQSD9zQH9UCIFIAn9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAkgCf0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCv1RIgRBKP3LASAEQRj9zQH9UCIKIAb9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9CwQAIAAgBCAF/VEiBUEw/csBIAVBEP3NAf1QIgUgDiAL/VEiBEEw/csBIARBEP3NAf1QIgQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIAGIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwSAByAAIAQgCP3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBP0LBIAEIAAgBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJ/QsEgAUgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEgAIgACAEIAUgBf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIADIBBBAWoiEEEIRw0AC0EAIRADQCACIBBBBHQiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACACIABBEHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBIHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBMHIiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACAQQQRqIhBBwABHDQALCxYAIAAgASACIAMQAiAAIAIgAiADEAILewIBfwF+IAIhCSABNQIAIQogBCAFcgRAIAEoAgQgA3AhCQsgACAJNgIAIAAgB0EBayAFIAQbIAhsIAZBAWtBAEF/IAYbIAIgCUYbaiIBIAVBAWogCGxBACAEG2ogAa0gCiAKfkIgiH5CIIinQX9zaiAHIAhscDYCBCAACwQAIwALBgAgACQACxAAIwAgAGtBcHEiACQAIAALBQBBgAgL",
3e),e=>oO(0,0,"
vendor: 4,892 bytes, line 3
3AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==
3",e))}),oW=Object.freeze({__proto__:null,default:(l=function(){if(oZ)return oY;oZ=1;let e=function(){if(oq)return o_;function e(e){this.name="Bzip2Error",this.message=e,this.stack=Error().stack}oq=1,e.prototype=Error();var t=function(t){throw new e(t)},r={};return r.Bzip2Error=e,r.crcTable=[0,0x4c11db7,0x9823b6e,0xd4326d9,0x130476dc,0x17c56b6b,0x1a864db2,0x1e475005,0x2608edb8,0x22c9f00f,0x2f8ad6d6,0x2b4bcb61,0x350c9b64,0x31cd86d3,0x3c8ea00a,0x384fbdbd,0x4c11db70,0x48d0c6c7,0x4593e01e,0x4152fda9,0x5f15adac,0x5bd4b01b,0x569796c2,0x52568b75,0x6a1936c8,0x6ed82b7f,0x639b0da6,0x675a1011,0x791d4014,0x7ddc5da3,0x709f7b7a,0x745e66cd,0x9823b6e0,0x9ce2ab57,0x91a18d8e,0x95609039,0x8b27c03c,0x8fe6dd8b,0x82a5fb52,0x8664e6e5,0xbe2b5b58,0xbaea46ef,0xb7a96036,0xb3687d81,0xad2f2d84,0xa9ee3033,0xa4ad16ea,0xa06c0b5d,0xd4326d90,0xd0f37027,0xddb056fe,0xd9714b49,0xc7361b4c,0xc3f706fb,0xceb42022,0xca753d95,0xf23a8028,0xf6fb9d9f,0xfbb8bb46,0xff79a6f1,0xe13ef6f4,0xe5ffeb43,0xe8bccd9a,0xec7dd02d,0x34867077,0x30476dc0,0x3d044b19,0x39c556ae,0x278206ab,0x23431b1c,0x2e003dc5,0x2ac12072,0x128e9dcf,0x164f8078,0x1b0ca6a1,0x1fcdbb16,0x18aeb13,0x54bf6a4,0x808d07d,0xcc9cdca,0x7897ab07,0x7c56b6b0,0x71159069,0x75d48dde,0x6b93dddb,0x6f52c06c,0x6211e6b5,0x66d0fb02,0x5e9f46bf,0x5a5e5b08,0x571d7dd1,0x53dc6066,0x4d9b3063,0x495a2dd4,0x44190b0d,0x40d816ba,0xaca5c697,0xa864db20,0xa527fdf9,0xa1e6e04e,0xbfa1b04b,0xbb60adfc,0xb6238b25,0xb2e29692,0x8aad2b2f,0x8e6c3698,0x832f1041,0x87ee0df6,0x99a95df3,0x9d684044,0x902b669d,0x94ea7b2a,0xe0b41de7,0xe4750050,0xe9362689,0xedf73b3e,0xf3b06b3b,0xf771768c,0xfa325055,0xfef34de2,0xc6bcf05f,0xc27dede8,0xcf3ecb31,0xcbffd686,0xd5b88683,0xd1799b34,0xdc3abded,0xd8fba05a,0x690ce0ee,0x6dcdfd59,0x608edb80,0x644fc637,0x7a089632,0x7ec98b85,0x738aad5c,0x774bb0eb,0x4f040d56,0x4bc510e1,0x46863638,0x42472b8f,0x5c007b8a,0x58c1663d,0x558240e4,0x51435d53,0x251d3b9e,0x21dc2629,0x2c9f00f0,0x285e1d47,0x36194d42,0x32d850f5,0x3f9b762c,0x3b5a6b9b,0x315d626,0x7d4cb91,0xa97ed48,0xe56f0ff,0x1011a0fa,0x14d0bd4d,0x19939b94,0x1d528623,0xf12f560e,0xf5ee4bb9,0xf8ad6d60,0xfc6c70d7,0xe22b20d2,0xe6ea3d65,0xeba91bbc,0xef68060b,0xd727bbb6,0xd3e6a601,0xdea580d8,0xda649d6f,0xc423cd6a,0xc0e2d0dd,0xcda1f604,0xc960ebb3,0xbd3e8d7e,0xb9ff90c9,0xb4bcb610,0xb07daba7,0xae3afba2,0xaafbe615,0xa7b8c0cc,0xa379dd7b,0x9b3660c6,0x9ff77d71,0x92b45ba8,0x9675461f,0x8832161a,0x8cf30bad,0x81b02d74,0x857130c3,0x5d8a9099,0x594b8d2e,0x5408abf7,0x50c9b640,0x4e8ee645,0x4a4ffbf2,0x470cdd2b,0x43cdc09c,0x7b827d21,0x7f436096,0x7200464f,0x76c15bf8,0x68860bfd,0x6c47164a,0x61043093,0x65c52d24,0x119b4be9,0x155a565e,0x18197087,0x1cd86d30,0x29f3d35,0x65e2082,0xb1d065b,0xfdc1bec,0x3793a651,0x3352bbe6,0x3e119d3f,0x3ad08088,0x2497d08d,0x2056cd3a,0x2d15ebe3,0x29d4f654,0xc5a92679,0xc1683bce,0xcc2b1d17,0xc8ea00a0,0xd6ad50a5,0xd26c4d12,0xdf2f6bcb,0xdbee767c,0xe3a1cbc1,0xe760d676,0xea23f0af,0xeee2ed18,0xf0a5bd1d,0xf464a0aa,0xf9278673,0xfde69bc4,0x89b8fd09,0x8d79e0be,0x803ac667,0x84fbdbd0,0x9abc8bd5,0x9e7d9662,0x933eb0bb,0x97ffad0c,0xafb010b1,0xab710d06,0xa6322bdf,0xa2f33668,0xbcb4666d,0xb8757bda,0xb5365d03,0xb1f740b4],r.array=function(e){var t=0,r=0,a=[0,1,3,7,15,31,63,127,255];return function(i){for(var n=0;i>0;){var s=8-t;i>
3=s?(n<<=s,n|=a[s]&e[r++],t=0,i-=s):(n<<=i,n|=(e[r]&a[i]<<8-i-t)>>8-i-t,t+=i,i=0)}return n}},r.simple=function(e,t){var a=r.array(e),i=!1,n=1e5*r.header(a),s=new Int32Array(n);do i=r.decompress(a,t,s,n);while(!i)},r.header=function(e){this.byteCount=new Int32Array(256),this.symToByte=new Uint8Array(256),this.mtfSymbol=new Int32Array(256),this.selectors=new Uint8Array(32768),4348520!=e(24)&&t("No magic number found");var r=e(8)-48;return(r<1||r>9)&&t("Not a BZIP archive"),r},r.decompress=function(e,r,a,i,n){for(var s=-1,c="",f=0;f<6;f++)c+=e(8).toString(16);if("177245385090"==c)return(0|e(32))!==n&&t("Error in bzip2: crc32 do not match"),e(null),null;"314159265359"!=c&&t("Invalid bzip data");var o=0|e(32);e(1)&&t("unsupported obsolete version");var l=e(24);l>i&&t("Initial position larger than buffer size");var d=e(16),u=0;for(f=0;f<16;f++)if(d&1<<15-f){var h=e(16);for(y=0;y<16;y++)h&1<<15-y&&(this.symToByte[u++]=16*f+y)}var x=e(3);(x<2||x>6)&&t("Invalid bzip data");var b=e(15);for(0==b&&t("Invalid bzip data"),f=0;f<x;f++)this.mtfSymbol[f]=f;for(f=0;f<b;f++){for(var y=0;e(1);y++)y>=x&&t("Invalid bzip data");var g=this.mtfSymbol[y];for(h=y-1;h>=0;h--)this.mtfSymbol[h+1]=this.mtfSymbol[h];this.mtfSymbol[0]=g,this.selectors[f]=g}var p,A,w,m,E=u+2,k=[],v=new Uint8Array(258),I=new Uint16Array(21);for(y=0;y<x;y++){for(d=e(5),f=0;f<E;f++){for(;(d<1||d>20)&&t("Invalid bzip data"),e(1);)e(1)?d--:d++;v[f]=d}for(B=S=v[0],f=1;f<E;f++)v[f]>S?S=v[f]:v[f]<B&&(B=v[f]);(p=k[y]={}).permute=new Int32Array(258),p.limit=new Int32Array(21),p.base=new Int32Array(21),p.minLen=B,p.maxLen=S;var B,S,C=p.base,K=p.limit,D=0;for(f=B;f<=S;f++)for(d=0;d<E;d++)v[d]==f&&(p.permute[D++]=d);for(f=B;f<=S;f++)I[f]=K[f]=0;for(f=0;f<E;f++)I[v[f]]++;for(D=d=0,f=B;f<S;f++)D+=I[f],K[f]=D-1,D<<=1,C[f+1]=D-(d+=I[f]);K[S]=D+I[S]-1,C[B]=0}for(f=0;f<256;f++)this.mtfSymbol[f]=f,this.byteCount[f]=0;for(A=w=E=m=0;;){for(E--||(E=49,m>=b&&t("Invalid bzip data"),C=(p=k[this.selectors[m++]]).base,K=p.limit),y=e(f=p.minLen);f>p.maxLen&&t("Invalid bzip data"),!(y<=K[f]);)f++,y=y<<1|e(1);((y-=C[f])<0||y>=258)&&t("Invalid bzip data");var U=p.permute[y];if(0!=U&&1!=U){if(A)for(A=0,w+d>i&&t("Invalid bzip data"),g=this.symToByte[this.mtfSymbol[0]],this.byteCount[g]+=d;d--;)a[w++]=g;if(U>u)break;for(w>=i&&t("Invalid bzip data"),f=U-1,g=this.mtfSymbol[f],h=f-1;h>=0;h--)this.mtfSymbol[h+1]=this.mtfSymbol[h];this.mtfSymbol[0]=g,g=this.symToByte[g],this.byteCount[g]++,a[w++]=g}else A||(A=1,d=0),d+=0==U?A:2*A,A<<=1}for((l<0||l>=w)&&t("Invalid bzip data"),y=0,f=0;f<256;f++)h=y+this.byteCount[f],this.byteCount[f]=y,y=h;for(f=0;f<w;f++)g=255&a[f],a[this.byteCount[g]]|=f<<8,this.byteCount[g]++;var P,Q,R,M=0,L=0,F=0;for(w&&(L=255&(M=a[l]),M>>=8,F=-1);w;){for(w--,Q=L,L=255&(M=a[M]),M>>=8,3==F++?(P=L,R=Q,L=-1):(P=1,R=L);P--;)s=s<<8^this.crcTable[255&(s>>24^R)],r(R);L!=Q&&(F=0)}return(0|(s=~s>>>0))!=(0|o)&&t("Error in bzip2: crc32 do not match"),s^(n<<1|n>>>31)},o_=r}(),t=function(){if(oV)return oj;oV=1;var e=[0,1,3,7,15,31,63,127,255];return oj=function(t){var r=0,a=0,i=t(),n=function(s){if(null===s&&0!=r)return r=0,void a++;for(var c=0;s>0;){a>=i.length&&(a=0,i=t());var f=8-r;0===r&&s>0&&n.bytesRead++,s>=f?(c<<=f,c|=e[f]&i[a++],r=0,s-=f):(c<<=s,c|=(i[a]&e[s]<<8-s-r)>>8-s-r,r+=s,s=0)}return c};return n.bytesRead=0,n}}();return oY=function(r){let a=[],i=0,n=0,s=!1,c=!1,f=null,o=null,l,d=0;return new ReadableStream({start(){l=r.getReader()},async pull(r){try{for(;;){for(;!(c||f&&i-f.bytesRead+1>=25e3+1e5*(n||4));){let{value:e,done:r}=await l.read();r?c=!0:(a.push(e),i+=e.length,null===f&&(f=t(function(){return a.shift()})))}for(;c?f&&i>f.bytesRead:f&&i-f.bytesRead+1>=25e3+1e5*(n||4);)if(function(t){if(!s)try{return function(t){if(n){let r=1e5*n,a=new Int32Array(r),i=[];return o=e.decompress(f,function(e){i.push(e)},a,r,o),null===o?(n=0,!1):(t(new Uint8Array(i)),!0)}return n=e.header(f),o=0,!1}(function(e){t.enqueue(e),null!==e&&(d+=e.length)})}catch(e){return t.error(e),s=!0,!0}}(r))return;if(c&&!s&&(!f||i<=f.bytesRead))return void(null===o?r.close():r.error(Error("input stream ended prematurely")))}}catch(e){r.error(e)}},async cancel(e){await l.abort(e)}},{highWaterMark:0})}}
3())&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l});let oX=new Map;async function o$(e){return(await ns({armoredKey:e})).getFingerprint().toUpperCase()}var o0=e.i(75157),o1=e.i(28893);function o2(e){let t,r,a,i,n,s,c,f,o=(0,u.c)(20),{promise:l,armoredKey:b,emailAddress:y,label:g,className:p}=e,A=(0,x.use)(l).replace(/(.{4})/g,"$1 ").trim().split(/\s+/),w=(0,h.useTranslations)(),m=A.slice(0,5).join(" "),E=A.slice(5).join(" ");o[0]!==b?(t=btoa(b),o[0]=b,o[1]=t):t=o[1];let k=`data:application/pgp-signature;base64,${t}`;o[2]!==p?(r=(0,o0.cn)(o1.default.publicKey,p),o[2]=p,o[3]=r):r=o[3],o[4]!==g||o[5]!==w?(a=g||w("prose.pgpKey"),o[4]=g,o[5]=w,o[6]=a):a=o[6],o[7]===Symbol.for("react.memo_cache_sentinel")?(i=(0,d.jsx)("br",{}),o[7]=i):i=o[7],o[8]===Symbol.for("react.memo_cache_sentinel")?(n=(0,d.jsx)("br",{}),o[8]=n):n=o[8],o[9]!==m||o[10]!==E?(s=(0,d.jsxs)("code",{children:[m,n,E]}),o[9]=m,o[10]=E,o[11]=s):s=o[11];let v=`${y}.pub.asc`;return o[12]!==k||o[13]!==v?(c=(0,d.jsx)("a",{download:v,href:k,children:"î PGP key"}),o[12]=k,o[13]=v,o[14]=c):c=o[14],o[15]!==r||o[16]!==a||o[17]!==s||o[18]!==c?(f=(0,d.jsxs)("p",{className:r,children:[a,":",i,s,c]}),o[15]=r,o[16]=a,o[17]=s,o[18]=c,o[19]=f):f=o[19],f}e.s(["PublicKey",0,function(e){let t,r,a,i,n,s,c,f=(0,u.c)(15);if(f[0]!==e?({armoredKey:t,fallback:r,...a}=e,f[0]=e,f[1]=t,f[2]=r,f[3]=a):(t=f[1],r=f[2],a=f[3]),f[4]!==t){var o;let e;o=t,(e=oX.get(o))||(e=o$(o).catch(e=>{throw oX.delete(o),Error(`Failed to extract fingerprint: ${e}`)}),oX.set(o,e)),i=e,f[4]=t,f[5]=i}else i=f[5];let l=i;return f[6]!==r?(n=r??(0,d.jsx)("span",{children:"Loading fingerprintâ¦"}),f[6]=r,f[7]=n):n=f[7],f[8]!==t||f[9]!==l||f[10]!==a?(s=(0,d.jsx)(o2,{promise:l,armoredKey:t,...a}),f[8]=t,f[9]=l,f[10]=a,f[11]=s):s=f[11],f[12]!==n||f[13]!==s?(c=(0,d.jsx)(x.Suspense,{fallback:n,children:s}),f[12]=n,f[13]=s,f[14]=c):c=f[14],c}],72618)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.