@honeybbq/teamspeak-client 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/address-BR-5unVo.cjs.map +1 -1
  2. package/dist/address-BfmovVpp.js.map +1 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/client.d.ts +16 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/command/index.cjs +1 -1
  7. package/dist/command/index.mjs +1 -1
  8. package/dist/command/parser.d.ts.map +1 -1
  9. package/dist/command-BLe-C2L2.js.map +1 -1
  10. package/dist/command-DAK4pUBP.cjs.map +1 -1
  11. package/dist/commands.d.ts.map +1 -1
  12. package/dist/crypt-handshake-CQkQreLx.cjs.map +1 -1
  13. package/dist/crypt-handshake-DziOY4Lq.js.map +1 -1
  14. package/dist/{crypt-init2-D70ha4LB.js → crypt-init2-BcGT--df.js} +2 -2
  15. package/dist/crypt-init2-BcGT--df.js.map +1 -0
  16. package/dist/{crypt-init2-DparLekm.cjs → crypt-init2-Bkee1YxV.cjs} +2 -2
  17. package/dist/crypt-init2-Bkee1YxV.cjs.map +1 -0
  18. package/dist/crypto/crypt.d.ts.map +1 -1
  19. package/dist/crypto/eax.d.ts.map +1 -1
  20. package/dist/crypto/identity.d.ts +13 -1
  21. package/dist/crypto/identity.d.ts.map +1 -1
  22. package/dist/crypto/index.cjs +1 -1
  23. package/dist/crypto/index.d.ts +2 -1
  24. package/dist/crypto/index.d.ts.map +1 -1
  25. package/dist/crypto/index.mjs +3 -3
  26. package/dist/{crypto-CDlweUL3.cjs → crypto-BfDd9DP6.cjs} +2 -2
  27. package/dist/crypto-BfDd9DP6.cjs.map +1 -0
  28. package/dist/{crypto-Bg02m4ZE.js → crypto-DLV3oH5F.js} +12 -12
  29. package/dist/crypto-DLV3oH5F.js.map +1 -0
  30. package/dist/discovery/resolver.d.ts.map +1 -1
  31. package/dist/errors.d.ts.map +1 -1
  32. package/dist/{handler-DI_abe9c.js → handler-BpdZFsKo.js} +104 -102
  33. package/dist/handler-BpdZFsKo.js.map +1 -0
  34. package/dist/handler-aywHvv7I.cjs +2 -0
  35. package/dist/handler-aywHvv7I.cjs.map +1 -0
  36. package/dist/handshake/index.cjs +1 -1
  37. package/dist/handshake/index.mjs +1 -1
  38. package/dist/handshake/license.d.ts.map +1 -1
  39. package/dist/handshake.d.ts +9 -0
  40. package/dist/handshake.d.ts.map +1 -1
  41. package/dist/index.cjs +2 -2
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.mjs +314 -279
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/{parser-DZMv3Jm-.js → parser-BX8NEiBe.js} +4 -4
  46. package/dist/parser-BX8NEiBe.js.map +1 -0
  47. package/dist/parser-BfwYH2fT.cjs +2 -0
  48. package/dist/parser-BfwYH2fT.cjs.map +1 -0
  49. package/dist/{primitives-xIr6Tjk4.js → primitives-CdX74Rgu.js} +194 -190
  50. package/dist/primitives-CdX74Rgu.js.map +1 -0
  51. package/dist/primitives-DkwW7wcP.cjs +2 -0
  52. package/dist/primitives-DkwW7wcP.cjs.map +1 -0
  53. package/dist/resolver-6B8dI9gr.js.map +1 -1
  54. package/dist/resolver-DCcmyWSK.cjs.map +1 -1
  55. package/dist/throttle.d.ts.map +1 -1
  56. package/dist/transfer.d.ts.map +1 -1
  57. package/dist/transport/generation-window.d.ts.map +1 -1
  58. package/dist/transport/handler.d.ts +9 -1
  59. package/dist/transport/handler.d.ts.map +1 -1
  60. package/dist/transport/index.cjs +1 -1
  61. package/dist/transport/index.mjs +1 -1
  62. package/dist/transport/quicklz.d.ts.map +1 -1
  63. package/dist/types.d.ts +11 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/package.json +8 -6
  66. package/dist/address.test.d.ts +0 -2
  67. package/dist/address.test.d.ts.map +0 -1
  68. package/dist/api.test.d.ts +0 -2
  69. package/dist/api.test.d.ts.map +0 -1
  70. package/dist/command/command.test.d.ts +0 -2
  71. package/dist/command/command.test.d.ts.map +0 -1
  72. package/dist/crypt-init2-D70ha4LB.js.map +0 -1
  73. package/dist/crypt-init2-DparLekm.cjs.map +0 -1
  74. package/dist/crypto/eax.test.d.ts +0 -2
  75. package/dist/crypto/eax.test.d.ts.map +0 -1
  76. package/dist/crypto/identity.test.d.ts +0 -2
  77. package/dist/crypto/identity.test.d.ts.map +0 -1
  78. package/dist/crypto-Bg02m4ZE.js.map +0 -1
  79. package/dist/crypto-CDlweUL3.cjs.map +0 -1
  80. package/dist/handler-DI_abe9c.js.map +0 -1
  81. package/dist/handler-DuwoO5RC.cjs +0 -2
  82. package/dist/handler-DuwoO5RC.cjs.map +0 -1
  83. package/dist/handshake.test.d.ts +0 -2
  84. package/dist/handshake.test.d.ts.map +0 -1
  85. package/dist/helpers.test.d.ts +0 -2
  86. package/dist/helpers.test.d.ts.map +0 -1
  87. package/dist/integration.test.d.ts +0 -12
  88. package/dist/integration.test.d.ts.map +0 -1
  89. package/dist/notifications.test.d.ts +0 -2
  90. package/dist/notifications.test.d.ts.map +0 -1
  91. package/dist/parser-CL33R9tr.cjs +0 -2
  92. package/dist/parser-CL33R9tr.cjs.map +0 -1
  93. package/dist/parser-DZMv3Jm-.js.map +0 -1
  94. package/dist/primitives-cNNAeFCo.cjs +0 -2
  95. package/dist/primitives-cNNAeFCo.cjs.map +0 -1
  96. package/dist/primitives-xIr6Tjk4.js.map +0 -1
  97. package/dist/throttle.test.d.ts +0 -2
  98. package/dist/throttle.test.d.ts.map +0 -1
  99. package/dist/transport/generation-window.test.d.ts +0 -2
  100. package/dist/transport/generation-window.test.d.ts.map +0 -1
  101. package/dist/transport/packet.test.d.ts +0 -2
  102. package/dist/transport/packet.test.d.ts.map +0 -1
  103. package/dist/transport/quicklz.test.d.ts +0 -2
  104. package/dist/transport/quicklz.test.d.ts.map +0 -1
  105. package/dist/transport/whisper.test.d.ts +0 -2
  106. package/dist/transport/whisper.test.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ let e=require("node:crypto");var t=class extends Error{constructor(e,t){super(e,t),this.name=`TeamspeakError`}},n=class extends t{id;serverMessage;constructor(e,t){super(`TeamSpeak server error: ${t} (id=${e})`),this.name=`ServerError`,this.id=e,this.serverMessage=t}},r=class extends t{command;constructor(e){super(`command timeout: ${e}`),this.name=`CommandTimeoutError`,this.command=e}},i=class extends t{constructor(){super(`already connecting or connected`),this.name=`AlreadyConnectedError`}},a=class extends t{constructor(){super(`EAX tag mismatch`),this.name=`EAXTagMismatchError`}},o=class extends t{constructor(){super(`fake signature mismatch`),this.name=`FakeSignatureMismatchError`}},s=class extends t{constructor(e,t){super(e,t),this.name=`FileTransferError`}},c=class extends t{constructor(){super(`timeout waiting for file transfer notification`),this.name=`FileTransferTimeoutError`}},l=class extends t{constructor(e,t){super(e,t),this.name=`CryptoInitError`}},u=class extends t{constructor(e=`invalid identity format`){super(e),this.name=`InvalidIdentityError`}},d=32,f=65,p=4,m=class{privateKey;offset;constructor(e,t){this.privateKey=e,this.offset=t}publicKeyBase64(){let e=this.privateKey.export({format:`jwk`});return e.x===void 0||e.y===void 0||typeof e.x!=`string`||typeof e.y!=`string`?``:b(ne(e.x,d),ne(e.y,d))}toString(){let e=this.privateKey.export({format:`jwk`});if(!e.d)return`:${this.offset}`;let t=ne(e.d,d);return`${Buffer.from(t).toString(`base64`)}:${this.offset}`}securityLevel(){let t=(0,e.createHash)(`sha1`);return t.update(this.publicKeyBase64()),t.update(this.offset.toString(10)),re(t.digest())}async upgradeToLevel(t,n){let r=this.publicKeyBase64();for(;;){if(n?.aborted)throw n.reason;let i=(0,e.createHash)(`sha1`);if(i.update(r),i.update(this.offset.toString(10)),re(i.digest())>=t)return;this.offset++,this.offset%10000n==0n&&await new Promise(e=>setImmediate(e))}}};function h(t){let n=t.lastIndexOf(`:`);if(n<0)throw new u;let r=t.slice(0,n),i=t.slice(n+1),a=Buffer.from(r,`base64`),o=BigInt(i);if(a.length>d)throw new u(`private key scalar too large`);let s=Buffer.alloc(d);a.copy(s,d-a.length);let c=(0,e.createECDH)(`prime256v1`);c.setPrivateKey(s);let l=c.getPublicKey(null,`uncompressed`),f=Buffer.from(l.slice(1,33)).toString(`base64url`),p=Buffer.from(l.slice(33,65)).toString(`base64url`),h={kty:`EC`,crv:`P-256`,d:s.toString(`base64url`),x:f,y:p};return new m((0,e.createPrivateKey)({key:h,format:`jwk`}),o)}function g(t){let{privateKey:n}=(0,e.generateKeyPairSync)(`ec`,{namedCurve:`prime256v1`}),r=new m(n,0n),i=r.publicKeyBase64();for(;;){let n=(0,e.createHash)(`sha1`);if(n.update(i),n.update(r.offset.toString(10)),re(n.digest())>=t)return r;r.offset++}}function _(e){let t=Number.parseInt(e,10);return Number.isNaN(t)||t<6?`sha1`:`sha256`}function v(t,n=`sha1`){let r=(0,e.createHash)(n).update(t).digest();return Buffer.from(r).toString(`base64`)}function y(t){return(0,e.createHash)(`sha512`).update(t).digest()}function b(e,t){let n=E(3,Buffer.from([7,0])),r=E(2,D(32)),i=E(2,D(e)),a=E(2,D(t));return E(48,Buffer.concat([n,r,i,a])).toString(`base64`)}function x(t){let n=S(t),r={kty:`EC`,crv:`P-256`,x:Buffer.from(n.slice(1,33)).toString(`base64url`),y:Buffer.from(n.slice(33,65)).toString(`base64url`)};return(0,e.createPublicKey)({key:r,format:`jwk`})}function S(e){try{return C(e)}catch{}return w(e)}function C(e){let t=O(e,48).value,n=0,r=O(t,3,n);n+=r.consumed;let i=O(t,2,n);n+=i.consumed;let a=O(t,2,n);n+=a.consumed;let o=O(t,2,n);return T(te(a.value,d),te(o.value,d))}function w(e){let t=O(e,48).value,n=0,r=O(t,2,n);n+=r.consumed;let i=O(t,2,n);return T(te(r.value,d),te(i.value,d))}function T(e,t){if(e.length>d||t.length>d)throw Error(`invalid public key point encoding`);let n=new Uint8Array(f);return n[0]=p,n.set(e,33-e.length),n.set(t,65-t.length),n}function E(e,t){let n=ee(t.length);return Buffer.concat([Buffer.from([e]),n,t])}function ee(e){return e<128?Buffer.from([e]):e<256?Buffer.from([129,e]):Buffer.from([130,e>>8&255,e&255])}function D(e){if(typeof e==`number`){let t=[],n=e;do t.unshift(n&255),n>>=8;while(n>0);return t[0]&128&&t.unshift(0),Buffer.from(t)}let t=0;for(;t<e.length-1&&e[t]===0;)t++;let n=e.slice(t);return n[0]&128?Buffer.concat([Buffer.from([0]),n]):Buffer.from(n)}function O(e,t,n=0){if(e[n]!==t)throw Error(`expected DER tag 0x${t.toString(16)}, got 0x${(e[n]??0).toString(16)}`);let r=n+1,i,a=e[r++];if(a<128)i=a;else if(a===129)i=e[r++];else if(a===130)i=(e[r]<<8|e[r+1])>>>0,r+=2;else throw Error(`unsupported DER length encoding`);return{value:e.slice(r,r+i),consumed:r-n+i}}function te(e,t){let n=0;for(;n<e.length-1&&e[n]===0;)n++;let r=e.slice(n);if(r.length>t)throw Error(`integer too large`);if(r.length===t)return r;let i=new Uint8Array(t);return i.set(r,t-r.length),i}function ne(e,t){let n=Buffer.from(e,`base64url`);if(n.length===t)return n;let r=Buffer.alloc(t);return n.copy(r,t-n.length),r}function re(e){let t=0;for(let n of e)if(n===0)t+=8;else for(let e=0;e<8;e++)if(!(n&1<<e))t++;else return t;return t}var ie=BigInt(2**32-1),ae=BigInt(32);function oe(e,t=!1){return t?{h:Number(e&ie),l:Number(e>>ae&ie)}:{h:Number(e>>ae&ie)|0,l:Number(e&ie)|0}}function se(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=oe(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var ce=e=>e/2**32|0,le=e=>e>>>0;function ue(e,t,n,r){let i=ce(n),a=le(n);e.setUint32(t,r?a:i,r),e.setUint32(t+4,r?i:a,r)}var de=(e,t,n)=>e>>>n,fe=(e,t,n)=>e<<32-n|t>>>n,k=(e,t,n)=>e>>>n|t<<32-n,A=(e,t,n)=>e<<32-n|t>>>n,pe=(e,t,n)=>e<<64-n|t>>>n-32,me=(e,t,n)=>e>>>n-32|t<<64-n;function j(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var he=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),ge=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_e=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),ve=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,ye=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),be=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;function xe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}var Se=e=>e?`"${e}" `:``;function Ce(e,t=``){if(typeof e!=`number`)throw TypeError(Se(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(Se(t)+`expected integer >= 0, got `+e);return e}function M(e,t,n=``){if(xe(e)&&(t===void 0||e.length===t))return e;t!==void 0&&Ce(t,`length`);let r=xe(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=Se(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}var we=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)},Te=(e,t)=>{we(e,t);let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,`__proto__`))throw TypeError(`"${t}.__proto__" is not allowed`)};function Ee(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function De(e,t){M(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function Oe(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ke(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Ae=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,je=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Me(e){if(M(e),Ae)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=je[e[n]];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 Pe(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);if(Ae)try{return Uint8Array.fromHex(e)}catch(e){throw e instanceof SyntaxError?RangeError(e.message):e}let t=e.length,n=t/2;if(t%2)throw RangeError(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Ne(e.charCodeAt(i)),a=Ne(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw RangeError(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function Fe(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];M(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Ie(e,t,n=`opts`){return Te(e,`defaults`),t!==void 0&&Te(t,n),Object.assign(Object.create(null),e,t)}function Le(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=Ie({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}function Re(e=32){Ce(e,`bytesLength`);let t=typeof globalThis==`object`?globalThis.crypto:null;if(typeof t?.getRandomValues!=`function`)throw Error(`crypto.getRandomValues must be defined`);if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var ze=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),Be=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=ke(this.buffer)}update(e){Ee(this),M(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=ke(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0;continue}n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){Ee(this),De(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,t.fill(0,a),this.padOffset>r-a&&(this.process(n,0),t.fill(0)),ue(n,r-8,this.length*8,i),this.process(n,0),this.roundClean();let o=e===t?n:ke(e),s=this.outputLen,c=s/4,l=this.get();if(s%4||c>l.length)throw Error(`invalid outputLen`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}},Ve=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),He=se(`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.0xa81a664bbc423001.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`.split(`.`).map(e=>BigInt(e))),Ue=He[0],We=He[1],N=new Uint32Array(80),P=new Uint32Array(80),Ge=class extends Be{Ah=0;Al=0;Bh=0;Bl=0;Ch=0;Cl=0;Dh=0;Dl=0;Eh=0;El=0;Fh=0;Fl=0;Gh=0;Gl=0;Hh=0;Hl=0;constructor(e,t){super(128,e,16,!1),this.Ah=t[0]|0,this.Al=t[1]|0,this.Bh=t[2]|0,this.Bl=t[3]|0,this.Ch=t[4]|0,this.Cl=t[5]|0,this.Dh=t[6]|0,this.Dl=t[7]|0,this.Eh=t[8]|0,this.El=t[9]|0,this.Fh=t[10]|0,this.Fl=t[11]|0,this.Gh=t[12]|0,this.Gl=t[13]|0,this.Hh=t[14]|0,this.Hl=t[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)N[n]=e.getUint32(t),P[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=N[e-15]|0,n=P[e-15]|0,r=k(t,n,1)^k(t,n,8)^de(t,n,7),i=A(t,n,1)^A(t,n,8)^fe(t,n,7),a=N[e-2]|0,o=P[e-2]|0,s=k(a,o,19)^pe(a,o,61)^de(a,o,6),c=_e(i,A(a,o,19)^me(a,o,61)^fe(a,o,6),P[e-7],P[e-16]),l=ve(c,r,s,N[e-7],N[e-16]);N[e]=l|0,P[e]=c|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=k(u,d,14)^k(u,d,18)^pe(u,d,41),v=A(u,d,14)^A(u,d,18)^me(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=ye(_,v,b,We[e],P[e]),S=be(x,g,t,y,Ue[e],N[e]),C=x|0,w=k(n,r,28)^pe(n,r,34)^pe(n,r,39),T=A(n,r,28)^me(n,r,34)^me(n,r,39),E=n&i^n&o^i&o,ee=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=j(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let D=he(C,T,ee);n=ge(D,S,w,E),r=D|0}({h:n,l:r}=j(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=j(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=j(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=j(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=j(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=j(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=j(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=j(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Oe(N,P)}destroy(){this.destroyed=!0,Oe(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ke=class extends Ge{constructor(){super(64,Ve)}},qe=Le(()=>new Ke,ze(3));function Je(e,t,n=()=>{}){if(!Array.isArray(e))throw TypeError(`"${t}" expected array, got type=${typeof e}`);for(let r=0;r<e.length;r++)n(e[r],`${t}[${r}]`);return e}var F=(e,t,n)=>M(e,t,n),Ye=Ce;function I(e,t=`object`){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t===`object`?`expected valid options object`:`"${t}" expected object, got type=${typeof e}`);return e}function L(e,t){if(typeof e!=`function`)throw TypeError(`"${t}" is invalid: expected function, got ${typeof e}`);return e}var Xe=Me,Ze=(...e)=>Fe(...e),Qe=e=>Pe(e),$e=xe,et=e=>Re(e),tt=BigInt(0),nt=BigInt(1),rt=e=>e?`"${e}" `:``;function R(e,t=``){if(typeof e!=`boolean`)throw TypeError(rt(t)+`expected boolean, got type=`+typeof e);return e}function it(e){if(typeof e==`bigint`){if(!H(e))throw RangeError(`positive bigint expected, got `+e)}else Ye(e);return e}function z(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(n+`expected number, got type=`+typeof e)}if(!Number.isSafeInteger(e)){let n=t&&`"${t}" `;throw RangeError(n+`expected safe integer, got `+e)}}function at(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);return e===``?tt:BigInt(`0x`+e)}function ot(e){return at(Me(e))}function B(e){return at(Me(V(M(e)).reverse()))}function st(e,t){if(Ce(t),t===0)throw Error(`zero output length is invalid`);e=it(e);let n=t*2,r=e.toString(16);if(r.length>n)throw RangeError(`number is too large`);return Pe(r.padStart(n,`0`))}function ct(e,t){return st(e,t).reverse()}function V(e){return Uint8Array.from(F(e))}function H(e){return typeof e==`bigint`&&tt<=e}function lt(e,t,n){return H(e)&&H(t)&&H(n)&&t<=e&&e<n}function ut(e,t,n,r){if(!lt(t,n,r))throw RangeError(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function dt(e){if(e<tt)throw Error(`expected non-negative bigint, got `+e);return e===tt?0:e.toString(2).length}var ft=e=>(z(e,`n`),(nt<<BigInt(e))-nt);function U(e,t={},n={},r=`object`){I(e,r),I(t,`fields`),I(n,`optFields`);function i(t,n,i){let a=r===`object`?`param "${String(t)}"`:`"${r}.${String(t)}"`,o=e[t];if(!Object.hasOwn(e,t)&&(i?o!==void 0:n!==`function`))throw TypeError(`${a} is invalid: expected own property`);if(i&&o===void 0)return;let s=typeof o;if(s!==n||o===null)throw TypeError(`${a} is invalid: expected ${n}, got ${s}`)}let a=(e,t)=>Object.entries(e).forEach(([e,n])=>i(e,n,t));a(t,!1),a(n,!0)}var W=BigInt(0),G=BigInt(1),K=BigInt(2),pt=BigInt(3),mt=BigInt(4),ht=BigInt(5),gt=BigInt(7),_t=BigInt(8),vt=BigInt(9),yt=BigInt(15),bt=BigInt(16),xt=BigInt(`0x10000000000000000`);function q(e,t){if(t<=W)throw Error(`mod: expected positive modulus, got `+t);let n=e%t;return n>=W?n:t+n}function St(e,t,n){if(n<=G)throw Error(`pow: expected modulus > 1, got `+n);if(typeof t!=`bigint`)throw TypeError(`invalid exponent: expected bigint, got `+typeof t);if(t<W)throw Error(`invalid exponent, negatives unsupported`);if(t===W)return G;if(t===G)return e;let r=e%n;if(r<W&&(r+=n),t<xt){let e=G;for(;t>W;)t&G&&(e=e*r%n),r=r*r%n,t>>=G;return e}let i=[];for(;t>W;)i.push(Number(t&yt)),t>>=mt;let a=Array(16);a[0]=G,a[1]=r;for(let e=2;e<16;e++)a[e]=a[e-1]*r%n;let o=a[i[i.length-1]];for(let e=i.length-2;e>=0;e--){o=o*o%n,o=o*o%n,o=o*o%n,o=o*o%n;let t=i[e];t!==0&&(o=o*a[t]%n)}return o}function J(e,t,n){if(n<=G)throw Error(`pow2: expected modulus > 1, got `+n);if(t<W)throw Error(`pow2: expected non-negative exponent, got `+t);let r=e;for(;t-->W;)r*=r,r%=n;return r}function Ct(e,t){if(e===W)throw Error(`invert: expected non-zero number`);if(t<=G)throw Error(`invert: expected modulus > 1, got `+t);let n=q(e,t),r=t,i=W,a=G;for(;n!==W;){let e=r/n,t=r-n*e,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==G)throw Error(`invert: does not exist`);return q(i,t)}function wt(e,t,n){let r=e;if(!r.eql(r.sqr(t),n))throw Error(`Cannot find square root`)}function Tt(e,t){if((e&G)===W)throw Error(t+`: expected odd modulus, got `+e)}function Et(e,t){let n=e,r=(n.ORDER+G)/mt,i=n.pow(t,r);return wt(n,i,t),i}function Dt(e,t){let n=e,r=(n.ORDER-ht)/_t,i=n.mul(t,K),a=n.pow(i,r),o=n.mul(t,a),s=n.mul(n.mul(o,K),a),c=n.mul(o,n.sub(s,n.ONE));return wt(n,c,t),c}function Ot(e){let t=Rt(e),n=kt(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+gt)/bt;return((e,t)=>{let n=e,s=n.pow(t,o),c=n.mul(s,r),l=n.mul(s,i),u=n.mul(s,a),d=n.eql(n.sqr(c),t),f=n.eql(n.sqr(l),t);s=n.cmov(s,c,d),c=n.cmov(u,l,f);let p=n.eql(n.sqr(c),t),m=n.cmov(s,c,p);return wt(n,m,t),m})}function kt(e){if(e<pt)throw Error(`sqrt is not defined for small field`);Tt(e,`tonelliShanks`);let t=e-G,n=0;for(;t%K===W;)t/=K,n++;let r=K,i=Rt(e);for(;Pt(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Et;let a=i.pow(r,t),o=(t+G)/K;return function(e,r){let i=e;if(i.is0(r))return r;if(Pt(i,r)!==1)throw Error(`Cannot find square root`);let s=n,c=i.mul(i.ONE,a),l=i.pow(r,t),u=i.pow(r,o);for(;!i.eql(l,i.ONE);){if(i.is0(l))throw Error(`Cannot find square root: probably non-prime P`);let e=1,t=i.sqr(l);for(;!i.eql(t,i.ONE);)if(e++,t=i.sqr(t),e===s)throw Error(`Cannot find square root`);let n=G<<BigInt(s-e-1),r=i.pow(c,n);s=e,c=i.sqr(r),l=i.mul(l,c),u=i.mul(u,r)}return u}}function At(e){return Tt(e,`Fp.sqrt`),e%mt===pt?Et:e%_t===ht?Dt:e%bt===vt?Ot(e):kt(e)}var jt=(e,t)=>(q(e,t)&G)===G,Mt=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Y(e){if(I(e,`field`),typeof e.ORDER!=`bigint`)throw TypeError(`param "ORDER" is invalid: expected bigint, got `+typeof e.ORDER);z(e.BYTES,`BYTES`),z(e.BITS,`BITS`);for(let t of Mt)L(e[t],`field.`+t);if(e.BYTES<1||e.BITS<1)throw Error(`invalid field: expected BYTES/BITS > 0`);if(e.ORDER<=G)throw Error(`invalid field: expected ORDER > 1, got `+e.ORDER);return e}function Nt(e,t,n=!1){Y(e),Je(t,`nums`),R(n,`passZero`);let r=e,i=Array(t.length).fill(n?r.ZERO:void 0),a=t.reduce((e,t,n)=>r.is0(t)?e:(i[n]=e,r.mul(e,t)),r.ONE),o=r.inv(a);return t.reduceRight((e,t,n)=>r.is0(t)?e:(i[n]=r.mul(e,i[n]),r.mul(e,t)),o),i}function Pt(e,t){Y(e);let n=e;Tt(n.ORDER,`FpLegendre`);let r=(n.ORDER-G)/K,i=n.pow(t,r),a=n.eql(i,n.ONE),o=n.eql(i,n.ZERO),s=n.eql(i,n.neg(n.ONE));if(!a&&!o&&!s)throw Error(`invalid Legendre symbol result`);return a?1:o?0:-1}function Ft(e,t){if(t!==void 0&&Ye(t),e<=W)throw Error(`invalid n length: expected positive n, got `+e);if(t!==void 0&&t<1)throw Error(`invalid n length: expected positive bit length, got `+t);let n=dt(e);if(t!==void 0&&t<n)throw Error(`invalid n length: expected nBitLength (${t}) >= bitLen(n) (${n})`);let r=t===void 0?n:t;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}var It=new WeakMap,Lt=class{ORDER;BITS;BYTES;isLE;ZERO=W;ONE=G;_lengths;_mod;constructor(e,t={}){if(e<=G)throw Error(`invalid field: expected ORDER > 1, got `+e);let n;this.isLE=!1,typeof t==`object`&&t&&(typeof t.BITS==`number`&&(n=t.BITS),typeof t.sqrt==`function`&&Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0}),typeof t.isLE==`boolean`&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes==`boolean`&&(this._mod=t.modFromBytes));let{nBitLength:r,nByteLength:i}=Ft(e,n);if(i>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);this.ORDER=e,this.BITS=r,this.BYTES=i,Object.freeze(this)}create(e){return q(e,this.ORDER)}isValid(e){if(typeof e!=`bigint`)throw TypeError(`invalid field element: expected bigint, got `+typeof e);return W<=e&&e<this.ORDER}is0(e){return e===W}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&G)===G}neg(e){return q(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return q(e*e,this.ORDER)}add(e,t){return q(e+t,this.ORDER)}sub(e,t){return q(e-t,this.ORDER)}mul(e,t){return q(e*t,this.ORDER)}pow(e,t){return St(e,t,this.ORDER)}div(e,t){return q(e*Ct(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Ct(e,this.ORDER)}sqrt(e){let t=It.get(this);return t||It.set(this,t=At(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?ct(e,this.BYTES):st(e,this.BYTES)}fromBytes(e,t=!1){F(e);let{_lengths:n,BYTES:r,isLE:i,ORDER:a,_mod:o}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>r)throw Error(`Field.fromBytes: expected `+n+` bytes, got `+e.length);let t=new Uint8Array(r);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==r)throw Error(`Field.fromBytes: expected `+r+` bytes, got `+e.length);let s=i?B(e):ot(e);if(o&&(s=q(s,a)),!t&&!this.isValid(s))throw Error(`invalid field element: outside of range 0..ORDER`);return s}invertBatch(e){return Nt(this,e,!0)}cmov(e,t,n){return R(n,`condition`),n?t:e}};function Rt(e,t={}){return Object.freeze(Lt.prototype),new Lt(e,t)}var zt=BigInt(0),X=BigInt(1),Bt=BigInt(4),Vt=16,Ht=128,Ut=5,Wt=2**31;function Gt(e){let t=e;if(typeof t!=`function`)throw TypeError(`"Point" expected constructor, got type=`+typeof e);L(t.fromAffine,`Point.fromAffine`),L(t.fromBytes,`Point.fromBytes`),L(t.fromHex,`Point.fromHex`),I(t.BASE,`Point.BASE`),I(t.ZERO,`Point.ZERO`),Y(t.Fp),Y(t.Fn)}function Kt(e,t){Gt(e),Xt(t,e);let n=Nt(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function qt(e,t,n=1){if(!Number.isSafeInteger(e)||e<n||e>t)throw Error(`invalid window size, expected [`+n+`..`+t+`], got W=`+e)}function Jt(e,t){let n=e*(4*t+128);if(n>Wt)throw Error(`invalid window size: table would need ~`+Math.ceil(n/2**20)+` MiB, max `+Wt/2**20+` MiB`)}function Yt(e,t){if(e!==void 0){L(e,`randomBytes`);try{let n=e(t);if(!$e(n)||n.length!==t)return}catch{return}return e}}function Xt(e,t){Je(e,`points`),e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function Zt(e,t,n){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,r)=>{if(!(n===void 0?t.isValid(e):H(e)&&e<n))throw Error(`invalid scalar at index `+r)})}var Qt=new WeakMap;function $t(e){return Qt.get(e)||1}function en(e,t){let n=e.double(),r=[e];for(let e=1;e<t;e++)r.push(r[e-1].add(n));return r}function tn(e,t){let n=2**t,r=n/2,i=BigInt(n-1),a=[];for(;e>zt;){let t=0;e&X&&(t=Number(e&i),t>=r&&(t-=n),e-=BigInt(t)),a.push(t),e>>=X}return a}function nn(e,t,n){let r=2**t,i=r/2,a=BigInt(r-1),o=BigInt(t),s=[];for(let t=0;t<n;t++){let t=Number(e&a);e>>=o,t>i&&(t-=r,e+=X),s.push(t)}if(e!==zt)throw Error(`invalid wnaf`);return s}function rn(e,t,n){let r=0;for(let e of n)r=Math.max(r,e.length);let i=e;for(let e=r-1;e>=0;e--){e!==r-1&&(i=i.double());for(let r=0;r<n.length;r++){let a=n[r][e];if(a){let e=t[r][Math.abs(a)-1>>1];i=i.add(a<0?e.negate():e)}}}return i}var an=class{Point;BASE;ZERO;randomBytes;wnafPrecomputes=new WeakMap;baseCanBeBlinded;bits;constructor(e,t){Gt(e),this.randomBytes=Yt(t,Vt),this.Point=e,this.BASE=e.BASE,this.ZERO=e.ZERO,this.bits=e.Fn.BITS}buildWnafTable(e,t,n){let r=Math.ceil(n/t)+1,i=2**(t-1),a=[],o=e;for(let e=0;e<r;e++){let e=o;for(let t=0;t<i;t++)a.push(e),e=e.add(o);o=a[a.length-1].double()}return{W:t,bits:n,windows:r,comp:a}}wnafCachedCT(e,t){let{W:n,windows:r,comp:i}=e,a=2**(n-1),o=nn(t,n,r),s=this.ZERO,c=this.BASE;for(let e=0;e<r;e++){let t=o[e],n=e*a,r=Math.abs(t)-1,l=i[n];for(let e=1;e<a;e++)l=e===r?i[n+e]:l;let u=l.negate();t===0?c=c.add(i[n]):s=s.add(t<0?u:l)}return{p:s,f:c}}getWnafPrecomputes(e,t,n,r){let i=this.wnafPrecomputes.get(t),a=i?.find(t=>t.W===e&&t.bits===n);return a||(a=this.buildWnafTable(t,e,n),typeof r==`function`&&(a={...a,comp:r(a.comp)}),i||(i=[],this.wnafPrecomputes.set(t,i)),i.push(a)),a}assertPoint(e){if(!(e instanceof this.Point))throw TypeError(`"point" expected Point instance, got type=`+typeof e)}validateMulInput(e,t){if(this.assertPoint(e),!lt(t,X,this.Point.Fn.ORDER))throw Error(`invalid scalar`)}runCT(e,t,n,r){let i=$t(e);return i===1?this.fixedWindowCT(e,t,n):this.wnafCachedCT(this.getWnafPrecomputes(i,e,n,r),t)}mulCT(e,t,n){return this.validateMulInput(e,t),this.runCT(e,t,this.bits,n)}mulCTBlinded(e,t,n){if(this.validateMulInput(e,t),this.randomBytes===void 0)throw Error(`randomBytes is required for scalar blinding`);let r=this.Point.Fn.BITS+Ht,i=this.randomBytes(Vt);if(!$e(i)||i.length!==Vt)throw Error(`randomBytes returned invalid byte array`);i[0]=i[0]&63|128;let a=t+ot(i)*this.Point.Fn.ORDER;return this.runCT(e,a,r,n)}fixedWindowCT(e,t,n){let r=Ut,i=ft(r),a=Array(32);a[0]=this.ZERO;for(let t=1;t<32;t++)a[t]=a[t-1].add(e);let o=Math.ceil(n/r),s=this.ZERO;for(let e=o-1;e>=0;e--){if(e!==o-1)for(let e=0;e<r;e++)s=s.double();let n=Number(t>>BigInt(e*r)&i),c=a[0];for(let e=1;e<32;e++)c=e===n?a[e]:c;s=s.add(c)}return{p:s,f:s}}shouldBlind(e,t){return this.randomBytes===void 0?!1:t===X||e===this.BASE&&(this.baseCanBeBlinded===void 0&&(this.baseCanBeBlinded=this.mulUnsafe(this.BASE,this.Point.Fn.ORDER).is0()),this.baseCanBeBlinded)}mulSecret(e,t,n,r){return this.shouldBlind(e,n)?this.mulCTBlinded(e,t,r):this.mulCT(e,t,r)}mulUnsafe(e,t,n){if(this.assertPoint(e),!H(t))throw Error(`invalid scalar`);let r=$t(e);if(r===1||t>=this.Point.Fn.ORDER)return on(this.Point,[e],[t],!0);let i=this.getWnafPrecomputes(r,e,this.bits,n);return this.wnafCachedCT(i,t).p}setWindowSize(e,t){this.assertPoint(e),qt(t,this.bits),Jt((Math.ceil((this.bits+Ht)/t)+1)*2**(t-1),this.Point.Fp.BYTES),Qt.set(e,t),this.wnafPrecomputes.delete(e)}hasWindowSize(e){return $t(e)!==1}};function on(e,t,n,r=!1){if(Gt(e),Xt(t,e),R(r,`allowOversized`),Zt(n,e.Fn,r?e.Fn.ORDER**Bt:void 0),t.length!==n.length)throw Error(`arrays of points and scalars must have equal length`);let i=t.map(e=>en(e,4)),a=n.map(e=>tn(e,4));return rn(e.ZERO,i,a)}function sn(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return Y(t),t}return Rt(e,{isLE:n})}function cn(e,t,n={},r){if(e!==`weierstrass`&&e!==`edwards`)throw Error(`expected curve type "weierstrass" or "edwards"`);if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);U(n);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(H(n)&&n!==zt))throw Error(`CURVE.${e} must be positive bigint`)}let i=sn(t.p,n.Fp,r),a=sn(t.n,n.Fn,r),o=[`Gx`,`Gy`,`a`,e===`weierstrass`?`b`:`d`];for(let e of o)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:a}}function ln(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}var Z=BigInt(0),un=BigInt(1),dn=BigInt(2),fn=BigInt(4),pn=BigInt(8);function mn(e,t,n,r){let i=e.sqr(n),a=e.sqr(r),o=e.add(e.mul(t.a,i),a),s=e.add(e.ONE,e.mul(t.d,e.mul(i,a)));return e.eql(o,s)}function hn(e,t={}){U(t,{},{},`extraOpts`);let n=t,r=cn(`edwards`,e,n,n.FpFnLE),{Fp:i,Fn:a}=r,o=r.CURVE,{h:s}=o;if(Pt(i,o.a)!==1)throw Error(`edwards: CURVE.a must be a square in Fp for complete addition formulas`);if(Pt(i,o.d)!==-1)throw Error(`edwards: CURVE.d must be a non-square in Fp for complete addition formulas`);U(n,{},{uvRatio:`function`,randomBytes:`function`});let c=n.randomBytes===void 0?et:n.randomBytes,l=dn<<BigInt(i.BYTES*8)-un;function u(e){if(!i.isOdd)throw Error(`Field does not have .isOdd()`);return i.isOdd(e)}let d=n.uvRatio===void 0?(e,t)=>{try{return{isValid:!0,value:i.sqrt(i.div(e,t))}}catch{return{isValid:!1,value:Z}}}:n.uvRatio;if(!mn(i,o,o.Gx,o.Gy))throw Error(`bad curve params: generator point`);let f=i.eql(o.a,i.neg(i.ONE))?e=>i.neg(e):i.eql(o.a,i.ONE)?e=>e:e=>i.mul(o.a,e);function p(e,t,n=!1){let r=n?un:Z;return ut(`coordinate `+e,t,r,l),t}function m(e){if(!(e instanceof h))throw Error(`EdwardsPoint expected`)}class h{static BASE=new h(o.Gx,o.Gy,i.ONE,i.mul(o.Gx,o.Gy));static ZERO=new h(i.ZERO,i.ONE,i.ONE,i.ZERO);static Fp=i;static Fn=a;X;Y;Z;T;constructor(e,t,n,r){this.X=p(`x`,e),this.Y=p(`y`,t),this.Z=p(`z`,n,!0),this.T=p(`t`,r),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){if(e instanceof h)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return p(`x`,t),p(`y`,n),new h(t,n,i.ONE,i.mul(t,n))}static fromBytes(e,t=!1){let n=i.BYTES,{a:r,d:a}=o;e=V(F(e,n,`point`)),R(t,`zip215`);let s=V(e),c=e[n-1];s[n-1]=c&-129;let f=B(s);ut(`point.y`,f,Z,t?l:i.ORDER);let p=i.sqr(f),m=i.sub(p,i.ONE),g=i.sub(i.mulN(a,p),r),{isValid:_,value:v}=d(m,g);if(!_)throw Error(`bad point: invalid y coordinate`);let y=u(v),b=!!(c&128);if(!t&&i.is0(v)&&b)throw Error(`bad point: x=0 and x_0=1`);return b!==y&&(v=i.neg(v)),h.fromAffine({x:v,y:f})}static fromHex(e,t=!1){return h.fromBytes(Qe(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=6,t=!0){return _.setWindowSize(this,e),t||this.multiply(dn),this}assertValidity(){let e=this,{a:t,d:n}=o;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:a,Z:s,T:c}=e,l=i.sqr(r),u=i.sqr(a),d=i.sqr(s),f=i.sqr(d),p=i.mul(l,t),m=i.mul(i.add(p,u),d),h=i.add(f,i.mul(n,i.mul(l,u)));if(!i.eql(m,h))throw Error(`bad point: equation left != right (1)`);let g=i.mul(r,a),_=i.mul(s,c);if(!i.eql(g,_))throw Error(`bad point: equation left != right (2)`)}equals(e){m(e);let{X:t,Y:n,Z:r}=this,{X:a,Y:o,Z:s}=e,c=i.mul(t,s),l=i.mul(a,r),u=i.mul(n,s),d=i.mul(o,r);return i.eql(c,l)&&i.eql(u,d)}is0(){return this.equals(h.ZERO)}negate(){return new h(i.neg(this.X),this.Y,this.Z,i.neg(this.T))}double(){let{X:e,Y:t,Z:n}=this,r=i.sqr(e),a=i.sqr(t),o=i.mul(i.sqr(n),dn),s=f(r),c=i.addN(e,t),l=i.sub(i.subN(i.sqr(c),r),a),u=i.addN(s,a),d=i.subN(u,o),p=i.subN(s,a),m=i.mul(l,d),g=i.mul(u,p),_=i.mul(l,p),v=i.mul(d,u);return new h(m,g,v,_)}add(e){m(e);let{d:t}=o,{X:n,Y:r,Z:a,T:s}=this,{X:c,Y:l,Z:u,T:d}=e,p=i.mul(n,c),g=i.mul(r,l),_=i.mul(i.mulN(s,t),d),v=i.mul(a,u),y=i.sub(i.subN(i.mulN(i.addN(n,r),i.addN(c,l)),p),g),b=i.subN(v,_),x=i.addN(v,_),S=i.sub(g,f(p)),C=i.mul(y,b),w=i.mul(x,S),T=i.mul(y,S),E=i.mul(b,x);return new h(C,w,E,T)}subtract(e){return m(e),this.add(e.negate())}multiply(e){if(!a.isValidNot0(e))throw RangeError(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=_.mulSecret(this,e,s,g);return g([t,n])[0]}multiplyUnsafe(e){if(!a.isValid(e))throw RangeError(`invalid scalar: expected 0 <= sc < curve.n`);return e===Z?h.ZERO:this.is0()||e===un?this:_.mulUnsafe(this,e,g)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return _.mulUnsafe(this,o.n).is0()}toAffine(e){let t=this,n=e;if(n!=null&&typeof n!=`bigint`)throw TypeError(`"invertedZ" expected bigint, got type=`+typeof n);let{X:r,Y:a,Z:o}=t,s=t.is0();n??=s?i.create(pn):i.inv(o);let c=i.mul(r,n),l=i.mul(a,n),u=i.mul(o,n);if(s)return{x:i.ZERO,y:i.ONE};if(!i.eql(u,i.ONE))throw Error(`invZ was invalid`);return{x:c,y:l}}clearCofactor(){return s===un?this:s===dn?this.double():s===fn?this.double().double():s===pn?this.double().double().double():this.multiplyUnsafe(s)}toBytes(){let{x:e,y:t}=this.toAffine(),n=i.toBytes(t);return n[n.length-1]|=u(e)?128:0,n}toHex(){return Xe(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let g=e=>Kt(h,e),_=new an(h,c);return _.bits>=6&&h.BASE.precompute(6),Object.freeze(h.prototype),Object.freeze(h),h}function gn(e,t,n={}){if(Gt(e),typeof t!=`function`)throw Error(`"hash" function param is required`);let r=t,i=n;U(i,{},{adjustScalarBytes:`function`,randomBytes:`function`,domain:`function`,prehash:`function`,zip215:`boolean`,mapToCurve:`function`,toMontgomery:`function`,toMontgomerySecret:`function`});let{prehash:a}=i,{BASE:o,Fp:s,Fn:c}=e,l=r.outputLen,u=2*s.BYTES;if(l!==void 0&&(z(l,`hash.outputLen`),l!==u))throw Error(`hash.outputLen must be ${u}, got ${l}`);let d=i.randomBytes===void 0?et:i.randomBytes,f=i.toMontgomery,p=i.toMontgomerySecret,m=i.adjustScalarBytes===void 0?e=>e:i.adjustScalarBytes,h=i.domain===void 0?(e,t,n)=>{if(R(n,`phflag`),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e}:i.domain;function g(e){return c.create(B(e))}function _(e){let t=T.secretKey;F(e,T.secretKey,`secretKey`);let n=F(r(e),2*t,`hashedSecretKey`),i=m(n.slice(0,t));return{head:i,prefix:n.slice(t,2*t),scalar:g(i)}}function v(e){let{head:t,prefix:n,scalar:r}=_(e),i=o.multiply(r);return{head:t,prefix:n,scalar:r,point:i,pointBytes:i.toBytes()}}function y(e){return v(e).pointBytes}function b(e=Uint8Array.of(),...t){let n=Ze(...t);return g(r(h(n,F(e,void 0,`context`),!!a)))}function x(e,t,n={}){U(n,{},{},`options`),e=V(F(e,void 0,`message`)),a&&(e=a(e));let{prefix:r,scalar:i,pointBytes:s}=v(t),l=b(n.context,r,e),u=o.multiply(l).toBytes(),d=b(n.context,u,s,e),f=c.create(l+d*i);if(!c.isValid(f))throw Error(`sign failed: invalid s`);return F(Ze(u,c.toBytes(f)),T.signature,`result`)}let S={zip215:i.zip215};function C(t,n,r,i=S){U(i);let{context:s}=i,c=i.zip215===void 0?!!S.zip215:i.zip215,l=T.signature;t=F(t,l,`signature`),n=F(n,void 0,`message`),r=F(r,T.publicKey,`publicKey`),c!==void 0&&R(c,`zip215`),a&&(n=a(n));let u=l/2,d=t.subarray(0,u),f=B(t.subarray(u,l)),p,m,h;try{p=e.fromBytes(r,c),m=e.fromBytes(d,c),h=o.multiplyUnsafe(f)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let g=b(s,d,r,n);return m.add(p.multiplyUnsafe(g)).subtract(h).clearCofactor().is0()}let w=s.BYTES,T={secretKey:w,publicKey:w,signature:2*w,seed:w};function E(e){return e=e===void 0?d(T.seed):e,F(e,T.seed,`seed`)}function ee(e){return $e(e)&&e.length===T.secretKey}function D(t,n){try{return!!e.fromBytes(t,n===void 0?S.zip215:n)}catch{return!1}}let O={getExtendedPublicKey:v,randomSecretKey:E,isValidSecretKey:ee,isValidPublicKey:D,toMontgomery(t){if(f===void 0)throw Error(`Montgomery conversion is not supported for this curve`);return f(e.fromBytes(t))},toMontgomerySecret(e){if(p===void 0)throw Error(`Montgomery conversion is not supported for this curve`);return p(e)}};return Object.freeze(T),Object.freeze(O),Object.freeze({keygen:ln(E,y),getPublicKey:y,sign:x,verify:C,utils:O,Point:e,lengths:T})}var _n=BigInt(1),vn=BigInt(2),yn=BigInt(5),bn=BigInt(8),xn=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),Sn={p:xn,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:bn,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function Cn(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=xn,o=e*e%a*e%a,s=J(J(o,vn,a)*o%a,_n,a)*e%a,c=J(s,yn,a)*s%a,l=J(c,t,a)*c%a,u=J(l,n,a)*l%a,d=J(u,r,a)*u%a;return{pow_p_5_8:J(J(J(J(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,vn,a)*e%a,b2:o}}function wn(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Tn=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function En(e,t){let n=xn,r=q(t*t*t,n),i=Cn(e*q(r*r*t,n)).pow_p_5_8,a=q(e*r*i,n),o=q(t*a*a,n),s=a,c=q(a*Tn,n),l=o===e,u=o===q(-e,n),d=o===q(-e*Tn,n);return l&&(a=s),(u||d)&&(a=c),jt(a,n)&&(a=q(-a,n)),{isValid:l||u,value:a}}var Dn=hn(Sn,{uvRatio:En}),On=Dn.Fp;function kn(e){let{y:t}=e;return On.toBytes(On.div(_n+t,_n-t))}function An(e){let t=Dn.Fp.BYTES;return M(e,t),wn(qe(e.subarray(0,t))).subarray(0,t)}function jn(e){return gn(Dn,qe,Object.assign({adjustScalarBytes:wn,toMontgomery:kn,toMontgomerySecret:An,zip215:!0},e))}var Q=jn({}),$=32,Mn=248,Nn=127,Pn=64,Fn=128,In=127;function Ln(e){e.length<$||(e[0]=(e[0]??0)&Mn,e[31]=(e[31]??0)&Nn|Pn)}function Rn(){let t=new Uint8Array((0,e.randomBytes)($));Ln(t);let n=Un(t)%Q.Point.CURVE().n;return[Q.Point.BASE.multiply(n).toBytes(),Uint8Array.from(t)]}function zn(t,n){let r=(0,e.createSign)(`SHA256`);return r.update(n),r.sign(t)}function Bn(t,n,r){try{let i=(0,e.createVerify)(`SHA256`);return i.update(n),i.verify(t,Buffer.from(r))}catch{return!1}}function Vn(t,n){if(t.length!==$||n.length!==$)throw Error(`invalid key length`);let r=Uint8Array.from(n);r[31]=(r[31]??0)&In;let i=Un(r),a=Hn(Q.Point.fromBytes(t).negate(),i).toBytes();return a[31]=(a[31]??0)^Fn,(0,e.createHash)(`sha512`).update(a).digest()}function Hn(e,t){let n=Q.Point.CURVE().n;if(t<n)return t===0n?Q.Point.ZERO:e.multiply(t);let r=t%n,i=t/n,a=r===0n?Q.Point.ZERO:e.multiply(r),o=e.multiply(n-1n).add(e).multiply(i);return a.add(o)}function Un(e){let t=0n;for(let n=e.length-1;n>=0;n--)t=t<<8n|BigInt(e[n]);return t}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Hn}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Vn}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ln}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return zn}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Rn}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Bn}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Un}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=primitives-DkwW7wcP.cjs.map