@honeybbq/teamspeak-client 0.1.0 → 0.1.1

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 (38) hide show
  1. package/dist/{crypt-init2-BIbQ7TN0.cjs → crypt-init2-C2oihZ7e.cjs} +2 -2
  2. package/dist/crypt-init2-C2oihZ7e.cjs.map +1 -0
  3. package/dist/{crypt-init2-C63eypta.js → crypt-init2-DWX7Tp-_.js} +36 -41
  4. package/dist/crypt-init2-DWX7Tp-_.js.map +1 -0
  5. package/dist/crypto/identity.d.ts.map +1 -1
  6. package/dist/crypto/index.cjs +1 -1
  7. package/dist/crypto/index.mjs +3 -3
  8. package/dist/crypto/primitives.d.ts +17 -2
  9. package/dist/crypto/primitives.d.ts.map +1 -1
  10. package/dist/{crypto-C3gBJkh2.cjs → crypto-2veVY1fC.cjs} +2 -2
  11. package/dist/{crypto-C3gBJkh2.cjs.map → crypto-2veVY1fC.cjs.map} +1 -1
  12. package/dist/{crypto-IGJlkTAl.js → crypto-VC7n6YJb.js} +12 -12
  13. package/dist/{crypto-IGJlkTAl.js.map → crypto-VC7n6YJb.js.map} +1 -1
  14. package/dist/{handler-C2vxlHYC.js → handler-C_JhqGTd.js} +2 -5
  15. package/dist/handler-C_JhqGTd.js.map +1 -0
  16. package/dist/{handler-DQteUMKT.cjs → handler-CqCD93f0.cjs} +2 -2
  17. package/dist/handler-CqCD93f0.cjs.map +1 -0
  18. package/dist/handshake/index.cjs +1 -1
  19. package/dist/handshake/index.mjs +1 -1
  20. package/dist/index.cjs +1 -1
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.mjs +72 -72
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/{primitives-CmIK1O7L.js → primitives-BIAYfJ2Y.js} +12 -6
  25. package/dist/primitives-BIAYfJ2Y.js.map +1 -0
  26. package/dist/primitives-bj-ml31v.cjs +2 -0
  27. package/dist/primitives-bj-ml31v.cjs.map +1 -0
  28. package/dist/transport/handler.d.ts.map +1 -1
  29. package/dist/transport/index.cjs +1 -1
  30. package/dist/transport/index.mjs +1 -1
  31. package/package.json +4 -4
  32. package/dist/crypt-init2-BIbQ7TN0.cjs.map +0 -1
  33. package/dist/crypt-init2-C63eypta.js.map +0 -1
  34. package/dist/handler-C2vxlHYC.js.map +0 -1
  35. package/dist/handler-DQteUMKT.cjs.map +0 -1
  36. package/dist/primitives-BxtDMP7x.cjs +0 -2
  37. package/dist/primitives-BxtDMP7x.cjs.map +0 -1
  38. package/dist/primitives-CmIK1O7L.js.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 t=(0,e.createPublicKey)(this.privateKey).export({format:`jwk`});return t.x===void 0||t.y===void 0||typeof t.x!=`string`||typeof t.y!=`string`?``:y(re(t.x,d),re(t.y,d))}toString(){let e=this.privateKey.export({format:`jwk`});if(!e.d)return`:${this.offset}`;let t=re(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)),ie(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)),ie(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`);return new m((0,e.createPrivateKey)({key:{kty:`EC`,crv:`P-256`,d:s.toString(`base64url`),x:f,y:p},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)),ie(n.digest())>=t)return r;r.offset++}}function _(t){let n=(0,e.createHash)(`sha1`).update(t).digest();return Buffer.from(n).toString(`base64`)}function v(t){return(0,e.createHash)(`sha512`).update(t).digest()}function y(e,t){let n=T(3,Buffer.from([7,0])),r=T(2,te(32)),i=T(2,te(e)),a=T(2,te(t));return T(48,Buffer.concat([n,r,i,a])).toString(`base64`)}function b(t){let n=x(t);return(0,e.createPublicKey)({key:{kty:`EC`,crv:`P-256`,x:Buffer.from(n.slice(1,33)).toString(`base64url`),y:Buffer.from(n.slice(33,65)).toString(`base64url`)},format:`jwk`})}function x(e){try{return S(e)}catch{}return C(e)}function S(e){let t=E(e,48).value,n=0,r=E(t,3,n);n+=r.consumed;let i=E(t,2,n);n+=i.consumed;let a=E(t,2,n);n+=a.consumed;let o=E(t,2,n);return w(ne(a.value,d),ne(o.value,d))}function C(e){let t=E(e,48).value,n=0,r=E(t,2,n);n+=r.consumed;let i=E(t,2,n);return w(ne(r.value,d),ne(i.value,d))}function w(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,1+d-e.length),n.set(t,1+2*d-t.length),n}function T(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 te(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 E(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 ne(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 re(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 ie(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}function ae(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function oe(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >= 0, got ${e}`)}}function D(e,t,n=``){let r=ae(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`;throw Error(o+`expected Uint8Array`+s+`, got `+c)}return e}function se(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function ce(e,t){D(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function le(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ue(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}new Uint8Array(new Uint32Array([287454020]).buffer)[0];var de=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,fe=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function pe(e){if(D(e),de)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=fe[e[n]];return t}var O={_0:48,_9:57,A:65,F:70,a:97,f:102};function me(e){if(e>=O._0&&e<=O._9)return e-O._0;if(e>=O.A&&e<=O.F)return e-(O.A-10);if(e>=O.a&&e<=O.f)return e-(O.a-10)}function he(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(de)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`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=me(e.charCodeAt(i)),a=me(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function k(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];D(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 ge(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}function A(e=32){let t=typeof globalThis==`object`?globalThis.crypto:null;if(typeof t?.getRandomValues!=`function`)throw Error(`crypto.getRandomValues must be defined`);return t.getRandomValues(new Uint8Array(e))}var _e=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),ve=class{blockLen;outputLen;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=ue(this.buffer)}update(e){se(this),D(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=ue(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){se(this),ce(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,le(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;n.setBigUint64(r-8,BigInt(this.length*8),i),this.process(n,0);let o=ue(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen must be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);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}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},j=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),ye=BigInt(2**32-1),be=BigInt(32);function xe(e,t=!1){return t?{h:Number(e&ye),l:Number(e>>be&ye)}:{h:Number(e>>be&ye)|0,l:Number(e&ye)|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}=xe(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var Ce=(e,t,n)=>e>>>n,we=(e,t,n)=>e<<32-n|t>>>n,Te=(e,t,n)=>e>>>n|t<<32-n,M=(e,t,n)=>e<<32-n|t>>>n,Ee=(e,t,n)=>e<<64-n|t>>>n-32,De=(e,t,n)=>e>>>n-32|t<<64-n;function N(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var Oe=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),ke=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Ae=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),je=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Me=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Ne=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,Pe=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))),Fe=Pe[0],Ie=Pe[1],P=new Uint32Array(80),F=new Uint32Array(80),Le=class extends ve{constructor(e){super(128,e,16,!1)}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}process(e,t){for(let n=0;n<16;n++,t+=4)P[n]=e.getUint32(t),F[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=P[e-15]|0,n=F[e-15]|0,r=Te(t,n,1)^Te(t,n,8)^Ce(t,n,7),i=M(t,n,1)^M(t,n,8)^we(t,n,7),a=P[e-2]|0,o=F[e-2]|0,s=Te(a,o,19)^Ee(a,o,61)^Ce(a,o,6),c=Ae(i,M(a,o,19)^De(a,o,61)^we(a,o,6),F[e-7],F[e-16]);P[e]=je(c,r,s,P[e-7],P[e-16])|0,F[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=Te(u,d,14)^Te(u,d,18)^Ee(u,d,41),v=M(u,d,14)^M(u,d,18)^De(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Me(_,v,b,Ie[e],F[e]),S=Ne(x,g,t,y,Fe[e],P[e]),C=x|0,w=Te(n,r,28)^Ee(n,r,34)^Ee(n,r,39),T=M(n,r,28)^De(n,r,34)^De(n,r,39),ee=n&i^n&o^i&o,te=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}=N(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 E=Oe(C,T,te);n=ke(E,S,w,ee),r=E|0}({h:n,l:r}=N(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=N(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=N(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=N(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=N(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=N(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=N(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=N(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(){le(P,F)}destroy(){le(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Re=class extends Le{Ah=j[0]|0;Al=j[1]|0;Bh=j[2]|0;Bl=j[3]|0;Ch=j[4]|0;Cl=j[5]|0;Dh=j[6]|0;Dl=j[7]|0;Eh=j[8]|0;El=j[9]|0;Fh=j[10]|0;Fl=j[11]|0;Gh=j[12]|0;Gl=j[13]|0;Hh=j[14]|0;Hl=j[15]|0;constructor(){super(64)}},ze=ge(()=>new Re,_e(3)),Be=BigInt(0),Ve=BigInt(1);function He(e,t=``){if(typeof e!=`boolean`){let n=t&&`"${t}" `;throw Error(n+`expected boolean, got type=`+typeof e)}return e}function Ue(e){if(typeof e==`bigint`){if(!Xe(e))throw Error(`positive bigint expected, got `+e)}else oe(e);return e}function I(e,t=``){if(!Number.isSafeInteger(e)){let n=t&&`"${t}" `;throw Error(n+`expected safe integer, got type=`+typeof e)}}function We(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Be:BigInt(`0x`+e)}function Ge(e){return We(pe(e))}function L(e){return We(pe(Ye(D(e)).reverse()))}function Ke(e,t){oe(t),e=Ue(e);let n=he(e.toString(16).padStart(t*2,`0`));if(n.length!==t)throw Error(`number too large`);return n}function qe(e,t){return Ke(e,t).reverse()}function Je(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function Ye(e){return Uint8Array.from(e)}function R(e){return Uint8Array.from(e,(t,n)=>{let r=t.charCodeAt(0);if(t.length!==1||r>127)throw Error(`string contains non-ASCII character "${e[n]}" with code ${r} at position ${n}`);return r})}var Xe=e=>typeof e==`bigint`&&Be<=e;function Ze(e,t,n){return Xe(e)&&Xe(t)&&Xe(n)&&t<=e&&e<n}function Qe(e,t,n,r){if(!Ze(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function $e(e){let t;for(t=0;e>Be;e>>=Ve,t+=1);return t}var et=e=>(Ve<<BigInt(e))-Ve;function tt(e,t={},n={}){if(!e||typeof e!=`object`)throw Error(`expected valid options object`);function r(t,n,r){let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw Error(`param "${t}" is invalid: expected ${n}, got ${a}`)}let i=(e,t)=>Object.entries(e).forEach(([e,n])=>r(e,n,t));i(t,!1),i(n,!0)}var nt=()=>{throw Error(`not implemented`)};function rt(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var z=BigInt(0),B=BigInt(1),V=BigInt(2),it=BigInt(3),at=BigInt(4),ot=BigInt(5),st=BigInt(7),ct=BigInt(8),lt=BigInt(9),ut=BigInt(16);function H(e,t){let n=e%t;return n>=z?n:t+n}function U(e,t,n){let r=e;for(;t-- >z;)r*=r,r%=n;return r}function dt(e,t){if(e===z)throw Error(`invert: expected non-zero number`);if(t<=z)throw Error(`invert: expected positive modulus, got `+t);let n=H(e,t),r=t,i=z,a=B,o=B,s=z;for(;n!==z;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==B)throw Error(`invert: does not exist`);return H(i,t)}function ft(e,t,n){if(!e.eql(e.sqr(t),n))throw Error(`Cannot find square root`)}function pt(e,t){let n=(e.ORDER+B)/at,r=e.pow(t,n);return ft(e,r,t),r}function mt(e,t){let n=(e.ORDER-ot)/ct,r=e.mul(t,V),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,V),i),s=e.mul(a,e.sub(o,e.ONE));return ft(e,s,t),s}function ht(e){let t=Tt(e),n=gt(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+st)/ut;return(e,t)=>{let n=e.pow(t,o),s=e.mul(n,r),c=e.mul(n,i),l=e.mul(n,a),u=e.eql(e.sqr(s),t),d=e.eql(e.sqr(c),t);n=e.cmov(n,s,u),s=e.cmov(l,c,d);let f=e.eql(e.sqr(s),t),p=e.cmov(n,s,f);return ft(e,p,t),p}}function gt(e){if(e<it)throw Error(`sqrt is not defined for small field`);let t=e-B,n=0;for(;t%V===z;)t/=V,n++;let r=V,i=Tt(e);for(;St(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return pt;let a=i.pow(r,t),o=(t+B)/V;return function(e,r){if(e.is0(r))return r;if(St(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw Error(`Cannot find square root`);let r=B<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function _t(e){return e%at===it?pt:e%ct===ot?mt:e%ut===lt?ht(e):gt(e)}var W=(e,t)=>(H(e,t)&B)===B,vt=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function yt(e){return tt(e,vt.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,BYTES:`number`,BITS:`number`})),e}function bt(e,t,n){if(n<z)throw Error(`invalid exponent, negatives unsupported`);if(n===z)return e.ONE;if(n===B)return t;let r=e.ONE,i=t;for(;n>z;)n&B&&(r=e.mul(r,i)),i=e.sqr(i),n>>=B;return r}function xt(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function St(e,t){let n=(e.ORDER-B)/V,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Ct(e,t){t!==void 0&&oe(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}var wt=class{ORDER;BITS;BYTES;isLE;ZERO=z;ONE=B;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=z)throw Error(`invalid field: expected ORDER > 0, got `+e);let n;this.isLE=!1,typeof t==`object`&&t&&(typeof t.BITS==`number`&&(n=t.BITS),typeof t.sqrt==`function`&&(this.sqrt=t.sqrt),typeof t.isLE==`boolean`&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=t.allowedLengths?.slice()),typeof t.modFromBytes==`boolean`&&(this._mod=t.modFromBytes));let{nBitLength:r,nByteLength:i}=Ct(e,n);if(i>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);this.ORDER=e,this.BITS=r,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return H(e,this.ORDER)}isValid(e){if(typeof e!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof e);return z<=e&&e<this.ORDER}is0(e){return e===z}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&B)===B}neg(e){return H(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return H(e*e,this.ORDER)}add(e,t){return H(e+t,this.ORDER)}sub(e,t){return H(e-t,this.ORDER)}mul(e,t){return H(e*t,this.ORDER)}pow(e,t){return bt(this,e,t)}div(e,t){return H(e*dt(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 dt(e,this.ORDER)}sqrt(e){return this._sqrt||=_t(this.ORDER),this._sqrt(this,e)}toBytes(e){return this.isLE?qe(e,this.BYTES):Ke(e,this.BYTES)}fromBytes(e,t=!1){D(e);let{_lengths:n,BYTES:r,isLE:i,ORDER:a,_mod:o}=this;if(n){if(!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?L(e):Ge(e);if(o&&(s=H(s,a)),!t&&!this.isValid(s))throw Error(`invalid field element: outside of range 0..ORDER`);return s}invertBatch(e){return xt(this,e)}cmov(e,t,n){return n?t:e}};function Tt(e,t={}){return new wt(e,t)}function Et(e,t){if(!e.isOdd)throw Error(`Field doesn't have isOdd`);let n=e.sqrt(t);return e.isOdd(n)?e.neg(n):n}function Dt(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Ot(e){let t=Dt(e);return t+Math.ceil(t/2)}function kt(e,t,n=!1){D(e);let r=e.length,i=Dt(t),a=Ot(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=H(n?L(e):Ge(e),t-B)+B;return n?qe(o,i):Ke(o,i)}var At=BigInt(0),jt=BigInt(1);function Mt(e,t){let n=t.negate();return e?n:t}function Nt(e,t){let n=xt(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function Pt(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Ft(e,t){Pt(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:et(e),maxNumber:i,shiftBy:BigInt(e)}}function It(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=jt);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function Lt(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function Rt(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var zt=new WeakMap,Bt=new WeakMap;function Vt(e){return Bt.get(e)||1}function Ht(e){if(e!==At)throw Error(`invalid wNAF`)}var Ut=class{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let r=e;for(;t>At;)t&jt&&(n=n.add(r)),r=r.double(),t>>=jt;return n}precomputeWindow(e,t){let{windows:n,windowSize:r}=Ft(t,this.bits),i=[],a=e,o=a;for(let e=0;e<n;e++){o=a,i.push(o);for(let e=1;e<r;e++)o=o.add(a),i.push(o);a=o.double()}return i}wNAF(e,t,n){if(!this.Fn.isValid(n))throw Error(`invalid scalar`);let r=this.ZERO,i=this.BASE,a=Ft(e,this.bits);for(let e=0;e<a.windows;e++){let{nextN:o,offset:s,isZero:c,isNeg:l,isNegF:u,offsetF:d}=It(n,e,a);n=o,c?i=i.add(Mt(u,t[d])):r=r.add(Mt(l,t[s]))}return Ht(n),{p:r,f:i}}wNAFUnsafe(e,t,n,r=this.ZERO){let i=Ft(e,this.bits);for(let e=0;e<i.windows&&n!==At;e++){let{nextN:a,offset:o,isZero:s,isNeg:c}=It(n,e,i);if(n=a,!s){let e=t[o];r=r.add(c?e.negate():e)}}return Ht(n),r}getPrecomputes(e,t,n){let r=zt.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&(typeof n==`function`&&(r=n(r)),zt.set(t,r))),r}cached(e,t,n){let r=Vt(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)}unsafe(e,t,n,r){let i=Vt(e);return i===1?this._unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)}createCache(e,t){Pt(t,this.bits),Bt.set(e,t),zt.delete(e)}hasCache(e){return Vt(e)!==1}};function Wt(e,t,n){let r=e.Fn;Lt(t,e),Rt(n,r);let i=t.length,a=n.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=$e(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=et(c),u=Array(Number(l)+1).fill(o),d=Math.floor((r.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let r=0;r<a;r++){let i=n[r],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(t[r])}let r=o;for(let e=u.length-1,t=o;e>0;e--)t=t.add(u[e]),r=r.add(t);if(f=f.add(r),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function Gt(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return yt(t),t}else return Tt(e,{isLE:n})}function Kt(e,t,n={},r){if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(typeof n==`bigint`&&n>At))throw Error(`CURVE.${e} must be positive bigint`)}let i=Gt(t.p,n.Fp,r),a=Gt(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 qt(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}var G=BigInt(0),K=BigInt(1),Jt=BigInt(2),Yt=BigInt(8);function Xt(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 Zt(e,t={}){let n=Kt(`edwards`,e,t,t.FpFnLE),{Fp:r,Fn:i}=n,a=n.CURVE,{h:o}=a;tt(t,{},{uvRatio:`function`});let s=Jt<<BigInt(i.BYTES*8)-K,c=e=>r.create(e),l=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:r.sqrt(r.div(e,t))}}catch{return{isValid:!1,value:G}}});if(!Xt(r,a,a.Gx,a.Gy))throw Error(`bad curve params: generator point`);function u(e,t,n=!1){let r=n?K:G;return Qe(`coordinate `+e,t,r,s),t}function d(e){if(!(e instanceof m))throw Error(`EdwardsPoint expected`)}let f=rt((e,t)=>{let{X:n,Y:i,Z:a}=e,o=e.is0();t??=o?Yt:r.inv(a);let s=c(n*t),l=c(i*t),u=r.mul(a,t);if(o)return{x:G,y:K};if(u!==K)throw Error(`invZ was invalid`);return{x:s,y:l}}),p=rt(e=>{let{a:t,d:n}=a;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:i,Z:o,T:s}=e,l=c(r*r),u=c(i*i),d=c(o*o),f=c(d*d);if(c(d*c(c(l*t)+u))!==c(f+c(n*c(l*u))))throw Error(`bad point: equation left != right (1)`);if(c(r*i)!==c(o*s))throw Error(`bad point: equation left != right (2)`);return!0});class m{static BASE=new m(a.Gx,a.Gy,K,c(a.Gx*a.Gy));static ZERO=new m(G,K,K,G);static Fp=r;static Fn=i;X;Y;Z;T;constructor(e,t,n,r){this.X=u(`x`,e),this.Y=u(`y`,t),this.Z=u(`z`,n,!0),this.T=u(`t`,r),Object.freeze(this)}static CURVE(){return a}static fromAffine(e){if(e instanceof m)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return u(`x`,t),u(`y`,n),new m(t,n,K,c(t*n))}static fromBytes(e,t=!1){let n=r.BYTES,{a:i,d:o}=a;e=Ye(D(e,n,`point`)),He(t,`zip215`);let u=Ye(e),d=e[n-1];u[n-1]=d&-129;let f=L(u);Qe(`point.y`,f,G,t?s:r.ORDER);let p=c(f*f),{isValid:h,value:g}=l(c(p-K),c(o*p-i));if(!h)throw Error(`bad point: invalid y coordinate`);let _=(g&K)===K,v=(d&128)!=0;if(!t&&g===G&&v)throw Error(`bad point: x=0 and x_0=1`);return v!==_&&(g=c(-g)),m.fromAffine({x:g,y:f})}static fromHex(e,t=!1){return m.fromBytes(he(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return h.createCache(this,e),t||this.multiply(Jt),this}assertValidity(){p(this)}equals(e){d(e);let{X:t,Y:n,Z:r}=this,{X:i,Y:a,Z:o}=e,s=c(t*o),l=c(i*r),u=c(n*o),f=c(a*r);return s===l&&u===f}is0(){return this.equals(m.ZERO)}negate(){return new m(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:e}=a,{X:t,Y:n,Z:r}=this,i=c(t*t),o=c(n*n),s=c(Jt*c(r*r)),l=c(e*i),u=t+n,d=c(c(u*u)-i-o),f=l+o,p=f-s,h=l-o,g=c(d*p),_=c(f*h),v=c(d*h);return new m(g,_,c(p*f),v)}add(e){d(e);let{a:t,d:n}=a,{X:r,Y:i,Z:o,T:s}=this,{X:l,Y:u,Z:f,T:p}=e,h=c(r*l),g=c(i*u),_=c(s*n*p),v=c(o*f),y=c((r+i)*(l+u)-h-g),b=v-_,x=v+_,S=c(g-t*h),C=c(y*b),w=c(x*S),T=c(y*S);return new m(C,w,c(b*x),T)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw Error(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=h.cached(this,e,e=>Nt(m,e));return Nt(m,[t,n])[0]}multiplyUnsafe(e,t=m.ZERO){if(!i.isValid(e))throw Error(`invalid scalar: expected 0 <= sc < curve.n`);return e===G?m.ZERO:this.is0()||e===K?this:h.unsafe(this,e,e=>Nt(m,e),t)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return h.unsafe(this,a.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return o===K?this:this.multiplyUnsafe(o)}toBytes(){let{x:e,y:t}=this.toAffine(),n=r.toBytes(t);return n[n.length-1]|=e&K?128:0,n}toHex(){return pe(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let h=new Ut(m,i.BITS);return m.BASE.precompute(8),m}var Qt=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){nt()}static fromHex(e){nt()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return pe(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.init(this.ep.precompute(e,t))}};function $t(e,t,n={}){if(typeof t!=`function`)throw Error(`"hash" function param is required`);tt(n,{},{adjustScalarBytes:`function`,randomBytes:`function`,domain:`function`,prehash:`function`,mapToCurve:`function`});let{prehash:r}=n,{BASE:i,Fp:a,Fn:o}=e,s=n.randomBytes||A,c=n.adjustScalarBytes||(e=>e),l=n.domain||((e,t,n)=>{if(He(n,`phflag`),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e});function u(e){return o.create(L(e))}function d(e){let n=y.secretKey;D(e,y.secretKey,`secretKey`);let r=D(t(e),2*n,`hashedSecretKey`),i=c(r.slice(0,n));return{head:i,prefix:r.slice(n,2*n),scalar:u(i)}}function f(e){let{head:t,prefix:n,scalar:r}=d(e),a=i.multiply(r);return{head:t,prefix:n,scalar:r,point:a,pointBytes:a.toBytes()}}function p(e){return f(e).pointBytes}function m(e=Uint8Array.of(),...n){return u(t(l(k(...n),D(e,void 0,`context`),!!r)))}function h(e,t,n={}){e=D(e,void 0,`message`),r&&(e=r(e));let{prefix:a,scalar:s,pointBytes:c}=f(t),l=m(n.context,a,e),u=i.multiply(l).toBytes(),d=m(n.context,u,c,e),p=o.create(l+d*s);if(!o.isValid(p))throw Error(`sign failed: invalid s`);return D(k(u,o.toBytes(p)),y.signature,`result`)}let g={zip215:!0};function _(t,n,a,o=g){let{context:s,zip215:c}=o,l=y.signature;t=D(t,l,`signature`),n=D(n,void 0,`message`),a=D(a,y.publicKey,`publicKey`),c!==void 0&&He(c,`zip215`),r&&(n=r(n));let u=l/2,d=t.subarray(0,u),f=L(t.subarray(u,l)),p,h,_;try{p=e.fromBytes(a,c),h=e.fromBytes(d,c),_=i.multiplyUnsafe(f)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let v=m(s,h.toBytes(),p.toBytes(),n);return h.add(p.multiplyUnsafe(v)).subtract(_).clearCofactor().is0()}let v=a.BYTES,y={secretKey:v,publicKey:v,signature:2*v,seed:v};function b(e=s(y.seed)){return D(e,y.seed,`seed`)}function x(e){return ae(e)&&e.length===o.BYTES}function S(t,n){try{return!!e.fromBytes(t,n)}catch{return!1}}let C={getExtendedPublicKey:f,randomSecretKey:b,isValidSecretKey:x,isValidPublicKey:S,toMontgomery(t){let{y:n}=e.fromBytes(t),r=y.publicKey,i=r===32;if(!i&&r!==57)throw Error(`only defined for 25519 and 448`);let o=i?a.div(K+n,K-n):a.div(n-K,n+K);return a.toBytes(o)},toMontgomerySecret(e){let n=y.secretKey;return D(e,n),c(t(e.subarray(0,n))).subarray(0,n)}};return Object.freeze({keygen:qt(b,p),getPublicKey:p,sign:h,verify:_,utils:C,Point:e,lengths:y})}var en=Ge;function q(e,t){if(I(e),I(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function tn(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function nn(e){if(!ae(e)&&typeof e!=`string`)throw Error(`DST must be Uint8Array or ascii string`);return typeof e==`string`?R(e):e}function rn(e,t,n,r){D(e),I(n),t=nn(t),t.length>255&&(t=r(k(R(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=k(t,q(t.length,1)),c=q(0,a),l=q(n,2),u=Array(o),d=r(k(c,e,l,q(0,1),s));u[0]=r(k(d,q(1,1),s));for(let e=1;e<=o;e++)u[e]=r(k(tn(d,u[e-1]),q(e+1,1),s));return k(...u).slice(0,n)}function an(e,t,n,r,i){if(D(e),I(n),t=nn(t),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(R(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(q(n,2)).update(t).update(q(t.length,1)).digest()}function on(e,t,n){tt(n,{p:`bigint`,m:`number`,k:`number`,hash:`function`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;I(o.outputLen,`valid hash`),D(e),I(t);let l=r.toString(2).length,u=Math.ceil((l+i)/8),d=t*a*u,f;if(s===`xmd`)f=rn(e,c,d,o);else if(s===`xof`)f=an(e,c,d,i,o);else if(s===`_internal_pass`)f=e;else throw Error(`expand must be "xmd" or "xof"`);let p=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=u*(n+e*a);t[n]=H(en(f.subarray(i,i+u)),r)}p[e]=t}return p}var sn=R(`HashToScalar-`);function cn(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:Object.freeze(n),Point:e,hashToCurve(e,t){let a=on(e,2,Object.assign({},n,t)),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){let a=n.encodeDST?{DST:n.encodeDST}:{};return i(r(on(e,1,Object.assign({},n,a,t))[0]))},mapToCurve(e){if(n.m===1){if(typeof e!=`bigint`)throw Error(`expected bigint (m=1)`);return i(r([e]))}if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))},hashToScalar(t,r){let i=e.Fn.ORDER;return on(t,1,Object.assign({},n,{p:i,m:1,DST:sn},r))[0][0]}}}function ln(e){tt(e,{name:`string`,hash:`function`,hashToScalar:`function`,hashToGroup:`function`});let{name:t,Point:n,hash:r}=e,{Fn:i}=n,a=(t,n)=>e.hashToGroup(t,{DST:k(R(`HashToGroup-`),n)}),o=(t,n)=>e.hashToScalar(t,{DST:k(sn,n)}),s=(e=A)=>{let t=kt(e(Ot(i.ORDER)),i.ORDER,i.isLE);return i.isLE?L(t):Ge(t)},c=(e,t)=>Wt(n,e,t),l=e=>k(R(`OPRFV1-`),new Uint8Array([e]),R(`-`+t)),u=l(0),d=l(1),f=l(2);function p(...e){let t=[];for(let n of e)typeof n==`number`?t.push(Ke(n,2)):typeof n==`string`?t.push(R(n)):(D(n),t.push(Ke(n.length,2),n));return k(...t)}let m=(...e)=>r(p(...e,`Finalize`));function h(e,t,n,i){let a=r(p(e.toBytes(),k(R(`Seed-`),i))),s=[];for(let e=0;e<t.length;e++){let r=t[e].toBytes(),c=n[e].toBytes(),l=o(p(a,e,r,c,`Composite`),i);s.push(l)}return s}function g(e,t,n,r){let i=h(e,t,n,r);return{M:c(t,i),Z:c(n,i)}}function _(e,t,n,r,i){let a=c(n,h(t,n,r,i));return{M:a,Z:a.multiply(e)}}function v(e,t,n,r,i,a){let[s,c,l,u,d]=[e,t,n,r,i].map(e=>e.toBytes());return o(p(s,c,l,u,d,`Challenge`),a)}function y(e,t,r,a,o,c){let{M:l,Z:u}=_(t,r,a,o,e),d=s(c),f=v(r,l,u,n.BASE.multiply(d),l.multiply(d),e);return k(...[f,i.sub(d,i.mul(f,t))].map(e=>i.toBytes(e)))}function b(e,t,r,a,o){D(o,2*i.BYTES);let{M:s,Z:c}=g(t,r,a,e),[l,u]=[o.subarray(0,i.BYTES),o.subarray(i.BYTES)].map(e=>i.fromBytes(e)),d=v(t,s,c,n.BASE.multiply(u).add(t.multiply(l)),s.multiply(u).add(c.multiply(l)),e);if(!i.eql(l,d))throw Error(`proof verification failed`)}function x(){let e=s(),t=n.BASE.multiply(e);return{secretKey:i.toBytes(e),publicKey:t.toBytes()}}function S(t,r,a){let o=k(R(`DeriveKeyPair`),t),s=k(r,p(a),Uint8Array.of(0));for(let t=0;t<=255;t++){s[s.length-1]=t;let r=e.hashToScalar(s,{DST:o});if(!i.is0(r))return{secretKey:i.toBytes(r),publicKey:n.BASE.multiply(r).toBytes()}}throw Error(`Cannot derive key`)}function C(e,t,r=A){let o=s(r),c=a(t,e);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=c.multiply(o);return{blind:i.toBytes(o),blinded:l.toBytes()}}function w(e,t,r){let o=i.fromBytes(t),s=a(r,e);if(s.equals(n.ZERO))throw Error(`Input point at infinity`);return m(r,s.multiply(o).toBytes())}let T={generateKeyPair:x,deriveKeyPair:(e,t)=>S(u,e,t),blind:(e,t=A)=>C(u,e,t),blindEvaluate(e,t){let r=i.fromBytes(e);return n.fromBytes(t).multiply(r).toBytes()},finalize(e,t,r){let a=i.fromBytes(t);return m(e,n.fromBytes(r).multiply(i.inv(a)).toBytes())},evaluate:(e,t)=>w(u,e,t)};return Object.freeze({name:t,oprf:T,voprf:{generateKeyPair:x,deriveKeyPair:(e,t)=>S(d,e,t),blind:(e,t=A)=>C(d,e,t),blindEvaluateBatch(e,t,r,a=A){if(!Array.isArray(r))throw Error(`expected array`);let o=i.fromBytes(e),s=n.fromBytes(t),c=r.map(n.fromBytes),l=c.map(e=>e.multiply(o)),u=y(d,o,s,c,l,a);return{evaluated:l.map(e=>e.toBytes()),proof:u}},blindEvaluate(e,t,n,r=A){let i=this.blindEvaluateBatch(e,t,[n],r);return{evaluated:i.evaluated[0],proof:i.proof}},finalizeBatch(e,t,r){if(!Array.isArray(e))throw Error(`expected array`);return b(d,n.fromBytes(t),e.map(e=>e.blinded).map(n.fromBytes),e.map(e=>e.evaluated).map(n.fromBytes),r),e.map(e=>T.finalize(e.input,e.blind,e.evaluated))},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate:(e,t)=>w(d,e,t)},poprf:e=>{let t=o(p(`Info`,e),f),r=n.BASE.multiply(t);return{generateKeyPair:x,deriveKeyPair:(e,t)=>S(f,e,t),blind(e,t,o=A){let c=n.fromBytes(t),l=r.add(c);if(l.equals(n.ZERO))throw Error(`tweakedKey point at infinity`);let u=s(o),d=a(e,f);if(d.equals(n.ZERO))throw Error(`Input point at infinity`);let p=d.multiply(u);return{blind:i.toBytes(u),blinded:p.toBytes(),tweakedKey:l.toBytes()}},blindEvaluateBatch(e,r,a=A){if(!Array.isArray(r))throw Error(`expected array`);let o=i.fromBytes(e),s=i.add(o,t),c=i.inv(s),l=r.map(n.fromBytes),u=l.map(e=>e.multiply(c)),d=y(f,s,n.BASE.multiply(s),u,l,a);return{evaluated:u.map(e=>e.toBytes()),proof:d}},blindEvaluate(e,t,n=A){let r=this.blindEvaluateBatch(e,[t],n);return{evaluated:r.evaluated[0],proof:r.proof}},finalizeBatch(t,r,a){if(!Array.isArray(t))throw Error(`expected array`);let o=t.map(e=>e.evaluated).map(n.fromBytes);return b(f,n.fromBytes(a),o,t.map(e=>e.blinded).map(n.fromBytes),r),t.map((t,n)=>{let r=i.fromBytes(t.blind),a=o[n].multiply(i.inv(r)).toBytes();return m(t.input,e,a)})},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate(r,o){let s=i.fromBytes(r),c=a(o,f);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=i.add(s,t),u=i.inv(l);return m(o,e,c.multiply(u).toBytes())}}},__tests:{Fn:i}})}var un=BigInt(0),J=BigInt(1),dn=BigInt(2),fn=BigInt(3),pn=BigInt(5),mn=BigInt(8),Y=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),hn={p:Y,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:mn,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function gn(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=Y,o=e*e%a*e%a,s=U(U(o,dn,a)*o%a,J,a)*e%a,c=U(s,pn,a)*s%a,l=U(c,t,a)*c%a,u=U(l,n,a)*l%a,d=U(u,r,a)*u%a;return{pow_p_5_8:U(U(U(U(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,dn,a)*e%a,b2:o}}function _n(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var vn=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function yn(e,t){let n=Y,r=H(t*t*t,n),i=gn(e*H(r*r*t,n)).pow_p_5_8,a=H(e*r*i,n),o=H(t*a*a,n),s=a,c=H(a*vn,n),l=o===e,u=o===H(-e,n),d=o===H(-e*vn,n);return l&&(a=s),(u||d)&&(a=c),W(a,n)&&(a=H(-a,n)),{isValid:l||u,value:a}}var X=Zt(hn,{uvRatio:yn}),Z=X.Fp,bn=X.Fn;function xn(e){return $t(X,ze,Object.assign({adjustScalarBytes:_n},e))}var Q=xn({}),Sn=(Y+fn)/mn,Cn=Z.pow(dn,Sn),wn=Z.sqrt(Z.neg(Z.ONE));function Tn(e){let t=(Y-pn)/mn,n=BigInt(486662),r=Z.sqr(e);r=Z.mul(r,dn);let i=Z.add(r,Z.ONE),a=Z.neg(n),o=Z.sqr(i),s=Z.mul(o,i),c=Z.mul(r,n);c=Z.mul(c,a),c=Z.add(c,o),c=Z.mul(c,a);let l=Z.sqr(s);o=Z.sqr(l),l=Z.mul(l,s),l=Z.mul(l,c),o=Z.mul(o,l);let u=Z.pow(o,t);u=Z.mul(u,l);let d=Z.mul(u,wn);o=Z.sqr(u),o=Z.mul(o,s);let f=Z.eql(o,c),p=Z.cmov(d,u,f),m=Z.mul(a,r),h=Z.mul(u,e);h=Z.mul(h,Cn);let g=Z.mul(h,wn),_=Z.mul(c,r);o=Z.sqr(h),o=Z.mul(o,s);let v=Z.eql(o,_),y=Z.cmov(g,h,v);o=Z.sqr(p),o=Z.mul(o,s);let b=Z.eql(o,c),x=Z.cmov(m,a,b),S=Z.cmov(y,p,b),C=Z.isOdd(S);return S=Z.cmov(S,Z.neg(S),b!==C),{xMn:x,xMd:i,yMn:S,yMd:J}}var En=Et(Z,Z.neg(BigInt(486664)));function Dn(e){let{xMn:t,xMd:n,yMn:r,yMd:i}=Tn(e),a=Z.mul(t,i);a=Z.mul(a,En);let o=Z.mul(n,r),s=Z.sub(t,n),c=Z.add(t,n),l=Z.mul(o,c),u=Z.eql(l,Z.ZERO);a=Z.cmov(a,Z.ZERO,u),o=Z.cmov(o,Z.ONE,u),s=Z.cmov(s,Z.ONE,u),c=Z.cmov(c,Z.ONE,u);let[d,f]=xt(Z,[o,c],!0);return{x:Z.mul(a,d),y:Z.mul(s,f)}}cn(X,e=>Dn(e[0]),{DST:`edwards25519_XMD:SHA-512_ELL2_RO_`,encodeDST:`edwards25519_XMD:SHA-512_ELL2_NU_`,p:Y,m:1,k:128,expand:`xmd`,hash:ze});var On=vn,kn=BigInt(`25063068953384623474111414158702152701244531502492656460079210482610430750235`),An=BigInt(`54469307008909316920995813868745141605393597292927456921205312896311721017578`),jn=BigInt(`1159843021668779879193775521855586647937357759715417654439879720876111806838`),Mn=BigInt(`40440834346308536858101042469323190826248399146238708352240133220865137265952`),Nn=e=>yn(J,e),Pn=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),Fn=e=>Z.create(L(e)&Pn);function In(e){let{d:t}=hn,n=Y,r=e=>Z.create(e),i=r(On*e*e),a=r((i+J)*jn),o=BigInt(-1),s=r((o-t*i)*r(i+t)),{isValid:c,value:l}=yn(a,s),u=r(l*e);W(u,n)||(u=r(-u)),c||(l=u),c||(o=i);let d=r(o*(i-J)*Mn-s),f=l*l,p=r((l+l)*s),m=r(d*kn),h=r(J-f),g=r(J+f);return new X(r(p*g),r(h*m),r(m*g),r(p*h))}var Ln=class e extends Qt{static BASE=new e(X.BASE);static ZERO=new e(X.ZERO);static Fp=Z;static Fn=bn;constructor(e){super(e)}static fromAffine(t){return new e(X.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw Error(`RistrettoPoint expected`)}init(t){return new e(t)}static fromBytes(t){D(t,32);let{a:n,d:r}=hn,i=Y,a=e=>Z.create(e),o=Fn(t);if(!Je(Z.toBytes(o),t)||W(o,i))throw Error(`invalid ristretto255 encoding 1`);let s=a(o*o),c=a(J+n*s),l=a(J-n*s),u=a(c*c),d=a(l*l),f=a(n*r*u-d),{isValid:p,value:m}=Nn(a(f*d)),h=a(m*l),g=a(m*h*f),_=a((o+o)*h);W(_,i)&&(_=a(-_));let v=a(c*g),y=a(_*v);if(!p||W(y,i)||v===un)throw Error(`invalid ristretto255 encoding 2`);return new e(new X(_,v,J,y))}static fromHex(t){return e.fromBytes(he(t))}toBytes(){let{X:e,Y:t,Z:n,T:r}=this.ep,i=Y,a=e=>Z.create(e),o=a(a(n+t)*a(n-t)),s=a(e*t),{value:c}=Nn(a(o*a(s*s))),l=a(c*o),u=a(c*s),d=a(l*u*r),f;if(W(r*d,i)){let n=a(t*On),r=a(e*On);e=n,t=r,f=a(l*An)}else f=u;W(e*d,i)&&(t=a(-t));let p=a((n-t)*f);return W(p,i)&&(p=a(-p)),Z.toBytes(p)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:r,Y:i}=e.ep,a=e=>Z.create(e),o=a(t*i)===a(n*r),s=a(n*i)===a(t*r);return o||s}is0(){return this.equals(e.ZERO)}},Rn={Point:Ln,hashToCurve(e,t){let n=rn(e,t?.DST||`ristretto255_XMD:SHA-512_R255MAP_RO_`,64,ze);return Rn.deriveToCurve(n)},hashToScalar(e,t={DST:sn}){let n=rn(e,t.DST,64,ze);return bn.create(L(n))},deriveToCurve(e){D(e,64);let t=In(Fn(e.subarray(0,32))),n=In(Fn(e.subarray(32,64)));return new Ln(t.add(n))}};ln({name:`ristretto255-SHA512`,Point:Ln,hash:ze,hashToGroup:Rn.hashToCurve,hashToScalar:Rn.hashToScalar});var $=32,zn=248,Bn=127,Vn=64,Hn=128,Un=127;function Wn(e){e.length<$||(e[0]=(e[0]??0)&zn,e[$-1]=(e[$-1]??0)&Bn|Vn)}function Gn(){let t=new Uint8Array((0,e.randomBytes)($));Wn(t);let n=Xn(t)%Q.Point.CURVE().n;return[Q.Point.BASE.multiply(n).toBytes(),Uint8Array.from(t)]}function Kn(t,n){let r=(0,e.createSign)(`SHA256`);return r.update(n),r.sign(t)}function qn(t,n,r){try{let i=(0,e.createVerify)(`SHA256`);return i.update(n),i.verify(t,Buffer.from(r))}catch{return!1}}function Jn(t,n){if(t.length!==$||n.length!==$)throw Error(`invalid key length`);let r=Uint8Array.from(n);r[$-1]=(r[$-1]??0)&Un;let i=Xn(r),a=Yn(Q.Point.fromBytes(t).negate(),i).toBytes();return a[$-1]=(a[$-1]??0)^Hn,(0,e.createHash)(`sha512`).update(a).digest()}function Yn(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 Xn(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 n}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Jn}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Wn}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Kn}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Gn}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Xn}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=primitives-bj-ml31v.cjs.map