UNPKG

mima-kit

Version:

mima-kit is a cryptographic suite implemented in TypeScript. The goal is to provide an easy-to-use cryptographic library. mima-kit 是一个使用 TypeScript 实现的密码学套件。目标是提供一个简单易用的密码学库。

1 lines 149 kB
"use strict";function h$6(t,n1,t1){function e1(F1){return typeof F1=="string"?t(F1):n1(F1)}return wrap(e1,{FORMAT:t1})}function d$9(t){const n1=[];for(let t1=0;t1<t.length;t1++){const e1=t.codePointAt(t1);e1!==void 0&&(e1<128?n1.push(e1):e1<2048?(n1.push(192|e1>>6),n1.push(128|e1&63)):e1<65536?(n1.push(224|e1>>12),n1.push(128|e1>>6&63),n1.push(128|e1&63)):e1<1114112&&(n1.push(240|e1>>18),n1.push(128|e1>>12&63),n1.push(128|e1>>6&63),n1.push(128|e1&63),t1++))}return U8.from(n1)}function m$9(t){const n1=[];let t1=0;for(;t1<t.length;){const e1=t[t1++];if(e1<128)n1.push(String.fromCharCode(e1));else if(e1>=192&&e1<224){const F1=t[t1++],r1=(e1&31)<<6|F1&63;n1.push(String.fromCharCode(r1))}else if(e1>=224&&e1<240){const F1=t[t1++],r1=t[t1++],o1=(e1&15)<<12|(F1&63)<<6|r1&63;n1.push(String.fromCharCode(o1))}else if(e1>=240&&e1<248){const F1=t[t1++],r1=t[t1++],o1=t[t1++],s1=(e1&7)<<18|(F1&63)<<12|(r1&63)<<6|o1&63;n1.push(String.fromCodePoint(s1))}}return n1.join("")}const UTF8=h$6(d$9,m$9,"utf-8");function b$7(t){const n1=t.match(/[\da-f]{2}/gi);return n1==null?new U8:new U8(n1.map(t1=>Number.parseInt(t1,16)))}function y$7(t){let n1="";for(let t1=0;t1<t.length;t1++)n1+=t[t1].toString(16).padStart(2,"0");return n1}const HEX=h$6(b$7,y$7,"hex");function A$5(t){return F$6(t,!1)}function C$2(t){return S$8(t,!1)}const B64=h$6(A$5,C$2,"base64");function T$2(t){return F$6(t,!0)}function w$6(t){return B64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}const B64URL=h$6(T$2,w$6,"base64url");function F$6(t,n1){const t1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";if(n1)for(t=t.replace(/-/g,"+").replace(/_/g,"/");t.length%4;)t+="=";t=t.replace(/[^A-Z0-9+/]/gi,"");const e1=t.length*.75,F1=new U8(e1);let r1=0,o1=0;for(;r1<t.length;){const s1=t1.indexOf(t.charAt(r1++)),i1=t1.indexOf(t.charAt(r1++)),c1=t1.indexOf(t.charAt(r1++)),u1=t1.indexOf(t.charAt(r1++)),f1=s1<<18|i1<<12|c1<<6|u1;F1[o1++]=f1>>16&255,F1[o1++]=f1>>8&255,F1[o1++]=f1&255}return F1}function S$8(t,n1){let t1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";t1+=n1?"-_":"+/";let e1="",F1;for(F1=0;F1<t.length-2;F1+=3)e1+=t1[t[F1]>>2],e1+=t1[(t[F1]&3)<<4|t[F1+1]>>4],e1+=t1[(t[F1+1]&15)<<2|t[F1+2]>>6],e1+=t1[t[F1+2]&63];return F1===t.length-2?(e1+=t1[t[F1]>>2],e1+=t1[(t[F1]&3)<<4|t[F1+1]>>4],e1+=t1[(t[F1+1]&15)<<2],e1+=n1?"":"="):F1===t.length-1&&(e1+=t1[t[F1]>>2],e1+=t1[(t[F1]&3)<<4],e1+=n1?"":"=="),e1}function p$5(t){const n1=new Map;n1.set("\u5BCC\u5F3A",0),n1.set("\u6C11\u4E3B",1),n1.set("\u6587\u660E",2),n1.set("\u548C\u8C10",3),n1.set("\u81EA\u7531",4),n1.set("\u5E73\u7B49",5),n1.set("\u516C\u6B63",6),n1.set("\u6CD5\u6CBB",7),n1.set("\u7231\u56FD",8),n1.set("\u656C\u4E1A",9),n1.set("\u8BDA\u4FE1",10),n1.set("\u53CB\u5584",11);const t1=i1=>{const c1=n1.get(i1);if(c1===void 0)throw new KitError("\u4F60\u7ADF\u7136\u5728\u793E\u4F1A\u4E3B\u4E49\u6838\u5FC3\u4EF7\u503C\u89C2\u91CC\u5939\u5E26\u79C1\u8D27\uFF01");return c1},e1=t.match(/(\S){2}/g);if(e1==null)return new U8;let F1=0,r1=0,o1=0;const s1=[];for(let i1=0;i1<e1.length;i1++){const c1=o1%2===0;let u1=t1(e1[i1]);if(u1===10||u1===11){if(i1++,i1===e1.length)throw new KitError("\u4F60\u7684\u793E\u4F1A\u4E3B\u4E49\u6838\u5FC3\u4EF7\u503C\u89C2\u7834\u788E\u4E86\uFF01");u1=u1===10?10+t1(e1[i1]):6+t1(e1[i1])}c1?F1=u1:r1=u1,c1||s1.push((F1<<4|r1)&255),o1++}return new U8(s1)}function B$2(t){const n1=()=>Math.random()>=.5,t1=["\u5BCC\u5F3A","\u6C11\u4E3B","\u6587\u660E","\u548C\u8C10","\u81EA\u7531","\u5E73\u7B49","\u516C\u6B63","\u6CD5\u6CBB","\u7231\u56FD","\u656C\u4E1A","\u8BDA\u4FE1","\u53CB\u5584"];let e1="";return t.forEach(F1=>{const r1=F1>>4&15,o1=F1&15;r1<10?e1+=t1[r1]:e1+=t1[11]+t1[r1-6],o1<10?e1+=t1[o1]:n1()?e1+=t1[10]+t1[o1-10]:e1+=t1[11]+t1[o1-6]}),e1}const CSV=h$6(p$5,B$2,"core-socialist-values");function rotateL32(t,n1){return t>>>=0,n1%=32,t=t<<n1|t>>>32-n1,t>>>0}function rotateR32(t,n1){return t>>>=0,n1%=32,t=t>>>n1|t<<32-n1,t>>>0}function rotateL(t,n1,t1,e1){return t=BigInt(t),e1??(e1=genBitMask(t)),n1=BigInt(n1),t1=BigInt(t1),n1&=e1,t1%=t,n1=n1<<t1|n1>>t-t1,n1&e1}function rotateR(t,n1,t1,e1){return t=BigInt(t),e1??(e1=genBitMask(t)),n1=BigInt(n1),t1=BigInt(t1),n1&=e1,t1%=t,n1=n1>>t1|n1<<t-t1,n1&e1}function genRandomBI(t,n1){let t1=0n;const e1=new U8(n1);do crypto.getRandomValues(e1),t1=e1.toBI();while(t1>=t);return{buffer:e1,result:t1}}function getBIBits(t){let n1=0;for(;t>0;)n1++,t>>=1n;return n1}function genBitMask(t){t=BigInt(t);let n1=0x0n;for(let t1=0;t1<t;t1++)n1=n1<<1n|1n;return n1}function m$8(t,n1){let[t1,e1,F1,r1,o1,s1]=[1n,0n,0n,1n,t,n1];if(n1===0n)return{gcd:t,a_inv:1n,b_inv:0n};for(;s1!==0n;){const i1=o1/s1;[o1,s1]=[s1,o1-i1*s1],[t1,e1]=[e1,t1-i1*e1],[F1,r1]=[r1,F1-i1*r1]}return{gcd:o1,a_inv:t1,b_inv:F1}}function g$8(t,n1){return modPow(t,n1-1n>>1n,n1)}function d$8(t,n1){if(g$8(t,n1)!==1n)throw new KitError("There is no square root");if(t===0n)return 0n;if(n1===2n)return t;if(n1%4n===3n)return modPow(t,n1+1n>>2n,n1);let t1=n1-1n,e1=0n;for(;mod(t1,2n)===0n;)t1>>=1n,e1++;let F1=2n;for(;g$8(F1,n1)!==n1-1n;)F1++;let r1=e1,o1=modPow(F1,t1,n1),s1=modPow(t,t1,n1),i1=modPow(t,t1+1n>>1n,n1);for(;s1!==0n&&s1!==1n;){let c1=s1,u1=1n;for(;u1<r1&&(c1=modPow(c1,2n,n1),c1!==1n);u1++);const f1=modPow(o1,1n<<r1-u1-1n,n1);r1=u1,o1=modPow(f1,2n,n1),s1=s1*o1%n1,i1=i1*f1%n1}return i1}function gcd(t,n1){return m$8(t,n1).gcd}function lcm(t,n1){return t*n1/gcd(t,n1)}function mod(t,n1){const t1=t%n1;return t1<0n?t1+n1:t1}function modPow(t,n1,t1){t%=t1;let e1=1n;for(;n1>0n;)n1&1n&&(e1=e1*t%t1),t=t*t%t1,n1>>=1n;return e1}function modInverse(t,n1){const{gcd:t1,a_inv:e1}=m$8(t,n1);if(t1!==1n)throw new KitError("Modular inverse does not exist");return mod(e1,n1)}function modPrimeSquare(t,n1){return t=mod(t,n1),d$8(t,n1)}class U8 extends Uint8Array{getWord(n1,t1,e1=!1){const F1=t1*n1,r1=this.subarray(F1,F1+n1);return e1?r1.toBI(!0):r1.toBI()}setWord(n1,t1,e1,F1=!1){const r1=t1*n1,o1=typeof e1=="bigint"?U8.fromBI(e1,n1):e1;this.set(F1?o1.toReversed():o1,r1)}view(n1){const t1=Math.floor(this.length/n1);return{get:(e1,F1=!1)=>this.getWord(n1,e1,F1),set:(e1,F1,r1=!1)=>this.setWord(n1,e1,F1,r1),length:t1}}to(n1){return n1(this)}toBI(n1=!1){const t1=n1?this.toReversed():this;let e1=0n;return t1.forEach(F1=>e1=e1<<8n|BigInt(F1)),e1}toUint8Array(){return new Uint8Array(this)}static fromString(n1,t1=UTF8){return t1(n1)}static fromBI(n1,t1,e1=!1){t1=t1||getBIBits(n1)+7>>3;const F1=new U8(t1);if(e1)for(let r1=0;r1<F1.length;r1++)F1[r1]=Number(n1&0xFFn),n1>>=8n;else for(let r1=F1.length-1;r1>=0;r1--)F1[r1]=Number(n1&0xFFn),n1>>=8n;return F1}static from(n1,t1,e1){return new U8(super.from(n1,t1,e1))}filter(n1,t1){return new U8(super.filter(n1,t1))}map(n1,t1){return new U8(super.map(n1,t1))}static of(...n1){return new U8(super.of(...n1))}toReversed(){return super.reverse()}toSorted(n1){return super.sort(n1)}reverse(){return super.reverse()}slice(n1,t1){return new U8(super.slice(n1,t1))}subarray(n1,t1){return new U8(super.subarray(n1,t1))}with(n1,t1){return new U8(super.with(n1,t1))}}function joinBuffer(...t){const n1=t.reduce((F1,r1)=>F1+r1.byteLength,0),t1=new U8(n1);let e1=0;for(const F1 of t)t1.set(new U8(F1),e1),e1+=F1.byteLength;return t1}function resizeBuffer(t,n1){const t1=new U8(n1);return t1.set(new U8(t)),t1}class Counter extends U8{inc(n1,t1,e1=!1){if(n1=n1||0,n1<0||n1>=this.length)throw new KitError("Invalid counter offset");if(t1=t1||this.length-n1,t1<0||n1+t1>this.length)throw new KitError("Invalid counter length");if(e1)for(let F1=n1;F1<n1+t1;F1++){if(this[F1]<255){this[F1]+=1;break}this[F1]=0}else for(let F1=n1+t1-1;F1>=n1;F1--){if(this[F1]<255){this[F1]+=1;break}this[F1]=0}}}function wrap(...t){return t.length===0?{}:Object.assign(...t)}class KitError extends Error{constructor(n1){super(n1),this.name="mima-kit Error"}}const f$6=40,i$2=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n,503n,509n,521n,523n,541n,547n,557n,563n,569n,571n,577n,587n,593n,599n,601n,607n,613n,617n,619n,631n,641n,643n,647n,653n,659n,661n,673n,677n,683n,691n,701n,709n,719n,727n,733n,739n,743n,751n,757n,761n,769n,773n,787n,797n,809n,811n,821n,823n,827n,829n,839n,853n,857n,859n,863n,877n,881n,883n,887n,907n,911n,919n,929n,937n,941n,947n,953n,967n,971n,977n,983n,991n,997n],m$7=(1n<<26n)/i$2[i$2.length-1];function c$4(t,n1){const t1=t-1n;let e1=0n,F1=t1;for(;(F1&1n)===0n;)F1>>=1n,e1++;n1=n1+1>>1,n1>i$2.length&&(n1=i$2.length);const r1=[2n];for(let o1=0;o1<n1;++o1){let s1;do s1=i$2[Math.floor(Math.random()*i$2.length)];while(r1.includes(s1));if(r1.push(s1),d$7(t,t1,e1,F1,s1)===!1)return!1}return!0}function d$7(t,n1,t1,e1,F1){let r1=modPow(F1,e1,t);if(r1===1n||r1===n1)return!0;let o1=0n;for(let s1=1;s1<t1;s1++){if(o1=modPow(r1,2n,t),o1===1n&&r1!==1n&&r1!==n1)return!1;r1=o1}return o1===1n}function s$3(t,n1=f$6){for(let t1=1;t1<i$2.length;){let e1=i$2[t1],F1=t1+1;for(;F1<i$2.length&&e1<m$7;)e1*=i$2[F1++];for(e1=t%e1;t1<F1;)if(e1%i$2[t1++]===0n)return!1}return c$4(t,n1)}function h$5(t){crypto.getRandomValues(t),t[0]|=128;let n1=t.toBI()|1n;const t1=n1%6n;return t1!==1n&&t1!==5n&&(n1+=4n),n1}const genPrime=t=>{const n1=new U8(t>>3);let t1;do t1=h$5(n1);while(!s$3(t1));return t1};function isProbablePrime(t,n1=f$6){if(n1<=0||(t&1n)===0n)return!1;const t1=t%6n;return t1!==1n&&t1!==5n?!1:t<=i$2[i$2.length-1]?i$2.includes(t):s$3(t,n1)}const createHash=(t,n1)=>wrap(t,n1),createTupleHash=(t,n1)=>wrap(t,n1),createKeyHash=(t,n1)=>wrap(t,n1),F$5=new Uint32Array([3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745]);function A$4(t,n1,t1,e1,F1,r1,o1){const s1=t+(n1&t1|~n1&e1)+F1+o1;return rotateL32(s1,r1)+n1}function D$2(t,n1,t1,e1,F1,r1,o1){const s1=t+(n1&e1|t1&~e1)+F1+o1;return rotateL32(s1,r1)+n1}function E$2(t,n1,t1,e1,F1,r1,o1){const s1=t+(n1^t1^e1)+F1+o1;return rotateL32(s1,r1)+n1}function o$3(t,n1,t1,e1,F1,r1,o1){const s1=t+(t1^(n1|~e1))+F1+o1;return rotateL32(s1,r1)+n1}function g$7(t){const n1=new Uint32Array([1732584193,4023233417,2562383102,271733878]),t1=t.length,e1=BigInt(t1)<<3n,F1=64,r1=t1+9+63>>6,o1=new U8(r1*F1);o1.set(t),o1[t1]=128,new DataView(o1.buffer).setBigUint64(o1.length-8,e1,!0);for(let s1=0;s1<o1.length;){const i1=o1.subarray(s1,s1+=F1).buffer,c1=n1[0],u1=n1[1],f1=n1[2],A1=n1[3];let E1=c1,B1=u1,a1=f1,I1=A1;const l1=new Uint32Array(i1);E1=A$4(E1,B1,a1,I1,l1[0],7,F$5[0]),I1=A$4(I1,E1,B1,a1,l1[1],12,F$5[1]),a1=A$4(a1,I1,E1,B1,l1[2],17,F$5[2]),B1=A$4(B1,a1,I1,E1,l1[3],22,F$5[3]),E1=A$4(E1,B1,a1,I1,l1[4],7,F$5[4]),I1=A$4(I1,E1,B1,a1,l1[5],12,F$5[5]),a1=A$4(a1,I1,E1,B1,l1[6],17,F$5[6]),B1=A$4(B1,a1,I1,E1,l1[7],22,F$5[7]),E1=A$4(E1,B1,a1,I1,l1[8],7,F$5[8]),I1=A$4(I1,E1,B1,a1,l1[9],12,F$5[9]),a1=A$4(a1,I1,E1,B1,l1[10],17,F$5[10]),B1=A$4(B1,a1,I1,E1,l1[11],22,F$5[11]),E1=A$4(E1,B1,a1,I1,l1[12],7,F$5[12]),I1=A$4(I1,E1,B1,a1,l1[13],12,F$5[13]),a1=A$4(a1,I1,E1,B1,l1[14],17,F$5[14]),B1=A$4(B1,a1,I1,E1,l1[15],22,F$5[15]),E1=D$2(E1,B1,a1,I1,l1[1],5,F$5[16]),I1=D$2(I1,E1,B1,a1,l1[6],9,F$5[17]),a1=D$2(a1,I1,E1,B1,l1[11],14,F$5[18]),B1=D$2(B1,a1,I1,E1,l1[0],20,F$5[19]),E1=D$2(E1,B1,a1,I1,l1[5],5,F$5[20]),I1=D$2(I1,E1,B1,a1,l1[10],9,F$5[21]),a1=D$2(a1,I1,E1,B1,l1[15],14,F$5[22]),B1=D$2(B1,a1,I1,E1,l1[4],20,F$5[23]),E1=D$2(E1,B1,a1,I1,l1[9],5,F$5[24]),I1=D$2(I1,E1,B1,a1,l1[14],9,F$5[25]),a1=D$2(a1,I1,E1,B1,l1[3],14,F$5[26]),B1=D$2(B1,a1,I1,E1,l1[8],20,F$5[27]),E1=D$2(E1,B1,a1,I1,l1[13],5,F$5[28]),I1=D$2(I1,E1,B1,a1,l1[2],9,F$5[29]),a1=D$2(a1,I1,E1,B1,l1[7],14,F$5[30]),B1=D$2(B1,a1,I1,E1,l1[12],20,F$5[31]),E1=E$2(E1,B1,a1,I1,l1[5],4,F$5[32]),I1=E$2(I1,E1,B1,a1,l1[8],11,F$5[33]),a1=E$2(a1,I1,E1,B1,l1[11],16,F$5[34]),B1=E$2(B1,a1,I1,E1,l1[14],23,F$5[35]),E1=E$2(E1,B1,a1,I1,l1[1],4,F$5[36]),I1=E$2(I1,E1,B1,a1,l1[4],11,F$5[37]),a1=E$2(a1,I1,E1,B1,l1[7],16,F$5[38]),B1=E$2(B1,a1,I1,E1,l1[10],23,F$5[39]),E1=E$2(E1,B1,a1,I1,l1[13],4,F$5[40]),I1=E$2(I1,E1,B1,a1,l1[0],11,F$5[41]),a1=E$2(a1,I1,E1,B1,l1[3],16,F$5[42]),B1=E$2(B1,a1,I1,E1,l1[6],23,F$5[43]),E1=E$2(E1,B1,a1,I1,l1[9],4,F$5[44]),I1=E$2(I1,E1,B1,a1,l1[12],11,F$5[45]),a1=E$2(a1,I1,E1,B1,l1[15],16,F$5[46]),B1=E$2(B1,a1,I1,E1,l1[2],23,F$5[47]),E1=o$3(E1,B1,a1,I1,l1[0],6,F$5[48]),I1=o$3(I1,E1,B1,a1,l1[7],10,F$5[49]),a1=o$3(a1,I1,E1,B1,l1[14],15,F$5[50]),B1=o$3(B1,a1,I1,E1,l1[5],21,F$5[51]),E1=o$3(E1,B1,a1,I1,l1[12],6,F$5[52]),I1=o$3(I1,E1,B1,a1,l1[3],10,F$5[53]),a1=o$3(a1,I1,E1,B1,l1[10],15,F$5[54]),B1=o$3(B1,a1,I1,E1,l1[1],21,F$5[55]),E1=o$3(E1,B1,a1,I1,l1[8],6,F$5[56]),I1=o$3(I1,E1,B1,a1,l1[15],10,F$5[57]),a1=o$3(a1,I1,E1,B1,l1[6],15,F$5[58]),B1=o$3(B1,a1,I1,E1,l1[13],21,F$5[59]),E1=o$3(E1,B1,a1,I1,l1[4],6,F$5[60]),I1=o$3(I1,E1,B1,a1,l1[11],10,F$5[61]),a1=o$3(a1,I1,E1,B1,l1[2],15,F$5[62]),B1=o$3(B1,a1,I1,E1,l1[9],21,F$5[63]),n1[0]=c1+E1,n1[1]=u1+B1,n1[2]=f1+a1,n1[3]=A1+I1}return new U8(n1.buffer)}const md5=createHash(g$7,{ALGORITHM:"MD5",BLOCK_SIZE:64,DIGEST_SIZE:16,OID:"1.2.840.113549.2.5"});function N$4(t){return t<20?1518500249:t<40?1859775393:t<60?2400959708:3395469782}const U$8=(t,n1,t1)=>t&n1^~t&t1,H$6=(t,n1,t1)=>t^n1^t1,F$4=(t,n1,t1)=>t&n1^t&t1^n1&t1;function S$7(t,n1,t1,e1){return e1<20?U$8(t,n1,t1):e1<40?H$6(t,n1,t1):e1<60?F$4(t,n1,t1):H$6(t,n1,t1)}function v$1(t){const n1=new U8(20),t1=n1.view(4);t1.set(0,0x67452301n),t1.set(1,0xEFCDAB89n),t1.set(2,0x98BADCFEn),t1.set(3,0x10325476n),t1.set(4,0xC3D2E1F0n);const e1=t.length,F1=BigInt(e1)<<3n,r1=64,o1=e1+9+63>>6,s1=new U8(o1*r1);s1.set(t),s1[e1]=128;const i1=new DataView(s1.buffer);i1.setBigUint64(s1.length-8,F1);for(let c1=0;c1<s1.length;c1+=r1){const u1=Number(t1.get(0)),f1=Number(t1.get(1)),A1=Number(t1.get(2)),E1=Number(t1.get(3)),B1=Number(t1.get(4));let a1=u1,I1=f1,l1=A1,p1=E1,m1=B1;const b1=new Uint32Array(80);for(let h1=0;h1<80;h1++){h1<16?b1[h1]=i1.getUint32(c1+(h1<<2)):b1[h1]=rotateL32(b1[h1-3]^b1[h1-8]^b1[h1-14]^b1[h1-16],1);const y1=rotateL32(a1,5)+S$7(I1,l1,p1,h1)+N$4(h1)+m1+b1[h1];m1=p1,p1=l1,l1=rotateL32(I1,30),I1=a1,a1=y1}t1.set(0,BigInt(u1+a1)),t1.set(1,BigInt(f1+I1)),t1.set(2,BigInt(A1+l1)),t1.set(3,BigInt(E1+p1)),t1.set(4,BigInt(B1+m1))}return n1}const sha1=createHash(v$1,{ALGORITHM:"SHA-1",BLOCK_SIZE:64,DIGEST_SIZE:20,OID:"1.3.14.3.2.26"}),H$5=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),G$2=(t,n1,t1)=>t&n1^~t&t1,L$5=(t,n1,t1)=>t&n1^t&t1^n1&t1,Z$3=t=>rotateR32(t,2)^rotateR32(t,13)^rotateR32(t,22),K$7=t=>rotateR32(t,6)^rotateR32(t,11)^rotateR32(t,25),M$5=t=>rotateR32(t,7)^rotateR32(t,18)^t>>>3,R$5=t=>rotateR32(t,17)^rotateR32(t,19)^t>>>10;function p$4(t,n1){t=t.slice(0);const t1=t.view(4),e1=n1.length,F1=BigInt(e1)<<3n,r1=64,o1=e1+9+63>>6,s1=new U8(o1*r1);s1.set(n1),s1[e1]=128;const i1=new DataView(s1.buffer);i1.setBigUint64(s1.length-8,F1);for(let c1=0;c1<s1.length;c1+=r1){const u1=Number(t1.get(0)),f1=Number(t1.get(1)),A1=Number(t1.get(2)),E1=Number(t1.get(3)),B1=Number(t1.get(4)),a1=Number(t1.get(5)),I1=Number(t1.get(6)),l1=Number(t1.get(7));let p1=u1,m1=f1,b1=A1,h1=E1,y1=B1,_1=a1,g1=I1,w1=l1;const D1=new Uint32Array(64);for(let C1=0;C1<D1.length;C1++){C1<16?D1[C1]=i1.getUint32(c1+(C1<<2)):D1[C1]=R$5(D1[C1-2])+D1[C1-7]+M$5(D1[C1-15])+D1[C1-16];const S1=w1+K$7(y1)+G$2(y1,_1,g1)+H$5[C1]+D1[C1],d1=Z$3(p1)+L$5(p1,m1,b1);w1=g1,g1=_1,_1=y1,y1=h1+S1,h1=b1,b1=m1,m1=p1,p1=S1+d1}t1.set(0,BigInt(u1+p1)),t1.set(1,BigInt(f1+m1)),t1.set(2,BigInt(A1+b1)),t1.set(3,BigInt(E1+h1)),t1.set(4,BigInt(B1+y1)),t1.set(5,BigInt(a1+_1)),t1.set(6,BigInt(I1+g1)),t1.set(7,BigInt(l1+w1))}return t}function d$6(t){const n1=new U8(32),t1=n1.view(4);return t1.set(0,0xC1059ED8n),t1.set(1,0x367CD507n),t1.set(2,0x3070DD17n),t1.set(3,0xF70E5939n),t1.set(4,0xFFC00B31n),t1.set(5,0x68581511n),t1.set(6,0x64F98FA7n),t1.set(7,0xBEFA4FA4n),p$4(n1,t).slice(0,28)}function k$4(t){const n1=new U8(32),t1=n1.view(4);return t1.set(0,0x6A09E667n),t1.set(1,0xBB67AE85n),t1.set(2,0x3C6EF372n),t1.set(3,0xA54FF53An),t1.set(4,0x510E527Fn),t1.set(5,0x9B05688Cn),t1.set(6,0x1F83D9ABn),t1.set(7,0x5BE0CD19n),p$4(n1,t)}const sha224=createHash(d$6,{ALGORITHM:"SHA-224",BLOCK_SIZE:64,DIGEST_SIZE:28,OID:"2.16.840.1.101.3.4.2.4"}),sha256=createHash(k$4,{ALGORITHM:"SHA-256",BLOCK_SIZE:64,DIGEST_SIZE:32,OID:"2.16.840.1.101.3.4.2.1"}),M$4=new BigUint64Array([0x428A2F98D728AE22n,0x7137449123EF65CDn,0xB5C0FBCFEC4D3B2Fn,0xE9B5DBA58189DBBCn,0x3956C25BF348B538n,0x59F111F1B605D019n,0x923F82A4AF194F9Bn,0xAB1C5ED5DA6D8118n,0xD807AA98A3030242n,0x12835B0145706FBEn,0x243185BE4EE4B28Cn,0x550C7DC3D5FFB4E2n,0x72BE5D74F27B896Fn,0x80DEB1FE3B1696B1n,0x9BDC06A725C71235n,0xC19BF174CF692694n,0xE49B69C19EF14AD2n,0xEFBE4786384F25E3n,0x0FC19DC68B8CD5B5n,0x240CA1CC77AC9C65n,0x2DE92C6F592B0275n,0x4A7484AA6EA6E483n,0x5CB0A9DCBD41FBD4n,0x76F988DA831153B5n,0x983E5152EE66DFABn,0xA831C66D2DB43210n,0xB00327C898FB213Fn,0xBF597FC7BEEF0EE4n,0xC6E00BF33DA88FC2n,0xD5A79147930AA725n,0x06CA6351E003826Fn,0x142929670A0E6E70n,0x27B70A8546D22FFCn,0x2E1B21385C26C926n,0x4D2C6DFC5AC42AEDn,0x53380D139D95B3DFn,0x650A73548BAF63DEn,0x766A0ABB3C77B2A8n,0x81C2C92E47EDAEE6n,0x92722C851482353Bn,0xA2BFE8A14CF10364n,0xA81A664BBC423001n,0xC24B8B70D0F89791n,0xC76C51A30654BE30n,0xD192E819D6EF5218n,0xD69906245565A910n,0xF40E35855771202An,0x106AA07032BBD1B8n,0x19A4C116B8D2D0C8n,0x1E376C085141AB53n,0x2748774CDF8EEB99n,0x34B0BCB5E19B48A8n,0x391C0CB3C5C95A63n,0x4ED8AA4AE3418ACBn,0x5B9CCA4F7763E373n,0x682E6FF3D6B2B8A3n,0x748F82EE5DEFB2FCn,0x78A5636F43172F60n,0x84C87814A1F0AB72n,0x8CC702081A6439ECn,0x90BEFFFA23631E28n,0xA4506CEBDE82BDE9n,0xBEF9A3F7B2C67915n,0xC67178F2E372532Bn,0xCA273ECEEA26619Cn,0xD186B8C721C0C207n,0xEADA7DD6CDE0EB1En,0xF57D4F7FEE6ED178n,0x06F067AA72176FBAn,0x0A637DC5A2C898A6n,0x113F9804BEF90DAEn,0x1B710B35131C471Bn,0x28DB77F523047D84n,0x32CAAB7B40C72493n,0x3C9EBE0A15C9BEBCn,0x431D67C49C100D4Cn,0x4CC5D4BECB3E42B6n,0x597F299CFC657E2An,0x5FCB6FAB3AD6FAECn,0x6C44198C4A475817n]),R$4=genBitMask(64),B$1=(t,n1)=>rotateR(64,t,n1,R$4),d$5=(t,n1,t1)=>t&n1^~t&t1,k$3=(t,n1,t1)=>t&n1^t&t1^n1&t1,V$2=t=>B$1(t,28n)^B$1(t,34n)^B$1(t,39n),$$1=t=>B$1(t,14n)^B$1(t,18n)^B$1(t,41n),j$3=t=>B$1(t,1n)^B$1(t,8n)^t>>7n,W$2=t=>B$1(t,19n)^B$1(t,61n)^t>>6n;function q$1(t){if(t<=0)throw new KitError("SHA-512 truncation must be greater than 0");if(t>=512)throw new KitError("SHA-512 truncation must be less than 512");if(t===384)throw new KitError("SHA-512 truncation must not be 384");const n1=new U8(64),t1=n1.view(8);return t1.set(0,0x6A09E667F3BCC908n^0xA5A5A5A5A5A5A5A5n),t1.set(1,0xBB67AE8584CAA73Bn^0xA5A5A5A5A5A5A5A5n),t1.set(2,0x3C6EF372FE94F82Bn^0xA5A5A5A5A5A5A5A5n),t1.set(3,0xA54FF53A5F1D36F1n^0xA5A5A5A5A5A5A5A5n),t1.set(4,0x510E527FADE682D1n^0xA5A5A5A5A5A5A5A5n),t1.set(5,0x9B05688C2B3E6C1Fn^0xA5A5A5A5A5A5A5A5n),t1.set(6,0x1F83D9ABFB41BD6Bn^0xA5A5A5A5A5A5A5A5n),t1.set(7,0x5BE0CD19137E2179n^0xA5A5A5A5A5A5A5A5n),g$6(n1,UTF8(`SHA-512/${t}`))}function g$6(t,n1){t=t.slice(0);const t1=t.view(8),e1=n1.byteLength,F1=BigInt(e1)<<3n,r1=128,o1=e1+17+127>>7,s1=new U8(o1*r1);s1.set(n1),s1[e1]=128;const i1=new DataView(s1.buffer);i1.setBigUint64(s1.byteLength-16,F1>>32n),i1.setBigUint64(s1.byteLength-8,F1&0xFFFFFFFFFFFFFFFFn);for(let c1=0;c1<s1.length;c1+=r1){const u1=t1.get(0),f1=t1.get(1),A1=t1.get(2),E1=t1.get(3),B1=t1.get(4),a1=t1.get(5),I1=t1.get(6),l1=t1.get(7);let p1=u1,m1=f1,b1=A1,h1=E1,y1=B1,_1=a1,g1=I1,w1=l1;const D1=new BigUint64Array(80);for(let C1=0;C1<D1.length;C1++){C1<16?D1[C1]=i1.getBigUint64(c1+(C1<<3)):D1[C1]=W$2(D1[C1-2])+D1[C1-7]+j$3(D1[C1-15])+D1[C1-16];const S1=w1+$$1(y1)+d$5(y1,_1,g1)+M$4[C1]+D1[C1],d1=V$2(p1)+k$3(p1,m1,b1);w1=g1,g1=_1,_1=y1,y1=h1+S1&0xFFFFFFFFFFFFFFFFn,h1=b1,b1=m1,m1=p1,p1=S1+d1&0xFFFFFFFFFFFFFFFFn}t1.set(0,u1+p1),t1.set(1,f1+m1),t1.set(2,A1+b1),t1.set(3,E1+h1),t1.set(4,B1+y1),t1.set(5,a1+_1),t1.set(6,I1+g1),t1.set(7,l1+w1)}return t}function z$1(t){const n1=new U8(64),t1=n1.view(8);return t1.set(0,0xCBBB9D5DC1059ED8n),t1.set(1,0x629A292A367CD507n),t1.set(2,0x9159015A3070DD17n),t1.set(3,0x152FECD8F70E5939n),t1.set(4,0x67332667FFC00B31n),t1.set(5,0x8EB44A8768581511n),t1.set(6,0xDB0C2E0D64F98FA7n),t1.set(7,0x47B5481DBEFA4FA4n),g$6(n1,t).slice(0,48)}function J$1(t){const n1=new U8(64),t1=n1.view(8);return t1.set(0,0x6A09E667F3BCC908n),t1.set(1,0xBB67AE8584CAA73Bn),t1.set(2,0x3C6EF372FE94F82Bn),t1.set(3,0xA54FF53A5F1D36F1n),t1.set(4,0x510E527FADE682D1n),t1.set(5,0x9B05688C2B3E6C1Fn),t1.set(6,0x1F83D9ABFB41BD6Bn),t1.set(7,0x5BE0CD19137E2179n),g$6(n1,t)}const sha384=createHash(z$1,{ALGORITHM:"SHA-384",BLOCK_SIZE:128,DIGEST_SIZE:48,OID:"2.16.840.1.101.3.4.2.2"}),sha512=createHash(J$1,{ALGORITHM:"SHA-512",BLOCK_SIZE:128,DIGEST_SIZE:64,OID:"2.16.840.1.101.3.4.2.3"});function sha512t(t){const n1=q$1(t);let t1;return t===224&&(t1="2.16.840.1.101.3.4.2.5"),t===256&&(t1="2.16.840.1.101.3.4.2.6"),createHash(e1=>g$6(n1,e1).slice(0,t>>3),{ALGORITHM:`SHA-512/${t}`,BLOCK_SIZE:128,DIGEST_SIZE:t>>3,OID:t1})}const A$3=[[0n,36n,3n,41n,18n],[1n,44n,10n,45n,2n],[62n,6n,43n,15n,61n],[28n,55n,25n,21n,56n],[27n,20n,39n,8n,14n]],b$6=[0x000000008000808Bn,0x800000000000008Bn,0x8000000000008089n,0x8000000000008003n,0x8000000000008002n,0x8000000000000080n,0x000000000000800An,0x800000008000000An,0x8000000080008081n,0x8000000000008080n,0x0000000080000001n,0x8000000080008008n],h$4=[0x0000000000000001n,0x0000000000008082n,0x800000000000808An,0x8000000080008000n,0x000000000000808Bn,0x0000000080000001n,0x8000000080008081n,0x8000000000008009n,0x000000000000008An,0x0000000000000088n,0x0000000080008009n,0x000000008000000An,0x000000008000808Bn,0x800000000000008Bn,0x8000000000008089n,0x8000000000008003n,0x8000000000008002n,0x8000000000000080n,0x000000000000800An,0x800000008000000An,0x8000000080008081n,0x8000000000008080n,0x0000000080000001n,0x8000000080008008n],R$3=genBitMask(64),u$2=(t,n1)=>rotateL(64,t,n1,R$3);function RCGen(t=6,n1=24){const t1=[];for(let e1=0;e1<n1;e1++){let F1=0n;for(let r1=0;r1<=t;r1++){const o1=r1+7*e1;let s1;if(o1%255===0)s1=1n;else{let i1=0x80n;for(let c1=1;c1<=o1%255;c1++){const u1=i1&1n;i1^=u1<<8n|u1<<4n|u1<<3n|u1<<2n,i1>>=1n}s1=i1>>7n}F1|=s1<<BigInt(2**r1-1)}t1.push(F1)}return t1}function s$2(){return Array.from({length:5}).map(()=>new BigUint64Array(5))}function m$6(t){const n1=s$2(),t1=new DataView(t.buffer);for(let e1=0;e1<5;e1++)for(let F1=0;F1<5;F1++)n1[e1][F1]=t1.getBigUint64(F1*5+e1<<3,!0);return n1}function k$2(t){const n1=new Uint8Array(200),t1=new DataView(n1.buffer);for(let e1=0;e1<5;e1++)for(let F1=0;F1<5;F1++)t1.setBigUint64(F1*5+e1<<3,t[e1][F1],!0);return n1}function C$1(t){const n1=new BigUint64Array(5),t1=new BigUint64Array(5);for(let e1=0;e1<5;e1++)n1[e1]=t[e1][0]^t[e1][1]^t[e1][2]^t[e1][3]^t[e1][4];for(let e1=0;e1<5;e1++){t1[e1]=n1[(e1+4)%5]^u$2(n1[(e1+1)%5],1n);for(let F1=0;F1<5;F1++)t[e1][F1]=t[e1][F1]^t1[e1]}return t}function _$2(t){const n1=s$2();for(let t1=0;t1<5;t1++)for(let e1=0;e1<5;e1++)n1[e1][(2*t1+3*e1)%5]=u$2(t[t1][e1],A$3[t1][e1]);return n1}function P$1(t){const n1=s$2();for(let t1=0;t1<5;t1++)for(let e1=0;e1<5;e1++)n1[t1][e1]=t[t1][e1]^~t[(t1+1)%5][e1]&t[(t1+2)%5][e1];return n1}function K$6(t,n1){return t[0][0]=t[0][0]^n1,t}function keccak_p_1600(t=24){let n1;return t===12?n1=b$6:t===24?n1=h$4:n1=RCGen(6,t),t1=>{if(t1.byteLength!==200)throw new KitError("Invalid state size");let e1=m$6(t1);for(let F1=0;F1<t;F1++)e1=K$6(P$1(_$2(C$1(e1))),n1[F1]);return new U8(k$2(e1))}}function sponge_1600(t,n1,t1,e1=keccak_p_1600()){return F1=>{const r1=t1(F1);let o1=new Uint8Array(200),s1=0;for(;s1<r1.byteLength;){const u1=r1.slice(s1,s1+=t);o1.forEach((f1,A1)=>o1[A1]=f1^u1[A1]),o1=e1(o1)}const i1=[o1.slice(0,t)];let c1=t;for(;c1<n1;)o1=e1(o1),i1.push(o1.slice(0,t)),c1+=t;return joinBuffer(...i1).slice(0,n1)}}const i$1=t=>n1=>{const t1=n1.length,e1=t-t1%t,F1=new Uint8Array(t1+e1);return F1.set(n1),e1===1&&(F1[t1]=134),F1[t1]=6,F1[F1.length-1]|=128,F1},s$1=t=>n1=>{const t1=n1.length,e1=t-t1%t,F1=new Uint8Array(t1+e1);return F1.set(n1),e1===1&&(F1[t1]=159),F1[t1]=31,F1[F1.length-1]|=128,F1};function Keccak_c(t,n1,t1){const e1=1600-t>>3,F1=t1(e1);return r1=>sponge_1600(e1,n1>>3,F1)(r1)}const sha3_224=createHash(t=>Keccak_c(448,224,i$1)(t),{ALGORITHM:"SHA3-224",BLOCK_SIZE:144,DIGEST_SIZE:28,OID:"2.16.840.1.101.3.4.2.7"}),sha3_256=createHash(t=>Keccak_c(512,256,i$1)(t),{ALGORITHM:"SHA3-256",BLOCK_SIZE:136,DIGEST_SIZE:32,OID:"2.16.840.1.101.3.4.2.8"}),sha3_384=createHash(t=>Keccak_c(768,384,i$1)(t),{ALGORITHM:"SHA3-384",BLOCK_SIZE:104,DIGEST_SIZE:48,OID:"2.16.840.1.101.3.4.2.9"}),sha3_512=createHash(t=>Keccak_c(1024,512,i$1)(t),{ALGORITHM:"SHA3-512",BLOCK_SIZE:72,DIGEST_SIZE:64,OID:"2.16.840.1.101.3.4.2.10"});function shake128(t){return createHash(n1=>Keccak_c(256,t,s$1)(n1),{ALGORITHM:`SHAKE128/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3})}function shake256(t){return createHash(n1=>Keccak_c(512,t,s$1)(n1),{ALGORITHM:`SHAKE256/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3})}function H$4(t){const n1=[];do n1.unshift(t&255),t=t>>8;while(t>0);return n1.unshift(n1.length),Uint8Array.from(n1)}function f$5(t){const n1=[];do n1.unshift(t&255),t=t>>8;while(t>0);return n1.push(n1.length),Uint8Array.from(n1)}function o$2(t){return t=typeof t=="string"?UTF8(t):t,[H$4(t.byteLength<<3),t]}function A$2(t,n1){if(n1<=0)throw new KitError("w must be greater than 0");const t1=H$4(n1);let e1=t1.length;t.forEach(r1=>e1+=r1.length);const F1=n1-e1%n1;return t.unshift(t1),t.push(new Uint8Array(F1)),t}const S$6=t=>n1=>{const t1=n1.length,e1=t-t1%t,F1=new Uint8Array(t1+e1);return F1.set(n1),e1===1&&(F1[t1]=132),F1[t1]=4,F1[F1.length-1]|=128,F1};function L$4(t,n1,t1,e1,F1,r1){return n1.byteLength===0&&t1.byteLength===0?o1=>r1(t)(o1):o1=>{const s1=A$2([...o$2(n1),...o$2(t1)],F1);return s1.push(o1),Keccak_c(e1,t,S$6)(joinBuffer(...s1))}}function cshake128(t,n1=new Uint8Array,t1=new Uint8Array){return createHash(L$4(t,n1,t1,256,168,shake128),{ALGORITHM:`cSHAKE128/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3})}function cshake256(t,n1=new Uint8Array,t1=new Uint8Array){return createHash(L$4(t,n1,t1,512,136,shake256),{ALGORITHM:`cSHAKE256/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3})}function p$3(t,n1,t1,e1,F1){return(r1,o1)=>{const s1=A$2([...o$2("KMAC"),...o$2(n1)],e1);return s1.push(...A$2(o$2(r1),e1)),s1.push(o1),s1.push(f$5(F1?0:t)),Keccak_c(t1,t,S$6)(joinBuffer(...s1))}}function kmac128(t,n1=new Uint8Array(0),t1=128){return createKeyHash(p$3(t,n1,256,168,!1),{ALGORITHM:`KMAC128/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3,KEY_SIZE:t1>>3})}function kmac256(t,n1=new Uint8Array(0),t1=256){return createKeyHash(p$3(t,n1,512,136,!1),{ALGORITHM:`KMAC256/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3,KEY_SIZE:t1>>3})}function kmac128XOF(t,n1=new Uint8Array(0),t1=128){return createKeyHash(p$3(t,n1,256,168,!0),{ALGORITHM:`KMAC128XOF/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3,KEY_SIZE:t1>>3})}function kmac256XOF(t,n1=new Uint8Array(0),t1=256){return createKeyHash(p$3(t,n1,512,136,!0),{ALGORITHM:`KMAC256XOF/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3,KEY_SIZE:t1>>3})}function b$5(t,n1,t1,e1,F1){return r1=>{const o1=A$2([...o$2("TupleHash"),...o$2(n1)],e1);return r1.forEach(s1=>o1.push(...o$2(s1))),o1.push(f$5(F1?0:t)),Keccak_c(t1,t,S$6)(joinBuffer(...o1))}}function tuplehash128(t,n1=new Uint8Array){return createTupleHash(b$5(t,n1,256,168,!1),{ALGORITHM:`TupleHash128/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3})}function tuplehash256(t,n1=new Uint8Array){return createTupleHash(b$5(t,n1,512,136,!1),{ALGORITHM:`TupleHash256/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3})}function tuplehash128XOF(t,n1=new Uint8Array){return createTupleHash(b$5(t,n1,256,168,!0),{ALGORITHM:`TupleHash128XOF/${t}`,BLOCK_SIZE:168,DIGEST_SIZE:t>>3})}function tuplehash256XOF(t,n1=new Uint8Array){return createTupleHash(b$5(t,n1,512,136,!0),{ALGORITHM:`TupleHash256XOF/${t}`,BLOCK_SIZE:136,DIGEST_SIZE:t>>3})}function U$7(t,n1,t1,e1,F1,r1,o1){const s1=t>>3;return i1=>{const c1=Math.ceil(i1.byteLength/s1),u1=A$2([...o$2("ParallelHash"),...o$2(t1)],F1);u1.push(H$4(t));for(let f1=0;f1<c1;f1++){const A1=i1.slice(f1*(t<<3),(f1+1)*(t<<3));u1.push(o1(A1))}return u1.push(f$5(c1)),u1.push(f$5(r1?0:n1)),Keccak_c(e1,n1,S$6)(joinBuffer(...u1))}}function parallelhash128(t,n1,t1=new Uint8Array){return createHash(U$7(t,n1,t1,256,168,!1,shake128(256)),{ALGORITHM:`ParallelHash128/${n1}`,BLOCK_SIZE:168,DIGEST_SIZE:n1>>3})}function parallelhash256(t,n1,t1=new Uint8Array){return createHash(U$7(t,n1,t1,512,136,!1,shake256(512)),{ALGORITHM:`ParallelHash256/${n1}`,BLOCK_SIZE:136,DIGEST_SIZE:n1>>3})}function parallelhash128XOF(t,n1,t1=new Uint8Array){return createHash(U$7(t,n1,t1,256,168,!0,shake128(256)),{ALGORITHM:"ParallelHash128XOF",BLOCK_SIZE:168,DIGEST_SIZE:n1>>3})}function parallelhash256XOF(t,n1,t1=new Uint8Array){return createHash(U$7(t,n1,t1,512,136,!0,shake256(512)),{ALGORITHM:"ParallelHash256XOF",BLOCK_SIZE:136,DIGEST_SIZE:n1>>3})}function p$2(t,n1){return t1=>{const e1=t1.length+1,F1=Math.ceil(e1/t),r1=new Uint8Array(F1*t);return r1.set(t1),r1[t1.length]=n1,r1[r1.length-1]^=128,r1}}function turboshake128(t,n1=31){if(n1<1||n1>127)throw new KitError("Invalid Domain Separator");const t1=t>>3,e1=168,F1=keccak_p_1600(12),r1=p$2(e1,n1);return createHash(o1=>sponge_1600(e1,t1,r1,F1)(o1),{ALGORITHM:`TurboSHAKE128/${t}`,BLOCK_SIZE:e1,DIGEST_SIZE:t1})}function turboshake256(t,n1=31){if(n1<1||n1>127)throw new KitError("Invalid Domain Separator");const t1=t>>3,e1=136,F1=keccak_p_1600(12),r1=p$2(e1,n1);return createHash(o1=>sponge_1600(e1,t1,r1,F1)(o1),{ALGORITHM:`TurboSHAKE256/${t}`,BLOCK_SIZE:e1,DIGEST_SIZE:t1})}function h$3(t){const n1=[];for(;t>0;)n1.unshift(t&255),t>>=8;return n1.push(n1.length),new Uint8Array(n1)}function l$5(t,n1,t1,e1){return F1=>{const r1=h$3(n1.length),o1=joinBuffer(F1,n1,r1);if(o1.length<=8192)return t1(t,7)(o1);{const s1=[];s1.push(o1.slice(0,8192)),s1.push(new Uint8Array([3,0,0,0,0,0,0,0]));let i1=8192,c1=0;for(;i1<o1.length;){const u1=t1(e1,11)(o1.slice(i1,i1+=8192));s1.push(u1),c1++}return s1.push(h$3(c1)),s1.push(new Uint8Array([255,255])),t1(t,6)(joinBuffer(...s1))}}}function kt128(t,n1=new Uint8Array){return createHash(l$5(t,n1,turboshake128,256),{ALGORITHM:`KangarooTwelve128/${t}`,BLOCK_SIZE:8192,DIGEST_SIZE:t>>3})}function kt256(t,n1=new Uint8Array){return createHash(l$5(t,n1,turboshake256,512),{ALGORITHM:`KangarooTwelve256/${t}`,BLOCK_SIZE:8192,DIGEST_SIZE:t>>3})}const M$3=(t,n1,t1,e1)=>e1<16?t^n1^t1:t&n1|t&t1|n1&t1,P=(t,n1,t1,e1)=>e1<16?t^n1^t1:t&n1|~t&t1,W$1=t=>t^rotateL32(t,9)^rotateL32(t,17),d$4=t=>t^rotateL32(t,15)^rotateL32(t,23);function j$2(t){const n1=new U8(32),t1=n1.view(4);t1.set(0,0x7380166Fn),t1.set(1,0x4914B2B9n),t1.set(2,0x172442D7n),t1.set(3,0xDA8A0600n),t1.set(4,0xA96F30BCn),t1.set(5,0x163138AAn),t1.set(6,0xE38DEE4Dn),t1.set(7,0xB0FB0E4En);const e1=t.length,F1=BigInt(e1)<<3n,r1=64,o1=e1+9+63>>6,s1=new U8(o1*r1);s1.set(t),s1[e1]=128;const i1=new DataView(s1.buffer);i1.setBigUint64(s1.length-8,F1,!1);for(let c1=0;c1<s1.length;c1+=r1){const u1=Number(t1.get(0)),f1=Number(t1.get(1)),A1=Number(t1.get(2)),E1=Number(t1.get(3)),B1=Number(t1.get(4)),a1=Number(t1.get(5)),I1=Number(t1.get(6)),l1=Number(t1.get(7));let p1=u1,m1=f1,b1=A1,h1=E1,y1=B1,_1=a1,g1=I1,w1=l1;const D1=new Uint32Array(68),C1=new Uint32Array(64);for(let S1=0;S1<68;S1++)if(S1<16?D1[S1]=i1.getUint32(c1+(S1<<2),!1):D1[S1]=d$4(D1[S1-16]^D1[S1-9]^rotateL32(D1[S1-3],15))^rotateL32(D1[S1-13],7)^D1[S1-6],S1>3){const d1=S1-4;C1[d1]=D1[d1]^D1[S1];const Z1=d1<16?2043430169:2055708042,U1=rotateL32(rotateL32(p1,12)+y1+rotateL32(Z1,d1),7),O1=U1^rotateL32(p1,12),$1=M$3(p1,m1,b1,d1)+h1+O1+C1[d1],K1=P(y1,_1,g1,d1)+w1+U1+D1[d1];h1=b1,b1=rotateL32(m1,9),m1=p1,p1=$1,w1=g1,g1=rotateL32(_1,19),_1=y1,y1=W$1(K1)}t1.set(0,BigInt(u1^p1)),t1.set(1,BigInt(f1^m1)),t1.set(2,BigInt(A1^b1)),t1.set(3,BigInt(E1^h1)),t1.set(4,BigInt(B1^y1)),t1.set(5,BigInt(a1^_1)),t1.set(6,BigInt(I1^g1)),t1.set(7,BigInt(l1^w1))}return n1}const sm3=createHash(j$2,{ALGORITHM:"SM3",BLOCK_SIZE:64,DIGEST_SIZE:32,OID:"1.2.156.10197.1.401"});function H$3(t,n1,t1){const{BLOCK_SIZE:e1}=t,F1=new Uint8Array(e1);F1.set(n1.length>e1?t(n1):n1);const r1=F1.map(i1=>i1^54),o1=F1.map(i1=>i1^92),s1=t(joinBuffer(r1,t1));return t(joinBuffer(o1,s1))}function hmac(t,n1,t1){const{ALGORITHM:e1,BLOCK_SIZE:F1,DIGEST_SIZE:r1}=t;n1=n1?Math.min(n1>>3,r1):r1,t1=t1?t1>>3:r1;const o1={ALGORITHM:`HMAC-${e1}-${n1<<3}`,BLOCK_SIZE:F1,DIGEST_SIZE:n1,KEY_SIZE:t1};return createKeyHash((s1,i1)=>H$3(t,s1,i1).slice(0,n1),o1)}function createCipher(t,n1){return wrap((t1,e1)=>wrap(t(t1,e1),n1),n1)}function createPadding(t,n1,t1){return wrap((e1,F1)=>typeof F1=="number"?t(e1,F1):n1(e1),t1)}const PKCS7_PAD=createPadding((t,n1)=>{const t1=n1-t.length%n1;return joinBuffer(t,new Uint8Array(t1).fill(t1))},t=>{const n1=t[t.length-1];return new U8(t.slice(0,t.length-n1))},{ALGORITHM:"PKCS#7"}),ISO7816_PAD=createPadding((t,n1)=>{const t1=Math.ceil((t.length+1)/n1),e1=new U8(t1*n1);return e1.set(t),e1[t.length]=128,e1},t=>{let n1=t.length-1;for(;t[n1]===128;)if(n1=n1-1,n1<0)return console.warn("This message may not be ISO/IEC 7816-4 padded"),new U8;return new U8(t.slice(0,n1+1))},{ALGORITHM:"ISO/IEC 7816-4"}),X923_PAD=createPadding((t,n1)=>{const t1=Math.ceil((t.length+1)/n1),e1=new U8(t1*n1);return e1.set(t),e1[e1.length-1]=e1.length-t.length,e1},t=>{const n1=t[t.length-1];return new U8(t.slice(0,t.length-n1))},{ALGORITHM:"ANSI X9.23"}),ZERO_PAD=createPadding((t,n1)=>{const t1=n1-t.length%n1;return joinBuffer(t,new Uint8Array(t1))},t=>{let n1=t.length-1;for(;t[n1]===0;)if(n1=n1-1,n1<0)return new U8;return new U8(t.slice(0,n1+1))},{ALGORITHM:"Zero Padding"}),NO_PAD=createPadding(t=>new U8(t.slice(0)),t=>new U8(t.slice(0)),{ALGORITHM:"No Padding"}),ecb=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`ECB-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:0,MIN_IV_SIZE:0,MAX_IV_SIZE:0};return wrap(e1=>{const{BLOCK_SIZE:F1}=t,r1=t(e1);return wrap({encrypt:o1=>{const s1=n1(o1,F1),i1=new U8(s1.length);for(let c1=0;c1<s1.length;){const u1=c1,f1=s1.subarray(c1,c1+=F1);i1.set(r1.encrypt(f1),u1)}return i1},decrypt:o1=>{if(o1.length%F1!==0)throw new KitError("Decryption error");const s1=new U8(o1.length);for(let i1=0;i1<o1.length;){const c1=i1,u1=o1.subarray(i1,i1+=F1);s1.set(r1.decrypt(u1),c1)}return n1(s1)}},t1)},t1)},{ALGORITHM:"ECB"}),cbc=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`CBC-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:t.BLOCK_SIZE,MIN_IV_SIZE:t.BLOCK_SIZE,MAX_IV_SIZE:t.BLOCK_SIZE};return wrap((e1,F1)=>{const{BLOCK_SIZE:r1}=t;if(F1.length!==r1)throw new KitError(`${t1.ALGORITHM} iv must be ${r1} byte`);const o1=t(e1);return wrap({encrypt:s1=>{const i1=n1(s1,r1),c1=new U8(i1.length);let u1=F1.slice(0);for(let f1=0;f1<i1.length;){const A1=f1,E1=i1.subarray(f1,f1+=r1);u1.forEach((B1,a1)=>u1[a1]^=E1[a1]),u1=o1.encrypt(u1),c1.set(u1,A1)}return c1},decrypt:s1=>{if(s1.length%r1!==0)throw new KitError("Decryption error");const i1=new U8(s1.length);let c1=F1;for(let u1=0;u1<s1.length;){const f1=u1,A1=s1.slice(u1,u1+=r1);o1.decrypt(A1).forEach((E1,B1)=>c1[B1]^=E1),i1.set(c1,f1),c1=A1}return n1(i1)}},t1)},t1)},{ALGORITHM:"CBC"}),pcbc=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`PCBC-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:t.BLOCK_SIZE,MIN_IV_SIZE:t.BLOCK_SIZE,MAX_IV_SIZE:t.BLOCK_SIZE};return wrap((e1,F1)=>{const{BLOCK_SIZE:r1}=t;if(F1.length!==r1)throw new KitError(`${t1.ALGORITHM} iv must be ${r1} byte`);const o1=t(e1);return wrap({encrypt:s1=>{const i1=n1(s1,r1),c1=new U8(i1.length),u1=F1.slice(0);for(let f1=0;f1<i1.length;){const A1=f1,E1=i1.subarray(f1,f1+=r1);u1.forEach((a1,I1)=>u1[I1]^=E1[I1]);const B1=o1.encrypt(u1);c1.set(B1,A1),u1.forEach((a1,I1)=>u1[I1]=B1[I1]^E1[I1])}return c1},decrypt:s1=>{if(s1.length%r1!==0)throw new KitError("Decryption error");const i1=new U8(s1.length),c1=F1.slice(0);for(let u1=0;u1<s1.length;){const f1=u1,A1=s1.slice(u1,u1+=r1),E1=o1.decrypt(A1);E1.forEach((B1,a1)=>E1[a1]^=c1[a1]),i1.set(E1,f1),A1.forEach((B1,a1)=>c1[a1]=A1[a1]^E1[a1])}return n1(i1)}},t1)},t1)},{ALGORITHM:"PCBC"}),cfb=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`CFB-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:t.BLOCK_SIZE,MIN_IV_SIZE:t.BLOCK_SIZE,MAX_IV_SIZE:t.BLOCK_SIZE};return wrap((e1,F1)=>{const{BLOCK_SIZE:r1}=t;if(F1.length!==r1)throw new KitError(`${t1.ALGORITHM} iv must be ${r1} byte`);const o1=t(e1);return wrap({encrypt:s1=>{const i1=n1(s1,r1),c1=new U8(i1.length);let u1=F1;for(let f1=0;f1<i1.length;){const A1=f1,E1=i1.subarray(f1,f1+=r1);u1=o1.encrypt(u1),u1.forEach((B1,a1)=>u1[a1]^=E1[a1]),c1.set(u1.subarray(0,E1.length),A1)}return c1},decrypt:s1=>{const i1=new U8(s1.length);let c1=F1;for(let u1=0;u1<s1.length;){const f1=u1,A1=s1.subarray(u1,u1+=r1);c1=o1.encrypt(c1),A1.forEach((E1,B1)=>c1[B1]^=A1[B1]),i1.set(c1.subarray(0,A1.length),f1),c1=A1}return n1(i1)}},t1)},t1)},{ALGORITHM:"CFB"}),ofb=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`OFB-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:t.BLOCK_SIZE,MIN_IV_SIZE:t.BLOCK_SIZE,MAX_IV_SIZE:t.BLOCK_SIZE};return wrap((e1,F1)=>{const{BLOCK_SIZE:r1}=t;if(F1.length!==r1)throw new KitError(`${t1.ALGORITHM} iv must be ${r1} byte`);const o1=t(e1);let s1=o1.encrypt(F1),i1=s1,c1=r1;const u1=f1=>{if(c1>f1)return i1;const A1=[i1];for(;c1<f1;)s1=o1.encrypt(s1),A1.push(s1),c1+=r1;return i1=joinBuffer(...A1),i1};return wrap({encrypt:f1=>{const A1=n1(f1,r1);return i1=u1(A1.length),A1.map((E1,B1)=>E1^i1[B1])},decrypt:f1=>(i1=u1(f1.length),n1(f1.map((A1,E1)=>A1^i1[E1])))},t1)},t1)},{ALGORITHM:"OFB"}),ctr=wrap((t,n1=PKCS7_PAD)=>{const t1={ALGORITHM:`CTR-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:t.BLOCK_SIZE,MIN_IV_SIZE:t.BLOCK_SIZE,MAX_IV_SIZE:t.BLOCK_SIZE};return wrap((e1,F1)=>{const{BLOCK_SIZE:r1}=t;if(F1.length!==r1)throw new KitError(`{info.ALGORITHM} iv must be ${r1} byte`);const o1=t(e1),s1=new Counter(F1.slice());let i1=new U8,c1=0;const u1=f1=>{if(c1>f1)return i1;const A1=[i1];for(;c1<f1;)A1.push(o1.encrypt(s1)),s1.inc(),c1+=r1;return i1=joinBuffer(...A1),i1};return wrap({encrypt:f1=>{const A1=n1(f1,r1);return i1=u1(A1.length),A1.map((E1,B1)=>E1^i1[B1])},decrypt:f1=>(i1=u1(f1.length),n1(f1.map((A1,E1)=>A1^i1[E1])))},t1)},t1)},{ALGORITHM:"CTR"});function x$2(t,n1){const t1=0xE1n<<56n,e1=new DataView(n1.buffer);let F1=e1.getBigUint64(0,!1),r1=e1.getBigUint64(8,!1),o1=0n,s1=0n;for(let u1=0;u1<16;u1++){const f1=t[u1];for(let A1=7;A1>=0;A1--){f1>>A1&1&&(o1^=F1,s1^=r1);const E1=r1&1n;r1=F1<<63n|r1>>1n,r1=r1&0xFFFFFFFFFFFFFFFFn,F1=F1>>1n,E1&&(F1^=t1)}}const i1=new U8(16),c1=new DataView(i1.buffer);return c1.setBigUint64(0,o1,!1),c1.setBigUint64(8,s1,!1),i1}function g$5(t,n1,t1){const e1=Math.ceil(n1.length/16),F1=Math.ceil(t1.length/16),r1=new Uint8Array((e1+F1+1)*16),o1=new DataView(r1.buffer);r1.set(n1),r1.set(t1,e1*16),o1.setBigUint64(r1.length-16,BigInt(n1.length<<3),!1),o1.setBigUint64(r1.length-8,BigInt(t1.length<<3),!1);let s1=new U8(16);for(let i1=0;i1<r1.length;i1+=16){const c1=r1.subarray(i1,i1+16);s1.forEach((u1,f1)=>s1[f1]^=c1[f1]),s1=x$2(t,s1)}return s1}const gcm=wrap((t,n1=PKCS7_PAD,t1=16)=>{const{BLOCK_SIZE:e1}=t;if(e1!==16)throw new KitError("GCM cipher block must be 128 bit");const F1={ALGORITHM:`GCM-${t.ALGORITHM}`,PADDING:n1,BLOCK_SIZE:t.BLOCK_SIZE,KEY_SIZE:t.KEY_SIZE,MIN_KEY_SIZE:t.MIN_KEY_SIZE,MAX_KEY_SIZE:t.MAX_KEY_SIZE,IV_SIZE:12,MIN_IV_SIZE:0,MAX_IV_SIZE:1/0,AUTH_TAG_SIZE:t1};return wrap((r1,o1)=>{const s1=t(r1),i1=s1.encrypt(new Uint8Array(e1));let c1=new Counter(16);o1.length===12?(c1.set(o1),c1[15]=1):c1=new Counter(g$5(i1,new Uint8Array,o1.slice(0)));let u1=s1.encrypt(c1),f1=0;const A1=I1=>{if(f1>I1)return u1;const l1=[u1];for(;f1<I1;)c1.inc(),l1.push(s1.encrypt(c1)),f1+=e1;return u1=joinBuffer(...l1),u1},E1=I1=>{const l1=n1(I1,e1);return u1=A1(l1.length),l1.map((p1,m1)=>p1^u1[m1+e1])},B1=I1=>(u1=A1(I1.length),n1(I1.map((l1,p1)=>l1^u1[p1+e1]))),a1=(I1,l1=new Uint8Array)=>{const p1=g$5(i1,l1,I1);return p1.forEach((m1,b1)=>p1[b1]^=u1[b1]),p1.slice(0,t1)};return wrap({encrypt:E1,decrypt:B1,sign:a1,verify:(I1,l1,p1)=>{if(I1.length!==t1)return!1;const m1=a1(l1,p1);return I1.every((b1,h1)=>b1===m1[h1])}},F1)},F1)},{ALGORITHM:"GCM",IV_SIZE:12}),D$1=new Uint8Array([214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72]),c$3=new Uint32Array([462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257]);function o$1(t){return D$1[t>>24&255]<<24|D$1[t>>16&255]<<16|D$1[t>>8&255]<<8|D$1[t&255]}function U$6(t){const n1=o$1(t);return n1^rotateL32(n1,2)^rotateL32(n1,10)^rotateL32(n1,18)^rotateL32(n1,24)}function b$4(t){const n1=o$1(t);return n1^rotateL32(n1,13)^rotateL32(n1,23)}function m$5(t){if(t.length!==16)throw new KitError("SM4 key must be 16 byte");const n1=new DataView(t.buffer);let t1=2746333894^n1.getUint32(0,!1),e1=1453994832^n1.getUint32(4,!1),F1=1736282519^n1.getUint32(8,!1),r1=2993693404^n1.getUint32(12,!1);const o1=new Uint32Array(32);for(let s1=0;s1<32;s1++)o1[s1]=t1^b$4(e1^F1^r1^c$3[s1]),t1=e1,e1=F1,F1=r1,r1=o1[s1];return o1}function w$5(t,n1,t1,e1,F1){return t^U$6(n1^t1^e1^F1)}function a$5(t,n1){if(t.length!==16)throw new KitError("SM4 block must be 16 byte");const t1=new DataView(t.buffer,t.byteOffset);let e1=t1.getUint32(0,!1),F1=t1.getUint32(4,!1),r1=t1.getUint32(8,!1),o1=t1.getUint32(12,!1),s1;for(let u1=0;u1<32;u1++)s1=w$5(e1,F1,r1,o1,n1[u1]),e1=F1,F1=r1,r1=o1,o1=s1;const i1=new U8(16),c1=new DataView(i1.buffer);return c1.setUint32(0,o1,!1),c1.setUint32(4,r1,!1),c1.setUint32(8,F1,!1),c1.setUint32(12,e1,!1),i1}function y$6(t){const n1=m$5(t),t1=n1.toReversed();return{encrypt:e1=>a$5(e1,n1),decrypt:e1=>a$5(e1,t1)}}const sm4=createCipher(y$6,{ALGORITHM:"SM4",BLOCK_SIZE:16,KEY_SIZE:16,MIN_KEY_SIZE:16,MAX_KEY_SIZE:16}),c$2=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),b$3=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),U$5=[1,2,4,8,16,32,64,128,27,54];function n$1(t,n1){let t1=0;if(n1===1)return t;for(let e1=0;e1<8;e1++){n1&1&&(t1^=t);const F1=t&128;t<<=1,F1&&(t^=27),n1>>=1}return t1&255}function m$4(t,n1){const t1=t.byteLength>>2,e1=new Uint8Array(n1+1<<4);e1.set(t);let F1=0;for(let r1=t1;r1<n1+1<<2;r1++){const o1=r1-1<<2,s1=e1.slice(o1,o1+4);if(r1%t1===0){const u1=s1[0];s1[0]=c$2[s1[1]]^U$5[F1],s1[1]=c$2[s1[2]],s1[2]=c$2[s1[3]],s1[3]=c$2[u1],F1++}else t1>6&&r1%t1===4&&(s1[0]=c$2[s1[0]],s1[1]=c$2[s1[1]],s1[2]=c$2[s1[2]],s1[3]=c$2[s1[3]]);const i1=r1-t1<<2,c1=e1.subarray(i1,i1+4);for(let u1=0;u1<4;u1++)s1[u1]^=c1[u1];e1.set(s1,r1<<2)}return e1}function w$4(t,n1,t1){if(t.byteLength!==16)throw new KitError("AES block must be 16 byte");const e1=new U8(t.slice(0)),F1=i1=>{for(let c1=0;c1<e1.byteLength;c1++)e1[c1]^=i1[c1]},r1=()=>{for(let i1=0;i1<e1.byteLength;i1++)e1[i1]=c$2[e1[i1]]},o1=()=>{const i1=e1[1];e1[1]=e1[5],e1[5]=e1[9],e1[9]=e1[13],e1[13]=i1;const c1=e1[2],u1=e1[6];e1[2]=e1[10],e1[6]=e1[14],e1[10]=c1,e1[14]=u1;const f1=e1[15];e1[15]=e1[11],e1[11]=e1[7],e1[7]=e1[3],e1[3]=f1},s1=()=>{for(let i1=0;i1<4;i1++){const c1=e1[i1<<2],u1=e1[(i1<<2)+1],f1=e1[(i1<<2)+2],A1=e1[(i1<<2)+3],E1=n$1(c1,2)^n$1(u1,3)^n$1(f1,1)^n$1(A1,1),B1=n$1(c1,1)^n$1(u1,2)^n$1(f1,3)^n$1(A1,1),a1=n$1(c1,1)^n$1(u1,1)^n$1(f1,2)^n$1(A1,3),I1=n$1(c1,3)^n$1(u1,1)^n$1(f1,1)^n$1(A1,2);e1[i1<<2]=E1,e1[(i1<<2)+1]=B1,e1[(i1<<2)+2]=a1,e1[(i1<<2)+3]=I1}};F1(n1.subarray(0,16));for(let i1=1;i1<t1;i1++)r1(),o1(),s1(),F1(n1.subarray(i1<<4,i1+1<<4));return r1(),o1(),F1(n1.subarray(n1.length-16,n1.length)),e1}function g$4(t,n1,t1){if(t.byteLength!==16)throw new KitError("AES block must be 16 byte");const e1=new U8(t.slice(0)),F1=i1=>{for(let c1=0;c1<e1.byteLength;c1++)e1[c1]^=i1[c1]},r1=()=>{for(let i1=0;i1<e1.byteLength;i1++)e1[i1]=b$3[e1[i1]]},o1=()=>{const i1=e1[13];e1[13]=e1[9],e1[9]=e1[5],e1[5]=e1[1],e1[1]=i1;const c1=e1[2],u1=e1[6];e1[2]=e1[10],e1[6]=e1[14],e1[10]=c1,e1[14]=u1;const f1=e1[3];e1[3]=e1[7],e1[7]=e1[11],e1[11]=e1[15],e1[15]=f1},s1=()=>{for(let i1=0;i1<4;i1++){const c1=e1[i1<<2],u1=e1[(i1<<2)+1],f1=e1[(i1<<2)+2],A1=e1[(i1<<2)+3],E1=n$1(c1,14)^n$1(u1,11)^n$1(f1,13)^n$1(A1,9),B1=n$1(c1,9)^n$1(u1,14)^n$1(f1,11)^n$1(A1,13),a1=n$1(c1,13)^n$1(u1,9)^n$1(f1,14)^n$1(A1,11),I1=n$1(c1,11)^n$1(u1,13)^n$1(f1,9)^n$1(A1,14);e1[i1<<2]=E1,e1[(i1<<2)+1]=B1,e1[(i1<<2)+2]=a1,e1[(i1<<2)+3]=I1}};F1(n1.subarray(n1.length-16,n1.length));for(let i1=t1-1;i1>0;i1--)o1(),r1(),F1(n1.subarray(i1<<4,i1+1<<4)),s1();return o1(),r1(),F1(n1.subarray(0,16)),e1}function p$1(t,n1){if(t.byteLength!==n1>>3)throw new KitError(`AES key must be ${n1>>3} byte`);const t1=n1===128?10:n1===192?12:14,e1=m$4(t,t1);return{encrypt:F1=>w$4(F1,e1,t1),decrypt:F1=>g$4(F1,e1,t1)}}function aes(t){return createCipher(n1=>p$1(n1,t),{ALGORITHM:`AES-${t}`,BLOCK_SIZE:16,KEY_SIZE:t>>3,MIN_KEY_SIZE:t>>3,MAX_KEY_SIZE:t>>3})}const a$4=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189