@dodoex/wallet-web3 0.0.34 → 0.0.36

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 (83) hide show
  1. package/dist/__node-resolve_empty-07e185c4.js +1 -0
  2. package/dist/__tslib-a3f12404.js +1 -0
  3. package/dist/blocto-22e73db3.js +1 -0
  4. package/dist/{bn-9ca73e46.js → bn-ba8eef14.js} +1 -1
  5. package/dist/{browser-ponyfill-0710c79e.js → browser-ponyfill-dc67f4bb.js} +1 -1
  6. package/dist/cjs/__node-resolve_empty-92313d49.cjs +1 -0
  7. package/dist/cjs/__tslib-e6dc2619.cjs +1 -0
  8. package/dist/cjs/blocto-1aa9835c.cjs +1 -0
  9. package/dist/cjs/{bn-4591529d.cjs → bn-fc257f7c.cjs} +1 -1
  10. package/dist/cjs/{browser-ponyfill-590d98a7.cjs → browser-ponyfill-d4a1de03.cjs} +1 -1
  11. package/dist/cjs/{draggabilly-cb58edd9.cjs → draggabilly-a2ae922c.cjs} +1 -1
  12. package/dist/cjs/{ethers-744b55fd.cjs → ethers-b5bc7ec8.cjs} +1 -1
  13. package/dist/cjs/{id-82f9eda5.cjs → id-93c64ad0.cjs} +1 -1
  14. package/dist/cjs/{index-2aa37181.cjs → index-28f41304.cjs} +1 -1
  15. package/dist/cjs/{index-8ae812d2.cjs → index-4ac90797.cjs} +1 -1
  16. package/dist/cjs/{index-974f471e.cjs → index-620e0e31.cjs} +1 -1
  17. package/dist/cjs/{index-89120740.cjs → index-6c0f2eef.cjs} +1 -1
  18. package/dist/cjs/{index-e710682a.cjs → index-6c147b16.cjs} +1 -1
  19. package/dist/cjs/{index-c6c8c87f.cjs → index-9562d5d9.cjs} +1 -1
  20. package/dist/cjs/{index-eb9a5bf3.cjs → index-ac363fe6.cjs} +1 -1
  21. package/dist/cjs/index-bc703d71.cjs +15 -0
  22. package/dist/cjs/index-c3e2868f.cjs +1 -0
  23. package/dist/cjs/{index-137c3076.cjs → index-c8b6470b.cjs} +1 -1
  24. package/dist/cjs/{index-f2695b40.cjs → index-cbeaf9f1.cjs} +1 -1
  25. package/dist/cjs/index.cjs +1 -1
  26. package/dist/cjs/{index.es-5465858b.cjs → index.es-d5e3b91e.cjs} +1 -1
  27. package/dist/cjs/{interface-def43b4d.cjs → interface-e9799424.cjs} +1 -1
  28. package/dist/cjs/{lib-typedarrays-7895e6b7.cjs → lib-typedarrays-9973ab7f.cjs} +1 -1
  29. package/dist/cjs/{portis-19c93a37.cjs → portis-dfdb1d69.cjs} +1 -1
  30. package/dist/cjs/{provider-f4c996c1.cjs → provider-e0887068.cjs} +1 -1
  31. package/dist/cjs/{rainbow-9d23745a.cjs → rainbow-fd270958.cjs} +1 -1
  32. package/dist/cjs/sha224-efca905b.cjs +1 -0
  33. package/dist/cjs/{sha256-590c9926.cjs → sha256-cc6a7d98.cjs} +1 -1
  34. package/dist/cjs/{typed-data-5802eace.cjs → typed-data-6d53f35a.cjs} +1 -1
  35. package/dist/cjs/{uAuth-c5e46f86.cjs → uAuth-8b6f3a3d.cjs} +1 -1
  36. package/dist/cjs/{walletConnect-38fb1a67.cjs → walletConnect-54cae5da.cjs} +1 -1
  37. package/dist/cjs/walletLink-2435f42c.cjs +3 -0
  38. package/dist/{draggabilly-e28f6ca1.js → draggabilly-dbe51f82.js} +1 -1
  39. package/dist/{ethers-2d473ac7.js → ethers-901025d7.js} +1 -1
  40. package/dist/{id-ffcb95de.js → id-7e37f19e.js} +1 -1
  41. package/dist/{index-8f171ea0.js → index-0aa1e60b.js} +1 -1
  42. package/dist/{index-ac52eb44.js → index-18f6c041.js} +1 -1
  43. package/dist/{index-13b4095c.js → index-23b54da7.js} +1 -1
  44. package/dist/{index-c93ac5db.js → index-5270366b.js} +1 -1
  45. package/dist/{index-05263830.js → index-6abd892c.js} +1 -1
  46. package/dist/{index-54d6f293.js → index-87c27b0e.js} +1 -1
  47. package/dist/index-8faf9e6c.js +1 -0
  48. package/dist/{index-28b4febe.js → index-bcf473ca.js} +1 -1
  49. package/dist/{index-fcfb77a4.js → index-bdd2c534.js} +1 -1
  50. package/dist/{index-3b05b9da.js → index-cce10a07.js} +1 -1
  51. package/dist/{index-7d6bed60.js → index-db388360.js} +3 -3
  52. package/dist/{index.es-671cfa43.js → index.es-7e0b92bf.js} +1 -1
  53. package/dist/index.js +1 -1
  54. package/dist/{interface-cb6da378.js → interface-02be876a.js} +1 -1
  55. package/dist/{lib-typedarrays-cccf7381.js → lib-typedarrays-ccdf363f.js} +1 -1
  56. package/dist/{portis-cf4fb494.js → portis-1312a302.js} +1 -1
  57. package/dist/{provider-708485ee.js → provider-4abb3514.js} +1 -1
  58. package/dist/{rainbow-0c7ce607.js → rainbow-93ee8201.js} +1 -1
  59. package/dist/sha224-550b70e1.js +1 -0
  60. package/dist/{sha256-6ce7ae85.js → sha256-c3519dad.js} +1 -1
  61. package/dist/{typed-data-14a23035.js → typed-data-46816539.js} +1 -1
  62. package/dist/{uAuth-5b79478c.js → uAuth-d51c9be3.js} +1 -1
  63. package/dist/walletConnect-f3b83766.js +1 -0
  64. package/dist/walletLink-189e9f26.js +3 -0
  65. package/package.json +2 -2
  66. package/dist/__node-resolve_empty-82b9d0e4.js +0 -1
  67. package/dist/__tslib-0abc1b4c.js +0 -1
  68. package/dist/blocto-5f313221.js +0 -7
  69. package/dist/cjs/__node-resolve_empty-0ecaed18.cjs +0 -1
  70. package/dist/cjs/__tslib-b7181c88.cjs +0 -1
  71. package/dist/cjs/blocto-19ac1e61.cjs +0 -7
  72. package/dist/cjs/index-503abeea.cjs +0 -15
  73. package/dist/cjs/index-8a46fe81.cjs +0 -1
  74. package/dist/cjs/index-b71fbdbb.cjs +0 -3
  75. package/dist/cjs/sha224-0050a3f0.cjs +0 -1
  76. package/dist/cjs/v4-a8141ae2.cjs +0 -1
  77. package/dist/cjs/walletLink-43d92a70.cjs +0 -1
  78. package/dist/index-1f76095c.js +0 -1
  79. package/dist/index-b7d8351d.js +0 -2
  80. package/dist/sha224-87901239.js +0 -1
  81. package/dist/v4-4a316775.js +0 -1
  82. package/dist/walletConnect-fb4e7fb6.js +0 -1
  83. package/dist/walletLink-6cb2cd2f.js +0 -1
@@ -1,7 +0,0 @@
1
- "use strict";var t=require("./index-8ae812d2.cjs"),e=require("buffer"),r=require("./__node-resolve_empty-0ecaed18.cjs"),n=require("./index-b71fbdbb.cjs"),i=require("./v4-a8141ae2.cjs");function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}require("@ethersproject/providers"),require("zustand"),require("events"),require("@ethersproject/address"),require("@ethersproject/constants"),require("@ethersproject/contracts"),require("@ethersproject/properties"),require("@ethersproject/transactions"),require("@ethersproject/bytes");var s=o(e),a={exports:{}};function u(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function c(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const h={number:u,bool:function(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:c,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");u(t.outputLen),u(t.blockLen)},exists:function(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){c(t);const r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}},l=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),d=(t,e)=>t<<32-e|t>>>e;
2
- /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function f(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));class p{clone(){return this._cloneInto()}}function m(t){const e=e=>t().update(f(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}class g extends p{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=l(this.buffer)}update(t){h.exists(this);const{view:e,buffer:r,blockLen:n}=this,i=(t=f(t)).length;for(let o=0;o<i;){const s=Math.min(n-this.pos,i-o);if(s!==n)r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(e,0),this.pos=0);else{const e=l(t);for(;n<=i-o;o+=n)this.process(e,o)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){h.exists(this),h.output(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:n,isLE:i}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(r,0),o=0);for(let t=o;t<n;t++)e[t]=0;!function(t,e,r,n){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,r,n);const i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),u=n?4:0,c=n?0:4;t.setUint32(e+u,s,n),t.setUint32(e+c,a,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const s=l(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=a/4,c=this.get();if(u>c.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<u;t++)s.setUint32(4*t,c[t],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:r,length:n,finished:i,destroyed:o,pos:s}=this;return t.length=n,t.pos=s,t.finished=i,t.destroyed=o,n%e&&t.buffer.set(r),t}}const y=BigInt(2**32-1),w=BigInt(32);function b(t,e=!1){return e?{h:Number(t&y),l:Number(t>>w&y)}:{h:0|Number(t>>w&y),l:0|Number(t&y)}}const v={fromBig:b,split:function(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:o,l:s}=b(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]},toBig:(t,e)=>BigInt(t>>>0)<<w|BigInt(e>>>0),shrSH:(t,e,r)=>t>>>r,shrSL:(t,e,r)=>t<<32-r|e>>>r,rotrSH:(t,e,r)=>t>>>r|e<<32-r,rotrSL:(t,e,r)=>t<<32-r|e>>>r,rotrBH:(t,e,r)=>t<<64-r|e>>>r-32,rotrBL:(t,e,r)=>t>>>r-32|e<<64-r,rotr32H:(t,e)=>e,rotr32L:(t,e)=>t,rotlSH:(t,e,r)=>t<<r|e>>>32-r,rotlSL:(t,e,r)=>e<<r|t>>>32-r,rotlBH:(t,e,r)=>e<<r-32|t>>>64-r,rotlBL:(t,e,r)=>t<<r-32|e>>>64-r,add:function(t,e,r,n){const i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:0|i}},add3L:(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),add3H:(t,e,r,n)=>e+r+n+(t/2**32|0)|0,add4L:(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),add4H:(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,add5H:(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0,add5L:(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0)},[k,S]=v.split(["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"].map((t=>BigInt(t)))),_=new Uint32Array(80),A=new Uint32Array(80);class M extends g{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:o,Dh:s,Dl:a,Eh:u,El:c,Fh:h,Fl:l,Gh:d,Gl:f,Hh:p,Hl:m}=this;return[t,e,r,n,i,o,s,a,u,c,h,l,d,f,p,m]}set(t,e,r,n,i,o,s,a,u,c,h,l,d,f,p,m){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|u,this.El=0|c,this.Fh=0|h,this.Fl=0|l,this.Gh=0|d,this.Gl=0|f,this.Hh=0|p,this.Hl=0|m}process(t,e){for(let r=0;r<16;r++,e+=4)_[r]=t.getUint32(e),A[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|_[t-15],r=0|A[t-15],n=v.rotrSH(e,r,1)^v.rotrSH(e,r,8)^v.shrSH(e,r,7),i=v.rotrSL(e,r,1)^v.rotrSL(e,r,8)^v.shrSL(e,r,7),o=0|_[t-2],s=0|A[t-2],a=v.rotrSH(o,s,19)^v.rotrBH(o,s,61)^v.shrSH(o,s,6),u=v.rotrSL(o,s,19)^v.rotrBL(o,s,61)^v.shrSL(o,s,6),c=v.add4L(i,u,A[t-7],A[t-16]),h=v.add4H(c,n,a,_[t-7],_[t-16]);_[t]=0|h,A[t]=0|c}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:s,Cl:a,Dh:u,Dl:c,Eh:h,El:l,Fh:d,Fl:f,Gh:p,Gl:m,Hh:g,Hl:y}=this;for(let t=0;t<80;t++){const e=v.rotrSH(h,l,14)^v.rotrSH(h,l,18)^v.rotrBH(h,l,41),w=v.rotrSL(h,l,14)^v.rotrSL(h,l,18)^v.rotrBL(h,l,41),b=h&d^~h&p,M=l&f^~l&m,I=v.add5L(y,w,M,S[t],A[t]),E=v.add5H(I,g,e,b,k[t],_[t]),x=0|I,B=v.rotrSH(r,n,28)^v.rotrBH(r,n,34)^v.rotrBH(r,n,39),P=v.rotrSL(r,n,28)^v.rotrBL(r,n,34)^v.rotrBL(r,n,39),T=r&i^r&s^i&s,R=n&o^n&a^o&a;g=0|p,y=0|m,p=0|d,m=0|f,d=0|h,f=0|l,({h:h,l:l}=v.add(0|u,0|c,0|E,0|x)),u=0|s,c=0|a,s=0|i,a=0|o,i=0|r,o=0|n;const L=v.add3L(x,P,R);r=v.add3H(L,E,B,T),n=0|L}({h:r,l:n}=v.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:o}=v.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=v.add(0|this.Ch,0|this.Cl,0|s,0|a)),({h:u,l:c}=v.add(0|this.Dh,0|this.Dl,0|u,0|c)),({h:h,l:l}=v.add(0|this.Eh,0|this.El,0|h,0|l)),({h:d,l:f}=v.add(0|this.Fh,0|this.Fl,0|d,0|f)),({h:p,l:m}=v.add(0|this.Gh,0|this.Gl,0|p,0|m)),({h:g,l:y}=v.add(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,o,s,a,u,c,h,l,d,f,p,m,g,y)}roundClean(){_.fill(0),A.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class I extends M{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class E extends M{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class x extends M{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const B=m((()=>new M));m((()=>new I)),m((()=>new E)),m((()=>new x));
3
- /*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
4
- const P=BigInt(0),T=BigInt(1),R=BigInt(2),L=BigInt(8),O=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),C=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:O,n:O,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),U=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),N=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742");const z=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),K=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),W=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),q=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");class D{constructor(t,e,r,n){this.x=t,this.y=e,this.z=r,this.t=n}static fromAffine(t){if(!(t instanceof Z))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Z.ZERO)?D.ZERO:new D(t.x,t.y,T,at(t.x*t.y))}static toAffineBatch(t){const e=function(t,e=C.P){const r=new Array(t.length),n=ut(t.reduce(((t,n,i)=>n===P?t:(r[i]=t,at(t*n,e))),T),e);return t.reduceRight(((t,n,i)=>n===P?t:(r[i]=at(t*r[i],e),at(t*n,e))),n),r}(t.map((t=>t.z)));return t.map(((t,r)=>t.toAffine(e[r])))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){H(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t,a=at(e*s),u=at(i*n),c=at(r*s),h=at(o*n);return a===u&&c===h}negate(){return new D(at(-this.x),this.y,this.z,at(-this.t))}double(){const{x:t,y:e,z:r}=this,{a:n}=C,i=at(t*t),o=at(e*e),s=at(R*at(r*r)),a=at(n*i),u=t+e,c=at(at(u*u)-i-o),h=a+o,l=h-s,d=a-o,f=at(c*l),p=at(h*d),m=at(c*d),g=at(l*h);return new D(f,p,g,m)}add(t){H(t);const{x:e,y:r,z:n,t:i}=this,{x:o,y:s,z:a,t:u}=t,c=at((r-e)*(s+o)),h=at((r+e)*(s-o)),l=at(h-c);if(l===P)return this.double();const d=at(n*R*u),f=at(i*R*a),p=f+d,m=h+c,g=f-d,y=at(p*l),w=at(m*g),b=at(p*g),v=at(l*m);return new D(y,w,v,b)}subtract(t){return this.add(t.negate())}precomputeWindow(t){const e=1+256/t,r=[];let n=this,i=n;for(let o=0;o<e;o++){i=n,r.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(t,e){!e&&this.equals(D.BASE)&&(e=Z.BASE);const r=e&&e._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=e&&G.get(e);n||(n=this.precomputeWindow(r),e&&1!==r&&(n=D.normalizeZ(n),G.set(e,n)));let i=D.ZERO,o=D.BASE;const s=1+256/r,a=2**(r-1),u=BigInt(2**r-1),c=2**r,h=BigInt(r);for(let e=0;e<s;e++){const r=e*a;let s=Number(t&u);t>>=h,s>a&&(s-=c,t+=T);const l=r,d=r+Math.abs(s)-1,f=e%2!=0,p=s<0;0===s?o=o.add(j(f,n[l])):i=i.add(j(p,n[d]))}return D.normalizeZ([i,o])[0]}multiply(t,e){return this.wNAF(pt(t,C.l),e)}multiplyUnsafe(t){let e=pt(t,C.l,!1);const r=D.BASE,n=D.ZERO;if(e===P)return n;if(this.equals(n)||e===T)return this;if(this.equals(r))return this.wNAF(e);let i=n,o=this;for(;e>P;)e&T&&(i=i.add(o)),o=o.double(),e>>=T;return i}isSmallOrder(){return this.multiplyUnsafe(C.h).equals(D.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(C.l/R).double();return C.l%R&&(t=t.add(this)),t.equals(D.ZERO)}toAffine(t){const{x:e,y:r,z:n}=this,i=this.equals(D.ZERO);null==t&&(t=i?L:ut(n));const o=at(e*t),s=at(r*t),a=at(n*t);if(i)return Z.ZERO;if(a!==T)throw new Error("invZ was invalid");return new Z(o,s)}fromRistrettoBytes(){$()}toRistrettoBytes(){$()}fromRistrettoHash(){$()}}function j(t,e){const r=e.negate();return t?r:e}function H(t){if(!(t instanceof D))throw new TypeError("ExtendedPoint expected")}function F(t){if(!(t instanceof V))throw new TypeError("RistrettoPoint expected")}function $(){throw new Error("Legacy method: switch to RistrettoPoint")}D.BASE=new D(C.Gx,C.Gy,T,at(C.Gx*C.Gy)),D.ZERO=new D(P,T,T,P);class V{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){const{d:e}=C,r=at(N*t*t),n=at((r+T)*W);let i=BigInt(-1);const o=at((i-e*r)*at(r+e));let{isValid:s,value:a}=ht(n,o),u=at(a*t);nt(u)||(u=at(-u)),s||(a=u),s||(i=r);const c=at(i*(r-T)*q-o),h=a*a,l=at((a+a)*o),d=at(c*z),f=at(T-h),p=at(T+h);return new D(at(l*p),at(f*d),at(d*p),at(l*f))}static hashToCurve(t){const e=st((t=ft(t,64)).slice(0,32)),r=this.calcElligatorRistrettoMap(e),n=st(t.slice(32,64)),i=this.calcElligatorRistrettoMap(n);return new V(r.add(i))}static fromHex(t){t=ft(t,32);const{a:e,d:r}=C,n="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",i=st(t);if(!function(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}(rt(i),t)||nt(i))throw new Error(n);const o=at(i*i),s=at(T+e*o),a=at(T-e*o),u=at(s*s),c=at(a*a),h=at(e*r*u-c),{isValid:l,value:d}=lt(at(h*c)),f=at(d*a),p=at(d*f*h);let m=at((i+i)*f);nt(m)&&(m=at(-m));const g=at(s*p),y=at(m*g);if(!l||nt(y)||g===P)throw new Error(n);return new V(new D(m,g,T,y))}toRawBytes(){let{x:t,y:e,z:r,t:n}=this.ep;const i=at(at(r+e)*at(r-e)),o=at(t*e),s=at(o*o),{value:a}=lt(at(i*s)),u=at(a*i),c=at(a*o),h=at(u*c*n);let l;if(nt(n*h)){let r=at(e*N),n=at(t*N);t=r,e=n,l=at(u*K)}else l=c;nt(t*h)&&(e=at(-e));let d=at((r-e)*l);return nt(d)&&(d=at(-d)),rt(d)}toHex(){return Q(this.toRawBytes())}toString(){return this.toHex()}equals(t){F(t);const e=this.ep,r=t.ep,n=at(e.x*r.y)===at(e.y*r.x),i=at(e.y*r.y)===at(e.x*r.x);return n||i}add(t){return F(t),new V(this.ep.add(t.ep))}subtract(t){return F(t),new V(this.ep.subtract(t.ep))}multiply(t){return new V(this.ep.multiply(t))}multiplyUnsafe(t){return new V(this.ep.multiplyUnsafe(t))}}V.BASE=new V(D.BASE),V.ZERO=new V(D.ZERO);const G=new WeakMap;class Z{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,G.delete(this)}static fromHex(t,e=!0){const{d:r,P:n}=C,i=(t=ft(t,32)).slice();i[31]=-129&t[31];const o=it(i);if(e&&o>=n)throw new Error("Expected 0 < hex < P");if(!e&&o>=U)throw new Error("Expected 0 < hex < 2**256");const s=at(o*o),a=at(s-T),u=at(r*s+T);let{isValid:c,value:h}=ht(a,u);if(!c)throw new Error("Point.fromHex: invalid y coordinate");const l=(h&T)===T;return 0!=(128&t[31])!==l&&(h=at(-h)),new Z(h,o)}static async fromPrivateKey(t){return(await bt(t)).point}toRawBytes(){const t=rt(this.y);return t[31]|=this.x&T?128:0,t}toHex(){return Q(this.toRawBytes())}toX25519(){const{y:t}=this;return rt(at((T+t)*ut(T-t)))}isTorsionFree(){return D.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Z(at(-this.x),this.y)}add(t){return D.fromAffine(this).add(D.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return D.fromAffine(this).multiply(t,this).toAffine()}}Z.BASE=new Z(C.Gx,C.Gy),Z.ZERO=new Z(P,T);class Y{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){const e=ft(t,64),r=Z.fromHex(e.slice(0,32),!1),n=it(e.slice(32,64));return new Y(r,n)}assertValidity(){const{r:t,s:e}=this;if(!(t instanceof Z))throw new Error("Expected Point instance");return pt(e,C.l,!1),this}toRawBytes(){const t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(rt(this.s),32),t}toHex(){return Q(this.toRawBytes())}}function J(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Expected Uint8Array list");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),r=new Uint8Array(e);for(let e=0,n=0;e<t.length;e++){const i=t[e];r.set(i,n),n+=i.length}return r}const X=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function Q(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=X[t[r]];return e}function tt(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){const n=2*r,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function et(t){return tt(t.toString(16).padStart(64,"0"))}function rt(t){return et(t).reverse()}function nt(t){return(at(t)&T)===T}function it(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Q(Uint8Array.from(t).reverse()))}const ot=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function st(t){return at(it(t)&ot)}function at(t,e=C.P){const r=t%e;return r>=P?r:e+r}function ut(t,e=C.P){if(t===P||e<=P)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=at(t,e),n=e,i=P,o=T;for(;r!==P;){const t=n%r,e=i-o*(n/r);n=r,r=t,i=o,o=e}if(n!==T)throw new Error("invert: does not exist");return at(i,e)}function ct(t,e){const{P:r}=C;let n=t;for(;e-- >P;)n*=n,n%=r;return n}function ht(t,e){const r=at(e*e*e),n=function(t){const{P:e}=C,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),a=t*t%e*t%e,u=ct(a,R)*a%e,c=ct(u,T)*t%e,h=ct(c,r)*c%e,l=ct(h,n)*h%e,d=ct(l,i)*l%e,f=ct(d,o)*d%e,p=ct(f,s)*f%e,m=ct(p,s)*f%e,g=ct(m,n)*h%e;return{pow_p_5_8:ct(g,R)*t%e,b2:a}}(t*at(r*r*e)).pow_p_5_8;let i=at(t*r*n);const o=at(e*i*i),s=i,a=at(i*N),u=o===t,c=o===at(-t),h=o===at(-t*N);return u&&(i=s),(c||h)&&(i=a),nt(i)&&(i=at(-i)),{isValid:u||c,value:i}}function lt(t){return ht(T,t)}function dt(t){return at(it(t),C.l)}function ft(t,e){const r=t instanceof Uint8Array?Uint8Array.from(t):tt(t);if("number"==typeof e&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function pt(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if("number"==typeof t&&Number.isSafeInteger(t)&&(t=BigInt(t)),"bigint"==typeof t&&t<e)if(r){if(P<t)return t}else if(P<=t)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function mt(t){if(32!==(t="bigint"==typeof t||"number"==typeof t?et(pt(t,U)):ft(t)).length)throw new Error("Expected 32 bytes");return t}function gt(t){const e=function(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}(t.slice(0,32)),r=t.slice(32,64),n=dt(e),i=Z.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}let yt;function wt(...t){if("function"!=typeof yt)throw new Error("utils.sha512Sync must be set to use sync methods");return yt(...t)}async function bt(t){return gt(await _t.sha512(mt(t)))}function vt(t){return gt(wt(mt(t)))}const kt={getExtendedPublicKey:vt,getPublicKey:function(t){return vt(t).pointBytes},sign:function(t,e){t=ft(t);const{prefix:r,scalar:n,pointBytes:i}=vt(e),o=dt(wt(r,t)),s=Z.BASE.multiply(o),a=at(o+dt(wt(s.toRawBytes(),i,t))*n,C.l);return new Y(s,a).toRawBytes()},verify:function(t,e,r){const{r:n,SB:i,msg:o,pub:s}=function(t,e,r){e=ft(e),r instanceof Z||(r=Z.fromHex(r,!1));const{r:n,s:i}=t instanceof Y?t.assertValidity():Y.fromHex(t);return{r:n,s:i,SB:D.BASE.multiplyUnsafe(i),pub:r,msg:e}}(t,e,r),a=wt(n.toRawBytes(),s.toRawBytes(),o);return function(t,e,r,n){const i=dt(n),o=D.fromAffine(t).multiplyUnsafe(i);return D.fromAffine(e).add(o).subtract(r).multiplyUnsafe(C.h).equals(D.ZERO)}(s,n,i,a)}};Z.BASE._setWindowSize(8);const St={node:r.nodeCrypto,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},_t={bytesToHex:Q,hexToBytes:tt,concatBytes:J,getExtendedPublicKey:bt,mod:at,invert:ut,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if((t=ft(t)).length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return at(it(t),C.l-T)+T},randomBytes:(t=32)=>{if(St.web)return St.web.getRandomValues(new Uint8Array(t));if(St.node){const{randomBytes:e}=St.node;return new Uint8Array(e(t).buffer)}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>_t.randomBytes(32),sha512:async(...t)=>{const e=J(...t);if(St.web){const t=await St.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(t)}if(St.node)return Uint8Array.from(St.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")},precompute(t=8,e=Z.BASE){const r=e.equals(Z.BASE)?e:new Z(e.x,e.y);return r._setWindowSize(t),r.multiply(R),r},sha512Sync:void 0};Object.defineProperties(_t,{sha512Sync:{configurable:!1,get:()=>yt,set(t){yt||(yt=t)}}});var At={exports:{}};!function(t,e){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r.require$$1.Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function u(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function c(t,e,r,i){for(var o=0,s=0,a=Math.min(t.length,r),u=e;u<a;u++){var c=t.charCodeAt(u)-48;o*=i,s=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&s<i,"Invalid character"),o+=s}return o}function h(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=u(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=u(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,h=r;h<a;h+=n)u=c(t,h,h+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=c(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype._move=function(t){h(t,this)},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){o.prototype.inspect=l}else o.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var h=u>>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}r.words[c]=0|l,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?d[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];r="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(h).toString(t);r=(l=l.idivn(h)).isZero()?m+r:d[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},o.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},o.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},o.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},o.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var g=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,c=0,h=0|s[0],l=8191&h,d=h>>>13,f=0|s[1],p=8191&f,m=f>>>13,g=0|s[2],y=8191&g,w=g>>>13,b=0|s[3],v=8191&b,k=b>>>13,S=0|s[4],_=8191&S,A=S>>>13,M=0|s[5],I=8191&M,E=M>>>13,x=0|s[6],B=8191&x,P=x>>>13,T=0|s[7],R=8191&T,L=T>>>13,O=0|s[8],C=8191&O,U=O>>>13,N=0|s[9],z=8191&N,K=N>>>13,W=0|a[0],q=8191&W,D=W>>>13,j=0|a[1],H=8191&j,F=j>>>13,$=0|a[2],V=8191&$,G=$>>>13,Z=0|a[3],Y=8191&Z,J=Z>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(l,q))|0)+((8191&(i=(i=Math.imul(l,D))+Math.imul(d,q)|0))<<13)|0;c=((o=Math.imul(d,D))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,D))+Math.imul(m,q)|0,o=Math.imul(m,D);var yt=(c+(n=n+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,F)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,F)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),i=(i=Math.imul(y,D))+Math.imul(w,q)|0,o=Math.imul(w,D),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,F)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,F)|0;var wt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(d,V)|0))<<13)|0;c=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,D))+Math.imul(k,q)|0,o=Math.imul(k,D),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,F)|0)+Math.imul(w,H)|0,o=o+Math.imul(w,F)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,J)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),i=(i=Math.imul(_,D))+Math.imul(A,q)|0,o=Math.imul(A,D),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,F)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,F)|0,n=n+Math.imul(y,V)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,J)|0;var vt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,D))+Math.imul(E,q)|0,o=Math.imul(E,D),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,F)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,F)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var kt=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(d,rt)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,D))+Math.imul(P,q)|0,o=Math.imul(P,D),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,F)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,F)|0,n=n+Math.imul(_,V)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var St=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,D))+Math.imul(L,q)|0,o=Math.imul(L,D),n=n+Math.imul(B,H)|0,i=(i=i+Math.imul(B,F)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,F)|0,n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(w,rt)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var _t=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,q),i=(i=Math.imul(C,D))+Math.imul(U,q)|0,o=Math.imul(U,D),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,F)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,F)|0,n=n+Math.imul(B,V)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(z,q),i=(i=Math.imul(z,D))+Math.imul(K,q)|0,o=Math.imul(K,D),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,F)|0)+Math.imul(U,H)|0,o=o+Math.imul(U,F)|0,n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(L,V)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var Mt=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(z,H),i=(i=Math.imul(z,F))+Math.imul(K,H)|0,o=Math.imul(K,F),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(U,V)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(L,Y)|0,o=o+Math.imul(L,J)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var It=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(z,V),i=(i=Math.imul(z,G))+Math.imul(K,V)|0,o=Math.imul(K,G),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(U,Y)|0,o=o+Math.imul(U,J)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,n=n+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(z,Y),i=(i=Math.imul(z,J))+Math.imul(K,Y)|0,o=Math.imul(K,J),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,dt)|0;var xt=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(z,Q),i=(i=Math.imul(z,tt))+Math.imul(K,Q)|0,o=Math.imul(K,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,st)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ct)|0)+Math.imul(P,ut)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Bt=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(z,rt),i=(i=Math.imul(z,nt))+Math.imul(K,rt)|0,o=Math.imul(K,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ct)|0)+Math.imul(L,ut)|0,o=o+Math.imul(L,ct)|0,n=n+Math.imul(B,lt)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var Pt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(z,ot),i=(i=Math.imul(z,st))+Math.imul(K,ot)|0,o=Math.imul(K,st),n=n+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ct)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(L,lt)|0,o=o+Math.imul(L,dt)|0;var Tt=(c+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,ut),i=(i=Math.imul(z,ct))+Math.imul(K,ut)|0,o=Math.imul(K,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,dt)|0;var Rt=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(z,lt),i=(i=Math.imul(z,dt))+Math.imul(K,lt)|0,o=Math.imul(K,dt);var Lt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(U,pt)|0))<<13)|0;c=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863;var Ot=(c+(n=Math.imul(z,pt))|0)+((8191&(i=(i=Math.imul(z,mt))+Math.imul(K,pt)|0))<<13)|0;return c=((o=Math.imul(K,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=wt,u[3]=bt,u[4]=vt,u[5]=kt,u[6]=St,u[7]=_t,u[8]=At,u[9]=Mt,u[10]=It,u[11]=Et,u[12]=xt,u[13]=Bt,u[14]=Pt,u[15]=Tt,u[16]=Rt,u[17]=Lt,u[18]=Ot,0!==c&&(u[19]=c,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var h=o-c,l=(0|t.words[h])*(0|e.words[c]),d=67108863&l;a=67108863&(d=d+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function w(t,e,r){return y(t,e,r)}Math.imul||(g=m),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):w(this,t,e)},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),w(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=s>>>26,this.words[i]=67108863&s}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<r;this.words[e]=u|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=r;if(i-=s,i=Math.max(0,i),u){for(var c=0;c<s;c++)u.words[c]=this.words[c];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,c=0;c<this.length;c++)this.words[c]=this.words[c+s];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(0!==h||c>=i);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this._strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var h=n.clone()._ishlnsubmul(i,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var l=u-1;l>=0;l--){var d=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(i,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(u)):(r.isub(e),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(r.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new M(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function I(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(k,v),k.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(S,v),i(_,v),i(A,v),A.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new A}return b[t]=e,e},M.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,i),d=this.pow(t,i.addn(1).iushrn(1)),f=this.pow(t,i),p=s;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g<p);var y=this.pow(l,new o(1).iushln(p-g-1));d=d.redMul(y),l=y.redSqr(),f=f.redMul(l),p=g}return d},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}u=26}return i},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new I(t)},i(I,M),I.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},I.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},I.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(At,t.commonjsGlobal);var Mt=At.exports,It=n.safeBuffer.exports.Buffer;var Et=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var i=t.charAt(n),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=n}var s=t.length,a=t.charAt(0),u=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function h(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return It.alloc(0);for(var r=0,n=0,i=0;t[r]===a;)n++,r++;for(var o=(t.length-r)*u+1>>>0,c=new Uint8Array(o);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var l=0,d=o-1;(0!==h||l<i)&&-1!==d;d--,l++)h+=s*c[d]>>>0,c[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");i=l,r++}for(var f=o-i;f!==o&&0===c[f];)f++;var p=It.allocUnsafe(n+(o-f));p.fill(0,0,n);for(var m=n;f!==o;)p[m++]=c[f++];return p}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=It.from(e)),!It.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,n=0,i=0,o=e.length;i!==o&&0===e[i];)i++,r++;for(var u=(o-i)*c+1>>>0,h=new Uint8Array(u);i!==o;){for(var l=e[i],d=0,f=u-1;(0!==l||d<n)&&-1!==f;f--,d++)l+=256*h[f]>>>0,h[f]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");n=d,i++}for(var p=u-n;p!==u&&0===h[p];)p++;for(var m=a.repeat(r);p<u;++p)m+=t.charAt(h[p]);return m},decodeUnsafe:h,decode:function(t){var e=h(t);if(e)return e;throw new Error("Non-base"+s+" character")}}},xt=Et("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");const Bt=(t,e,r)=>t&e^t&r^e&r,Pt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Tt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Rt=new Uint32Array(64);class Lt extends g{constructor(){super(64,32,8,!1),this.A=0|Tt[0],this.B=0|Tt[1],this.C=0|Tt[2],this.D=0|Tt[3],this.E=0|Tt[4],this.F=0|Tt[5],this.G=0|Tt[6],this.H=0|Tt[7]}get(){const{A:t,B:e,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[t,e,r,n,i,o,s,a]}set(t,e,r,n,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let r=0;r<16;r++,e+=4)Rt[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=Rt[t-15],r=Rt[t-2],n=d(e,7)^d(e,18)^e>>>3,i=d(r,17)^d(r,19)^r>>>10;Rt[t]=i+Rt[t-7]+n+Rt[t-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:u,H:c}=this;for(let t=0;t<64;t++){const e=c+(d(s,6)^d(s,11)^d(s,25))+((h=s)&a^~h&u)+Pt[t]+Rt[t]|0,l=(d(r,2)^d(r,13)^d(r,22))+Bt(r,n,i)|0;c=u,u=a,a=s,s=o+e|0,o=i,i=n,n=r,r=e+l|0}var h;r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,u=u+this.G|0,c=c+this.H|0,this.set(r,n,i,o,s,a,u,c)}roundClean(){Rt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Ot extends Lt{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const Ct=m((()=>new Lt));m((()=>new Ot));var Ut={},Nt={exports:{}};function zt(t,e,r){return e<=t&&t<=r}function Kt(t){if(void 0===t)return{};if(t===Object(t))return t;throw TypeError("Could not convert argument to dictionary")}!function(t,e){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r.require$$1.Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function u(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function c(t,e,r,i){for(var o=0,s=0,a=Math.min(t.length,r),u=e;u<a;u++){var c=t.charCodeAt(u)-48;o*=i,s=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&s<i,"Invalid character"),o+=s}return o}function h(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=u(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=u(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,h=r;h<a;h+=n)u=c(t,h,h+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=c(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype._move=function(t){h(t,this)},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){o.prototype.inspect=l}else o.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var h=u>>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}r.words[c]=0|l,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),r=0!==o||s!==this.length-1?d[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];r="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(h).toString(t);r=(l=l.idivn(h)).isZero()?m+r:d[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},o.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},o.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},o.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},o.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var g=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,c=0,h=0|s[0],l=8191&h,d=h>>>13,f=0|s[1],p=8191&f,m=f>>>13,g=0|s[2],y=8191&g,w=g>>>13,b=0|s[3],v=8191&b,k=b>>>13,S=0|s[4],_=8191&S,A=S>>>13,M=0|s[5],I=8191&M,E=M>>>13,x=0|s[6],B=8191&x,P=x>>>13,T=0|s[7],R=8191&T,L=T>>>13,O=0|s[8],C=8191&O,U=O>>>13,N=0|s[9],z=8191&N,K=N>>>13,W=0|a[0],q=8191&W,D=W>>>13,j=0|a[1],H=8191&j,F=j>>>13,$=0|a[2],V=8191&$,G=$>>>13,Z=0|a[3],Y=8191&Z,J=Z>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(l,q))|0)+((8191&(i=(i=Math.imul(l,D))+Math.imul(d,q)|0))<<13)|0;c=((o=Math.imul(d,D))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,D))+Math.imul(m,q)|0,o=Math.imul(m,D);var yt=(c+(n=n+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,F)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,F)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),i=(i=Math.imul(y,D))+Math.imul(w,q)|0,o=Math.imul(w,D),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,F)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,F)|0;var wt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(d,V)|0))<<13)|0;c=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,D))+Math.imul(k,q)|0,o=Math.imul(k,D),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,F)|0)+Math.imul(w,H)|0,o=o+Math.imul(w,F)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,J)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),i=(i=Math.imul(_,D))+Math.imul(A,q)|0,o=Math.imul(A,D),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,F)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,F)|0,n=n+Math.imul(y,V)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,J)|0;var vt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,D))+Math.imul(E,q)|0,o=Math.imul(E,D),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,F)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,F)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var kt=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(d,rt)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,D))+Math.imul(P,q)|0,o=Math.imul(P,D),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,F)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,F)|0,n=n+Math.imul(_,V)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var St=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,D))+Math.imul(L,q)|0,o=Math.imul(L,D),n=n+Math.imul(B,H)|0,i=(i=i+Math.imul(B,F)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,F)|0,n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(w,rt)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var _t=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,q),i=(i=Math.imul(C,D))+Math.imul(U,q)|0,o=Math.imul(U,D),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,F)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,F)|0,n=n+Math.imul(B,V)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(z,q),i=(i=Math.imul(z,D))+Math.imul(K,q)|0,o=Math.imul(K,D),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,F)|0)+Math.imul(U,H)|0,o=o+Math.imul(U,F)|0,n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(L,V)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var Mt=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(z,H),i=(i=Math.imul(z,F))+Math.imul(K,H)|0,o=Math.imul(K,F),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(U,V)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(L,Y)|0,o=o+Math.imul(L,J)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var It=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(z,V),i=(i=Math.imul(z,G))+Math.imul(K,V)|0,o=Math.imul(K,G),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(U,Y)|0,o=o+Math.imul(U,J)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,n=n+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(z,Y),i=(i=Math.imul(z,J))+Math.imul(K,Y)|0,o=Math.imul(K,J),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,dt)|0;var xt=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(z,Q),i=(i=Math.imul(z,tt))+Math.imul(K,Q)|0,o=Math.imul(K,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,st)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ct)|0)+Math.imul(P,ut)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Bt=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(z,rt),i=(i=Math.imul(z,nt))+Math.imul(K,rt)|0,o=Math.imul(K,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ct)|0)+Math.imul(L,ut)|0,o=o+Math.imul(L,ct)|0,n=n+Math.imul(B,lt)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var Pt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(z,ot),i=(i=Math.imul(z,st))+Math.imul(K,ot)|0,o=Math.imul(K,st),n=n+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ct)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(L,lt)|0,o=o+Math.imul(L,dt)|0;var Tt=(c+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,ut),i=(i=Math.imul(z,ct))+Math.imul(K,ut)|0,o=Math.imul(K,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,dt)|0;var Rt=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(z,lt),i=(i=Math.imul(z,dt))+Math.imul(K,lt)|0,o=Math.imul(K,dt);var Lt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(U,pt)|0))<<13)|0;c=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863;var Ot=(c+(n=Math.imul(z,pt))|0)+((8191&(i=(i=Math.imul(z,mt))+Math.imul(K,pt)|0))<<13)|0;return c=((o=Math.imul(K,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=wt,u[3]=bt,u[4]=vt,u[5]=kt,u[6]=St,u[7]=_t,u[8]=At,u[9]=Mt,u[10]=It,u[11]=Et,u[12]=xt,u[13]=Bt,u[14]=Pt,u[15]=Tt,u[16]=Rt,u[17]=Lt,u[18]=Ot,0!==c&&(u[19]=c,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var h=o-c,l=(0|t.words[h])*(0|e.words[c]),d=67108863&l;a=67108863&(d=d+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function w(t,e,r){return y(t,e,r)}Math.imul||(g=m),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):w(this,t,e)},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),w(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=s>>>26,this.words[i]=67108863&s}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<r;this.words[e]=u|s,s=a>>>26-r}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=r;if(i-=s,i=Math.max(0,i),u){for(var c=0;c<s;c++)u.words[c]=this.words[c];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,c=0;c<this.length;c++)this.words[c]=this.words[c+s];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(0!==h||c>=i);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,s=t.length+r;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this._strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var h=n.clone()._ishlnsubmul(i,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var l=u-1;l>=0;l--){var d=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(i,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var h=r.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(a),s.isub(u)):(r.isub(e),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(r.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(r)>=0?(e.isub(r),s.isub(a)):(r.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new M(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function I(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(k,v),k.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(S,v),i(_,v),i(A,v),A.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new A}return b[t]=e,e},M.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,i),d=this.pow(t,i.addn(1).iushrn(1)),f=this.pow(t,i),p=s;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();n(g<p);var y=this.pow(l,new o(1).iushln(p-g-1));d=d.redMul(y),l=y.redSqr(),f=f.redMul(l),p=g}return d},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}u=26}return i},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new I(t)},i(I,M),I.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},I.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},I.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Nt,t.commonjsGlobal);var Wt=-1;function qt(t){this.tokens=[].slice.call(t)}qt.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():Wt},prepend:function(t){if(Array.isArray(t))for(var e=t;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(t)},push:function(t){if(Array.isArray(t))for(var e=t;e.length;)this.tokens.push(e.shift());else this.tokens.push(t)}};var Dt=-1;function jt(t,e){if(t)throw TypeError("Decoder error");return e||65533}var Ht="utf-8";function Ft(t,e){if(!(this instanceof Ft))return new Ft(t,e);if((t=void 0!==t?String(t).toLowerCase():Ht)!==Ht)throw new Error("Encoding not supported. Only utf-8 is supported");e=Kt(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=Boolean(e.fatal),this._ignoreBOM=Boolean(e.ignoreBOM),Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}function $t(t,e){if(!(this instanceof $t))return new $t(t,e);if((t=void 0!==t?String(t).toLowerCase():Ht)!==Ht)throw new Error("Encoding not supported. Only utf-8 is supported");e=Kt(e),this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(e.fatal)},Object.defineProperty(this,"encoding",{value:"utf-8"})}function Vt(t){var e=t.fatal,r=0,n=0,i=0,o=128,s=191;this.handler=function(t,a){if(a===Wt&&0!==i)return i=0,jt(e);if(a===Wt)return Dt;if(0===i){if(zt(a,0,127))return a;if(zt(a,194,223))i=1,r=a-192;else if(zt(a,224,239))224===a&&(o=160),237===a&&(s=159),i=2,r=a-224;else{if(!zt(a,240,244))return jt(e);240===a&&(o=144),244===a&&(s=143),i=3,r=a-240}return r<<=6*i,null}if(!zt(a,o,s))return r=i=n=0,o=128,s=191,t.prepend(a),jt(e);if(o=128,s=191,r+=a-128<<6*(i-(n+=1)),n!==i)return null;var u=r;return r=i=n=0,u}}function Gt(t){t.fatal,this.handler=function(t,e){if(e===Wt)return Dt;if(zt(e,0,127))return e;var r,n;zt(e,128,2047)?(r=1,n=192):zt(e,2048,65535)?(r=2,n=224):zt(e,65536,1114111)&&(r=3,n=240);for(var i=[(e>>6*r)+n];r>0;){var o=e>>6*(r-1);i.push(128|63&o),r-=1}return i}}Ft.prototype={decode:function(t,e){var r;r="object"==typeof t&&t instanceof ArrayBuffer?new Uint8Array(t):"object"==typeof t&&"buffer"in t&&t.buffer instanceof ArrayBuffer?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(0),e=Kt(e),this._streaming||(this._decoder=new Vt({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(e.stream);for(var n,i=new qt(r),o=[];!i.endOfStream()&&(n=this._decoder.handler(i,i.read()))!==Dt;)null!==n&&(Array.isArray(n)?o.push.apply(o,n):o.push(n));if(!this._streaming){do{if((n=this._decoder.handler(i,i.read()))===Dt)break;null!==n&&(Array.isArray(n)?o.push.apply(o,n):o.push(n))}while(!i.endOfStream());this._decoder=null}return o.length&&(-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===o[0]?(this._BOMseen=!0,o.shift()):this._BOMseen=!0)),function(t){for(var e="",r=0;r<t.length;++r){var n=t[r];n<=65535?e+=String.fromCharCode(n):(n-=65536,e+=String.fromCharCode(55296+(n>>10),56320+(1023&n)))}return e}(o)}},$t.prototype={encode:function(t,e){t=t?String(t):"",e=Kt(e),this._streaming||(this._encoder=new Gt(this._options)),this._streaming=Boolean(e.stream);for(var r,n=[],i=new qt(function(t){for(var e=String(t),r=e.length,n=0,i=[];n<r;){var o=e.charCodeAt(n);if(o<55296||o>57343)i.push(o);else if(56320<=o&&o<=57343)i.push(65533);else if(55296<=o&&o<=56319)if(n===r-1)i.push(65533);else{var s=t.charCodeAt(n+1);if(56320<=s&&s<=57343){var a=1023&o,u=1023&s;i.push(65536+(a<<10)+u),n+=1}else i.push(65533)}n+=1}return i}(t));!i.endOfStream()&&(r=this._encoder.handler(i,i.read()))!==Dt;)Array.isArray(r)?n.push.apply(n,r):n.push(r);if(!this._streaming){for(;(r=this._encoder.handler(i,i.read()))!==Dt;)Array.isArray(r)?n.push.apply(n,r):n.push(r);this._encoder=null}return new Uint8Array(n)}};var Zt=Object.freeze({__proto__:null,TextEncoder:$t,TextDecoder:Ft}),Yt=t.getAugmentedNamespace(Zt),Jt=t.commonjsGlobal&&t.commonjsGlobal.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),Xt=t.commonjsGlobal&&t.commonjsGlobal.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Qt=t.commonjsGlobal&&t.commonjsGlobal.__decorate||function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s},te=t.commonjsGlobal&&t.commonjsGlobal.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&Jt(e,t,r);return Xt(e,t),e},ee=t.commonjsGlobal&&t.commonjsGlobal.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ut,"__esModule",{value:!0});var re=Ut.deserializeUnchecked=we=Ut.deserialize=me=Ut.serialize=Ut.BinaryReader=Ut.BinaryWriter=Ut.BorshError=Ut.baseDecode=Ut.baseEncode=void 0;const ne=ee(Nt.exports),ie=ee(xt),oe=te(Yt),se=new("function"!=typeof TextDecoder?oe.TextDecoder:TextDecoder)("utf-8",{fatal:!0});Ut.baseEncode=function(t){return"string"==typeof t&&(t=Buffer.from(t,"utf8")),ie.default.encode(Buffer.from(t))},Ut.baseDecode=function(t){return Buffer.from(ie.default.decode(t))};const ae=1024;class ue extends Error{constructor(t){super(t),this.fieldPath=[],this.originalMessage=t}addToFieldPath(t){this.fieldPath.splice(0,0,t),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Ut.BorshError=ue;class ce{constructor(){this.buf=Buffer.alloc(ae),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(ae)]))}writeU8(t){this.maybeResize(),this.buf.writeUInt8(t,this.length),this.length+=1}writeU16(t){this.maybeResize(),this.buf.writeUInt16LE(t,this.length),this.length+=2}writeU32(t){this.maybeResize(),this.buf.writeUInt32LE(t,this.length),this.length+=4}writeU64(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ne.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ne.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ne.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ne.default(t).toArray("le",64)))}writeBuffer(t){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),t,Buffer.alloc(ae)]),this.length+=t.length}writeString(t){this.maybeResize();const e=Buffer.from(t,"utf8");this.writeU32(e.length),this.writeBuffer(e)}writeFixedArray(t){this.writeBuffer(Buffer.from(t))}writeArray(t,e){this.maybeResize(),this.writeU32(t.length);for(const r of t)this.maybeResize(),e(r)}toArray(){return this.buf.subarray(0,this.length)}}function he(t,e,r){const n=r.value;r.value=function(...t){try{return n.apply(this,t)}catch(t){if(t instanceof RangeError){const e=t.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(e)>=0)throw new ue("Reached the end of buffer when deserializing")}throw t}}}Ut.BinaryWriter=ce;class le{constructor(t){this.buf=t,this.offset=0}readU8(){const t=this.buf.readUInt8(this.offset);return this.offset+=1,t}readU16(){const t=this.buf.readUInt16LE(this.offset);return this.offset+=2,t}readU32(){const t=this.buf.readUInt32LE(this.offset);return this.offset+=4,t}readU64(){const t=this.readBuffer(8);return new ne.default(t,"le")}readU128(){const t=this.readBuffer(16);return new ne.default(t,"le")}readU256(){const t=this.readBuffer(32);return new ne.default(t,"le")}readU512(){const t=this.readBuffer(64);return new ne.default(t,"le")}readBuffer(t){if(this.offset+t>this.buf.length)throw new ue(`Expected buffer length ${t} isn't within bounds`);const e=this.buf.slice(this.offset,this.offset+t);return this.offset+=t,e}readString(){const t=this.readU32(),e=this.readBuffer(t);try{return se.decode(e)}catch(t){throw new ue(`Error decoding UTF-8 string: ${t}`)}}readFixedArray(t){return new Uint8Array(this.readBuffer(t))}readArray(t){const e=this.readU32(),r=Array();for(let n=0;n<e;++n)r.push(t());return r}}function de(t){return t.charAt(0).toUpperCase()+t.slice(1)}function fe(t,e,r,n,i){try{if("string"==typeof n)i[`write${de(n)}`](r);else if(n instanceof Array)if("number"==typeof n[0]){if(r.length!==n[0])throw new ue(`Expecting byte array of length ${n[0]}, but got ${r.length} bytes`);i.writeFixedArray(r)}else if(2===n.length&&"number"==typeof n[1]){if(r.length!==n[1])throw new ue(`Expecting byte array of length ${n[1]}, but got ${r.length} bytes`);for(let e=0;e<n[1];e++)fe(t,null,r[e],n[0],i)}else i.writeArray(r,(r=>{fe(t,e,r,n[0],i)}));else if(void 0!==n.kind)switch(n.kind){case"option":null==r?i.writeU8(0):(i.writeU8(1),fe(t,e,r,n.type,i));break;case"map":i.writeU32(r.size),r.forEach(((r,o)=>{fe(t,e,o,n.key,i),fe(t,e,r,n.value,i)}));break;default:throw new ue(`FieldType ${n} unrecognized`)}else pe(t,r,i)}catch(t){throw t instanceof ue&&t.addToFieldPath(e),t}}function pe(t,e,r){if("function"==typeof e.borshSerialize)return void e.borshSerialize(r);const n=t.get(e.constructor);if(!n)throw new ue(`Class ${e.constructor.name} is missing in schema`);if("struct"===n.kind)n.fields.map((([n,i])=>{fe(t,n,e[n],i,r)}));else{if("enum"!==n.kind)throw new ue(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`);{const i=e[n.field];for(let o=0;o<n.values.length;++o){const[s,a]=n.values[o];if(s===i){r.writeU8(o),fe(t,s,e[s],a,r);break}}}}}Qt([he],le.prototype,"readU8",null),Qt([he],le.prototype,"readU16",null),Qt([he],le.prototype,"readU32",null),Qt([he],le.prototype,"readU64",null),Qt([he],le.prototype,"readU128",null),Qt([he],le.prototype,"readU256",null),Qt([he],le.prototype,"readU512",null),Qt([he],le.prototype,"readString",null),Qt([he],le.prototype,"readFixedArray",null),Qt([he],le.prototype,"readArray",null),Ut.BinaryReader=le;var me=Ut.serialize=function(t,e,r=ce){const n=new r;return pe(t,e,n),n.toArray()};function ge(t,e,r,n){try{if("string"==typeof r)return n[`read${de(r)}`]();if(r instanceof Array){if("number"==typeof r[0])return n.readFixedArray(r[0]);if("number"==typeof r[1]){const e=[];for(let i=0;i<r[1];i++)e.push(ge(t,null,r[0],n));return e}return n.readArray((()=>ge(t,e,r[0],n)))}if("option"===r.kind){return n.readU8()?ge(t,e,r.type,n):void 0}if("map"===r.kind){let i=new Map;const o=n.readU32();for(let s=0;s<o;s++){const o=ge(t,e,r.key,n),s=ge(t,e,r.value,n);i.set(o,s)}return i}return ye(t,r,n)}catch(t){throw t instanceof ue&&t.addToFieldPath(e),t}}function ye(t,e,r){if("function"==typeof e.borshDeserialize)return e.borshDeserialize(r);const n=t.get(e);if(!n)throw new ue(`Class ${e.name} is missing in schema`);if("struct"===n.kind){const n={};for(const[i,o]of t.get(e).fields)n[i]=ge(t,i,o,r);return new e(n)}if("enum"===n.kind){const i=r.readU8();if(i>=n.values.length)throw new ue(`Enum index: ${i} is out of range`);const[o,s]=n.values[i];return new e({[o]:ge(t,o,s,r)})}throw new ue(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`)}var we=Ut.deserialize=function(t,e,r,n=le){const i=new n(r),o=ye(t,e,i);if(i.offset<r.length)throw new ue(`Unexpected ${r.length-i.offset} bytes after deserialized data`);return o};re=Ut.deserializeUnchecked=function(t,e,r,n=le){return ye(t,e,new n(r))};var be={};Object.defineProperty(be,"__esModule",{value:!0}),be.s16=be.s8=be.nu64be=be.u48be=be.u40be=be.u32be=be.u24be=be.u16be=ar=be.nu64=be.u48=be.u40=sr=be.u32=be.u24=or=be.u16=ir=be.u8=nr=be.offset=be.greedy=be.Constant=be.UTF8=be.CString=be.Blob=be.Boolean=be.BitField=be.BitStructure=be.VariantLayout=be.Union=be.UnionLayoutDiscriminator=be.UnionDiscriminator=be.Structure=be.Sequence=be.DoubleBE=be.Double=be.FloatBE=be.Float=be.NearInt64BE=be.NearInt64=be.NearUInt64BE=be.NearUInt64=be.IntBE=be.Int=be.UIntBE=be.UInt=be.OffsetLayout=be.GreedyCount=be.ExternalLayout=be.bindConstructorLayout=be.nameWithProperty=be.Layout=be.uint8ArrayToBuffer=be.checkUint8Array=void 0,be.constant=be.utf8=be.cstr=lr=be.blob=be.unionLayoutDiscriminator=be.union=hr=be.seq=be.bits=cr=be.struct=be.f64be=be.f64=be.f32be=be.f32=be.ns64be=be.s48be=be.s40be=be.s32be=be.s24be=be.s16be=ur=be.ns64=be.s48=be.s40=be.s32=be.s24=void 0;const ve=s.default;function ke(t){if(!(t instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}function Se(t){return ke(t),ve.Buffer.from(t.buffer,t.byteOffset,t.length)}be.checkUint8Array=ke,be.uint8ArrayToBuffer=Se;class _e{constructor(t,e){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=e}makeDestinationObject(){return{}}getSpan(t,e){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){const e=Object.create(this.constructor.prototype);return Object.assign(e,this),e.property=t,e}fromArray(t){}}function Ae(t,e){return e.property?t+"["+e.property+"]":t}be.Layout=_e,be.nameWithProperty=Ae,be.bindConstructorLayout=function(t,e){if("function"!=typeof t)throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(t,"layout_"))throw new Error("Class is already bound to a layout");if(!(e&&e instanceof _e))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(e,"boundConstructor_"))throw new Error("layout is already bound to a constructor");t.layout_=e,e.boundConstructor_=t,e.makeDestinationObject=()=>new t,Object.defineProperty(t.prototype,"encode",{value(t,r){return e.encode(this,t,r)},writable:!0}),Object.defineProperty(t,"decode",{value:(t,r)=>e.decode(t,r),writable:!0})};class Me extends _e{isCount(){throw new Error("ExternalLayout is abstract")}}be.ExternalLayout=Me;class Ie extends Me{constructor(t=1,e){if(!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,e),this.elementSpan=t}isCount(){return!0}decode(t,e=0){ke(t);const r=t.length-e;return Math.floor(r/this.elementSpan)}encode(t,e,r){return 0}}be.GreedyCount=Ie;class Ee extends Me{constructor(t,e=0,r){if(!(t instanceof _e))throw new TypeError("layout must be a Layout");if(!Number.isInteger(e))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=e}isCount(){return this.layout instanceof xe||this.layout instanceof Be}decode(t,e=0){return this.layout.decode(t,e+this.offset)}encode(t,e,r=0){return this.layout.encode(t,e,r+this.offset)}}be.OffsetLayout=Ee;class xe extends _e{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return Se(t).readUIntLE(e,this.span)}encode(t,e,r=0){return Se(e).writeUIntLE(t,r,this.span),this.span}}be.UInt=xe;class Be extends _e{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return Se(t).readUIntBE(e,this.span)}encode(t,e,r=0){return Se(e).writeUIntBE(t,r,this.span),this.span}}be.UIntBE=Be;class Pe extends _e{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return Se(t).readIntLE(e,this.span)}encode(t,e,r=0){return Se(e).writeIntLE(t,r,this.span),this.span}}be.Int=Pe;class Te extends _e{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return Se(t).readIntBE(e,this.span)}encode(t,e,r=0){return Se(e).writeIntBE(t,r,this.span),this.span}}be.IntBE=Te;const Re=Math.pow(2,32);function Le(t){const e=Math.floor(t/Re);return{hi32:e,lo32:t-e*Re}}function Oe(t,e){return t*Re+e}class Ce extends _e{constructor(t){super(8,t)}decode(t,e=0){const r=Se(t),n=r.readUInt32LE(e);return Oe(r.readUInt32LE(e+4),n)}encode(t,e,r=0){const n=Le(t),i=Se(e);return i.writeUInt32LE(n.lo32,r),i.writeUInt32LE(n.hi32,r+4),8}}be.NearUInt64=Ce;class Ue extends _e{constructor(t){super(8,t)}decode(t,e=0){const r=Se(t);return Oe(r.readUInt32BE(e),r.readUInt32BE(e+4))}encode(t,e,r=0){const n=Le(t),i=Se(e);return i.writeUInt32BE(n.hi32,r),i.writeUInt32BE(n.lo32,r+4),8}}be.NearUInt64BE=Ue;class Ne extends _e{constructor(t){super(8,t)}decode(t,e=0){const r=Se(t),n=r.readUInt32LE(e);return Oe(r.readInt32LE(e+4),n)}encode(t,e,r=0){const n=Le(t),i=Se(e);return i.writeUInt32LE(n.lo32,r),i.writeInt32LE(n.hi32,r+4),8}}be.NearInt64=Ne;class ze extends _e{constructor(t){super(8,t)}decode(t,e=0){const r=Se(t);return Oe(r.readInt32BE(e),r.readUInt32BE(e+4))}encode(t,e,r=0){const n=Le(t),i=Se(e);return i.writeInt32BE(n.hi32,r),i.writeUInt32BE(n.lo32,r+4),8}}be.NearInt64BE=ze;class Ke extends _e{constructor(t){super(4,t)}decode(t,e=0){return Se(t).readFloatLE(e)}encode(t,e,r=0){return Se(e).writeFloatLE(t,r),4}}be.Float=Ke;class We extends _e{constructor(t){super(4,t)}decode(t,e=0){return Se(t).readFloatBE(e)}encode(t,e,r=0){return Se(e).writeFloatBE(t,r),4}}be.FloatBE=We;class qe extends _e{constructor(t){super(8,t)}decode(t,e=0){return Se(t).readDoubleLE(e)}encode(t,e,r=0){return Se(e).writeDoubleLE(t,r),8}}be.Double=qe;class De extends _e{constructor(t){super(8,t)}decode(t,e=0){return Se(t).readDoubleBE(e)}encode(t,e,r=0){return Se(e).writeDoubleBE(t,r),8}}be.DoubleBE=De;class je extends _e{constructor(t,e,r){if(!(t instanceof _e))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof Me&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let n=-1;!(e instanceof Me)&&0<t.span&&(n=e*t.span),super(n,r),this.elementLayout=t,this.count=e}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0,n=this.count;if(n instanceof Me&&(n=n.decode(t,e)),0<this.elementLayout.span)r=n*this.elementLayout.span;else{let i=0;for(;i<n;)r+=this.elementLayout.getSpan(t,e+r),++i}return r}decode(t,e=0){const r=[];let n=0,i=this.count;for(i instanceof Me&&(i=i.decode(t,e));n<i;)r.push(this.elementLayout.decode(t,e)),e+=this.elementLayout.getSpan(t,e),n+=1;return r}encode(t,e,r=0){const n=this.elementLayout,i=t.reduce(((t,i)=>t+n.encode(i,e,r+t)),0);return this.count instanceof Me&&this.count.encode(t.length,e,r),i}}be.Sequence=je;class He extends _e{constructor(t,e,r){if(!Array.isArray(t)||!t.reduce(((t,e)=>t&&e instanceof _e),!0))throw new TypeError("fields must be array of Layout instances");"boolean"==typeof e&&void 0===r&&(r=e,e=void 0);for(const e of t)if(0>e.span&&void 0===e.property)throw new Error("fields cannot contain unnamed variable-length layout");let n=-1;try{n=t.reduce(((t,e)=>t+e.getSpan()),0)}catch(t){}super(n,e),this.fields=t,this.decodePrefixes=!!r}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;try{r=this.fields.reduce(((r,n)=>{const i=n.getSpan(t,e);return e+=i,r+i}),0)}catch(t){throw new RangeError("indeterminate span")}return r}decode(t,e=0){ke(t);const r=this.makeDestinationObject();for(const n of this.fields)if(void 0!==n.property&&(r[n.property]=n.decode(t,e)),e+=n.getSpan(t,e),this.decodePrefixes&&t.length===e)break;return r}encode(t,e,r=0){const n=r;let i=0,o=0;for(const n of this.fields){let s=n.span;if(o=0<s?s:0,void 0!==n.property){const i=t[n.property];void 0!==i&&(o=n.encode(i,e,r),0>s&&(s=n.getSpan(e,r)))}i=r,r+=s}return i+o-n}fromArray(t){const e=this.makeDestinationObject();for(const r of this.fields)void 0!==r.property&&0<t.length&&(e[r.property]=t.shift());return e}layoutFor(t){if("string"!=typeof t)throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}offsetOf(t){if("string"!=typeof t)throw new TypeError("property must be string");let e=0;for(const r of this.fields){if(r.property===t)return e;0>r.span?e=-1:0<=e&&(e+=r.span)}}}be.Structure=He;class Fe{constructor(t){this.property=t}decode(t,e){throw new Error("UnionDiscriminator is abstract")}encode(t,e,r){throw new Error("UnionDiscriminator is abstract")}}be.UnionDiscriminator=Fe;class $e extends Fe{constructor(t,e){if(!(t instanceof Me&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(e||t.property||"variant"),this.layout=t}decode(t,e){return this.layout.decode(t,e)}encode(t,e,r){return this.layout.encode(t,e,r)}}be.UnionLayoutDiscriminator=$e;class Ve extends _e{constructor(t,e,r){let n;if(t instanceof xe||t instanceof Be)n=new $e(new Ee(t));else if(t instanceof Me&&t.isCount())n=new $e(t);else{if(!(t instanceof Fe))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");n=t}if(void 0===e&&(e=null),!(null===e||e instanceof _e))throw new TypeError("defaultLayout must be null or a Layout");if(null!==e){if(0>e.span)throw new Error("defaultLayout must have constant span");void 0===e.property&&(e=e.replicate("content"))}let i=-1;e&&(i=e.span,0<=i&&(t instanceof xe||t instanceof Be)&&(i+=n.layout.span)),super(i,r),this.discriminator=n,this.usesPrefixDiscriminator=t instanceof xe||t instanceof Be,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(t){return o(t)},this.configGetSourceVariant=function(t){o=t.bind(this)}}getSpan(t,e=0){if(0<=this.span)return this.span;const r=this.getVariant(t,e);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,e)}defaultGetSourceVariant(t){if(Object.prototype.hasOwnProperty.call(t,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(t,this.defaultLayout.property))return;const e=this.registry[t[this.discriminator.property]];if(e&&(!e.layout||e.property&&Object.prototype.hasOwnProperty.call(t,e.property)))return e}else for(const e in this.registry){const r=this.registry[e];if(r.property&&Object.prototype.hasOwnProperty.call(t,r.property))return r}throw new Error("unable to infer src variant")}decode(t,e=0){let r;const n=this.discriminator,i=n.decode(t,e),o=this.registry[i];if(void 0===o){const o=this.defaultLayout;let s=0;this.usesPrefixDiscriminator&&(s=n.layout.span),r=this.makeDestinationObject(),r[n.property]=i,r[o.property]=o.decode(t,e+s)}else r=o.decode(t,e);return r}encode(t,e,r=0){const n=this.getSourceVariant(t);if(void 0===n){const n=this.discriminator,i=this.defaultLayout;let o=0;return this.usesPrefixDiscriminator&&(o=n.layout.span),n.encode(t[n.property],e,r),o+i.encode(t[i.property],e,r+o)}return n.encode(t,e,r)}addVariant(t,e,r){const n=new Ge(this,t,e,r);return this.registry[t]=n,n}getVariant(t,e=0){let r;return r=t instanceof Uint8Array?this.discriminator.decode(t,e):t,this.registry[r]}}be.Union=Ve;class Ge extends _e{constructor(t,e,r,n){if(!(t instanceof Ve))throw new TypeError("union must be a Union");if(!Number.isInteger(e)||0>e)throw new TypeError("variant must be a (non-negative) integer");if("string"==typeof r&&void 0===n&&(n=r,r=null),r){if(!(r instanceof _e))throw new TypeError("layout must be a Layout");if(null!==t.defaultLayout&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if("string"!=typeof n)throw new TypeError("variant must have a String property")}let i=t.span;0>t.span&&(i=r?r.span:0,0<=i&&t.usesPrefixDiscriminator&&(i+=t.discriminator.layout.span)),super(i,n),this.union=t,this.variant=e,this.layout=r||null}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span);let n=0;return this.layout&&(n=this.layout.getSpan(t,e+r)),r+n}decode(t,e=0){const r=this.makeDestinationObject();if(this!==this.union.getVariant(t,e))throw new Error("variant mismatch");let n=0;return this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,e+n):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,e,r=0){let n=0;if(this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(t,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,e,r);let i=n;if(this.layout&&(this.layout.encode(t[this.property],e,r+n),i+=this.layout.getSpan(e,r+n),0<=this.union.span&&i>this.union.span))throw new Error("encoded variant overruns containing union");return i}fromArray(t){if(this.layout)return this.layout.fromArray(t)}}function Ze(t){return 0>t&&(t+=4294967296),t}be.VariantLayout=Ge;class Ye extends _e{constructor(t,e,r){if(!(t instanceof xe||t instanceof Be))throw new TypeError("word must be a UInt or UIntBE layout");if("string"==typeof e&&void 0===r&&(r=e,e=!1),4<t.span)throw new RangeError("word cannot exceed 32 bits");super(t.span,r),this.word=t,this.msb=!!e,this.fields=[];let n=0;this._packedSetValue=function(t){return n=Ze(t),this},this._packedGetValue=function(){return n}}decode(t,e=0){const r=this.makeDestinationObject(),n=this.word.decode(t,e);this._packedSetValue(n);for(const e of this.fields)void 0!==e.property&&(r[e.property]=e.decode(t));return r}encode(t,e,r=0){const n=this.word.decode(e,r);this._packedSetValue(n);for(const e of this.fields)if(void 0!==e.property){const r=t[e.property];void 0!==r&&e.encode(r)}return this.word.encode(this._packedGetValue(),e,r)}addField(t,e){const r=new Je(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new Xe(this,t);return this.fields.push(e),e}fieldFor(t){if("string"!=typeof t)throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}}be.BitStructure=Ye;class Je{constructor(t,e,r){if(!(t instanceof Ye))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(e)||0>=e)throw new TypeError("bits must be positive integer");const n=8*t.span,i=t.fields.reduce(((t,e)=>t+e.bits),0);if(e+i>n)throw new Error("bits too long for span remainder ("+(n-i)+" of "+n+" remain)");this.container=t,this.bits=e,this.valueMask=(1<<e)-1,32===e&&(this.valueMask=4294967295),this.start=i,this.container.msb&&(this.start=n-i-e),this.wordMask=Ze(this.valueMask<<this.start),this.property=r}decode(t,e){return Ze(this.container._packedGetValue()&this.wordMask)>>>this.start}encode(t){if("number"!=typeof t||!Number.isInteger(t)||t!==Ze(t&this.valueMask))throw new TypeError(Ae("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=Ze(t<<this.start);this.container._packedSetValue(Ze(e&~this.wordMask)|r)}}be.BitField=Je;class Xe extends Je{constructor(t,e){super(t,1,e)}decode(t,e){return!!super.decode(t,e)}encode(t){"boolean"==typeof t&&(t=+t),super.encode(t)}}be.Boolean=Xe;class Qe extends _e{constructor(t,e){if(!(t instanceof Me&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof Me||(r=t),super(r,e),this.length=t}getSpan(t,e){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),r}decode(t,e=0){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),Se(t).slice(e,e+r)}encode(t,e,r){let n=this.length;if(this.length instanceof Me&&(n=t.length),!(t instanceof Uint8Array&&n===t.length))throw new TypeError(Ae("Blob.encode",this)+" requires (length "+n+") Uint8Array as src");if(r+n>e.length)throw new RangeError("encoding overruns Uint8Array");const i=Se(t);return Se(e).write(i.toString("hex"),r,n,"hex"),this.length instanceof Me&&this.length.encode(n,e,r),n}}be.Blob=Qe;class tr extends _e{constructor(t){super(-1,t)}getSpan(t,e=0){ke(t);let r=e;for(;r<t.length&&0!==t[r];)r+=1;return 1+r-e}decode(t,e=0){const r=this.getSpan(t,e);return Se(t).slice(e,e+r-1).toString("utf-8")}encode(t,e,r=0){"string"!=typeof t&&(t=String(t));const n=ve.Buffer.from(t,"utf8"),i=n.length;if(r+i>e.length)throw new RangeError("encoding overruns Buffer");const o=Se(e);return n.copy(o,r),o[r+i]=0,i+1}}be.CString=tr;class er extends _e{constructor(t,e){if("string"==typeof t&&void 0===e&&(e=t,t=void 0),void 0===t)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,e),this.maxSpan=t}getSpan(t,e=0){return ke(t),t.length-e}decode(t,e=0){const r=this.getSpan(t,e);if(0<=this.maxSpan&&this.maxSpan<r)throw new RangeError("text length exceeds maxSpan");return Se(t).slice(e,e+r).toString("utf-8")}encode(t,e,r=0){"string"!=typeof t&&(t=String(t));const n=ve.Buffer.from(t,"utf8"),i=n.length;if(0<=this.maxSpan&&this.maxSpan<i)throw new RangeError("text length exceeds maxSpan");if(r+i>e.length)throw new RangeError("encoding overruns Buffer");return n.copy(Se(e),r),i}}be.UTF8=er;class rr extends _e{constructor(t,e){super(0,e),this.value=t}decode(t,e){return this.value}encode(t,e,r){return 0}}be.Constant=rr,be.greedy=(t,e)=>new Ie(t,e);var nr=be.offset=(t,e,r)=>new Ee(t,e,r),ir=be.u8=t=>new xe(1,t),or=be.u16=t=>new xe(2,t);be.u24=t=>new xe(3,t);var sr=be.u32=t=>new xe(4,t);be.u40=t=>new xe(5,t),be.u48=t=>new xe(6,t);var ar=be.nu64=t=>new Ce(t);be.u16be=t=>new Be(2,t),be.u24be=t=>new Be(3,t),be.u32be=t=>new Be(4,t),be.u40be=t=>new Be(5,t),be.u48be=t=>new Be(6,t),be.nu64be=t=>new Ue(t),be.s8=t=>new Pe(1,t),be.s16=t=>new Pe(2,t),be.s24=t=>new Pe(3,t),be.s32=t=>new Pe(4,t),be.s40=t=>new Pe(5,t),be.s48=t=>new Pe(6,t);var ur=be.ns64=t=>new Ne(t);be.s16be=t=>new Te(2,t),be.s24be=t=>new Te(3,t),be.s32be=t=>new Te(4,t),be.s40be=t=>new Te(5,t),be.s48be=t=>new Te(6,t),be.ns64be=t=>new ze(t),be.f32=t=>new Ke(t),be.f32be=t=>new We(t),be.f64=t=>new qe(t),be.f64be=t=>new De(t);var cr=be.struct=(t,e,r)=>new He(t,e,r);be.bits=(t,e,r)=>new Ye(t,e,r);var hr=be.seq=(t,e,r)=>new je(t,e,r);be.union=(t,e,r)=>new Ve(t,e,r),be.unionLayoutDiscriminator=(t,e)=>new $e(t,e);var lr=be.blob=(t,e)=>new Qe(t,e);be.cstr=t=>new tr(t),be.utf8=(t,e)=>new er(t,e),be.constant=(t,e)=>new rr(t,e);var dr={};Object.defineProperty(dr,"__esModule",{value:!0});var fr=dr.toBigIntLE=function(t){{const e=Buffer.from(t);e.reverse();const r=e.toString("hex");return 0===r.length?BigInt(0):BigInt(`0x${r}`)}};dr.toBigIntBE=function(t){{const e=t.toString("hex");return 0===e.length?BigInt(0):BigInt(`0x${e}`)}};var pr,mr,gr=dr.toBufferLE=function(t,e){{const r=t.toString(16),n=Buffer.from(r.padStart(2*e,"0").slice(0,2*e),"hex");return n.reverse(),n}};dr.toBufferBE=function(t,e){{const r=t.toString(16);return Buffer.from(r.padStart(2*e,"0").slice(0,2*e),"hex")}};class yr extends TypeError{constructor(t,e){let r;const{message:n,...i}=t,{path:o}=t;super(0===o.length?n:"At path: "+o.join(".")+" -- "+n),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>{var n;return null!=(n=r)?n:r=[t,...e()]}}}function wr(t){return"object"==typeof t&&null!=t}function br(t){return"string"==typeof t?JSON.stringify(t):""+t}function vr(t,e,r,n){if(!0===t)return;!1===t?t={}:"string"==typeof t&&(t={message:t});const{path:i,branch:o}=e,{type:s}=r,{refinement:a,message:u="Expected a value of type `"+s+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+br(n)+"`"}=t;return{value:n,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...t,message:u}}function*kr(t,e,r,n){var i;wr(i=t)&&"function"==typeof i[Symbol.iterator]||(t=[t]);for(const i of t){const t=vr(i,e,r,n);t&&(yield t)}}function*Sr(t,e,r={}){const{path:n=[],branch:i=[t],coerce:o=!1,mask:s=!1}=r,a={path:n,branch:i};if(o&&(t=e.coercer(t,a),s&&"type"!==e.type&&wr(e.schema)&&wr(t)&&!Array.isArray(t)))for(const r in t)void 0===e.schema[r]&&delete t[r];let u=!0;for(const r of e.validator(t,a))u=!1,yield[r,void 0];for(let[r,c,h]of e.entries(t,a)){const e=Sr(c,h,{path:void 0===r?n:[...n,r],branch:void 0===r?i:[...i,c],coerce:o,mask:s});for(const n of e)n[0]?(u=!1,yield[n[0],void 0]):o&&(c=n[1],void 0===r?t=c:t instanceof Map?t.set(r,c):t instanceof Set?t.add(c):wr(t)&&(t[r]=c))}if(u)for(const r of e.refiner(t,a))u=!1,yield[r,void 0];u&&(yield[void 0,t])}class _r{constructor(t){const{type:e,schema:r,validator:n,refiner:i,coercer:o=(t=>t),entries:s=function*(){}}=t;this.type=e,this.schema=r,this.entries=s,this.coercer=o,this.validator=n?(t,e)=>kr(n(t,e),e,this,t):()=>[],this.refiner=i?(t,e)=>kr(i(t,e),e,this,t):()=>[]}assert(t){return Ar(t,this)}create(t){return Mr(t,this)}is(t){return Ir(t,this)}mask(t){return function(t,e){const r=Er(t,e,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(t,this)}validate(t,e={}){return Er(t,this,e)}}function Ar(t,e){const r=Er(t,e);if(r[0])throw r[0]}function Mr(t,e){const r=Er(t,e,{coerce:!0});if(r[0])throw r[0];return r[1]}function Ir(t,e){return!Er(t,e)[0]}function Er(t,e,r={}){const n=Sr(t,e,r),i=function(t){const{done:e,value:r}=t.next();return e?void 0:r}(n);if(i[0]){return[new yr(i[0],(function*(){for(const t of n)t[0]&&(yield t[0])})),void 0]}return[void 0,i[1]]}function xr(t,e){return new _r({type:t,schema:null,validator:e})}function Br(t){return new _r({type:"array",schema:t,*entries(e){if(t&&Array.isArray(e))for(const[r,n]of e.entries())yield[r,n,t]},coercer:t=>Array.isArray(t)?t.slice():t,validator:t=>Array.isArray(t)||"Expected an array value, but received: "+br(t)})}function Pr(){return xr("boolean",(t=>"boolean"==typeof t))}function Tr(t){return xr("instance",(e=>e instanceof t||"Expected a `"+t.name+"` instance, but received: "+br(e)))}function Rr(t){const e=br(t),r=typeof t;return new _r({type:"literal",schema:"string"===r||"number"===r||"boolean"===r?t:null,validator:r=>r===t||"Expected the literal `"+e+"`, but received: "+br(r)})}function Lr(t){return new _r({...t,validator:(e,r)=>null===e||t.validator(e,r),refiner:(e,r)=>null===e||t.refiner(e,r)})}function Or(){return xr("number",(t=>"number"==typeof t&&!isNaN(t)||"Expected a number, but received: "+br(t)))}function Cr(t){return new _r({...t,validator:(e,r)=>void 0===e||t.validator(e,r),refiner:(e,r)=>void 0===e||t.refiner(e,r)})}function Ur(t,e){return new _r({type:"record",schema:null,*entries(r){if(wr(r))for(const n in r){const i=r[n];yield[n,n,t],yield[n,i,e]}},validator:t=>wr(t)||"Expected an object, but received: "+br(t)})}function Nr(){return xr("string",(t=>"string"==typeof t||"Expected a string, but received: "+br(t)))}function zr(t){const e=xr("never",(()=>!1));return new _r({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){const n=Math.max(t.length,r.length);for(let i=0;i<n;i++)yield[i,r[i],t[i]||e]}},validator:t=>Array.isArray(t)||"Expected an array, but received: "+br(t)})}function Kr(t){const e=Object.keys(t);return new _r({type:"type",schema:t,*entries(r){if(wr(r))for(const n of e)yield[n,r[n],t[n]]},validator:t=>wr(t)||"Expected an object, but received: "+br(t)})}function Wr(t){const e=t.map((t=>t.type)).join(" | ");return new _r({type:"union",schema:null,validator(r,n){const i=[];for(const e of t){const[...t]=Sr(r,e,n),[o]=t;if(!o[0])return[];for(const[e]of t)e&&i.push(e)}return["Expected the value to satisfy a union of `"+e+"`, but received: "+br(r),...i]}})}function qr(){return xr("unknown",(()=>!0))}function Dr(t,e,r){return new _r({...t,coercer:(n,i)=>Ir(n,e)?t.coercer(r(n,i),i):t.coercer(n,i)})}var jr=0,Hr=0;function Fr(t){if(!i.validate(t))throw TypeError("Invalid UUID");var e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r}function $r(t,e,r){function n(t,n,o,s){if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}(t)),"string"==typeof n&&(n=Fr(n)),16!==n.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var a=new Uint8Array(16+t.length);if(a.set(n),a.set(t,n.length),(a=r(a))[6]=15&a[6]|e,a[8]=63&a[8]|128,o){s=s||0;for(var u=0;u<16;++u)o[s+u]=a[u];return o}return i.stringify(a)}try{n.name=t}catch(t){}return n.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",n.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",n}function Vr(t){return 14+(t+64>>>9<<4)+1}function Gr(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function Zr(t,e,r,n,i,o){return Gr((s=Gr(Gr(e,t),Gr(n,o)))<<(a=i)|s>>>32-a,r);var s,a}function Yr(t,e,r,n,i,o,s){return Zr(e&r|~e&n,t,e,i,o,s)}function Jr(t,e,r,n,i,o,s){return Zr(e&n|r&~n,t,e,i,o,s)}function Xr(t,e,r,n,i,o,s){return Zr(e^r^n,t,e,i,o,s)}function Qr(t,e,r,n,i,o,s){return Zr(r^(e|~n),t,e,i,o,s)}var tn=$r("v3",48,(function(t){if("string"==typeof t){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var r=0;r<e.length;++r)t[r]=e.charCodeAt(r)}return function(t){for(var e=[],r=32*t.length,n="0123456789abcdef",i=0;i<r;i+=8){var o=t[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);e.push(s)}return e}(function(t,e){t[e>>5]|=128<<e%32,t[Vr(e)-1]=e;for(var r=1732584193,n=-271733879,i=-1732584194,o=271733878,s=0;s<t.length;s+=16){var a=r,u=n,c=i,h=o;r=Yr(r,n,i,o,t[s],7,-680876936),o=Yr(o,r,n,i,t[s+1],12,-389564586),i=Yr(i,o,r,n,t[s+2],17,606105819),n=Yr(n,i,o,r,t[s+3],22,-1044525330),r=Yr(r,n,i,o,t[s+4],7,-176418897),o=Yr(o,r,n,i,t[s+5],12,1200080426),i=Yr(i,o,r,n,t[s+6],17,-1473231341),n=Yr(n,i,o,r,t[s+7],22,-45705983),r=Yr(r,n,i,o,t[s+8],7,1770035416),o=Yr(o,r,n,i,t[s+9],12,-1958414417),i=Yr(i,o,r,n,t[s+10],17,-42063),n=Yr(n,i,o,r,t[s+11],22,-1990404162),r=Yr(r,n,i,o,t[s+12],7,1804603682),o=Yr(o,r,n,i,t[s+13],12,-40341101),i=Yr(i,o,r,n,t[s+14],17,-1502002290),r=Jr(r,n=Yr(n,i,o,r,t[s+15],22,1236535329),i,o,t[s+1],5,-165796510),o=Jr(o,r,n,i,t[s+6],9,-1069501632),i=Jr(i,o,r,n,t[s+11],14,643717713),n=Jr(n,i,o,r,t[s],20,-373897302),r=Jr(r,n,i,o,t[s+5],5,-701558691),o=Jr(o,r,n,i,t[s+10],9,38016083),i=Jr(i,o,r,n,t[s+15],14,-660478335),n=Jr(n,i,o,r,t[s+4],20,-405537848),r=Jr(r,n,i,o,t[s+9],5,568446438),o=Jr(o,r,n,i,t[s+14],9,-1019803690),i=Jr(i,o,r,n,t[s+3],14,-187363961),n=Jr(n,i,o,r,t[s+8],20,1163531501),r=Jr(r,n,i,o,t[s+13],5,-1444681467),o=Jr(o,r,n,i,t[s+2],9,-51403784),i=Jr(i,o,r,n,t[s+7],14,1735328473),r=Xr(r,n=Jr(n,i,o,r,t[s+12],20,-1926607734),i,o,t[s+5],4,-378558),o=Xr(o,r,n,i,t[s+8],11,-2022574463),i=Xr(i,o,r,n,t[s+11],16,1839030562),n=Xr(n,i,o,r,t[s+14],23,-35309556),r=Xr(r,n,i,o,t[s+1],4,-1530992060),o=Xr(o,r,n,i,t[s+4],11,1272893353),i=Xr(i,o,r,n,t[s+7],16,-155497632),n=Xr(n,i,o,r,t[s+10],23,-1094730640),r=Xr(r,n,i,o,t[s+13],4,681279174),o=Xr(o,r,n,i,t[s],11,-358537222),i=Xr(i,o,r,n,t[s+3],16,-722521979),n=Xr(n,i,o,r,t[s+6],23,76029189),r=Xr(r,n,i,o,t[s+9],4,-640364487),o=Xr(o,r,n,i,t[s+12],11,-421815835),i=Xr(i,o,r,n,t[s+15],16,530742520),r=Qr(r,n=Xr(n,i,o,r,t[s+2],23,-995338651),i,o,t[s],6,-198630844),o=Qr(o,r,n,i,t[s+7],10,1126891415),i=Qr(i,o,r,n,t[s+14],15,-1416354905),n=Qr(n,i,o,r,t[s+5],21,-57434055),r=Qr(r,n,i,o,t[s+12],6,1700485571),o=Qr(o,r,n,i,t[s+3],10,-1894986606),i=Qr(i,o,r,n,t[s+10],15,-1051523),n=Qr(n,i,o,r,t[s+1],21,-2054922799),r=Qr(r,n,i,o,t[s+8],6,1873313359),o=Qr(o,r,n,i,t[s+15],10,-30611744),i=Qr(i,o,r,n,t[s+6],15,-1560198380),n=Qr(n,i,o,r,t[s+13],21,1309151649),r=Qr(r,n,i,o,t[s+4],6,-145523070),o=Qr(o,r,n,i,t[s+11],10,-1120210379),i=Qr(i,o,r,n,t[s+2],15,718787259),n=Qr(n,i,o,r,t[s+9],21,-343485551),r=Gr(r,a),n=Gr(n,u),i=Gr(i,c),o=Gr(o,h)}return[r,n,i,o]}(function(t){if(0===t.length)return[];for(var e=8*t.length,r=new Uint32Array(Vr(e)),n=0;n<e;n+=8)r[n>>5]|=(255&t[n/8])<<n%32;return r}(t),8*t.length))})),en=tn;function rn(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:case 3:return e^r^n;case 2:return e&r^e&n^r&n}}function nn(t,e){return t<<e|t>>>32-e}var on=$r("v5",80,(function(t){var e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){var n=unescape(encodeURIComponent(t));t=[];for(var i=0;i<n.length;++i)t.push(n.charCodeAt(i))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);for(var o=t.length/4+2,s=Math.ceil(o/16),a=new Array(s),u=0;u<s;++u){for(var c=new Uint32Array(16),h=0;h<16;++h)c[h]=t[64*u+4*h]<<24|t[64*u+4*h+1]<<16|t[64*u+4*h+2]<<8|t[64*u+4*h+3];a[u]=c}a[s-1][14]=8*(t.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(t.length-1)&4294967295;for(var l=0;l<s;++l){for(var d=new Uint32Array(80),f=0;f<16;++f)d[f]=a[l][f];for(var p=16;p<80;++p)d[p]=nn(d[p-3]^d[p-8]^d[p-14]^d[p-16],1);for(var m=r[0],g=r[1],y=r[2],w=r[3],b=r[4],v=0;v<80;++v){var k=Math.floor(v/20),S=nn(m,5)+rn(k,g,y,w)+b+e[k]+d[v]>>>0;b=w,w=y,y=nn(g,30)>>>0,g=m,m=S}r[0]=r[0]+m>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+y>>>0,r[3]=r[3]+w>>>0,r[4]=r[4]+b>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),sn=on;var an=Object.freeze({__proto__:null,v1:function(t,e,r){var n=e&&r||0,o=e||new Array(16),s=(t=t||{}).node||pr,a=void 0!==t.clockseq?t.clockseq:mr;if(null==s||null==a){var u=t.random||(t.rng||i.rng)();null==s&&(s=pr=[1|u[0],u[1],u[2],u[3],u[4],u[5]]),null==a&&(a=mr=16383&(u[6]<<8|u[7]))}var c=void 0!==t.msecs?t.msecs:Date.now(),h=void 0!==t.nsecs?t.nsecs:Hr+1,l=c-jr+(h-Hr)/1e4;if(l<0&&void 0===t.clockseq&&(a=a+1&16383),(l<0||c>jr)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");jr=c,Hr=h,mr=a;var d=(1e4*(268435455&(c+=122192928e5))+h)%4294967296;o[n++]=d>>>24&255,o[n++]=d>>>16&255,o[n++]=d>>>8&255,o[n++]=255&d;var f=c/4294967296*1e4&268435455;o[n++]=f>>>8&255,o[n++]=255&f,o[n++]=f>>>24&15|16,o[n++]=f>>>16&255,o[n++]=a>>>8|128,o[n++]=255&a;for(var p=0;p<6;++p)o[n+p]=s[p];return e||i.stringify(o)},v3:en,v4:i.v4,v5:sn,NIL:"00000000-0000-0000-0000-000000000000",version:function(t){if(!i.validate(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)},validate:i.validate,stringify:i.stringify,parse:Fr}),un=t.getAugmentedNamespace(an);const cn=un.v4;var hn=function(t,e,r,n){if("string"!=typeof t)throw new TypeError(t+" must be a string");const i="number"==typeof(n=n||{}).version?n.version:2;if(1!==i&&2!==i)throw new TypeError(i+" must be 1 or 2");const o={method:t};if(2===i&&(o.jsonrpc="2.0"),e){if("object"!=typeof e&&!Array.isArray(e))throw new TypeError(e+" must be an object, array or omitted");o.params=e}if(void 0===r){const t="function"==typeof n.generator?n.generator:function(){return cn()};o.id=t(o,n)}else 2===i&&null===r?n.notificationIdNull&&(o.id=null):o.id=r;return o};const ln=un.v4,dn=hn,fn=function(t,e){if(!(this instanceof fn))return new fn(t,e);e||(e={}),this.options={reviver:void 0!==e.reviver?e.reviver:null,replacer:void 0!==e.replacer?e.replacer:null,generator:void 0!==e.generator?e.generator:function(){return ln()},version:void 0!==e.version?e.version:2,notificationIdNull:"boolean"==typeof e.notificationIdNull&&e.notificationIdNull},this.callServer=t};var pn=fn;fn.prototype.request=function(t,e,r,n){const i=this;let o=null;const s=Array.isArray(t)&&"function"==typeof e;if(1===this.options.version&&s)throw new TypeError("JSON-RPC 1.0 does not support batching");if(s||!s&&t&&"object"==typeof t&&"function"==typeof e)n=e,o=t;else{"function"==typeof r&&(n=r,r=void 0);const i="function"==typeof n;try{o=dn(t,e,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(t){if(i)return n(t);throw t}if(!i)return o}let a;try{a=JSON.stringify(o,this.options.replacer)}catch(t){return n(t)}return this.callServer(a,(function(t,e){i._parseResponse(t,e,n)})),o},fn.prototype._parseResponse=function(t,e,r){if(t)return void r(t);if(!e)return r();let n;try{n=JSON.parse(e,this.options.reviver)}catch(t){return r(t)}if(3===r.length){if(Array.isArray(n)){const t=function(t){return void 0!==t.error},e=function(e){return!t(e)};return r(null,n.filter(t),n.filter(e))}return r(null,n.error,n.result)}r(null,n)};var mn,gn={},yn={exports:{}};(mn=yn).exports=function(t){return t&&t.__esModule?t:{default:t}},mn.exports.__esModule=!0,mn.exports.default=mn.exports;var wn,bn,vn,kn,Sn={exports:{}},_n={exports:{}};function An(){return wn||(wn=1,function(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(_n)),_n.exports}function Mn(){return bn||(bn=1,function(t){var e=An().default;function r(){
5
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
6
- t.exports=r=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var n={},i=Object.prototype,o=i.hasOwnProperty,s=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function d(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),a=new x(n||[]);return s(o,"_invoke",{value:A(t,r,a)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}n.wrap=d;var p={};function m(){}function g(){}function y(){}var w={};l(w,u,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(B([])));v&&v!==i&&o.call(v,u)&&(w=v);var k=y.prototype=m.prototype=Object.create(w);function S(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,r){function n(i,s,a,u){var c=f(t[i],t,s);if("throw"!==c.type){var h=c.arg,l=h.value;return l&&"object"==e(l)&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):r.resolve(l).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(c.arg)}var i;s(this,"_invoke",{value:function(t,e){function o(){return new r((function(r,i){n(t,e,r,i)}))}return i=i?i.then(o,o):o()}})}function A(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var s=r.delegate;if(s){var a=M(s,r);if(a){if(a===p)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function M(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,M(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function B(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(o.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:P}}function P(){return{value:void 0,done:!0}}return g.prototype=y,s(k,"constructor",{value:y,configurable:!0}),s(y,"constructor",{value:g,configurable:!0}),g.displayName=l(y,h,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,l(t,h,"GeneratorFunction")),t.prototype=Object.create(k),t},n.awrap=function(t){return{__await:t}},S(_.prototype),l(_.prototype,c,(function(){return this})),n.AsyncIterator=_,n.async=function(t,e,r,i,o){void 0===o&&(o=Promise);var s=new _(d(t,e,r,i),o);return n.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},S(k),l(k,h,"Generator"),l(k,u,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},n.values=B,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return s.type="throw",s.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var a=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=t,s.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:B(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},n}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}(Sn)),Sn.exports}var In,En={exports:{}};var xn,Bn={exports:{}};function Pn(){return xn||(xn=1,function(t){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports}(Bn)),Bn.exports}var Tn,Rn,Ln,On={exports:{}},Cn={exports:{}},Un={exports:{}};function Nn(){return Tn||(Tn=1,function(t){var e=An().default;t.exports=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!==e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(Un)),Un.exports}function zn(){return Rn||(Rn=1,function(t){var e=An().default,r=Nn();t.exports=function(t){var n=r(t,"string");return"symbol"===e(n)?n:String(n)},t.exports.__esModule=!0,t.exports.default=t.exports}(Cn)),Cn.exports}function Kn(){return Ln||(Ln=1,function(t){var e=zn();function r(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,e(i.key),i)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t},t.exports.__esModule=!0,t.exports.default=t.exports}(On)),On.exports}var Wn,qn,Dn={exports:{}},jn={exports:{}};function Hn(){return Wn||(Wn=1,function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r,n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(jn)),jn.exports}function Fn(){return qn||(qn=1,function(t){var e=Hn();t.exports=function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&e(t,r)},t.exports.__esModule=!0,t.exports.default=t.exports}(Dn)),Dn.exports}var $n,Vn,Gn={exports:{}},Zn={exports:{}};function Yn(){return $n||($n=1,function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.__esModule=!0,t.exports.default=t.exports}(Zn)),Zn.exports}function Jn(){return Vn||(Vn=1,function(t){var e=An().default,r=Yn();t.exports=function(t,n){if(n&&("object"===e(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return r(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(Gn)),Gn.exports}var Xn,Qn={exports:{}};function ti(){return Xn||(Xn=1,function(t){function e(r){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(Qn)),Qn.exports}var ei,ri={exports:{}};function ni(){return ei||(ei=1,function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function i(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function o(t,e,n,o,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new i(n,o||t,s),u=r?r+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],a]:t._events[u].push(a):(t._events[u]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new n:delete t._events[e]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,n,i=[];if(0===this._eventsCount)return i;for(n in t=this._events)e.call(t,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s},a.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},a.prototype.emit=function(t,e,n,i,o,s){var a=r?r+t:t;if(!this._events[a])return!1;var u,c,h=this._events[a],l=arguments.length;if(h.fn){switch(h.once&&this.removeListener(t,h.fn,void 0,!0),l){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,e),!0;case 3:return h.fn.call(h.context,e,n),!0;case 4:return h.fn.call(h.context,e,n,i),!0;case 5:return h.fn.call(h.context,e,n,i,o),!0;case 6:return h.fn.call(h.context,e,n,i,o,s),!0}for(c=1,u=new Array(l-1);c<l;c++)u[c-1]=arguments[c];h.fn.apply(h.context,u)}else{var d,f=h.length;for(c=0;c<f;c++)switch(h[c].once&&this.removeListener(t,h[c].fn,void 0,!0),l){case 1:h[c].fn.call(h[c].context);break;case 2:h[c].fn.call(h[c].context,e);break;case 3:h[c].fn.call(h[c].context,e,n);break;case 4:h[c].fn.call(h[c].context,e,n,i);break;default:if(!u)for(d=1,u=new Array(l-1);d<l;d++)u[d-1]=arguments[d];h[c].fn.apply(h[c].context,u)}}return!0},a.prototype.on=function(t,e,r){return o(this,t,e,r,!1)},a.prototype.once=function(t,e,r){return o(this,t,e,r,!0)},a.prototype.removeListener=function(t,e,n,i){var o=r?r+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||i&&!a.once||n&&a.context!==n||s(this,o);else{for(var u=0,c=[],h=a.length;u<h;u++)(a[u].fn!==e||i&&!a[u].once||n&&a[u].context!==n)&&c.push(a[u]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=r?r+t:t,this._events[e]&&s(this,e)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,t.exports=a}(ri)),ri.exports}!function(t){var e=yn.exports;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=e(function(){if(kn)return vn;kn=1;var t=Mn()();vn=t;try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}return vn}()),n=e((In||(In=1,function(t){function e(t,e,r,n,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void r(t)}a.done?e(u):Promise.resolve(u).then(n,i)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(i,o){var s=t.apply(r,n);function a(t){e(s,i,o,a,u,"next",t)}function u(t){e(s,i,o,a,u,"throw",t)}a(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports}(En)),En.exports)),i=e(An()),o=e(Pn()),s=e(Kn()),a=e(Fn()),u=e(Jn()),c=e(ti()),h=ni();function l(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,c.default)(t);if(e){var i=(0,c.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var d=function(t){(0,a.default)(f,t);var e,u,c,h,d=l(f);function f(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ws://localhost:8080",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;(0,o.default)(this,f);var s=n.autoconnect,a=void 0===s||s,u=n.reconnect,c=void 0===u||u,h=n.reconnect_interval,l=void 0===h?1e3:h,p=n.max_reconnects,m=void 0===p?5:p,g=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]])}return r}(n,["autoconnect","reconnect","reconnect_interval","max_reconnects"]);return(e=d.call(this)).webSocketFactory=t,e.queue={},e.rpc_id=0,e.address=r,e.autoconnect=a,e.ready=!1,e.reconnect=c,e.reconnect_timer_id=void 0,e.reconnect_interval=l,e.max_reconnects=m,e.rest_options=g,e.current_reconnects=0,e.generate_request_id=i||function(){return++e.rpc_id},e.autoconnect&&e._connect(e.address,Object.assign({autoconnect:e.autoconnect,reconnect:e.reconnect,reconnect_interval:e.reconnect_interval,max_reconnects:e.max_reconnects},e.rest_options)),e}return(0,s.default)(f,[{key:"connect",value:function(){this.socket||this._connect(this.address,Object.assign({autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects},this.rest_options))}},{key:"call",value:function(t,e,r,n){var o=this;return n||"object"!==(0,i.default)(r)||(n=r,r=null),new Promise((function(i,s){if(!o.ready)return s(new Error("socket not ready"));var a=o.generate_request_id(t,e),u={jsonrpc:"2.0",method:t,params:e||null,id:a};o.socket.send(JSON.stringify(u),n,(function(t){if(t)return s(t);o.queue[a]={promise:[i,s]},r&&(o.queue[a].timeout=setTimeout((function(){delete o.queue[a],s(new Error("reply timeout"))}),r))}))}))}},{key:"login",value:(h=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.call("rpc.login",e);case 2:if(n=t.sent){t.next=5;break}throw new Error("authentication failed");case 5:return t.abrupt("return",n);case 6:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"listMethods",value:(c=(0,n.default)(r.default.mark((function t(){return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.call("__listMethods");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t,this)}))),function(){return c.apply(this,arguments)})},{key:"notify",value:function(t,e){var r=this;return new Promise((function(n,i){if(!r.ready)return i(new Error("socket not ready"));var o={jsonrpc:"2.0",method:t,params:e||null};r.socket.send(JSON.stringify(o),(function(t){if(t)return i(t);n()}))}))}},{key:"subscribe",value:(u=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"string"==typeof e&&(e=[e]),t.next=3,this.call("rpc.on",e);case 3:if(n=t.sent,"string"!=typeof e||"ok"===n[e]){t.next=6;break}throw new Error("Failed subscribing to an event '"+e+"' with: "+n[e]);case 6:return t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"unsubscribe",value:(e=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"string"==typeof e&&(e=[e]),t.next=3,this.call("rpc.off",e);case 3:if(n=t.sent,"string"!=typeof e||"ok"===n[e]){t.next=6;break}throw new Error("Failed unsubscribing from an event with: "+n);case 6:return t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"close",value:function(t,e){this.socket.close(t||1e3,e)}},{key:"_connect",value:function(t,e){var r=this;clearTimeout(this.reconnect_timer_id),this.socket=this.webSocketFactory(t,e),this.socket.addEventListener("open",(function(){r.ready=!0,r.emit("open"),r.current_reconnects=0})),this.socket.addEventListener("message",(function(t){var e=t.data;e instanceof ArrayBuffer&&(e=Buffer.from(e).toString());try{e=JSON.parse(e)}catch(t){return}if(e.notification&&r.listeners(e.notification).length){if(!Object.keys(e.params).length)return r.emit(e.notification);var n=[e.notification];if(e.params.constructor===Object)n.push(e.params);else for(var i=0;i<e.params.length;i++)n.push(e.params[i]);return Promise.resolve().then((function(){r.emit.apply(r,n)}))}if(!r.queue[e.id])return e.method&&e.params?Promise.resolve().then((function(){r.emit(e.method,e.params)})):void 0;"error"in e=="result"in e&&r.queue[e.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),r.queue[e.id].timeout&&clearTimeout(r.queue[e.id].timeout),e.error?r.queue[e.id].promise[1](e.error):r.queue[e.id].promise[0](e.result),delete r.queue[e.id]})),this.socket.addEventListener("error",(function(t){return r.emit("error",t)})),this.socket.addEventListener("close",(function(n){var i=n.code,o=n.reason;r.ready&&setTimeout((function(){return r.emit("close",i,o)}),0),r.ready=!1,r.socket=void 0,1e3!==i&&(r.current_reconnects++,r.reconnect&&(r.max_reconnects>r.current_reconnects||0===r.max_reconnects)&&(r.reconnect_timer_id=setTimeout((function(){return r._connect(t,e)}),r.reconnect_interval)))}))}}]),f}(h.EventEmitter);t.default=d}(gn);var ii=t.getDefaultExportFromCjs(gn),oi={};!function(t){var e=yn.exports;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t,e){return new u(t,e)};var r=e(Pn()),n=e(Kn()),i=e(Fn()),o=e(Jn()),s=e(ti());function a(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,s.default)(t);if(e){var i=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,o.default)(this,r)}}var u=function(t){(0,i.default)(o,t);var e=a(o);function o(t,n,i){var s;return(0,r.default)(this,o),(s=e.call(this)).socket=new window.WebSocket(t,i),s.socket.onopen=function(){return s.emit("open")},s.socket.onmessage=function(t){return s.emit("message",t.data)},s.socket.onerror=function(t){return s.emit("error",t)},s.socket.onclose=function(t){s.emit("close",t.code,t.reason)},s}return(0,n.default)(o,[{key:"send",value:function(t,e,r){var n=r||e;try{this.socket.send(t),n()}catch(t){n(t)}}},{key:"close",value:function(t,e){this.socket.close(t,e)}},{key:"addEventListener",value:function(t,e,r){this.socket.addEventListener(t,e,r)}}]),o}(ni().EventEmitter)}(oi);var si=t.getDefaultExportFromCjs(oi);const[ai,ui,ci]=[[],[],[]],hi=BigInt(0),li=BigInt(1),di=BigInt(2),fi=BigInt(7),pi=BigInt(256),mi=BigInt(113);for(let t=0,e=li,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],ai.push(2*(5*n+r)),ui.push((t+1)*(t+2)/2%64);let i=hi;for(let t=0;t<7;t++)e=(e<<li^(e>>fi)*mi)%pi,e&di&&(i^=li<<(li<<BigInt(t))-li);ci.push(i)}const[gi,yi]=v.split(ci,!0),wi=(t,e,r)=>r>32?v.rotlBH(t,e,r):v.rotlSH(t,e,r),bi=(t,e,r)=>r>32?v.rotlBL(t,e,r):v.rotlSL(t,e,r);class vi extends p{constructor(t,e,r,n=!1,i=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,h.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");var o;this.state=new Uint8Array(200),this.state32=(o=this.state,new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4)))}keccak(){!function(t,e=24){const r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let e=0;e<10;e++)r[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){const n=(e+8)%10,i=(e+2)%10,o=r[i],s=r[i+1],a=wi(o,s,1)^r[n],u=bi(o,s,1)^r[n+1];for(let r=0;r<50;r+=10)t[e+r]^=a,t[e+r+1]^=u}let e=t[2],i=t[3];for(let r=0;r<24;r++){const n=ui[r],o=wi(e,i,n),s=bi(e,i,n),a=ai[r];e=t[a],i=t[a+1],t[a]=o,t[a+1]=s}for(let e=0;e<50;e+=10){for(let n=0;n<10;n++)r[n]=t[e+n];for(let n=0;n<10;n++)t[e+n]^=~r[(n+2)%10]&r[(n+4)%10]}t[0]^=gi[n],t[1]^=yi[n]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){h.exists(this);const{blockLen:e,state:r}=this,n=(t=f(t)).length;for(let i=0;i<n;){const o=Math.min(e-this.pos,n-i);for(let e=0;e<o;e++)r[this.pos++]^=t[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:e,pos:r,blockLen:n}=this;t[r]^=e,0!=(128&e)&&r===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){h.exists(this,!1),h.bytes(t),this.finish();const e=this.state,{blockLen:r}=this;for(let n=0,i=t.length;n<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-n);t.set(e.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return h.number(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(h.output(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:e,suffix:r,outputLen:n,rounds:i,enableXOF:o}=this;return t||(t=new vi(e,r,n,o,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=n,t.enableXOF=o,t.destroyed=this.destroyed,t}}const ki=(t,e,r)=>m((()=>new vi(e,t,r)));ki(6,144,28),ki(6,136,32),ki(6,104,48),ki(6,72,64),ki(1,144,28);const Si=ki(1,136,32);ki(1,104,48),ki(1,72,64);const _i=(t,e,r)=>function(t){const e=(e,r)=>t(r).update(f(e)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=e=>t(e),e}(((n={})=>new vi(e,t,void 0===n.dkLen?r:n.dkLen,!0)));_i(31,168,16),_i(31,136,32);class Ai extends p{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,h.hash(t);const r=f(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return h.exists(this),this.iHash.update(t),this}digestInto(t){h.exists(this),h.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=n,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Mi=(t,e,r)=>new Ai(t,e).update(r).digest();Mi.create=(t,e)=>new Ai(t,e)
7
- /*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */;const Ii=BigInt(0),Ei=BigInt(1),xi=BigInt(2),Bi=BigInt(3),Pi=BigInt(8),Ti=Object.freeze({a:Ii,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Ei,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Ri=(t,e)=>(t+e/xi)/e,Li={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=Ti,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Ei*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Ri(o*t,e),u=Ri(-n*t,e);let c=ao(t-a*r-u*i,e),h=ao(-a*n-u*o,e);const l=c>s,d=h>s;if(l&&(c=e-c),d&&(h=e-h),c>s||h>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:l,k1:c,k2neg:d,k2:h}}},Oi=32,Ci=32,Ui=Oi+1,Ni=2*Oi+1;function zi(t){const{a:e,b:r}=Ti,n=ao(t*t),i=ao(n*t);return ao(i+e*t+r)}const Ki=Ti.a===Ii;class Wi extends Error{constructor(t){super(t)}}function qi(t){if(!(t instanceof Di))throw new TypeError("JacobianPoint expected")}class Di{constructor(t,e,r){this.x=t,this.y=e,this.z=r}static fromAffine(t){if(!(t instanceof Fi))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(Fi.ZERO)?Di.ZERO:new Di(t.x,t.y,Ei)}static toAffineBatch(t){const e=function(t,e=Ti.P){const r=new Array(t.length),n=co(t.reduce(((t,n,i)=>n===Ii?t:(r[i]=t,ao(t*n,e))),Ei),e);return t.reduceRight(((t,n,i)=>n===Ii?t:(r[i]=ao(t*r[i],e),ao(t*n,e))),n),r}(t.map((t=>t.z)));return t.map(((t,r)=>t.toAffine(e[r])))}static normalizeZ(t){return Di.toAffineBatch(t).map(Di.fromAffine)}equals(t){qi(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t,a=ao(n*n),u=ao(s*s),c=ao(e*u),h=ao(i*a),l=ao(ao(r*s)*u),d=ao(ao(o*n)*a);return c===h&&l===d}negate(){return new Di(this.x,ao(-this.y),this.z)}double(){const{x:t,y:e,z:r}=this,n=ao(t*t),i=ao(e*e),o=ao(i*i),s=t+i,a=ao(xi*(ao(s*s)-n-o)),u=ao(Bi*n),c=ao(u*u),h=ao(c-xi*a),l=ao(u*(a-h)-Pi*o),d=ao(xi*e*r);return new Di(h,l,d)}add(t){qi(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t;if(i===Ii||o===Ii)return this;if(e===Ii||r===Ii)return t;const a=ao(n*n),u=ao(s*s),c=ao(e*u),h=ao(i*a),l=ao(ao(r*s)*u),d=ao(ao(o*n)*a),f=ao(h-c),p=ao(d-l);if(f===Ii)return p===Ii?this.double():Di.ZERO;const m=ao(f*f),g=ao(f*m),y=ao(c*m),w=ao(p*p-g-xi*y),b=ao(p*(y-w)-l*g),v=ao(n*s*f);return new Di(w,b,v)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=Di.ZERO;if("bigint"==typeof t&&t===Ii)return e;let r=so(t);if(r===Ei)return this;if(!Ki){let t=e,n=this;for(;r>Ii;)r&Ei&&(t=t.add(n)),n=n.double(),r>>=Ei;return t}let{k1neg:n,k1:i,k2neg:o,k2:s}=Li.splitScalar(r),a=e,u=e,c=this;for(;i>Ii||s>Ii;)i&Ei&&(a=a.add(c)),s&Ei&&(u=u.add(c)),c=c.double(),i>>=Ei,s>>=Ei;return n&&(a=a.negate()),o&&(u=u.negate()),u=new Di(ao(u.x*Li.beta),u.y,u.z),a.add(u)}precomputeWindow(t){const e=Ki?128/t+1:256/t+1,r=[];let n=this,i=n;for(let o=0;o<e;o++){i=n,r.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(t,e){!e&&this.equals(Di.BASE)&&(e=Fi.BASE);const r=e&&e._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=e&&Hi.get(e);n||(n=this.precomputeWindow(r),e&&1!==r&&(n=Di.normalizeZ(n),Hi.set(e,n)));let i=Di.ZERO,o=Di.BASE;const s=1+(Ki?128/r:256/r),a=2**(r-1),u=BigInt(2**r-1),c=2**r,h=BigInt(r);for(let e=0;e<s;e++){const r=e*a;let s=Number(t&u);t>>=h,s>a&&(s-=c,t+=Ei);const l=r,d=r+Math.abs(s)-1,f=e%2!=0,p=s<0;0===s?o=o.add(ji(f,n[l])):i=i.add(ji(p,n[d]))}return{p:i,f:o}}multiply(t,e){let r,n,i=so(t);if(Ki){const{k1neg:t,k1:o,k2neg:s,k2:a}=Li.splitScalar(i);let{p:u,f:c}=this.wNAF(o,e),{p:h,f:l}=this.wNAF(a,e);u=ji(t,u),h=ji(s,h),h=new Di(ao(h.x*Li.beta),h.y,h.z),r=u.add(h),n=c.add(l)}else{const{p:t,f:o}=this.wNAF(i,e);r=t,n=o}return Di.normalizeZ([r,n])[0]}toAffine(t){const{x:e,y:r,z:n}=this,i=this.equals(Di.ZERO);null==t&&(t=i?Pi:co(n));const o=t,s=ao(o*o),a=ao(s*o),u=ao(e*s),c=ao(r*a),h=ao(n*o);if(i)return Fi.ZERO;if(h!==Ei)throw new Error("invZ was invalid");return new Fi(u,c)}}function ji(t,e){const r=e.negate();return t?r:e}Di.BASE=new Di(Ti.Gx,Ti.Gy,Ei),Di.ZERO=new Di(Ii,Ei,Ii);const Hi=new WeakMap;class Fi{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Hi.delete(this)}hasEvenY(){return this.y%xi===Ii}static fromCompressedHex(t){const e=32===t.length,r=io(e?t:t.subarray(1));if(!go(r))throw new Error("Point is not on curve");let n=function(t){const{P:e}=Ti,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),u=t*t*t%e,c=u*u*t%e,h=uo(c,Bi)*c%e,l=uo(h,Bi)*c%e,d=uo(l,xi)*u%e,f=uo(d,n)*d%e,p=uo(f,i)*f%e,m=uo(p,s)*p%e,g=uo(m,a)*m%e,y=uo(g,s)*p%e,w=uo(y,Bi)*c%e,b=uo(w,o)*f%e,v=uo(b,r)*u%e,k=uo(v,xi);if(k*k%e!==t)throw new Error("Cannot find square root");return k}(zi(r));const i=(n&Ei)===Ei;if(e)i&&(n=ao(-n));else{1==(1&t[0])!==i&&(n=ao(-n))}const o=new Fi(r,n);return o.assertValidity(),o}static fromUncompressedHex(t){const e=io(t.subarray(1,Oi+1)),r=io(t.subarray(Oi+1,2*Oi+1)),n=new Fi(e,r);return n.assertValidity(),n}static fromHex(t){const e=oo(t),r=e.length,n=e[0];if(r===Oi)return this.fromCompressedHex(e);if(r===Ui&&(2===n||3===n))return this.fromCompressedHex(e);if(r===Ni&&4===n)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Ui} compressed bytes or ${Ni} uncompressed bytes, not ${r}`)}static fromPrivateKey(t){return Fi.BASE.multiply(wo(t))}static fromSignature(t,e,r){const{r:n,s:i}=function(t){if(t instanceof Gi)return t.assertValidity(),t;try{return Gi.fromDER(t)}catch(e){return Gi.fromCompact(t)}}(e);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const o=ho(oo(t)),{n:s}=Ti,a=2===r||3===r?n+s:n,u=co(a,s),c=ao(-o*u,s),h=ao(i*u,s),l=1&r?"03":"02",d=Fi.fromHex(l+Qi(a)),f=Fi.BASE.multiplyAndAddUnsafe(d,c,h);if(!f)throw new Error("Cannot recover signature: point at infinify");return f.assertValidity(),f}toRawBytes(t=!1){return no(this.toHex(t))}toHex(t=!1){const e=Qi(this.x);if(t){return`${this.hasEvenY()?"02":"03"}${e}`}return`04${e}${Qi(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:r}=this;if(!go(e)||!go(r))throw new Error(t);const n=ao(r*r);if(ao(n-zi(e))!==Ii)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Fi(this.x,ao(-this.y))}double(){return Di.fromAffine(this).double().toAffine()}add(t){return Di.fromAffine(this).add(Di.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Di.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,r){const n=Di.fromAffine(this),i=e===Ii||e===Ei||this!==Fi.BASE?n.multiplyUnsafe(e):n.multiply(e),o=Di.fromAffine(t).multiplyUnsafe(r),s=i.add(o);return s.equals(Di.ZERO)?void 0:s.toAffine()}}function $i(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Vi(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${Ji(t)}`);const e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===r[0]&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:io(r),left:t.subarray(e+2)}}Fi.BASE=new Fi(Ti.Gx,Ti.Gy),Fi.ZERO=new Fi(Ii,Ii);class Gi{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${r}: Expected string or Uint8Array`);const n=e?Ji(t):t;if(128!==n.length)throw new Error(`${r}: Expected 64-byte hex`);return new Gi(ro(n.slice(0,64)),ro(n.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:r,s:n}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${Ji(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:r}=Vi(t.subarray(2)),{data:n,left:i}=Vi(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ji(i)}`);return{r:e,s:n}}(e?t:no(t));return new Gi(r,n)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!mo(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!mo(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=Ti.n>>Ei;return this.s>t}normalizeS(){return this.hasHighS()?new Gi(this.r,ao(-this.s,Ti.n)):this}toDERRawBytes(){return no(this.toDERHex())}toDERHex(){const t=$i(eo(this.s)),e=$i(eo(this.r)),r=t.length/2,n=e.length/2,i=eo(r),o=eo(n);return`30${eo(n+r+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return no(this.toCompactHex())}toCompactHex(){return Qi(this.r)+Qi(this.s)}}function Zi(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),r=new Uint8Array(e);for(let e=0,n=0;e<t.length;e++){const i=t[e];r.set(i,n),n+=i.length}return r}const Yi=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function Ji(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=Yi[t[r]];return e}const Xi=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Qi(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(Ii<=t&&t<Xi))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function to(t){const e=no(Qi(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function eo(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function ro(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function no(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){const n=2*r,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function io(t){return ro(Ji(t))}function oo(t){return t instanceof Uint8Array?Uint8Array.from(t):no(t)}function so(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&mo(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function ao(t,e=Ti.P){const r=t%e;return r>=Ii?r:e+r}function uo(t,e){const{P:r}=Ti;let n=t;for(;e-- >Ii;)n*=n,n%=r;return n}function co(t,e=Ti.P){if(t===Ii||e<=Ii)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ao(t,e),n=e,i=Ii,o=Ei;for(;r!==Ii;){const t=n%r,e=i-o*(n/r);n=r,r=t,i=o,o=e}if(n!==Ei)throw new Error("invert: does not exist");return ao(i,e)}function ho(t,e=!1){const r=function(t){const e=8*t.length-8*Ci,r=io(t);return e>0?r>>BigInt(e):r}(t);if(e)return r;const{n:n}=Ti;return r>=n?r-n:r}let lo,fo;class po{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Mo.hmacSha256(this.k,...t)}hmacSync(...t){return fo(this.k,...t)}checkSync(){if("function"!=typeof fo)throw new Wi("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const r=this.v.slice();e.push(r),t+=this.v.length}return Zi(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const r=this.v.slice();e.push(r),t+=this.v.length}return Zi(...e)}}function mo(t){return Ii<t&&t<Ti.n}function go(t){return Ii<t&&t<Ti.P}function yo(t,e,r,n=!0){const{n:i}=Ti,o=ho(t,!0);if(!mo(o))return;const s=co(o,i),a=Fi.BASE.multiply(o),u=ao(a.x,i);if(u===Ii)return;const c=ao(s*ao(e+r*u,i),i);if(c===Ii)return;let h=new Gi(u,c),l=(a.x===h.r?0:2)|Number(a.y&Ei);return n&&h.hasHighS()&&(h=h.normalizeS(),l^=1),{sig:h,recovery:l}}function wo(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*Ci)throw new Error("Expected 32 bytes of private key");e=ro(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==Ci)throw new Error("Expected 32 bytes of private key");e=io(t)}if(!mo(e))throw new Error("Expected private key: 0 < key < n");return e}function bo(t){return io(t.length>Oi?t.slice(0,Oi):t)}function vo(t){const e=bo(t),r=ao(e,Ti.n);return ko(r<Ii?e:r)}function ko(t){return to(t)}function So(t,e,r={}){const{seed:n,m:i,d:o}=function(t,e,r){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const n=oo(t),i=wo(e),o=[ko(i),vo(n)];if(null!=r){!0===r&&(r=Mo.randomBytes(Oi));const t=oo(r);if(t.length!==Oi)throw new Error(`sign: Expected ${Oi} bytes of extra data`);o.push(t)}return{seed:Zi(...o),m:bo(n),d:i}}(t,e,r.extraEntropy),s=new po(32,Ci);let a;for(s.reseedSync(n);!(a=yo(s.generateSync(),i,o,r.canonical));)s.reseedSync();return function(t,e){const{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}(a,r)}Fi.BASE._setWindowSize(8);const _o={node:r.nodeCrypto,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Ao={},Mo={bytesToHex:Ji,hexToBytes:no,concatBytes:Zi,mod:ao,invert:co,isValidPrivateKey(t){try{return wo(t),!0}catch(t){return!1}},_bigintTo32Bytes:to,_normalizePrivateKey:wo,hashToPrivateKey:t=>{t=oo(t);const e=Ci+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return to(ao(io(t),Ti.n-Ei)+Ei)},randomBytes:(t=32)=>{if(_o.web)return _o.web.getRandomValues(new Uint8Array(t));if(_o.node){const{randomBytes:e}=_o.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Mo.hashToPrivateKey(Mo.randomBytes(Ci+8)),precompute(t=8,e=Fi.BASE){const r=e===Fi.BASE?e:new Fi(e.x,e.y);return r._setWindowSize(t),r.multiply(Bi),r},sha256:async(...t)=>{if(_o.web){const e=await _o.web.subtle.digest("SHA-256",Zi(...t));return new Uint8Array(e)}if(_o.node){const{createHash:e}=_o.node,r=e("sha256");return t.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(_o.web){const r=await _o.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Zi(...e),i=await _o.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}if(_o.node){const{createHmac:r}=_o.node,n=r("sha256",t);return e.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=Ao[t];if(void 0===r){const e=await Mo.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=Zi(e,e),Ao[t]=r}return Mo.sha256(r,...e)},taggedHashSync:(t,...e)=>{if("function"!=typeof lo)throw new Wi("sha256Sync is undefined, you need to set it");let r=Ao[t];if(void 0===r){const e=lo(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=Zi(e,e),Ao[t]=r}return lo(r,...e)},_JacobianPoint:Di};Object.defineProperties(Mo,{sha256Sync:{configurable:!1,get:()=>lo,set(t){lo||(lo=t)}},hmacSha256Sync:{configurable:!1,get:()=>fo,set(t){fo||(fo=t)}}}),_t.sha512Sync=(...t)=>B(_t.concatBytes(...t));const Io=_t.randomPrivateKey,Eo=()=>{const t=_t.randomPrivateKey(),e=xo(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),{publicKey:e,secretKey:r}},xo=kt.getPublicKey;function Bo(t){try{return Z.fromHex(t,!0),!0}catch{return!1}}const Po=(t,e)=>kt.sign(t,e.slice(0,32)),To=kt.verify,Ro=t=>e.Buffer.isBuffer(t)?t:t instanceof Uint8Array?e.Buffer.from(t.buffer,t.byteOffset,t.byteLength):e.Buffer.from(t);class Lo{constructor(t){Object.assign(this,t)}encode(){return e.Buffer.from(me(Oo,this))}static decode(t){return we(Oo,this,t)}static decodeUnchecked(t){return re(Oo,this,t)}}const Oo=new Map;let Co;const Uo=32;let No=1;Co=Symbol.toStringTag;class zo extends Lo{constructor(t){if(super({}),this._bn=void 0,function(t){return void 0!==t._bn}(t))this._bn=t._bn;else{if("string"==typeof t){const e=xt.decode(t);if(e.length!=Uo)throw new Error("Invalid public key input");this._bn=new Mt(e)}else this._bn=new Mt(t);if(this._bn.byteLength()>Uo)throw new Error("Invalid public key input")}}static unique(){const t=new zo(No);return No+=1,new zo(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return xt.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const t=this.toBuffer();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toBuffer(){const t=this._bn.toArrayLike(e.Buffer);if(t.length===Uo)return t;const r=e.Buffer.alloc(32);return t.copy(r,32-t.length),r}get[Co](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(t,r,n){const i=e.Buffer.concat([t.toBuffer(),e.Buffer.from(r),n.toBuffer()]),o=Ct(i);return new zo(o)}static createProgramAddressSync(t,r){let n=e.Buffer.alloc(0);t.forEach((function(t){if(t.length>32)throw new TypeError("Max seed length exceeded");n=e.Buffer.concat([n,Ro(t)])})),n=e.Buffer.concat([n,r.toBuffer(),e.Buffer.from("ProgramDerivedAddress")]);const i=Ct(n);if(Bo(i))throw new Error("Invalid seeds, address must fall off the curve");return new zo(i)}static async createProgramAddress(t,e){return this.createProgramAddressSync(t,e)}static findProgramAddressSync(t,r){let n,i=255;for(;0!=i;){try{const o=t.concat(e.Buffer.from([i]));n=this.createProgramAddressSync(o,r)}catch(t){if(t instanceof TypeError)throw t;i--;continue}return[n,i]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(t,e){return this.findProgramAddressSync(t,e)}static isOnCurve(t){return Bo(new zo(t).toBytes())}}zo.default=new zo("11111111111111111111111111111111"),Oo.set(zo,{kind:"struct",fields:[["_bn","u256"]]});const Ko=new zo("BPFLoader1111111111111111111111111111111111"),Wo=1232,qo=127,Do=64;class jo extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}}Object.defineProperty(jo.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class Ho extends Error{constructor(t,e){super(`Transaction was not confirmed in ${e.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${t} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Ho.prototype,"name",{value:"TransactionExpiredTimeoutError"});class Fo extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Fo.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class $o{constructor(t,e){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=t,this.accountKeysFromLookups=e}keySegments(){const t=[this.staticAccountKeys];return this.accountKeysFromLookups&&(t.push(this.accountKeysFromLookups.writable),t.push(this.accountKeysFromLookups.readonly)),t}get(t){for(const e of this.keySegments()){if(t<e.length)return e[t];t-=e.length}}get length(){return this.keySegments().flat().length}compileInstructions(t){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const e=new Map;this.keySegments().flat().forEach(((t,r)=>{e.set(t.toBase58(),r)}));const r=t=>{const r=e.get(t.toBase58());if(void 0===r)throw new Error("Encountered an unknown instruction account key during compilation");return r};return t.map((t=>({programIdIndex:r(t.programId),accountKeyIndexes:t.keys.map((t=>r(t.pubkey))),data:t.data})))}}const Vo=(t="publicKey")=>lr(32,t),Go=(t="signature")=>lr(64,t),Zo=(t="string")=>{const r=cr([sr("length"),sr("lengthPadding"),lr(nr(sr(),-8),"chars")],t),n=r.decode.bind(r),i=r.encode.bind(r),o=r;return o.decode=(t,e)=>n(t,e).chars.toString(),o.encode=(t,r,n)=>{const o={chars:e.Buffer.from(t,"utf8")};return i(o,r,n)},o.alloc=t=>sr().span+sr().span+e.Buffer.from(t,"utf8").length,o};function Yo(t,e){const r=t=>{if(t.span>=0)return t.span;if("function"==typeof t.alloc)return t.alloc(e[t.property]);if("count"in t&&"elementLayout"in t){const n=e[t.property];if(Array.isArray(n))return n.length*r(t.elementLayout)}else if("fields"in t)return Yo({layout:t},e[t.property]);return 0};let n=0;return t.layout.fields.forEach((t=>{n+=r(t)})),n}function Jo(t){let e=0,r=0;for(;;){let n=t.shift();if(e|=(127&n)<<7*r,r+=1,0==(128&n))break}return e}function Xo(t,e){let r=e;for(;;){let e=127&r;if(r>>=7,0==r){t.push(e);break}e|=128,t.push(e)}}function Qo(t,e){if(!t)throw new Error(e||"Assertion failed")}class ts{constructor(t,e){this.payer=void 0,this.keyMetaMap=void 0,this.payer=t,this.keyMetaMap=e}static compile(t,e){const r=new Map,n=t=>{const e=t.toBase58();let n=r.get(e);return void 0===n&&(n={isSigner:!1,isWritable:!1,isInvoked:!1},r.set(e,n)),n},i=n(e);i.isSigner=!0,i.isWritable=!0;for(const e of t){n(e.programId).isInvoked=!0;for(const t of e.keys){const e=n(t.pubkey);e.isSigner||(e.isSigner=t.isSigner),e.isWritable||(e.isWritable=t.isWritable)}}return new ts(e,r)}getMessageComponents(){const t=[...this.keyMetaMap.entries()];Qo(t.length<=256,"Max static account keys length exceeded");const e=t.filter((([,t])=>t.isSigner&&t.isWritable)),r=t.filter((([,t])=>t.isSigner&&!t.isWritable)),n=t.filter((([,t])=>!t.isSigner&&t.isWritable)),i=t.filter((([,t])=>!t.isSigner&&!t.isWritable)),o={numRequiredSignatures:e.length+r.length,numReadonlySignedAccounts:r.length,numReadonlyUnsignedAccounts:i.length};{Qo(e.length>0,"Expected at least one writable signer key");const[t]=e[0];Qo(t===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}return[o,[...e.map((([t])=>new zo(t))),...r.map((([t])=>new zo(t))),...n.map((([t])=>new zo(t))),...i.map((([t])=>new zo(t)))]]}extractTableLookup(t){const[e,r]=this.drainKeysFoundInLookupTable(t.state.addresses,(t=>!t.isSigner&&!t.isInvoked&&t.isWritable)),[n,i]=this.drainKeysFoundInLookupTable(t.state.addresses,(t=>!t.isSigner&&!t.isInvoked&&!t.isWritable));if(0!==e.length||0!==n.length)return[{accountKey:t.key,writableIndexes:e,readonlyIndexes:n},{writable:r,readonly:i}]}drainKeysFoundInLookupTable(t,e){const r=new Array,n=new Array;for(const[i,o]of this.keyMetaMap.entries())if(e(o)){const e=new zo(i),o=t.findIndex((t=>t.equals(e)));o>=0&&(Qo(o<256,"Max lookup table index exceeded"),r.push(o),n.push(e),this.keyMetaMap.delete(i))}return[r,n]}}class es{constructor(t){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=t.header,this.accountKeys=t.accountKeys.map((t=>new zo(t))),this.recentBlockhash=t.recentBlockhash,this.instructions=t.instructions,this.instructions.forEach((t=>this.indexToProgramIds.set(t.programIdIndex,this.accountKeys[t.programIdIndex])))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map((t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:xt.decode(t.data)})))}get addressTableLookups(){return[]}getAccountKeys(){return new $o(this.staticAccountKeys)}static compile(t){const e=ts.compile(t.instructions,t.payerKey),[r,n]=e.getMessageComponents(),i=new $o(n).compileInstructions(t.instructions).map((t=>({programIdIndex:t.programIdIndex,accounts:t.accountKeyIndexes,data:xt.encode(t.data)})));return new es({header:r,accountKeys:n,recentBlockhash:t.recentBlockhash,instructions:i})}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures;if(t>=this.header.numRequiredSignatures){return t-e<this.accountKeys.length-e-this.header.numReadonlyUnsignedAccounts}return t<e-this.header.numReadonlySignedAccounts}isProgramId(t){return this.indexToProgramIds.has(t)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter(((t,e)=>!this.isProgramId(e)))}serialize(){const t=this.accountKeys.length;let r=[];Xo(r,t);const n=this.instructions.map((t=>{const{accounts:r,programIdIndex:n}=t,i=Array.from(xt.decode(t.data));let o=[];Xo(o,r.length);let s=[];return Xo(s,i.length),{programIdIndex:n,keyIndicesCount:e.Buffer.from(o),keyIndices:r,dataLength:e.Buffer.from(s),data:i}}));let i=[];Xo(i,n.length);let o=e.Buffer.alloc(Wo);e.Buffer.from(i).copy(o);let s=i.length;n.forEach((t=>{const e=cr([ir("programIdIndex"),lr(t.keyIndicesCount.length,"keyIndicesCount"),hr(ir("keyIndex"),t.keyIndices.length,"keyIndices"),lr(t.dataLength.length,"dataLength"),hr(ir("userdatum"),t.data.length,"data")]).encode(t,o,s);s+=e})),o=o.slice(0,s);const a=cr([lr(1,"numRequiredSignatures"),lr(1,"numReadonlySignedAccounts"),lr(1,"numReadonlyUnsignedAccounts"),lr(r.length,"keyCount"),hr(Vo("key"),t,"keys"),Vo("recentBlockhash")]),u={numRequiredSignatures:e.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:e.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:e.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:e.Buffer.from(r),keys:this.accountKeys.map((t=>Ro(t.toBytes()))),recentBlockhash:xt.decode(this.recentBlockhash)};let c=e.Buffer.alloc(2048);const h=a.encode(u,c);return o.copy(c,h),c.slice(0,h+o.length)}static from(t){let r=[...t];const n=r.shift();if(n!==(n&qo))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const i=r.shift(),o=r.shift(),s=Jo(r);let a=[];for(let t=0;t<s;t++){const t=r.slice(0,Uo);r=r.slice(Uo),a.push(new zo(e.Buffer.from(t)))}const u=r.slice(0,Uo);r=r.slice(Uo);const c=Jo(r);let h=[];for(let t=0;t<c;t++){const t=r.shift(),n=Jo(r),i=r.slice(0,n);r=r.slice(n);const o=Jo(r),s=r.slice(0,o),a=xt.encode(e.Buffer.from(s));r=r.slice(o),h.push({programIdIndex:t,accounts:i,data:a})}const l={header:{numRequiredSignatures:n,numReadonlySignedAccounts:i,numReadonlyUnsignedAccounts:o},recentBlockhash:xt.encode(e.Buffer.from(u)),accountKeys:a,instructions:h};return new es(l)}}class rs{constructor(t){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=t.header,this.staticAccountKeys=t.staticAccountKeys,this.recentBlockhash=t.recentBlockhash,this.compiledInstructions=t.compiledInstructions,this.addressTableLookups=t.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let t=0;for(const e of this.addressTableLookups)t+=e.readonlyIndexes.length+e.writableIndexes.length;return t}getAccountKeys(t){let e;if(t&&"accountKeysFromLookups"in t&&t.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=t.accountKeysFromLookups.writable.length+t.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");e=t.accountKeysFromLookups}else if(t&&"addressLookupTableAccounts"in t&&t.addressLookupTableAccounts)e=this.resolveAddressTableLookups(t.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new $o(this.staticAccountKeys,e)}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures,r=this.staticAccountKeys.length;if(t>=r){return t-r<this.addressTableLookups.reduce(((t,e)=>t+e.writableIndexes.length),0)}if(t>=this.header.numRequiredSignatures){return t-e<r-e-this.header.numReadonlyUnsignedAccounts}return t<e-this.header.numReadonlySignedAccounts}resolveAddressTableLookups(t){const e={writable:[],readonly:[]};for(const r of this.addressTableLookups){const n=t.find((t=>t.key.equals(r.accountKey)));if(!n)throw new Error(`Failed to find address lookup table account for table key ${r.accountKey.toBase58()}`);for(const t of r.writableIndexes){if(!(t<n.state.addresses.length))throw new Error(`Failed to find address for index ${t} in address lookup table ${r.accountKey.toBase58()}`);e.writable.push(n.state.addresses[t])}for(const t of r.readonlyIndexes){if(!(t<n.state.addresses.length))throw new Error(`Failed to find address for index ${t} in address lookup table ${r.accountKey.toBase58()}`);e.readonly.push(n.state.addresses[t])}}return e}static compile(t){const e=ts.compile(t.instructions,t.payerKey),r=new Array,n={writable:new Array,readonly:new Array},i=t.addressLookupTableAccounts||[];for(const t of i){const i=e.extractTableLookup(t);if(void 0!==i){const[t,{writable:e,readonly:o}]=i;r.push(t),n.writable.push(...e),n.readonly.push(...o)}}const[o,s]=e.getMessageComponents(),a=new $o(s,n).compileInstructions(t.instructions);return new rs({header:o,staticAccountKeys:s,recentBlockhash:t.recentBlockhash,compiledInstructions:a,addressTableLookups:r})}serialize(){const t=Array();Xo(t,this.staticAccountKeys.length);const e=this.serializeInstructions(),r=Array();Xo(r,this.compiledInstructions.length);const n=this.serializeAddressTableLookups(),i=Array();Xo(i,this.addressTableLookups.length);const o=cr([ir("prefix"),cr([ir("numRequiredSignatures"),ir("numReadonlySignedAccounts"),ir("numReadonlyUnsignedAccounts")],"header"),lr(t.length,"staticAccountKeysLength"),hr(Vo(),this.staticAccountKeys.length,"staticAccountKeys"),Vo("recentBlockhash"),lr(r.length,"instructionsLength"),lr(e.length,"serializedInstructions"),lr(i.length,"addressTableLookupsLength"),lr(n.length,"serializedAddressTableLookups")]),s=new Uint8Array(Wo),a=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(t),staticAccountKeys:this.staticAccountKeys.map((t=>t.toBytes())),recentBlockhash:xt.decode(this.recentBlockhash),instructionsLength:new Uint8Array(r),serializedInstructions:e,addressTableLookupsLength:new Uint8Array(i),serializedAddressTableLookups:n},s);return s.slice(0,a)}serializeInstructions(){let t=0;const e=new Uint8Array(Wo);for(const r of this.compiledInstructions){const n=Array();Xo(n,r.accountKeyIndexes.length);const i=Array();Xo(i,r.data.length);t+=cr([ir("programIdIndex"),lr(n.length,"encodedAccountKeyIndexesLength"),hr(ir(),r.accountKeyIndexes.length,"accountKeyIndexes"),lr(i.length,"encodedDataLength"),lr(r.data.length,"data")]).encode({programIdIndex:r.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(n),accountKeyIndexes:r.accountKeyIndexes,encodedDataLength:new Uint8Array(i),data:r.data},e,t)}return e.slice(0,t)}serializeAddressTableLookups(){let t=0;const e=new Uint8Array(Wo);for(const r of this.addressTableLookups){const n=Array();Xo(n,r.writableIndexes.length);const i=Array();Xo(i,r.readonlyIndexes.length);t+=cr([Vo("accountKey"),lr(n.length,"encodedWritableIndexesLength"),hr(ir(),r.writableIndexes.length,"writableIndexes"),lr(i.length,"encodedReadonlyIndexesLength"),hr(ir(),r.readonlyIndexes.length,"readonlyIndexes")]).encode({accountKey:r.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(n),writableIndexes:r.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(i),readonlyIndexes:r.readonlyIndexes},e,t)}return e.slice(0,t)}static deserialize(t){let e=[...t];const r=e.shift(),n=r&qo;Qo(r!==n,"Expected versioned message but received legacy message");Qo(0===n,`Expected versioned message with version 0 but found version ${n}`);const i={numRequiredSignatures:e.shift(),numReadonlySignedAccounts:e.shift(),numReadonlyUnsignedAccounts:e.shift()},o=[],s=Jo(e);for(let t=0;t<s;t++)o.push(new zo(e.splice(0,Uo)));const a=xt.encode(e.splice(0,Uo)),u=Jo(e),c=[];for(let t=0;t<u;t++){const t=e.shift(),r=Jo(e),n=e.splice(0,r),i=Jo(e),o=new Uint8Array(e.splice(0,i));c.push({programIdIndex:t,accountKeyIndexes:n,data:o})}const h=Jo(e),l=[];for(let t=0;t<h;t++){const t=new zo(e.splice(0,Uo)),r=Jo(e),n=e.splice(0,r),i=Jo(e),o=e.splice(0,i);l.push({accountKey:t,writableIndexes:n,readonlyIndexes:o})}return new rs({header:i,staticAccountKeys:o,recentBlockhash:a,compiledInstructions:c,addressTableLookups:l})}}const ns={deserializeMessageVersion(t){const e=t[0],r=e&qo;return r===e?"legacy":r},deserialize:t=>{const e=ns.deserializeMessageVersion(t);if("legacy"===e)return es.from(t);if(0===e)return rs.deserialize(t);throw new Error(`Transaction message version ${e} deserialization is not supported`)}};let is;!function(t){t[t.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",t[t.PROCESSED=1]="PROCESSED",t[t.TIMED_OUT=2]="TIMED_OUT",t[t.NONCE_INVALID=3]="NONCE_INVALID"}(is||(is={}));const os=e.Buffer.alloc(Do).fill(0);class ss{constructor(t){this.keys=void 0,this.programId=void 0,this.data=e.Buffer.alloc(0),this.programId=t.programId,this.keys=t.keys,t.data&&(this.data=t.data)}toJSON(){return{keys:this.keys.map((({pubkey:t,isSigner:e,isWritable:r})=>({pubkey:t.toJSON(),isSigner:e,isWritable:r}))),programId:this.programId.toJSON(),data:[...this.data]}}}class as{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(t){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,t)if(t.feePayer&&(this.feePayer=t.feePayer),t.signatures&&(this.signatures=t.signatures),Object.prototype.hasOwnProperty.call(t,"nonceInfo")){const{minContextSlot:e,nonceInfo:r}=t;this.minNonceContextSlot=e,this.nonceInfo=r}else if(Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")){const{blockhash:e,lastValidBlockHeight:r}=t;this.recentBlockhash=e,this.lastValidBlockHeight=r}else{const{recentBlockhash:e,nonceInfo:r}=t;r&&(this.nonceInfo=r),this.recentBlockhash=e}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map((t=>t.toJSON())),signers:this.signatures.map((({publicKey:t})=>t.toJSON()))}}add(...t){if(0===t.length)throw new Error("No instructions");return t.forEach((t=>{"instructions"in t?this.instructions=this.instructions.concat(t.instructions):"data"in t&&"programId"in t&&"keys"in t?this.instructions.push(t):this.instructions.push(new ss(t))})),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let t,e,r;if(this.nonceInfo?(t=this.nonceInfo.nonce,e=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(t=this.recentBlockhash,e=this.instructions),!t)throw new Error("Transaction recentBlockhash required");if(e.length<1&&console.warn("No instructions provided"),this.feePayer)r=this.feePayer;else{if(!(this.signatures.length>0&&this.signatures[0].publicKey))throw new Error("Transaction fee payer required");r=this.signatures[0].publicKey}for(let t=0;t<e.length;t++)if(void 0===e[t].programId)throw new Error(`Transaction instruction index ${t} has undefined program id`);const n=[],i=[];e.forEach((t=>{t.keys.forEach((t=>{i.push({...t})}));const e=t.programId.toString();n.includes(e)||n.push(e)})),n.forEach((t=>{i.push({pubkey:new zo(t),isSigner:!1,isWritable:!1})}));const o=[];i.forEach((t=>{const e=t.pubkey.toString(),r=o.findIndex((t=>t.pubkey.toString()===e));r>-1?(o[r].isWritable=o[r].isWritable||t.isWritable,o[r].isSigner=o[r].isSigner||t.isSigner):o.push(t)})),o.sort((function(t,e){return t.isSigner!==e.isSigner?t.isSigner?-1:1:t.isWritable!==e.isWritable?t.isWritable?-1:1:t.pubkey.toBase58().localeCompare(e.pubkey.toBase58())}));const s=o.findIndex((t=>t.pubkey.equals(r)));if(s>-1){const[t]=o.splice(s,1);t.isSigner=!0,t.isWritable=!0,o.unshift(t)}else o.unshift({pubkey:r,isSigner:!0,isWritable:!0});for(const t of this.signatures){const e=o.findIndex((e=>e.pubkey.equals(t.publicKey)));if(!(e>-1))throw new Error(`unknown signer: ${t.publicKey.toString()}`);o[e].isSigner||(o[e].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."))}let a=0,u=0,c=0;const h=[],l=[];o.forEach((({pubkey:t,isSigner:e,isWritable:r})=>{e?(h.push(t.toString()),a+=1,r||(u+=1)):(l.push(t.toString()),r||(c+=1))}));const d=h.concat(l),f=e.map((t=>{const{data:e,programId:r}=t;return{programIdIndex:d.indexOf(r.toString()),accounts:t.keys.map((t=>d.indexOf(t.pubkey.toString()))),data:xt.encode(e)}}));return f.forEach((t=>{Qo(t.programIdIndex>=0),t.accounts.forEach((t=>Qo(t>=0)))})),new es({header:{numRequiredSignatures:a,numReadonlySignedAccounts:u,numReadonlyUnsignedAccounts:c},accountKeys:d,recentBlockhash:t,instructions:f})}_compile(){const t=this.compileMessage(),e=t.accountKeys.slice(0,t.header.numRequiredSignatures);if(this.signatures.length===e.length){const r=this.signatures.every(((t,r)=>e[r].equals(t.publicKey)));if(r)return t}return this.signatures=e.map((t=>({signature:null,publicKey:t}))),t}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(t){return(await t.getFeeForMessage(this.compileMessage())).value}setSigners(...t){if(0===t.length)throw new Error("No signers");const e=new Set;this.signatures=t.filter((t=>{const r=t.toString();return!e.has(r)&&(e.add(r),!0)})).map((t=>({signature:null,publicKey:t})))}sign(...t){if(0===t.length)throw new Error("No signers");const e=new Set,r=[];for(const n of t){const t=n.publicKey.toString();e.has(t)||(e.add(t),r.push(n))}this.signatures=r.map((t=>({signature:null,publicKey:t.publicKey})));const n=this._compile();this._partialSign(n,...r)}partialSign(...t){if(0===t.length)throw new Error("No signers");const e=new Set,r=[];for(const n of t){const t=n.publicKey.toString();e.has(t)||(e.add(t),r.push(n))}const n=this._compile();this._partialSign(n,...r)}_partialSign(t,...e){const r=t.serialize();e.forEach((t=>{const e=Po(r,t.secretKey);this._addSignature(t.publicKey,Ro(e))}))}addSignature(t,e){this._compile(),this._addSignature(t,e)}_addSignature(t,r){Qo(64===r.length);const n=this.signatures.findIndex((e=>t.equals(e.publicKey)));if(n<0)throw new Error(`unknown signer: ${t.toString()}`);this.signatures[n].signature=e.Buffer.from(r)}verifySignatures(t){return this._verifySignatures(this.serializeMessage(),void 0===t||t)}_verifySignatures(t,e){for(const{signature:r,publicKey:n}of this.signatures)if(null===r){if(e)return!1}else if(!To(r,t,n.toBytes()))return!1;return!0}serialize(t){const{requireAllSignatures:e,verifySignatures:r}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},t),n=this.serializeMessage();if(r&&!this._verifySignatures(n,e))throw new Error("Signature verification failed");return this._serialize(n)}_serialize(t){const{signatures:r}=this,n=[];Xo(n,r.length);const i=n.length+64*r.length+t.length,o=e.Buffer.alloc(i);return Qo(r.length<256),e.Buffer.from(n).copy(o,0),r.forEach((({signature:t},r)=>{null!==t&&(Qo(64===t.length,"signature has invalid length"),e.Buffer.from(t).copy(o,n.length+64*r))})),t.copy(o,n.length+64*r.length),Qo(o.length<=Wo,`Transaction too large: ${o.length} > 1232`),o}get keys(){return Qo(1===this.instructions.length),this.instructions[0].keys.map((t=>t.pubkey))}get programId(){return Qo(1===this.instructions.length),this.instructions[0].programId}get data(){return Qo(1===this.instructions.length),this.instructions[0].data}static from(t){let r=[...t];const n=Jo(r);let i=[];for(let t=0;t<n;t++){const t=r.slice(0,Do);r=r.slice(Do),i.push(xt.encode(e.Buffer.from(t)))}return as.populate(es.from(r),i)}static populate(t,e=[]){const r=new as;return r.recentBlockhash=t.recentBlockhash,t.header.numRequiredSignatures>0&&(r.feePayer=t.accountKeys[0]),e.forEach(((e,n)=>{const i={signature:e==xt.encode(os)?null:xt.decode(e),publicKey:t.accountKeys[n]};r.signatures.push(i)})),t.instructions.forEach((e=>{const n=e.accounts.map((e=>{const n=t.accountKeys[e];return{pubkey:n,isSigner:r.signatures.some((t=>t.publicKey.toString()===n.toString()))||t.isAccountSigner(e),isWritable:t.isAccountWritable(e)}}));r.instructions.push(new ss({keys:n,programId:t.accountKeys[e.programIdIndex],data:xt.decode(e.data)}))})),r._message=t,r._json=r.toJSON(),r}}class us{constructor(t){this.payerKey=void 0,this.instructions=void 0,this.recentBlockhash=void 0,this.payerKey=t.payerKey,this.instructions=t.instructions,this.recentBlockhash=t.recentBlockhash}static decompile(t,e){const{header:r,compiledInstructions:n,recentBlockhash:i}=t,{numRequiredSignatures:o,numReadonlySignedAccounts:s,numReadonlyUnsignedAccounts:a}=r,u=o-s;Qo(u>0,"Message header is invalid");const c=t.staticAccountKeys.length-o-a;Qo(c>=0,"Message header is invalid");const h=t.getAccountKeys(e),l=h.get(0);if(void 0===l)throw new Error("Failed to decompile message because no account keys were found");const d=[];for(const t of n){const e=[];for(const n of t.accountKeyIndexes){const t=h.get(n);if(void 0===t)throw new Error(`Failed to find key for account key index ${n}`);let i;i=n<o?n<u:n<h.staticAccountKeys.length?n-o<c:n-h.staticAccountKeys.length<h.accountKeysFromLookups.writable.length,e.push({pubkey:t,isSigner:n<r.numRequiredSignatures,isWritable:i})}const n=h.get(t.programIdIndex);if(void 0===n)throw new Error(`Failed to find program id for program id index ${t.programIdIndex}`);d.push(new ss({programId:n,data:Ro(t.data),keys:e}))}return new us({payerKey:l,instructions:d,recentBlockhash:i})}compileToLegacyMessage(){return es.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions})}compileToV0Message(t){return rs.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions,addressLookupTableAccounts:t})}}class cs{get version(){return this.message.version}constructor(t,e){if(this.signatures=void 0,this.message=void 0,void 0!==e)Qo(e.length===t.header.numRequiredSignatures,"Expected signatures length to be equal to the number of required signatures"),this.signatures=e;else{const e=[];for(let r=0;r<t.header.numRequiredSignatures;r++)e.push(new Uint8Array(Do));this.signatures=e}this.message=t}serialize(){const t=this.message.serialize(),e=Array();Xo(e,this.signatures.length);const r=cr([lr(e.length,"encodedSignaturesLength"),hr(Go(),this.signatures.length,"signatures"),lr(t.length,"serializedMessage")]),n=new Uint8Array(2048),i=r.encode({encodedSignaturesLength:new Uint8Array(e),signatures:this.signatures,serializedMessage:t},n);return n.slice(0,i)}static deserialize(t){let e=[...t];const r=[],n=Jo(e);for(let t=0;t<n;t++)r.push(new Uint8Array(e.splice(0,Do)));const i=ns.deserialize(new Uint8Array(e));return new cs(i,r)}sign(t){const e=this.message.serialize(),r=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures);for(const n of t){const t=r.findIndex((t=>t.equals(n.publicKey)));Qo(t>=0,`Cannot sign with non signer key ${n.publicKey.toBase58()}`),this.signatures[t]=Po(e,n.secretKey)}}addSignature(t,e){Qo(64===e.byteLength,"Signature must be 64 bytes long");const r=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures).findIndex((e=>e.equals(t)));Qo(r>=0,`Can not add signature; \`${t.toBase58()}\` is not required to sign this transaction`),this.signatures[r]=e}}const hs=new zo("SysvarC1ock11111111111111111111111111111111"),ls=new zo("SysvarEpochSchedu1e111111111111111111111111"),ds=new zo("Sysvar1nstructions1111111111111111111111111"),fs=new zo("SysvarRecentB1ockHashes11111111111111111111"),ps=new zo("SysvarRent111111111111111111111111111111111"),ms=new zo("SysvarRewards111111111111111111111111111111"),gs=new zo("SysvarS1otHashes111111111111111111111111111"),ys=new zo("SysvarS1otHistory11111111111111111111111111"),ws=new zo("SysvarStakeHistory1111111111111111111111111");async function bs(t,e,r,n){const i=n&&{skipPreflight:n.skipPreflight,preflightCommitment:n.preflightCommitment||n.commitment,maxRetries:n.maxRetries,minContextSlot:n.minContextSlot},o=await t.sendTransaction(e,r,i);let s;if(null!=e.recentBlockhash&&null!=e.lastValidBlockHeight)s=(await t.confirmTransaction({abortSignal:n?.abortSignal,signature:o,blockhash:e.recentBlockhash,lastValidBlockHeight:e.lastValidBlockHeight},n&&n.commitment)).value;else if(null!=e.minNonceContextSlot&&null!=e.nonceInfo){const{nonceInstruction:r}=e.nonceInfo,i=r.keys[0].pubkey;s=(await t.confirmTransaction({abortSignal:n?.abortSignal,minContextSlot:e.minNonceContextSlot,nonceAccountPubkey:i,nonceValue:e.nonceInfo.nonce,signature:o},n&&n.commitment)).value}else null!=n?.abortSignal&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),s=(await t.confirmTransaction(o,n&&n.commitment)).value;if(s.err)throw new Error(`Transaction ${o} failed (${JSON.stringify(s)})`);return o}function vs(t){return new Promise((e=>setTimeout(e,t)))}function ks(t,r){const n=t.layout.span>=0?t.layout.span:Yo(t,r),i=e.Buffer.alloc(n),o=Object.assign({instruction:t.index},r);return t.layout.encode(o,i),i}function Ss(t,e){let r;try{r=t.layout.decode(e)}catch(t){throw new Error("invalid instruction; "+t)}if(r.instruction!==t.index)throw new Error(`invalid instruction; instruction index mismatch ${r.instruction} != ${t.index}`);return r}const _s=ar("lamportsPerSignature"),As=cr([sr("version"),sr("state"),Vo("authorizedPubkey"),Vo("nonce"),cr([_s],"feeCalculator")]),Ms=As.span;class Is{constructor(t){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=t.authorizedPubkey,this.nonce=t.nonce,this.feeCalculator=t.feeCalculator}static fromAccountData(t){const e=As.decode(Ro(t),0);return new Is({authorizedPubkey:new zo(e.authorizedPubkey),nonce:new zo(e.nonce).toString(),feeCalculator:e.feeCalculator})}}const Es=(xs=8,t=>{const r=lr(xs,t),{encode:n,decode:i}=(t=>({decode:t.decode.bind(t),encode:t.encode.bind(t)}))(r),o=r;return o.decode=(t,r)=>{const n=i(t,r);return fr(e.Buffer.from(n))},o.encode=(t,e,r)=>{const i=gr(t,xs);return n(i,e,r)},o});var xs;const Bs=Object.freeze({Create:{index:0,layout:cr([sr("instruction"),ur("lamports"),ur("space"),Vo("programId")])},Assign:{index:1,layout:cr([sr("instruction"),Vo("programId")])},Transfer:{index:2,layout:cr([sr("instruction"),Es("lamports")])},CreateWithSeed:{index:3,layout:cr([sr("instruction"),Vo("base"),Zo("seed"),ur("lamports"),ur("space"),Vo("programId")])},AdvanceNonceAccount:{index:4,layout:cr([sr("instruction")])},WithdrawNonceAccount:{index:5,layout:cr([sr("instruction"),ur("lamports")])},InitializeNonceAccount:{index:6,layout:cr([sr("instruction"),Vo("authorized")])},AuthorizeNonceAccount:{index:7,layout:cr([sr("instruction"),Vo("authorized")])},Allocate:{index:8,layout:cr([sr("instruction"),ur("space")])},AllocateWithSeed:{index:9,layout:cr([sr("instruction"),Vo("base"),Zo("seed"),ur("space"),Vo("programId")])},AssignWithSeed:{index:10,layout:cr([sr("instruction"),Vo("base"),Zo("seed"),Vo("programId")])},TransferWithSeed:{index:11,layout:cr([sr("instruction"),Es("lamports"),Zo("seed"),Vo("programId")])},UpgradeNonceAccount:{index:12,layout:cr([sr("instruction")])}});class Ps{constructor(){}static createAccount(t){const e=ks(Bs.Create,{lamports:t.lamports,space:t.space,programId:Ro(t.programId.toBuffer())});return new ss({keys:[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:e})}static transfer(t){let e,r;if("basePubkey"in t){e=ks(Bs.TransferWithSeed,{lamports:BigInt(t.lamports),seed:t.seed,programId:Ro(t.programId.toBuffer())}),r=[{pubkey:t.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}else{e=ks(Bs.Transfer,{lamports:BigInt(t.lamports)}),r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new ss({keys:r,programId:this.programId,data:e})}static assign(t){let e,r;if("basePubkey"in t){e=ks(Bs.AssignWithSeed,{base:Ro(t.basePubkey.toBuffer()),seed:t.seed,programId:Ro(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{e=ks(Bs.Assign,{programId:Ro(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ss({keys:r,programId:this.programId,data:e})}static createAccountWithSeed(t){const e=ks(Bs.CreateWithSeed,{base:Ro(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:Ro(t.programId.toBuffer())});let r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!1,isWritable:!0}];return t.basePubkey!=t.fromPubkey&&r.push({pubkey:t.basePubkey,isSigner:!0,isWritable:!1}),new ss({keys:r,programId:this.programId,data:e})}static createNonceAccount(t){const e=new as;"basePubkey"in t&&"seed"in t?e.add(Ps.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:Ms,programId:this.programId})):e.add(Ps.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:Ms,programId:this.programId}));const r={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return e.add(this.nonceInitialize(r)),e}static nonceInitialize(t){const e=ks(Bs.InitializeNonceAccount,{authorized:Ro(t.authorizedPubkey.toBuffer())}),r={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:fs,isSigner:!1,isWritable:!1},{pubkey:ps,isSigner:!1,isWritable:!1}],programId:this.programId,data:e};return new ss(r)}static nonceAdvance(t){const e=ks(Bs.AdvanceNonceAccount),r={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:fs,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e};return new ss(r)}static nonceWithdraw(t){const e=ks(Bs.WithdrawNonceAccount,{lamports:t.lamports});return new ss({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:fs,isSigner:!1,isWritable:!1},{pubkey:ps,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e})}static nonceAuthorize(t){const e=ks(Bs.AuthorizeNonceAccount,{authorized:Ro(t.newAuthorizedPubkey.toBuffer())});return new ss({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e})}static allocate(t){let e,r;if("basePubkey"in t){e=ks(Bs.AllocateWithSeed,{base:Ro(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:Ro(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{e=ks(Bs.Allocate,{space:t.space}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ss({keys:r,programId:this.programId,data:e})}}Ps.programId=new zo("11111111111111111111111111111111");class Ts{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/Ts.chunkSize)+1+1)}static async load(t,r,n,i,o){{const e=await t.getMinimumBalanceForRentExemption(o.length),s=await t.getAccountInfo(n.publicKey,"confirmed");let a=null;if(null!==s){if(s.executable)return console.error("Program load failed, account is already executable"),!1;s.data.length!==o.length&&(a=a||new as,a.add(Ps.allocate({accountPubkey:n.publicKey,space:o.length}))),s.owner.equals(i)||(a=a||new as,a.add(Ps.assign({accountPubkey:n.publicKey,programId:i}))),s.lamports<e&&(a=a||new as,a.add(Ps.transfer({fromPubkey:r.publicKey,toPubkey:n.publicKey,lamports:e-s.lamports})))}else a=(new as).add(Ps.createAccount({fromPubkey:r.publicKey,newAccountPubkey:n.publicKey,lamports:e>0?e:1,space:o.length,programId:i}));null!==a&&await bs(t,a,[r,n],{commitment:"confirmed"})}const s=cr([sr("instruction"),sr("offset"),sr("bytesLength"),sr("bytesLengthPadding"),hr(ir("byte"),nr(sr(),-8),"bytes")]),a=Ts.chunkSize;let u=0,c=o,h=[];for(;c.length>0;){const o=c.slice(0,a),l=e.Buffer.alloc(a+16);s.encode({instruction:0,offset:u,bytes:o,bytesLength:0,bytesLengthPadding:0},l);const d=(new as).add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0}],programId:i,data:l});if(h.push(bs(t,d,[r,n],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")){const t=4;await vs(1e3/t)}u+=a,c=c.slice(a)}await Promise.all(h);{const o=cr([sr("instruction")]),s=e.Buffer.alloc(o.span);o.encode({instruction:1},s);const a=(new as).add({keys:[{pubkey:n.publicKey,isSigner:!0,isWritable:!0},{pubkey:ps,isSigner:!1,isWritable:!1}],programId:i,data:s});await bs(t,a,[r,n],{commitment:"confirmed"})}return!0}}Ts.chunkSize=932;const Rs=new zo("BPFLoader2111111111111111111111111111111111");var Ls=Object.prototype.toString,Os=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};function Cs(t,e){var r,n,i,o,s,a,u;if(!0===t)return"true";if(!1===t)return"false";switch(typeof t){case"object":if(null===t)return null;if(t.toJSON&&"function"==typeof t.toJSON)return Cs(t.toJSON(),e);if("[object Array]"===(u=Ls.call(t))){for(i="[",n=t.length-1,r=0;r<n;r++)i+=Cs(t[r],!0)+",";return n>-1&&(i+=Cs(t[r],!0)),i+"]"}if("[object Object]"===u){for(n=(o=Os(t).sort()).length,i="",r=0;r<n;)void 0!==(a=Cs(t[s=o[r]],!1))&&(i&&(i+=","),i+=JSON.stringify(s)+":"+a),r++;return"{"+i+"}"}return JSON.stringify(t);case"function":case"undefined":return e?null:void 0;case"string":return JSON.stringify(t);default:return isFinite(t)?t:null}}var Us=function(t){var e=Cs(t,!1);if(void 0!==e)return""+e};function Ns(t){let e=0;for(;t>1;)t/=2,e++;return e}class zs{constructor(t,e,r,n,i){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=t,this.leaderScheduleSlotOffset=e,this.warmup=r,this.firstNormalEpoch=n,this.firstNormalSlot=i}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t<this.firstNormalSlot){const r=Ns(0===(e=t+32+1)?1:(e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,1+(e|=e>>32)))-Ns(32)-1;return[r,t-(this.getSlotsInEpoch(r)-32)]}{const e=t-this.firstNormalSlot,r=Math.floor(e/this.slotsPerEpoch);return[this.firstNormalEpoch+r,e%this.slotsPerEpoch]}var e}getFirstSlotInEpoch(t){return t<=this.firstNormalEpoch?32*(Math.pow(2,t)-1):(t-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(t){return this.getFirstSlotInEpoch(t)+this.getSlotsInEpoch(t)-1}getSlotsInEpoch(t){return t<this.firstNormalEpoch?Math.pow(2,t+Ns(32)):this.slotsPerEpoch}}class Ks extends Error{constructor(t,e){super(t),this.logs=void 0,this.logs=e}}class Ws extends Error{constructor({code:t,message:e,data:r},n){super(null!=n?`${n}: ${e}`:e),this.code=void 0,this.data=void 0,this.code=t,this.data=r,this.name="SolanaJSONRPCError"}}var qs=globalThis.fetch;class Ds extends ii{constructor(t,e,r){super((t=>{const r=si(t,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...e});return this.underlyingSocket="socket"in r?r.socket:r,r}),t,e,r),this.underlyingSocket=void 0}call(...t){const e=this.underlyingSocket?.readyState;return 1===e?super.call(...t):Promise.reject(new Error("Tried to call a JSON-RPC method `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}notify(...t){const e=this.underlyingSocket?.readyState;return 1===e?super.notify(...t):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}}class js{constructor(t){this.key=void 0,this.state=void 0,this.key=t.key,this.state=t.state}isActive(){const t=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===t}static deserialize(t){const e=function(t,e){let r;try{r=t.layout.decode(e)}catch(t){throw new Error("invalid instruction; "+t)}if(r.typeIndex!==t.index)throw new Error(`invalid account data; account type mismatch ${r.typeIndex} != ${t.index}`);return r}(Hs,t),r=t.length-56;Qo(r>=0,"lookup table is invalid"),Qo(r%32==0,"lookup table is invalid");const n=r/32,{addresses:i}=cr([hr(Vo(),n,"addresses")]).decode(t.slice(56));return{deactivationSlot:e.deactivationSlot,lastExtendedSlot:e.lastExtendedSlot,lastExtendedSlotStartIndex:e.lastExtendedStartIndex,authority:0!==e.authority.length?new zo(e.authority[0]):void 0,addresses:i.map((t=>new zo(t)))}}}const Hs={index:1,layout:cr([sr("typeIndex"),Es("deactivationSlot"),ar("lastExtendedSlot"),ir("lastExtendedStartIndex"),ir(),hr(Vo(),nr(ir(),-1),"authority")])},Fs=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;const $s=Dr(Tr(zo),Nr(),(t=>new zo(t))),Vs=zr([Nr(),Rr("base64")]),Gs=Dr(Tr(e.Buffer),Vs,(t=>e.Buffer.from(t[0],"base64")));function Zs(t){let e,r;if("string"==typeof t)e=t;else if(t){const{commitment:n,...i}=t;e=n,r=i}return{commitment:e,config:r}}function Ys(t){return Wr([Kr({jsonrpc:Rr("2.0"),id:Nr(),result:t}),Kr({jsonrpc:Rr("2.0"),id:Nr(),error:Kr({code:qr(),message:Nr(),data:Cr(xr("any",(()=>!0)))})})])}const Js=Ys(qr());function Xs(t){return Dr(Ys(t),Js,(e=>"error"in e?e:{...e,result:Mr(e.result,t)}))}function Qs(t){return Xs(Kr({context:Kr({slot:Or()}),value:t}))}function ta(t){return Kr({context:Kr({slot:Or()}),value:t})}function ea(t,e){return 0===t?new rs({header:e.header,staticAccountKeys:e.accountKeys.map((t=>new zo(t))),recentBlockhash:e.recentBlockhash,compiledInstructions:e.instructions.map((t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:xt.decode(t.data)}))),addressTableLookups:e.addressTableLookups}):new es(e)}const ra=Kr({foundation:Or(),foundationTerm:Or(),initial:Or(),taper:Or(),terminal:Or()}),na=Xs(Br(Lr(Kr({epoch:Or(),effectiveSlot:Or(),amount:Or(),postBalance:Or(),commission:Cr(Lr(Or()))})))),ia=Br(Kr({slot:Or(),prioritizationFee:Or()})),oa=Kr({total:Or(),validator:Or(),foundation:Or(),epoch:Or()}),sa=Kr({epoch:Or(),slotIndex:Or(),slotsInEpoch:Or(),absoluteSlot:Or(),blockHeight:Cr(Or()),transactionCount:Cr(Or())}),aa=Kr({slotsPerEpoch:Or(),leaderScheduleSlotOffset:Or(),warmup:Pr(),firstNormalEpoch:Or(),firstNormalSlot:Or()}),ua=Ur(Nr(),Br(Or())),ca=Lr(Wr([Kr({}),Nr()])),ha=Kr({err:ca}),la=Rr("receivedSignature"),da=Kr({"solana-core":Nr(),"feature-set":Cr(Or())}),fa=Qs(Kr({err:Lr(Wr([Kr({}),Nr()])),logs:Lr(Br(Nr())),accounts:Cr(Lr(Br(Lr(Kr({executable:Pr(),owner:Nr(),lamports:Or(),data:Br(Nr()),rentEpoch:Cr(Or())}))))),unitsConsumed:Cr(Or()),returnData:Cr(Lr(Kr({programId:Nr(),data:zr([Nr(),Rr("base64")])})))})),pa=Qs(Kr({byIdentity:Ur(Nr(),Br(Or())),range:Kr({firstSlot:Or(),lastSlot:Or()})}));const ma=Xs(ra),ga=Xs(oa),ya=Xs(ia),wa=Xs(sa),ba=Xs(aa),va=Xs(ua),ka=Xs(Or()),Sa=Qs(Kr({total:Or(),circulating:Or(),nonCirculating:Or(),nonCirculatingAccounts:Br($s)})),_a=Kr({amount:Nr(),uiAmount:Lr(Or()),decimals:Or(),uiAmountString:Cr(Nr())}),Aa=Qs(Br(Kr({address:$s,amount:Nr(),uiAmount:Lr(Or()),decimals:Or(),uiAmountString:Cr(Nr())}))),Ma=Qs(Br(Kr({pubkey:$s,account:Kr({executable:Pr(),owner:$s,lamports:Or(),data:Gs,rentEpoch:Or()})}))),Ia=Kr({program:Nr(),parsed:qr(),space:Or()}),Ea=Qs(Br(Kr({pubkey:$s,account:Kr({executable:Pr(),owner:$s,lamports:Or(),data:Ia,rentEpoch:Or()})}))),xa=Qs(Br(Kr({lamports:Or(),address:$s}))),Ba=Kr({executable:Pr(),owner:$s,lamports:Or(),data:Gs,rentEpoch:Or()}),Pa=Kr({pubkey:$s,account:Ba}),Ta=Dr(Wr([Tr(e.Buffer),Ia]),Wr([Vs,Ia]),(t=>Array.isArray(t)?Mr(t,Gs):t)),Ra=Kr({executable:Pr(),owner:$s,lamports:Or(),data:Ta,rentEpoch:Or()}),La=Kr({pubkey:$s,account:Ra}),Oa=Kr({state:Wr([Rr("active"),Rr("inactive"),Rr("activating"),Rr("deactivating")]),active:Or(),inactive:Or()}),Ca=Xs(Br(Kr({signature:Nr(),slot:Or(),err:ca,memo:Lr(Nr()),blockTime:Cr(Lr(Or()))}))),Ua=Xs(Br(Kr({signature:Nr(),slot:Or(),err:ca,memo:Lr(Nr()),blockTime:Cr(Lr(Or()))}))),Na=Kr({subscription:Or(),result:ta(Ba)}),za=Kr({pubkey:$s,account:Ba}),Ka=Kr({subscription:Or(),result:ta(za)}),Wa=Kr({parent:Or(),slot:Or(),root:Or()}),qa=Kr({subscription:Or(),result:Wa}),Da=Wr([Kr({type:Wr([Rr("firstShredReceived"),Rr("completed"),Rr("optimisticConfirmation"),Rr("root")]),slot:Or(),timestamp:Or()}),Kr({type:Rr("createdBank"),parent:Or(),slot:Or(),timestamp:Or()}),Kr({type:Rr("frozen"),slot:Or(),timestamp:Or(),stats:Kr({numTransactionEntries:Or(),numSuccessfulTransactions:Or(),numFailedTransactions:Or(),maxTransactionsPerEntry:Or()})}),Kr({type:Rr("dead"),slot:Or(),timestamp:Or(),err:Nr()})]),ja=Kr({subscription:Or(),result:Da}),Ha=Kr({subscription:Or(),result:ta(Wr([ha,la]))}),Fa=Kr({subscription:Or(),result:Or()}),$a=Kr({pubkey:Nr(),gossip:Lr(Nr()),tpu:Lr(Nr()),rpc:Lr(Nr()),version:Lr(Nr())}),Va=Kr({votePubkey:Nr(),nodePubkey:Nr(),activatedStake:Or(),epochVoteAccount:Pr(),epochCredits:Br(zr([Or(),Or(),Or()])),commission:Or(),lastVote:Or(),rootSlot:Lr(Or())}),Ga=Xs(Kr({current:Br(Va),delinquent:Br(Va)})),Za=Wr([Rr("processed"),Rr("confirmed"),Rr("finalized")]),Ya=Kr({slot:Or(),confirmations:Lr(Or()),err:ca,confirmationStatus:Cr(Za)}),Ja=Qs(Br(Lr(Ya))),Xa=Xs(Or()),Qa=Kr({accountKey:$s,writableIndexes:Br(Or()),readonlyIndexes:Br(Or())}),tu=Kr({signatures:Br(Nr()),message:Kr({accountKeys:Br(Nr()),header:Kr({numRequiredSignatures:Or(),numReadonlySignedAccounts:Or(),numReadonlyUnsignedAccounts:Or()}),instructions:Br(Kr({accounts:Br(Or()),data:Nr(),programIdIndex:Or()})),recentBlockhash:Nr(),addressTableLookups:Cr(Br(Qa))})}),eu=Kr({pubkey:$s,signer:Pr(),writable:Pr(),source:Cr(Wr([Rr("transaction"),Rr("lookupTable")]))}),ru=Kr({accountKeys:Br(eu),signatures:Br(Nr())}),nu=Kr({parsed:qr(),program:Nr(),programId:$s}),iu=Kr({accounts:Br($s),data:Nr(),programId:$s}),ou=Dr(Wr([iu,nu]),Wr([Kr({parsed:qr(),program:Nr(),programId:Nr()}),Kr({accounts:Br(Nr()),data:Nr(),programId:Nr()})]),(t=>Mr(t,"accounts"in t?iu:nu))),su=Kr({signatures:Br(Nr()),message:Kr({accountKeys:Br(eu),instructions:Br(ou),recentBlockhash:Nr(),addressTableLookups:Cr(Lr(Br(Qa)))})}),au=Kr({accountIndex:Or(),mint:Nr(),owner:Cr(Nr()),uiTokenAmount:_a}),uu=Kr({writable:Br($s),readonly:Br($s)}),cu=Kr({err:ca,fee:Or(),innerInstructions:Cr(Lr(Br(Kr({index:Or(),instructions:Br(Kr({accounts:Br(Or()),data:Nr(),programIdIndex:Or()}))})))),preBalances:Br(Or()),postBalances:Br(Or()),logMessages:Cr(Lr(Br(Nr()))),preTokenBalances:Cr(Lr(Br(au))),postTokenBalances:Cr(Lr(Br(au))),loadedAddresses:Cr(uu),computeUnitsConsumed:Cr(Or())}),hu=Kr({err:ca,fee:Or(),innerInstructions:Cr(Lr(Br(Kr({index:Or(),instructions:Br(ou)})))),preBalances:Br(Or()),postBalances:Br(Or()),logMessages:Cr(Lr(Br(Nr()))),preTokenBalances:Cr(Lr(Br(au))),postTokenBalances:Cr(Lr(Br(au))),loadedAddresses:Cr(uu),computeUnitsConsumed:Cr(Or())}),lu=Wr([Rr(0),Rr("legacy")]),du=Kr({pubkey:Nr(),lamports:Or(),postBalance:Lr(Or()),rewardType:Lr(Nr()),commission:Cr(Lr(Or()))}),fu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),transactions:Br(Kr({transaction:tu,meta:Lr(cu),version:Cr(lu)})),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),pu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),mu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),transactions:Br(Kr({transaction:ru,meta:Lr(cu),version:Cr(lu)})),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),gu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),transactions:Br(Kr({transaction:su,meta:Lr(hu),version:Cr(lu)})),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),yu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),transactions:Br(Kr({transaction:ru,meta:Lr(hu),version:Cr(lu)})),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),wu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),rewards:Cr(Br(du)),blockTime:Lr(Or()),blockHeight:Lr(Or())}))),bu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),transactions:Br(Kr({transaction:tu,meta:Lr(cu)})),rewards:Cr(Br(du)),blockTime:Lr(Or())}))),vu=Xs(Lr(Kr({blockhash:Nr(),previousBlockhash:Nr(),parentSlot:Or(),signatures:Br(Nr()),blockTime:Lr(Or())}))),ku=Xs(Lr(Kr({slot:Or(),meta:cu,blockTime:Cr(Lr(Or())),transaction:tu,version:Cr(lu)}))),Su=Xs(Lr(Kr({slot:Or(),transaction:su,meta:Lr(hu),blockTime:Cr(Lr(Or())),version:Cr(lu)}))),_u=Qs(Kr({blockhash:Nr(),feeCalculator:Kr({lamportsPerSignature:Or()})})),Au=Qs(Kr({blockhash:Nr(),lastValidBlockHeight:Or()})),Mu=Xs(Br(Kr({slot:Or(),numTransactions:Or(),numSlots:Or(),samplePeriodSecs:Or()}))),Iu=Qs(Lr(Kr({feeCalculator:Kr({lamportsPerSignature:Or()})}))),Eu=Xs(Nr()),xu=Xs(Nr()),Bu=Kr({err:ca,logs:Br(Nr()),signature:Nr()}),Pu=Kr({result:ta(Bu),subscription:Or()}),Tu={"solana-client":"js/0.0.0-development"};class Ru{constructor(t){this._keypair=void 0,this._keypair=t??Eo()}static generate(){return new Ru(Eo())}static fromSecretKey(t,e){if(64!==t.byteLength)throw new Error("bad secret key size");const r=t.slice(32,64);if(!e||!e.skipValidation){const e=t.slice(0,32),n=xo(e);for(let t=0;t<32;t++)if(r[t]!==n[t])throw new Error("provided secretKey is invalid")}return new Ru({publicKey:r,secretKey:t})}static fromSeed(t){const e=xo(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new Ru({publicKey:e,secretKey:r})}get publicKey(){return new zo(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const Lu=Object.freeze({CreateLookupTable:{index:0,layout:cr([sr("instruction"),Es("recentSlot"),ir("bumpSeed")])},FreezeLookupTable:{index:1,layout:cr([sr("instruction")])},ExtendLookupTable:{index:2,layout:cr([sr("instruction"),Es(),hr(Vo(),nr(sr(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:cr([sr("instruction")])},CloseLookupTable:{index:4,layout:cr([sr("instruction")])}});class Ou{constructor(){}static createLookupTable(t){const[e,r]=zo.findProgramAddressSync([t.authority.toBuffer(),gr(BigInt(t.recentSlot),8)],this.programId),n=ks(Lu.CreateLookupTable,{recentSlot:BigInt(t.recentSlot),bumpSeed:r}),i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Ps.programId,isSigner:!1,isWritable:!1}];return[new ss({programId:this.programId,keys:i,data:n}),e]}static freezeLookupTable(t){const e=ks(Lu.FreezeLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ss({programId:this.programId,keys:r,data:e})}static extendLookupTable(t){const e=ks(Lu.ExtendLookupTable,{addresses:t.addresses.map((t=>t.toBytes()))}),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&r.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Ps.programId,isSigner:!1,isWritable:!1}),new ss({programId:this.programId,keys:r,data:e})}static deactivateLookupTable(t){const e=ks(Lu.DeactivateLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ss({programId:this.programId,keys:r,data:e})}static closeLookupTable(t){const e=ks(Lu.CloseLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new ss({programId:this.programId,keys:r,data:e})}}Ou.programId=new zo("AddressLookupTab1e1111111111111111111111111");const Cu=Object.freeze({RequestUnits:{index:0,layout:cr([ir("instruction"),sr("units"),sr("additionalFee")])},RequestHeapFrame:{index:1,layout:cr([ir("instruction"),sr("bytes")])},SetComputeUnitLimit:{index:2,layout:cr([ir("instruction"),sr("units")])},SetComputeUnitPrice:{index:3,layout:cr([ir("instruction"),Es("microLamports")])}});class Uu{constructor(){}static requestUnits(t){const e=ks(Cu.RequestUnits,t);return new ss({keys:[],programId:this.programId,data:e})}static requestHeapFrame(t){const e=ks(Cu.RequestHeapFrame,t);return new ss({keys:[],programId:this.programId,data:e})}static setComputeUnitLimit(t){const e=ks(Cu.SetComputeUnitLimit,t);return new ss({keys:[],programId:this.programId,data:e})}static setComputeUnitPrice(t){const e=ks(Cu.SetComputeUnitPrice,{microLamports:BigInt(t.microLamports)});return new ss({keys:[],programId:this.programId,data:e})}}Uu.programId=new zo("ComputeBudget111111111111111111111111111111");const Nu=cr([ir("numSignatures"),ir("padding"),or("signatureOffset"),or("signatureInstructionIndex"),or("publicKeyOffset"),or("publicKeyInstructionIndex"),or("messageDataOffset"),or("messageDataSize"),or("messageInstructionIndex")]);class zu{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:r,message:n,signature:i,instructionIndex:o}=t;Qo(32===r.length,`Public Key must be 32 bytes but received ${r.length} bytes`),Qo(64===i.length,`Signature must be 64 bytes but received ${i.length} bytes`);const s=Nu.span,a=s+r.length,u=a+i.length,c=e.Buffer.alloc(u+n.length),h=null==o?65535:o;return Nu.encode({numSignatures:1,padding:0,signatureOffset:a,signatureInstructionIndex:h,publicKeyOffset:s,publicKeyInstructionIndex:h,messageDataOffset:u,messageDataSize:n.length,messageInstructionIndex:h},c),c.fill(r,s),c.fill(i,a),c.fill(n,u),new ss({keys:[],programId:zu.programId,data:c})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:n}=t;Qo(64===e.length,`Private key must be 64 bytes but received ${e.length} bytes`);try{const t=Ru.fromSecretKey(e),i=t.publicKey.toBytes(),o=Po(r,t.secretKey);return this.createInstructionWithPublicKey({publicKey:i,message:r,signature:o,instructionIndex:n})}catch(t){throw new Error(`Error creating instruction; ${t}`)}}}zu.programId=new zo("Ed25519SigVerify111111111111111111111111111"),Mo.hmacSha256Sync=(t,...e)=>{const r=Mi.create(Ct,t);return e.forEach((t=>r.update(t))),r.digest()};Mo.isValidPrivateKey;const Ku=function(t,e=!1){return Fi.fromPrivateKey(t).toRawBytes(e)},Wu=cr([ir("numSignatures"),or("signatureOffset"),ir("signatureInstructionIndex"),or("ethAddressOffset"),ir("ethAddressInstructionIndex"),or("messageDataOffset"),or("messageDataSize"),ir("messageInstructionIndex"),lr(20,"ethAddress"),lr(64,"signature"),ir("recoveryId")]);class qu{constructor(){}static publicKeyToEthAddress(t){Qo(64===t.length,`Public key must be 64 bytes but received ${t.length} bytes`);try{return e.Buffer.from(Si(Ro(t))).slice(-20)}catch(t){throw new Error(`Error constructing Ethereum address: ${t}`)}}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:n,recoveryId:i,instructionIndex:o}=t;return qu.createInstructionWithEthAddress({ethAddress:qu.publicKeyToEthAddress(e),message:r,signature:n,recoveryId:i,instructionIndex:o})}static createInstructionWithEthAddress(t){const{ethAddress:r,message:n,signature:i,recoveryId:o,instructionIndex:s=0}=t;let a;a="string"==typeof r?r.startsWith("0x")?e.Buffer.from(r.substr(2),"hex"):e.Buffer.from(r,"hex"):r,Qo(20===a.length,`Address must be 20 bytes but received ${a.length} bytes`);const u=12+a.length,c=u+i.length+1,h=e.Buffer.alloc(Wu.span+n.length);return Wu.encode({numSignatures:1,signatureOffset:u,signatureInstructionIndex:s,ethAddressOffset:12,ethAddressInstructionIndex:s,messageDataOffset:c,messageDataSize:n.length,messageInstructionIndex:s,signature:Ro(i),ethAddress:Ro(a),recoveryId:o},h),h.fill(Ro(n),Wu.span),new ss({keys:[],programId:qu.programId,data:h})}static createInstructionWithPrivateKey(t){const{privateKey:r,message:n,instructionIndex:i}=t;Qo(32===r.length,`Private key must be 32 bytes but received ${r.length} bytes`);try{const t=Ro(r),o=Ku(t,!1).slice(1),s=e.Buffer.from(Si(Ro(n))),[a,u]=So(s,t,{der:!1,recovered:!0});return this.createInstructionWithPublicKey({publicKey:o,message:n,signature:a,recoveryId:u,instructionIndex:i})}catch(t){throw new Error(`Error creating instruction; ${t}`)}}}qu.programId=new zo("KeccakSecp256k11111111111111111111111111111");const Du=new zo("StakeConfig11111111111111111111111111111111");class ju{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class Hu{constructor(t,e,r){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=e,this.custodian=r}}Hu.default=new Hu(0,0,zo.default);const Fu=Object.freeze({Initialize:{index:0,layout:cr([sr("instruction"),((t="authorized")=>cr([Vo("staker"),Vo("withdrawer")],t))(),((t="lockup")=>cr([ur("unixTimestamp"),ur("epoch"),Vo("custodian")],t))()])},Authorize:{index:1,layout:cr([sr("instruction"),Vo("newAuthorized"),sr("stakeAuthorizationType")])},Delegate:{index:2,layout:cr([sr("instruction")])},Split:{index:3,layout:cr([sr("instruction"),ur("lamports")])},Withdraw:{index:4,layout:cr([sr("instruction"),ur("lamports")])},Deactivate:{index:5,layout:cr([sr("instruction")])},Merge:{index:7,layout:cr([sr("instruction")])},AuthorizeWithSeed:{index:8,layout:cr([sr("instruction"),Vo("newAuthorized"),sr("stakeAuthorizationType"),Zo("authoritySeed"),Vo("authorityOwner")])}}),$u=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class Vu{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:n}=t,i=n||Hu.default,o=ks(Fu.Initialize,{authorized:{staker:Ro(r.staker.toBuffer()),withdrawer:Ro(r.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:Ro(i.custodian.toBuffer())}}),s={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:ps,isSigner:!1,isWritable:!1}],programId:this.programId,data:o};return new ss(s)}static createAccountWithSeed(t){const e=new as;e.add(Ps.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:n,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:n,lockup:i}))}static createAccount(t){const e=new as;e.add(Ps.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:n,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:n,lockup:i}))}static delegate(t){const{stakePubkey:e,authorizedPubkey:r,votePubkey:n}=t,i=ks(Fu.Delegate);return(new as).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:ws,isSigner:!1,isWritable:!1},{pubkey:Du,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static authorize(t){const{stakePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:n,stakeAuthorizationType:i,custodianPubkey:o}=t,s=ks(Fu.Authorize,{newAuthorized:Ro(n.toBuffer()),stakeAuthorizationType:i.index}),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&a.push({pubkey:o,isSigner:!1,isWritable:!1}),(new as).add({keys:a,programId:this.programId,data:s})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:n,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:s,custodianPubkey:a}=t,u=ks(Fu.AuthorizeWithSeed,{newAuthorized:Ro(o.toBuffer()),stakeAuthorizationType:s.index,authoritySeed:n,authorityOwner:Ro(i.toBuffer())}),c=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:hs,isSigner:!1,isWritable:!1}];return a&&c.push({pubkey:a,isSigner:!1,isWritable:!1}),(new as).add({keys:c,programId:this.programId,data:u})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,lamports:i}=t,o=ks(Fu.Split,{lamports:i});return new ss({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static split(t){const e=new as;return e.add(Ps.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:0,space:this.space,programId:this.programId})),e.add(this.splitInstruction(t))}static splitWithSeed(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,basePubkey:i,seed:o,lamports:s}=t,a=new as;return a.add(Ps.allocate({accountPubkey:n,basePubkey:i,seed:o,space:this.space,programId:this.programId})),a.add(this.splitInstruction({stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,lamports:s}))}static merge(t){const{stakePubkey:e,sourceStakePubKey:r,authorizedPubkey:n}=t,i=ks(Fu.Merge);return(new as).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:ws,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static withdraw(t){const{stakePubkey:e,authorizedPubkey:r,toPubkey:n,lamports:i,custodianPubkey:o}=t,s=ks(Fu.Withdraw,{lamports:i}),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:ws,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&a.push({pubkey:o,isSigner:!1,isWritable:!1}),(new as).add({keys:a,programId:this.programId,data:s})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,n=ks(Fu.Deactivate);return(new as).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}}Vu.programId=new zo("Stake11111111111111111111111111111111111111"),Vu.space=200;class Gu{constructor(t,e,r,n){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=t,this.authorizedVoter=e,this.authorizedWithdrawer=r,this.commission=n}}const Zu=Object.freeze({InitializeAccount:{index:0,layout:cr([sr("instruction"),((t="voteInit")=>cr([Vo("nodePubkey"),Vo("authorizedVoter"),Vo("authorizedWithdrawer"),ir("commission")],t))()])},Authorize:{index:1,layout:cr([sr("instruction"),Vo("newAuthorized"),sr("voteAuthorizationType")])},Withdraw:{index:3,layout:cr([sr("instruction"),ur("lamports")])},AuthorizeWithSeed:{index:10,layout:cr([sr("instruction"),((t="voteAuthorizeWithSeedArgs")=>cr([sr("voteAuthorizationType"),Vo("currentAuthorityDerivedKeyOwnerPubkey"),Zo("currentAuthorityDerivedKeySeed"),Vo("newAuthorized")],t))()])}}),Yu=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class Ju{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:n}=t,i=ks(Zu.InitializeAccount,{voteInit:{nodePubkey:Ro(n.nodePubkey.toBuffer()),authorizedVoter:Ro(n.authorizedVoter.toBuffer()),authorizedWithdrawer:Ro(n.authorizedWithdrawer.toBuffer()),commission:n.commission}}),o={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:ps,isSigner:!1,isWritable:!1},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i};return new ss(o)}static createAccount(t){const e=new as;return e.add(Ps.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.votePubkey,lamports:t.lamports,space:this.space,programId:this.programId})),e.add(this.initializeAccount({votePubkey:t.votePubkey,nodePubkey:t.voteInit.nodePubkey,voteInit:t.voteInit}))}static authorize(t){const{votePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:n,voteAuthorizationType:i}=t,o=ks(Zu.Authorize,{newAuthorized:Ro(n.toBuffer()),voteAuthorizationType:i.index}),s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return(new as).add({keys:s,programId:this.programId,data:o})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:n,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:s}=t,a=ks(Zu.AuthorizeWithSeed,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:Ro(r.toBuffer()),currentAuthorityDerivedKeySeed:n,newAuthorized:Ro(i.toBuffer()),voteAuthorizationType:o.index}}),u=[{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:hs,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return(new as).add({keys:u,programId:this.programId,data:a})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:n,toPubkey:i}=t,o=ks(Zu.Withdraw,{lamports:n}),s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return(new as).add({keys:s,programId:this.programId,data:o})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insuffcient funds.");return Ju.withdraw(t)}}Ju.programId=new zo("Vote111111111111111111111111111111111111111"),Ju.space=3731;const Xu=new zo("Va1idator1nfo111111111111111111111111111111"),Qu=Kr({name:Nr(),website:Cr(Nr()),details:Cr(Nr()),keybaseUsername:Cr(Nr())});class tc{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let r=[...t];if(2!==Jo(r))return null;const n=[];for(let t=0;t<2;t++){const t=new zo(r.slice(0,Uo));r=r.slice(Uo);const e=1===r.slice(0,1)[0];r=r.slice(1),n.push({publicKey:t,isSigner:e})}if(n[0].publicKey.equals(Xu)&&n[1].isSigner){const t=Zo().decode(e.Buffer.from(r)),i=JSON.parse(t);return Ar(i,Qu),new tc(n[1].publicKey,i)}return null}}const ec=new zo("Vote111111111111111111111111111111111111111"),rc=cr([Vo("nodePubkey"),Vo("authorizedWithdrawer"),ir("commission"),ar(),hr(cr([ar("slot"),sr("confirmationCount")]),nr(sr(),-8),"votes"),ir("rootSlotValid"),ar("rootSlot"),ar(),hr(cr([ar("epoch"),Vo("authorizedVoter")]),nr(sr(),-8),"authorizedVoters"),cr([hr(cr([Vo("authorizedPubkey"),ar("epochOfLastAuthorizedSwitch"),ar("targetEpoch")]),32,"buf"),ar("idx"),ir("isEmpty")],"priorVoters"),ar(),hr(cr([ar("epoch"),ar("credits"),ar("prevCredits")]),nr(sr(),-8),"epochCredits"),cr([ar("slot"),ar("timestamp")],"lastTimestamp")]);class nc{constructor(t){this.nodePubkey=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.rootSlot=void 0,this.votes=void 0,this.authorizedVoters=void 0,this.priorVoters=void 0,this.epochCredits=void 0,this.lastTimestamp=void 0,this.nodePubkey=t.nodePubkey,this.authorizedWithdrawer=t.authorizedWithdrawer,this.commission=t.commission,this.rootSlot=t.rootSlot,this.votes=t.votes,this.authorizedVoters=t.authorizedVoters,this.priorVoters=t.priorVoters,this.epochCredits=t.epochCredits,this.lastTimestamp=t.lastTimestamp}static fromAccountData(t){const e=rc.decode(Ro(t),4);let r=e.rootSlot;return e.rootSlotValid||(r=null),new nc({nodePubkey:new zo(e.nodePubkey),authorizedWithdrawer:new zo(e.authorizedWithdrawer),commission:e.commission,votes:e.votes,rootSlot:r,authorizedVoters:e.authorizedVoters.map(ic),priorVoters:sc(e.priorVoters),epochCredits:e.epochCredits,lastTimestamp:e.lastTimestamp})}}function ic({authorizedVoter:t,epoch:e}){return{epoch:e,authorizedVoter:new zo(t)}}function oc({authorizedPubkey:t,epochOfLastAuthorizedSwitch:e,targetEpoch:r}){return{authorizedPubkey:new zo(t),epochOfLastAuthorizedSwitch:e,targetEpoch:r}}function sc({buf:t,idx:e,isEmpty:r}){return r?[]:[...t.slice(e+1).map(oc),...t.slice(0,e).map(oc)]}const ac={http:{devnet:"http://api.devnet.solana.com",testnet:"http://api.testnet.solana.com","mainnet-beta":"http://api.mainnet-beta.solana.com/"},https:{devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com","mainnet-beta":"https://api.mainnet-beta.solana.com/"}};var uc=Object.freeze({__proto__:null,Account:class{constructor(t){if(this._publicKey=void 0,this._secretKey=void 0,t){const e=Ro(t);if(64!==t.length)throw new Error("bad secret key size");this._publicKey=e.slice(32,64),this._secretKey=e.slice(0,32)}else this._secretKey=Ro(Io()),this._publicKey=Ro(xo(this._secretKey))}get publicKey(){return new zo(this._publicKey)}get secretKey(){return e.Buffer.concat([this._secretKey,this._publicKey],64)}},AddressLookupTableAccount:js,AddressLookupTableInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=sr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Lu))if(n.index==e){r=t;break}if(!r)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return r}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);const{recentSlot:e}=Ss(Lu.CreateLookupTable,t.data);return{authority:t.keys[1].pubkey,payer:t.keys[2].pubkey,recentSlot:Number(e)}}static decodeExtendLookupTable(t){if(this.checkProgramId(t.programId),t.keys.length<2)throw new Error(`invalid instruction; found ${t.keys.length} keys, expected at least 2`);const{addresses:e}=Ss(Lu.ExtendLookupTable,t.data);return{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,payer:t.keys.length>2?t.keys[2].pubkey:void 0,addresses:e.map((t=>new zo(t)))}}static decodeCloseLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,3),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,recipient:t.keys[2].pubkey}}static decodeFreezeLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static decodeDeactivateLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(Ou.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}},AddressLookupTableProgram:Ou,Authorized:ju,BLOCKHASH_CACHE_TIMEOUT_MS:3e4,BPF_LOADER_DEPRECATED_PROGRAM_ID:Ko,BPF_LOADER_PROGRAM_ID:Rs,BpfLoader:class{static getMinNumSignatures(t){return Ts.getMinNumSignatures(t)}static load(t,e,r,n,i){return Ts.load(t,e,r,i,n)}},COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Cu,ComputeBudgetInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=ir("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Cu))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return r}static decodeRequestUnits(t){this.checkProgramId(t.programId);const{units:e,additionalFee:r}=Ss(Cu.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=Ss(Cu.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=Ss(Cu.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=Ss(Cu.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(Uu.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}},ComputeBudgetProgram:Uu,Connection:class{constructor(t,e){let r,n,i,o,s,a;this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{const t={};return async e=>{const{commitment:r,config:n}=Zs(e),i=this._buildArgs([],r,void 0,n),o=Us(i);return t[o]=t[o]??(async()=>{try{const t=Mr(await this._rpcRequest("getBlockHeight",i),Xs(Or()));if("error"in t)throw new Ws(t.error,"failed to get block height information");return t.result}finally{delete t[o]}})(),await t[o]}})(),e&&"string"==typeof e?this._commitment=e:e&&(this._commitment=e.commitment,this._confirmTransactionInitialTimeout=e.confirmTransactionInitialTimeout,r=e.wsEndpoint,n=e.httpHeaders,i=e.fetch,o=e.fetchMiddleware,s=e.disableRetryOnRateLimit,a=e.httpAgent),this._rpcEndpoint=function(t){if(!1===/^https?:/.test(t))throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return t}(t),this._rpcWsEndpoint=r||function(t){const e=t.match(Fs);if(null==e)throw TypeError(`Failed to validate endpoint URL \`${t}\``);const[r,n,i,o]=e,s=t.startsWith("https:")?"wss:":"ws:",a=null==i?null:parseInt(i.slice(1),10);return`${s}//${n}${null==a?"":`:${a+1}`}${o}`}(t),this._rpcClient=function(t,e,r,n,i,o){const s=r||qs;let a;return null!=o&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments."),n&&(a=async(t,e)=>{const r=await new Promise(((r,i)=>{try{n(t,e,((t,e)=>r([t,e])))}catch(t){i(t)}}));return await s(...r)}),new pn((async(r,n)=>{const o={method:"POST",body:r,agent:void 0,headers:Object.assign({"Content-Type":"application/json"},e||{},Tu)};try{let e,r=5,u=500;for(;e=a?await a(t,o):await s(t,o),429===e.status&&!0!==i&&(r-=1,0!==r);)console.log(`Server responded with ${e.status} ${e.statusText}. Retrying after ${u}ms delay...`),await vs(u),u*=2;const c=await e.text();e.ok?n(null,c):n(new Error(`${e.status} ${e.statusText}: ${c}`))}catch(t){t instanceof Error&&n(t)}}),{})}(t,n,i,o,s,a),this._rpcRequest=function(t){return(e,r)=>new Promise(((n,i)=>{t.request(e,r,((t,e)=>{t?i(t):n(e)}))}))}(this._rpcClient),this._rpcBatchRequest=function(t){return e=>new Promise(((r,n)=>{0===e.length&&r([]);const i=e.map((e=>t.request(e.methodName,e.args)));t.request(i,((t,e)=>{t?n(t):r(e)}))}))}(this._rpcClient),this._rpcWebSocket=new Ds(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgs([t.toBase58()],r,void 0,n),o=Mr(await this._rpcRequest("getBalance",i),Qs(Or()));if("error"in o)throw new Ws(o.error,`failed to get balance for ${t.toBase58()}`);return o.result}async getBalance(t,e){return await this.getBalanceAndContext(t,e).then((t=>t.value)).catch((e=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+e)}))}async getBlockTime(t){const e=Mr(await this._rpcRequest("getBlockTime",[t]),Xs(Lr(Or())));if("error"in e)throw new Ws(e.error,`failed to get block time for slot ${t}`);return e.result}async getMinimumLedgerSlot(){const t=Mr(await this._rpcRequest("minimumLedgerSlot",[]),Xs(Or()));if("error"in t)throw new Ws(t.error,"failed to get minimum ledger slot");return t.result}async getFirstAvailableBlock(){const t=Mr(await this._rpcRequest("getFirstAvailableBlock",[]),ka);if("error"in t)throw new Ws(t.error,"failed to get first available block");return t.result}async getSupply(t){let e={};e="string"==typeof t?{commitment:t}:t?{...t,commitment:t&&t.commitment||this.commitment}:{commitment:this.commitment};const r=Mr(await this._rpcRequest("getSupply",[e]),Sa);if("error"in r)throw new Ws(r.error,"failed to get supply");return r.result}async getTokenSupply(t,e){const r=this._buildArgs([t.toBase58()],e),n=Mr(await this._rpcRequest("getTokenSupply",r),Qs(_a));if("error"in n)throw new Ws(n.error,"failed to get token supply");return n.result}async getTokenAccountBalance(t,e){const r=this._buildArgs([t.toBase58()],e),n=Mr(await this._rpcRequest("getTokenAccountBalance",r),Qs(_a));if("error"in n)throw new Ws(n.error,"failed to get token account balance");return n.result}async getTokenAccountsByOwner(t,e,r){const{commitment:n,config:i}=Zs(r);let o=[t.toBase58()];"mint"in e?o.push({mint:e.mint.toBase58()}):o.push({programId:e.programId.toBase58()});const s=this._buildArgs(o,n,"base64",i),a=Mr(await this._rpcRequest("getTokenAccountsByOwner",s),Ma);if("error"in a)throw new Ws(a.error,`failed to get token accounts owned by account ${t.toBase58()}`);return a.result}async getParsedTokenAccountsByOwner(t,e,r){let n=[t.toBase58()];"mint"in e?n.push({mint:e.mint.toBase58()}):n.push({programId:e.programId.toBase58()});const i=this._buildArgs(n,r,"jsonParsed"),o=Mr(await this._rpcRequest("getTokenAccountsByOwner",i),Ea);if("error"in o)throw new Ws(o.error,`failed to get token accounts owned by account ${t.toBase58()}`);return o.result}async getLargestAccounts(t){const e={...t,commitment:t&&t.commitment||this.commitment},r=e.filter||e.commitment?[e]:[],n=Mr(await this._rpcRequest("getLargestAccounts",r),xa);if("error"in n)throw new Ws(n.error,"failed to get largest accounts");return n.result}async getTokenLargestAccounts(t,e){const r=this._buildArgs([t.toBase58()],e),n=Mr(await this._rpcRequest("getTokenLargestAccounts",r),Aa);if("error"in n)throw new Ws(n.error,"failed to get token largest accounts");return n.result}async getAccountInfoAndContext(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgs([t.toBase58()],r,"base64",n),o=Mr(await this._rpcRequest("getAccountInfo",i),Qs(Lr(Ba)));if("error"in o)throw new Ws(o.error,`failed to get info about account ${t.toBase58()}`);return o.result}async getParsedAccountInfo(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",n),o=Mr(await this._rpcRequest("getAccountInfo",i),Qs(Lr(Ra)));if("error"in o)throw new Ws(o.error,`failed to get info about account ${t.toBase58()}`);return o.result}async getAccountInfo(t,e){try{return(await this.getAccountInfoAndContext(t,e)).value}catch(e){throw new Error("failed to get info about account "+t.toBase58()+": "+e)}}async getMultipleParsedAccounts(t,e){const{commitment:r,config:n}=Zs(e),i=t.map((t=>t.toBase58())),o=this._buildArgs([i],r,"jsonParsed",n),s=Mr(await this._rpcRequest("getMultipleAccounts",o),Qs(Br(Lr(Ra))));if("error"in s)throw new Ws(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfoAndContext(t,e){const{commitment:r,config:n}=Zs(e),i=t.map((t=>t.toBase58())),o=this._buildArgs([i],r,"base64",n),s=Mr(await this._rpcRequest("getMultipleAccounts",o),Qs(Br(Lr(Ba))));if("error"in s)throw new Ws(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfo(t,e){return(await this.getMultipleAccountsInfoAndContext(t,e)).value}async getStakeActivation(t,e,r){const{commitment:n,config:i}=Zs(e),o=this._buildArgs([t.toBase58()],n,void 0,{...i,epoch:null!=r?r:i?.epoch}),s=Mr(await this._rpcRequest("getStakeActivation",o),Xs(Oa));if("error"in s)throw new Ws(s.error,`failed to get Stake Activation ${t.toBase58()}`);return s.result}async getProgramAccounts(t,e){const{commitment:r,config:n}=Zs(e),{encoding:i,...o}=n||{},s=this._buildArgs([t.toBase58()],r,i||"base64",o),a=Mr(await this._rpcRequest("getProgramAccounts",s),Xs(Br(Pa)));if("error"in a)throw new Ws(a.error,`failed to get accounts owned by program ${t.toBase58()}`);return a.result}async getParsedProgramAccounts(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",n),o=Mr(await this._rpcRequest("getProgramAccounts",i),Xs(Br(La)));if("error"in o)throw new Ws(o.error,`failed to get accounts owned by program ${t.toBase58()}`);return o.result}async confirmTransaction(t,e){let r,n;if("string"==typeof t)r=t;else{const e=t;if(e.abortSignal?.aborted)return Promise.reject(e.abortSignal.reason);r=e.signature}try{n=xt.decode(r)}catch(t){throw new Error("signature must be base58 encoded: "+r)}return Qo(64===n.length,"signature has invalid length"),"string"==typeof t?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:e||this.commitment,signature:r}):"lastValidBlockHeight"in t?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e||this.commitment,strategy:t}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:e||this.commitment,strategy:t})}getCancellationPromise(t){return new Promise(((e,r)=>{null!=t&&(t.aborted?r(t.reason):t.addEventListener("abort",(()=>{r(t.reason)})))}))}getTransactionConfirmationPromise({commitment:t,signature:e}){let r,n,i=!1;return{abortConfirmation:()=>{n&&(n(),n=void 0),null!=r&&(this.removeSignatureListener(r),r=void 0)},confirmationPromise:new Promise(((o,s)=>{try{r=this.onSignature(e,((t,e)=>{r=void 0;const n={context:e,value:t};o({__type:is.PROCESSED,response:n})}),t);const a=new Promise((t=>{null==r?t():n=this._onSubscriptionStateChange(r,(e=>{"subscribed"===e&&t()}))}));(async()=>{if(await a,i)return;const r=await this.getSignatureStatus(e);if(i)return;if(null==r)return;const{context:n,value:u}=r;if(null!=u)if(u?.err)s(u.err);else{switch(t){case"confirmed":case"single":case"singleGossip":if("processed"===u.confirmationStatus)return;break;case"finalized":case"max":case"root":if("processed"===u.confirmationStatus||"confirmed"===u.confirmationStatus)return}i=!0,o({__type:is.PROCESSED,response:{context:n,value:u}})}})()}catch(t){s(t)}}))}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:e,lastValidBlockHeight:r,signature:n}}){let i=!1;const o=new Promise((e=>{const n=async()=>{try{return await this.getBlockHeight(t)}catch(t){return-1}};(async()=>{let t=await n();if(!i){for(;t<=r;){if(await vs(1e3),i)return;if(t=await n(),i)return}e({__type:is.BLOCKHEIGHT_EXCEEDED})}})()})),{abortConfirmation:s,confirmationPromise:a}=this.getTransactionConfirmationPromise({commitment:t,signature:n}),u=this.getCancellationPromise(e);let c;try{const t=await Promise.race([u,a,o]);if(t.__type!==is.PROCESSED)throw new jo(n);c=t.response}finally{i=!0,s()}return c}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:e,minContextSlot:r,nonceAccountPubkey:n,nonceValue:i,signature:o}}){let s=!1;const a=new Promise((e=>{let o=i,a=null;const u=async()=>{try{const{context:e,value:i}=await this.getNonceAndContext(n,{commitment:t,minContextSlot:r});return a=e.slot,i?.nonce}catch(t){return o}};(async()=>{if(o=await u(),!s)for(;;){if(i!==o)return void e({__type:is.NONCE_INVALID,slotInWhichNonceDidAdvance:a});if(await vs(2e3),s)return;if(o=await u(),s)return}})()})),{abortConfirmation:u,confirmationPromise:c}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),h=this.getCancellationPromise(e);let l;try{const e=await Promise.race([h,c,a]);if(e.__type===is.PROCESSED)l=e.response;else{let n;for(;;){const t=await this.getSignatureStatus(o);if(null==t)break;if(!(t.context.slot<(e.slotInWhichNonceDidAdvance??r))){n=t;break}await vs(400)}if(!n?.value)throw new Fo(o);{const e=t||"finalized",{confirmationStatus:r}=n.value;switch(e){case"processed":case"recent":if("processed"!==r&&"confirmed"!==r&&"finalized"!==r)throw new Fo(o);break;case"confirmed":case"single":case"singleGossip":if("confirmed"!==r&&"finalized"!==r)throw new Fo(o);break;case"finalized":case"max":case"root":if("finalized"!==r)throw new Fo(o)}l={context:n.context,value:{err:n.value.err}}}}}finally{s=!0,u()}return l}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:e}){let r;const n=new Promise((e=>{let n=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":n=this._confirmTransactionInitialTimeout||3e4}r=setTimeout((()=>e({__type:is.TIMED_OUT,timeoutMs:n})),n)})),{abortConfirmation:i,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:t,signature:e});let s;try{const t=await Promise.race([o,n]);if(t.__type!==is.PROCESSED)throw new Ho(e,t.timeoutMs/1e3);s=t.response}finally{clearTimeout(r),i()}return s}async getClusterNodes(){const t=Mr(await this._rpcRequest("getClusterNodes",[]),Xs(Br($a)));if("error"in t)throw new Ws(t.error,"failed to get cluster nodes");return t.result}async getVoteAccounts(t){const e=this._buildArgs([],t),r=Mr(await this._rpcRequest("getVoteAccounts",e),Ga);if("error"in r)throw new Ws(r.error,"failed to get vote accounts");return r.result}async getSlot(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,void 0,r),i=Mr(await this._rpcRequest("getSlot",n),Xs(Or()));if("error"in i)throw new Ws(i.error,"failed to get slot");return i.result}async getSlotLeader(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,void 0,r),i=Mr(await this._rpcRequest("getSlotLeader",n),Xs(Nr()));if("error"in i)throw new Ws(i.error,"failed to get slot leader");return i.result}async getSlotLeaders(t,e){const r=[t,e],n=Mr(await this._rpcRequest("getSlotLeaders",r),Xs(Br($s)));if("error"in n)throw new Ws(n.error,"failed to get slot leaders");return n.result}async getSignatureStatus(t,e){const{context:r,value:n}=await this.getSignatureStatuses([t],e);Qo(1===n.length);return{context:r,value:n[0]}}async getSignatureStatuses(t,e){const r=[t];e&&r.push(e);const n=Mr(await this._rpcRequest("getSignatureStatuses",r),Ja);if("error"in n)throw new Ws(n.error,"failed to get signature status");return n.result}async getTransactionCount(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,void 0,r),i=Mr(await this._rpcRequest("getTransactionCount",n),Xs(Or()));if("error"in i)throw new Ws(i.error,"failed to get transaction count");return i.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){const e=this._buildArgs([],t),r=Mr(await this._rpcRequest("getInflationGovernor",e),ma);if("error"in r)throw new Ws(r.error,"failed to get inflation");return r.result}async getInflationReward(t,e,r){const{commitment:n,config:i}=Zs(r),o=this._buildArgs([t.map((t=>t.toBase58()))],n,void 0,{...i,epoch:null!=e?e:i?.epoch}),s=Mr(await this._rpcRequest("getInflationReward",o),na);if("error"in s)throw new Ws(s.error,"failed to get inflation reward");return s.result}async getInflationRate(){const t=Mr(await this._rpcRequest("getInflationRate",[]),ga);if("error"in t)throw new Ws(t.error,"failed to get inflation rate");return t.result}async getEpochInfo(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,void 0,r),i=Mr(await this._rpcRequest("getEpochInfo",n),wa);if("error"in i)throw new Ws(i.error,"failed to get epoch info");return i.result}async getEpochSchedule(){const t=Mr(await this._rpcRequest("getEpochSchedule",[]),ba);if("error"in t)throw new Ws(t.error,"failed to get epoch schedule");const e=t.result;return new zs(e.slotsPerEpoch,e.leaderScheduleSlotOffset,e.warmup,e.firstNormalEpoch,e.firstNormalSlot)}async getLeaderSchedule(){const t=Mr(await this._rpcRequest("getLeaderSchedule",[]),va);if("error"in t)throw new Ws(t.error,"failed to get leader schedule");return t.result}async getMinimumBalanceForRentExemption(t,e){const r=this._buildArgs([t],e),n=Mr(await this._rpcRequest("getMinimumBalanceForRentExemption",r),Xa);return"error"in n?(console.warn("Unable to fetch minimum balance for rent exemption"),0):n.result}async getRecentBlockhashAndContext(t){const e=this._buildArgs([],t),r=Mr(await this._rpcRequest("getRecentBlockhash",e),_u);if("error"in r)throw new Ws(r.error,"failed to get recent blockhash");return r.result}async getRecentPerformanceSamples(t){const e=Mr(await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),Mu);if("error"in e)throw new Ws(e.error,"failed to get recent performance samples");return e.result}async getFeeCalculatorForBlockhash(t,e){const r=this._buildArgs([t],e),n=Mr(await this._rpcRequest("getFeeCalculatorForBlockhash",r),Iu);if("error"in n)throw new Ws(n.error,"failed to get fee calculator");const{context:i,value:o}=n.result;return{context:i,value:null!==o?o.feeCalculator:null}}async getFeeForMessage(t,e){const r=Ro(t.serialize()).toString("base64"),n=this._buildArgs([r],e),i=Mr(await this._rpcRequest("getFeeForMessage",n),Qs(Lr(Or())));if("error"in i)throw new Ws(i.error,"failed to get fee for message");if(null===i.result)throw new Error("invalid blockhash");return i.result}async getRecentPrioritizationFees(t){const e=t?.lockedWritableAccounts?.map((t=>t.toBase58())),r=this._buildArgs(e?.length?[e]:[]),n=Mr(await this._rpcRequest("getRecentPrioritizationFees",r),ya);if("error"in n)throw new Ws(n.error,"failed to get recent prioritization fees");return n.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhashAndContext(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,void 0,r),i=Mr(await this._rpcRequest("getLatestBlockhash",n),Au);if("error"in i)throw new Ws(i.error,"failed to get latest blockhash");return i.result}async getVersion(){const t=Mr(await this._rpcRequest("getVersion",[]),Xs(da));if("error"in t)throw new Ws(t.error,"failed to get version");return t.result}async getGenesisHash(){const t=Mr(await this._rpcRequest("getGenesisHash",[]),Xs(Nr()));if("error"in t)throw new Ws(t.error,"failed to get genesis hash");return t.result}async getBlock(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,n),o=await this._rpcRequest("getBlock",i);try{switch(n?.transactionDetails){case"accounts":{const t=Mr(o,mu);if("error"in t)throw t.error;return t.result}case"none":{const t=Mr(o,pu);if("error"in t)throw t.error;return t.result}default:{const t=Mr(o,fu);if("error"in t)throw t.error;const{result:e}=t;return e?{...e,transactions:e.transactions.map((({transaction:t,meta:e,version:r})=>({meta:e,transaction:{...t,message:ea(r,t.message)},version:r})))}:null}}}catch(t){throw new Ws(t,"failed to get confirmed block")}}async getParsedBlock(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n),o=await this._rpcRequest("getBlock",i);try{switch(n?.transactionDetails){case"accounts":{const t=Mr(o,yu);if("error"in t)throw t.error;return t.result}case"none":{const t=Mr(o,wu);if("error"in t)throw t.error;return t.result}default:{const t=Mr(o,gu);if("error"in t)throw t.error;return t.result}}}catch(t){throw new Ws(t,"failed to get block")}}async getBlockProduction(t){let e,r;if("string"==typeof t)r=t;else if(t){const{commitment:n,...i}=t;r=n,e=i}const n=this._buildArgs([],r,"base64",e),i=Mr(await this._rpcRequest("getBlockProduction",n),pa);if("error"in i)throw new Ws(i.error,"failed to get block production information");return i.result}async getTransaction(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,n),o=Mr(await this._rpcRequest("getTransaction",i),ku);if("error"in o)throw new Ws(o.error,"failed to get transaction");const s=o.result;return s?{...s,transaction:{...s.transaction,message:ea(s.version,s.transaction.message)}}:s}async getParsedTransaction(t,e){const{commitment:r,config:n}=Zs(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n),o=Mr(await this._rpcRequest("getTransaction",i),Su);if("error"in o)throw new Ws(o.error,"failed to get transaction");return o.result}async getParsedTransactions(t,e){const{commitment:r,config:n}=Zs(e),i=t.map((t=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n)})));return(await this._rpcBatchRequest(i)).map((t=>{const e=Mr(t,Su);if("error"in e)throw new Ws(e.error,"failed to get transactions");return e.result}))}async getTransactions(t,e){const{commitment:r,config:n}=Zs(e),i=t.map((t=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([t],r,void 0,n)})));return(await this._rpcBatchRequest(i)).map((t=>{const e=Mr(t,ku);if("error"in e)throw new Ws(e.error,"failed to get transactions");const r=e.result;return r?{...r,transaction:{...r.transaction,message:ea(r.version,r.transaction.message)}}:r}))}async getConfirmedBlock(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),n=Mr(await this._rpcRequest("getConfirmedBlock",r),bu);if("error"in n)throw new Ws(n.error,"failed to get confirmed block");const i=n.result;if(!i)throw new Error("Confirmed block "+t+" not found");const o={...i,transactions:i.transactions.map((({transaction:t,meta:e})=>{const r=new es(t.message);return{meta:e,transaction:{...t,message:r}}}))};return{...o,transactions:o.transactions.map((({transaction:t,meta:e})=>({meta:e,transaction:as.populate(t.message,t.signatures)})))}}async getBlocks(t,e,r){const n=this._buildArgsAtLeastConfirmed(void 0!==e?[t,e]:[t],r),i=Mr(await this._rpcRequest("getBlocks",n),Xs(Br(Or())));if("error"in i)throw new Ws(i.error,"failed to get blocks");return i.result}async getBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),n=Mr(await this._rpcRequest("getBlock",r),vu);if("error"in n)throw new Ws(n.error,"failed to get block");const i=n.result;if(!i)throw new Error("Block "+t+" not found");return i}async getConfirmedBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),n=Mr(await this._rpcRequest("getConfirmedBlock",r),vu);if("error"in n)throw new Ws(n.error,"failed to get confirmed block");const i=n.result;if(!i)throw new Error("Confirmed block "+t+" not found");return i}async getConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),n=Mr(await this._rpcRequest("getConfirmedTransaction",r),ku);if("error"in n)throw new Ws(n.error,"failed to get transaction");const i=n.result;if(!i)return i;const o=new es(i.transaction.message),s=i.transaction.signatures;return{...i,transaction:as.populate(o,s)}}async getParsedConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,"jsonParsed"),n=Mr(await this._rpcRequest("getConfirmedTransaction",r),Su);if("error"in n)throw new Ws(n.error,"failed to get confirmed transaction");return n.result}async getParsedConfirmedTransactions(t,e){const r=t.map((t=>({methodName:"getConfirmedTransaction",args:this._buildArgsAtLeastConfirmed([t],e,"jsonParsed")})));return(await this._rpcBatchRequest(r)).map((t=>{const e=Mr(t,Su);if("error"in e)throw new Ws(e.error,"failed to get confirmed transactions");return e.result}))}async getConfirmedSignaturesForAddress(t,e,r){let n={},i=await this.getFirstAvailableBlock();for(;!("until"in n)&&!(--e<=0||e<i);)try{const t=await this.getConfirmedBlockSignatures(e,"finalized");t.signatures.length>0&&(n.until=t.signatures[t.signatures.length-1].toString())}catch(t){if(t instanceof Error&&t.message.includes("skipped"))continue;throw t}let o=await this.getSlot("finalized");for(;!("before"in n||++r>o);)try{const t=await this.getConfirmedBlockSignatures(r);t.signatures.length>0&&(n.before=t.signatures[t.signatures.length-1].toString())}catch(t){if(t instanceof Error&&t.message.includes("skipped"))continue;throw t}return(await this.getConfirmedSignaturesForAddress2(t,n)).map((t=>t.signature))}async getConfirmedSignaturesForAddress2(t,e,r){const n=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=Mr(await this._rpcRequest("getConfirmedSignaturesForAddress2",n),Ca);if("error"in i)throw new Ws(i.error,"failed to get confirmed signatures for address");return i.result}async getSignaturesForAddress(t,e,r){const n=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=Mr(await this._rpcRequest("getSignaturesForAddress",n),Ua);if("error"in i)throw new Ws(i.error,"failed to get signatures for address");return i.result}async getAddressLookupTable(t,e){const{context:r,value:n}=await this.getAccountInfoAndContext(t,e);let i=null;return null!==n&&(i=new js({key:t,state:js.deserialize(n.data)})),{context:r,value:i}}async getNonceAndContext(t,e){const{context:r,value:n}=await this.getAccountInfoAndContext(t,e);let i=null;return null!==n&&(i=Is.fromAccountData(n.data)),{context:r,value:i}}async getNonce(t,e){return await this.getNonceAndContext(t,e).then((t=>t.value)).catch((e=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+e)}))}async requestAirdrop(t,e){const r=Mr(await this._rpcRequest("requestAirdrop",[t.toBase58(),e]),Eu);if("error"in r)throw new Ws(r.error,`airdrop to ${t.toBase58()} failed`);return r.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await vs(100);const t=Date.now()-this._blockhashInfo.lastFetch>=3e4;if(null!==this._blockhashInfo.latestBlockhash&&!t)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const t=Date.now(),e=this._blockhashInfo.latestBlockhash,r=e?e.blockhash:null;for(let t=0;t<50;t++){const t=await this.getLatestBlockhash("finalized");if(r!==t.blockhash)return this._blockhashInfo={latestBlockhash:t,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},t;await vs(200)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-t}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(t){const{commitment:e,config:r}=Zs(t),n=this._buildArgs([],e,"base64",r),i=Mr(await this._rpcRequest("getStakeMinimumDelegation",n),Qs(Or()));if("error"in i)throw new Ws(i.error,"failed to get stake minimum delegation");return i.result}async simulateTransaction(t,r,n){if("message"in t){const i=t.serialize(),o=e.Buffer.from(i).toString("base64");if(Array.isArray(r)||void 0!==n)throw new Error("Invalid arguments");const s=r||{};s.encoding="base64","commitment"in s||(s.commitment=this.commitment);const a=[o,s],u=Mr(await this._rpcRequest("simulateTransaction",a),fa);if("error"in u)throw new Error("failed to simulate transaction: "+u.error.message);return u.result}let i;if(t instanceof as){let e=t;i=new as,i.feePayer=e.feePayer,i.instructions=t.instructions,i.nonceInfo=e.nonceInfo,i.signatures=e.signatures}else i=as.populate(t),i._message=i._json=void 0;if(void 0!==r&&!Array.isArray(r))throw new Error("Invalid arguments");const o=r;if(i.nonceInfo&&o)i.sign(...o);else{let t=this._disableBlockhashCaching;for(;;){const e=await this._blockhashWithExpiryBlockHeight(t);if(i.lastValidBlockHeight=e.lastValidBlockHeight,i.recentBlockhash=e.blockhash,!o)break;if(i.sign(...o),!i.signature)throw new Error("!signature");const r=i.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(r)&&!this._blockhashInfo.transactionSignatures.includes(r)){this._blockhashInfo.simulatedSignatures.push(r);break}t=!0}}const s=i._compile(),a=s.serialize(),u=i._serialize(a).toString("base64"),c={encoding:"base64",commitment:this.commitment};if(n){const t=(Array.isArray(n)?n:s.nonProgramIds()).map((t=>t.toBase58()));c.accounts={encoding:"base64",addresses:t}}o&&(c.sigVerify=!0);const h=[u,c],l=Mr(await this._rpcRequest("simulateTransaction",h),fa);if("error"in l){let t;if("data"in l.error&&(t=l.error.data.logs,t&&Array.isArray(t))){const e="\n ",r=e+t.join(e);console.error(l.error.message,r)}throw new Ks("failed to simulate transaction: "+l.error.message,t)}return l.result}async sendTransaction(t,e,r){if("version"in t){if(e&&Array.isArray(e))throw new Error("Invalid arguments");const r=t.serialize();return await this.sendRawTransaction(r,e)}if(void 0===e||!Array.isArray(e))throw new Error("Invalid arguments");const n=e;if(t.nonceInfo)t.sign(...n);else{let e=this._disableBlockhashCaching;for(;;){const r=await this._blockhashWithExpiryBlockHeight(e);if(t.lastValidBlockHeight=r.lastValidBlockHeight,t.recentBlockhash=r.blockhash,t.sign(...n),!t.signature)throw new Error("!signature");const i=t.signature.toString("base64");if(!this._blockhashInfo.transactionSignatures.includes(i)){this._blockhashInfo.transactionSignatures.push(i);break}e=!0}}const i=t.serialize();return await this.sendRawTransaction(i,r)}async sendRawTransaction(t,e){const r=Ro(t).toString("base64");return await this.sendEncodedTransaction(r,e)}async sendEncodedTransaction(t,e){const r={encoding:"base64"},n=e&&e.skipPreflight,i=e&&e.preflightCommitment||this.commitment;e&&null!=e.maxRetries&&(r.maxRetries=e.maxRetries),e&&null!=e.minContextSlot&&(r.minContextSlot=e.minContextSlot),n&&(r.skipPreflight=n),i&&(r.preflightCommitment=i);const o=[t,r],s=Mr(await this._rpcRequest("sendTransaction",o),xu);if("error"in s){let t;throw"data"in s.error&&(t=s.error.data.logs),new Ks("failed to send transaction: "+s.error.message,t)}return s.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval((()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()}),5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),1e3!==t?(this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach((([t,e])=>{this._setSubscription(t,{...e,state:"pending"})}))):this._updateSubscriptions()}_setSubscription(t,e){const r=this._subscriptionsByHash[t]?.state;if(this._subscriptionsByHash[t]=e,r!==e.state){const r=this._subscriptionStateChangeCallbacksByHash[t];r&&r.forEach((t=>{try{t(e.state)}catch{}}))}}_onSubscriptionStateChange(t,e){var r;const n=this._subscriptionHashByClientSubscriptionId[t];if(null==n)return()=>{};const i=(r=this._subscriptionStateChangeCallbacksByHash)[n]||(r[n]=new Set);return i.add(e),()=>{i.delete(e),0===i.size&&delete this._subscriptionStateChangeCallbacksByHash[n]}}async _updateSubscriptions(){if(0===Object.keys(this._subscriptionsByHash).length)return void(this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout((()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(t){t instanceof Error&&console.log(`Error when closing socket connection: ${t.message}`)}}),500)));if(null!==this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected)return void this._rpcWebSocket.connect();const t=this._rpcWebSocketGeneration,e=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map((async t=>{const r=this._subscriptionsByHash[t];if(void 0!==r)switch(r.state){case"pending":case"unsubscribed":if(0===r.callbacks.size)return delete this._subscriptionsByHash[t],"unsubscribed"===r.state&&delete this._subscriptionCallbacksByServerSubscriptionId[r.serverSubscriptionId],void await this._updateSubscriptions();await(async()=>{const{args:n,method:i}=r;try{this._setSubscription(t,{...r,state:"subscribing"});const e=await this._rpcWebSocket.call(i,n);this._setSubscription(t,{...r,serverSubscriptionId:e,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[e]=r.callbacks,await this._updateSubscriptions()}catch(o){if(o instanceof Error&&console.error(`${i} error for argument`,n,o.message),!e())return;this._setSubscription(t,{...r,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":0===r.callbacks.size&&await(async()=>{const{serverSubscriptionId:n,unsubscribeMethod:i}=r;if(this._subscriptionsAutoDisposedByRpc.has(n))this._subscriptionsAutoDisposedByRpc.delete(n);else{this._setSubscription(t,{...r,state:"unsubscribing"}),this._setSubscription(t,{...r,state:"unsubscribing"});try{await this._rpcWebSocket.call(i,[n])}catch(n){if(n instanceof Error&&console.error(`${i} error:`,n.message),!e())return;return this._setSubscription(t,{...r,state:"subscribed"}),void await this._updateSubscriptions()}}this._setSubscription(t,{...r,state:"unsubscribed"}),await this._updateSubscriptions()})()}})))}_handleServerNotification(t,e){const r=this._subscriptionCallbacksByServerSubscriptionId[t];void 0!==r&&r.forEach((t=>{try{t(...e)}catch(t){console.error(t)}}))}_wsOnAccountNotification(t){const{result:e,subscription:r}=Mr(t,Na);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,n=Us([t.method,e]),i=this._subscriptionsByHash[n];return void 0===i?this._subscriptionsByHash[n]={...t,args:e,callbacks:new Set([t.callback]),state:"pending"}:i.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=n,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];const e=this._subscriptionsByHash[n];Qo(void 0!==e,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),e.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,e,r){const n=this._buildArgs([t.toBase58()],r||this._commitment||"finalized","base64");return this._makeSubscription({callback:e,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},n)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){const{result:e,subscription:r}=Mr(t,Ka);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,n){const i=this._buildArgs([t.toBase58()],r||this._commitment||"finalized","base64",n?{filters:n}:void 0);return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},i)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,e,r){const n=this._buildArgs(["object"==typeof t?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:e,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},n)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){const{result:e,subscription:r}=Mr(t,Pu);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=Mr(t,qa);this._handleServerNotification(r,[e])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){const{result:e,subscription:r}=Mr(t,ja);this._handleServerNotification(r,[e])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,e){const r=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];r?await r():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${e}' events could not be found.`)}_buildArgs(t,e,r,n){const i=e||this._commitment;if(i||r||n){let e={};r&&(e.encoding=r),i&&(e.commitment=i),n&&(e=Object.assign(e,n)),t.push(e)}return t}_buildArgsAtLeastConfirmed(t,e,r,n){const i=e||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,e,r,n)}_wsOnSignatureNotification(t){const{result:e,subscription:r}=Mr(t,Ha);"receivedSignature"!==e.value&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,"receivedSignature"===e.value?[{type:"received"},e.context]:[{type:"status",result:e.value},e.context])}onSignature(t,e,r){const n=this._buildArgs([t],r||this._commitment||"finalized"),i=this._makeSubscription({callback:(t,r)=>{if("status"===t.type){e(t.result,r);try{this.removeSignatureListener(i)}catch(t){}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},n);return i}onSignatureWithOptions(t,e,r){const{commitment:n,...i}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},o=this._buildArgs([t],n,void 0,i),s=this._makeSubscription({callback:(t,r)=>{e(t,r);try{this.removeSignatureListener(s)}catch(t){}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return s}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=Mr(t,Fa);this._handleServerNotification(r,[e])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}},Ed25519Program:zu,Enum:class extends Lo{constructor(t){if(super(t),this.enum="",1!==Object.keys(t).length)throw new Error("Enum can only take single value");Object.keys(t).map((t=>{this.enum=t}))}},EpochSchedule:zs,FeeCalculatorLayout:_s,Keypair:Ru,LAMPORTS_PER_SOL:1e9,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:Lu,Loader:Ts,Lockup:Hu,MAX_SEED_LENGTH:32,Message:es,MessageAccountKeys:$o,MessageV0:rs,NONCE_ACCOUNT_LENGTH:Ms,NonceAccount:Is,PACKET_DATA_SIZE:Wo,PUBLIC_KEY_LENGTH:Uo,PublicKey:zo,SIGNATURE_LENGTH_IN_BYTES:Do,SOLANA_SCHEMA:Oo,STAKE_CONFIG_ID:Du,STAKE_INSTRUCTION_LAYOUTS:Fu,SYSTEM_INSTRUCTION_LAYOUTS:Bs,SYSVAR_CLOCK_PUBKEY:hs,SYSVAR_EPOCH_SCHEDULE_PUBKEY:ls,SYSVAR_INSTRUCTIONS_PUBKEY:ds,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:fs,SYSVAR_RENT_PUBKEY:ps,SYSVAR_REWARDS_PUBKEY:ms,SYSVAR_SLOT_HASHES_PUBKEY:gs,SYSVAR_SLOT_HISTORY_PUBKEY:ys,SYSVAR_STAKE_HISTORY_PUBKEY:ws,Secp256k1Program:qu,SendTransactionError:Ks,SolanaJSONRPCError:Ws,SolanaJSONRPCErrorCode:{JSON_RPC_SERVER_ERROR_BLOCK_CLEANED_UP:-32001,JSON_RPC_SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE:-32002,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE:-32003,JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE:-32004,JSON_RPC_SERVER_ERROR_NODE_UNHEALTHY:-32005,JSON_RPC_SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE:-32006,JSON_RPC_SERVER_ERROR_SLOT_SKIPPED:-32007,JSON_RPC_SERVER_ERROR_NO_SNAPSHOT:-32008,JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED:-32009,JSON_RPC_SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX:-32010,JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE:-32011,JSON_RPC_SCAN_ERROR:-32012,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH:-32013,JSON_RPC_SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET:-32014,JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION:-32015,JSON_RPC_SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED:-32016},StakeAuthorizationLayout:$u,StakeInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=sr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Fu))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a StakeInstruction");return r}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e,lockup:r}=Ss(Fu.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new ju(new zo(e.staker),new zo(e.withdrawer)),lockup:new Hu(r.unixTimestamp,r.epoch,new zo(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),Ss(Fu.Delegate,t.data),{stakePubkey:t.keys[0].pubkey,votePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[5].pubkey}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,stakeAuthorizationType:r}=Ss(Fu.Authorize,t.data),n={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new zo(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(n.custodianPubkey=t.keys[3].pubkey),n}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{newAuthorized:e,stakeAuthorizationType:r,authoritySeed:n,authorityOwner:i}=Ss(Fu.AuthorizeWithSeed,t.data),o={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:n,authorityOwner:new zo(i),newAuthorizedPubkey:new zo(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(o.custodianPubkey=t.keys[3].pubkey),o}static decodeSplit(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ss(Fu.Split,t.data);return{stakePubkey:t.keys[0].pubkey,splitStakePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[2].pubkey,lamports:e}}static decodeMerge(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ss(Fu.Merge,t.data),{stakePubkey:t.keys[0].pubkey,sourceStakePubKey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=Ss(Fu.Withdraw,t.data),r={stakePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e};return t.keys.length>5&&(r.custodianPubkey=t.keys[5].pubkey),r}static decodeDeactivate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ss(Fu.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(Vu.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}},StakeProgram:Vu,Struct:Lo,SystemInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=sr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Bs))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a SystemInstruction");return r}static decodeCreateAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e,space:r,programId:n}=Ss(Bs.Create,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,lamports:e,space:r,programId:new zo(n)}}static decodeTransfer(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e}=Ss(Bs.Transfer,t.data);return{fromPubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,lamports:e}}static decodeTransferWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e,seed:r,programId:n}=Ss(Bs.TransferWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,basePubkey:t.keys[1].pubkey,toPubkey:t.keys[2].pubkey,lamports:e,seed:r,programId:new zo(n)}}static decodeAllocate(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{space:e}=Ss(Bs.Allocate,t.data);return{accountPubkey:t.keys[0].pubkey,space:e}}static decodeAllocateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,space:n,programId:i}=Ss(Bs.AllocateWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new zo(e),seed:r,space:n,programId:new zo(i)}}static decodeAssign(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{programId:e}=Ss(Bs.Assign,t.data);return{accountPubkey:t.keys[0].pubkey,programId:new zo(e)}}static decodeAssignWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,programId:n}=Ss(Bs.AssignWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new zo(e),seed:r,programId:new zo(n)}}static decodeCreateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{base:e,seed:r,lamports:n,space:i,programId:o}=Ss(Bs.CreateWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,basePubkey:new zo(e),seed:r,lamports:n,space:i,programId:new zo(o)}}static decodeNonceInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{authorized:e}=Ss(Bs.InitializeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:new zo(e)}}static decodeNonceAdvance(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ss(Bs.AdvanceNonceAccount,t.data),{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static decodeNonceWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=Ss(Bs.WithdrawNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e}}static decodeNonceAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e}=Ss(Bs.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new zo(e)}}static checkProgramId(t){if(!t.equals(Ps.programId))throw new Error("invalid instruction; programId is not SystemProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}},SystemProgram:Ps,Transaction:as,TransactionExpiredBlockheightExceededError:jo,TransactionExpiredNonceInvalidError:Fo,TransactionExpiredTimeoutError:Ho,TransactionInstruction:ss,TransactionMessage:us,get TransactionStatus(){return is},VALIDATOR_INFO_KEY:Xu,VERSION_PREFIX_MASK:qo,VOTE_PROGRAM_ID:ec,ValidatorInfo:tc,VersionedMessage:ns,VersionedTransaction:cs,VoteAccount:nc,VoteAuthorizationLayout:Yu,VoteInit:Gu,VoteInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=sr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Zu))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a VoteInstruction");return r}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);const{voteInit:e}=Ss(Zu.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new Gu(new zo(e.nodePubkey),new zo(e.authorizedVoter),new zo(e.authorizedWithdrawer),e.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,voteAuthorizationType:r}=Ss(Zu.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new zo(e),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:e,currentAuthorityDerivedKeySeed:r,newAuthorized:n,voteAuthorizationType:i}}=Ss(Zu.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new zo(e),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new zo(n),voteAuthorizationType:{index:i},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ss(Zu.Withdraw,t.data);return{votePubkey:t.keys[0].pubkey,authorizedWithdrawerPubkey:t.keys[2].pubkey,lamports:e,toPubkey:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(Ju.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}},VoteProgram:Ju,clusterApiUrl:function(t,e){const r=!1===e?"http":"https";if(!t)return ac[r].devnet;const n=ac[r][t];if(!n)throw new Error(`Unknown ${r} cluster: ${t}`);return n},sendAndConfirmRawTransaction:async function(t,e,r,n){let i,o;r&&Object.prototype.hasOwnProperty.call(r,"lastValidBlockHeight")||r&&Object.prototype.hasOwnProperty.call(r,"nonceValue")?(i=r,o=n):o=r;const s=o&&{skipPreflight:o.skipPreflight,preflightCommitment:o.preflightCommitment||o.commitment,minContextSlot:o.minContextSlot},a=await t.sendRawTransaction(e,s),u=o&&o.commitment,c=i?t.confirmTransaction(i,u):t.confirmTransaction(a,u),h=(await c).value;if(h.err)throw new Error(`Raw transaction ${a} failed (${JSON.stringify(h)})`);return a},sendAndConfirmTransaction:bs}),cc=t.getAugmentedNamespace(uc);!function(e,r){t.commonjsGlobal,e.exports=function(){function e(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function n(t,e){if(!t)throw new Error(e)}const i={56:"https://bsc-dataseed1.binance.org",97:"https://data-seed-prebsc-1-s1.binance.org:8545",137:"https://rpc-mainnet.maticvigil.com/",80001:"https://rpc-mumbai.matic.today/",43114:"https://api.avax.network/ext/bc/C/rpc",43113:"https://api.avax-test.network/ext/bc/C/rpc",42161:"https://arb1.arbitrum.io/rpc",421613:"https://endpoints.omniatech.io/v1/arbitrum/goerli/public",10:"https://mainnet.optimism.io",420:"https://goerli.optimism.io"},o={1:"ethereum",5:"ethereum",56:"bsc",97:"bsc",137:"polygon",80001:"polygon",43114:"avalanche",43113:"avalanche",42161:"arbitrum",421613:"arbitrum",10:"optimism",420:"optimism"},s={1:"mainnet",5:"testnet",56:"mainnet",97:"testnet",137:"mainnet",80001:"testnet",43114:"mainnet",43113:"testnet",42161:"mainnet",421613:"testnet",10:"mainnet",420:"testnet"},a={1:"https://wallet-v2.blocto.app",5:"https://wallet-v2-dev.blocto.app",56:"https://wallet-v2.blocto.app",97:"https://wallet-v2-dev.blocto.app",137:"https://wallet-v2.blocto.app",80001:"https://wallet-v2-dev.blocto.app",43114:"https://wallet-v2.blocto.app",43113:"https://wallet-v2-dev.blocto.app",42161:"https://wallet-v2.blocto.app",421613:"https://wallet-v2-dev.blocto.app",10:"https://wallet-v2.blocto.app",420:"https://wallet-v2-dev.blocto.app"},u={prod:"https://wallet-v2.blocto.app",staging:"https://wallet-v2-staging.blocto.app",dev:"https://wallet-v2-dev.blocto.app"},c={devnet:"https://wallet-v2-dev.blocto.app",testnet:"https://wallet-v2-dev.blocto.app","mainnet-beta":"https://wallet-v2.blocto.app"},h=["devnet","testnet","mainnet-beta"],l={1:"https://wallet-v2.blocto.app",2:"https://wallet-v2-dev.blocto.app",3:"https://wallet-v2-dev.blocto.app",4:"https://wallet-v2-dev.blocto.app",5:"https://wallet-v2-staging.blocto.app"};var d;!function(t){t.Mainnet="mainnet",t.Testnet="testnet",t.Devnet="devnet",t.Testing="testing",t.Premainnet="premainnet"}(d||(d={}));const f={1:d.Mainnet,2:d.Testnet,3:d.Devnet,4:d.Testing,5:d.Premainnet},p={1:"https://fullnode.mainnet.aptoslabs.com/v1",2:"https://fullnode.testnet.aptoslabs.com/v1",3:"https://fullnode.devnet.aptoslabs.com/v1",4:"",5:"https://premainnet.aptosdev.com/v1"},m=["connect","disconnect","message","chainChanged","accountsChanged"],g=864e5,y="00000000-0000-0000-0000-000000000000",w="sdk.session",b="undefined"!=typeof window?window.memoryStorage:new class{constructor(){this.storage={}}getItem(t){return this[t]||null}setItem(t,e){this.storage[t]=e}removeItem(t){delete this.storage[t]}};"undefined"!=typeof window&&(window.memoryStorage=b);const v=(()=>{if("undefined"==typeof window)return!1;try{window.localStorage.setItem("local_storage_supported","1");const t=window.localStorage.getItem("local_storage_supported");return window.localStorage.removeItem("local_storage_supported"),"1"===t}catch(t){return!1}})()?window.localStorage:b,k=(t,e=null)=>{const r=((t,e=null)=>{const r=v.getItem(t);try{return r&&JSON.parse(r)||e}catch(t){return r||e}})(t,null);return r?(new Date).getTime()>r.expiry?(A(t),e):r.value:e},S=(t,e)=>v.setItem(t,"string"==typeof e?e:JSON.stringify(e)),_=(t,e,r)=>S(t,{value:e,expiry:(new Date).getTime()+r}),A=t=>{S(t,""),v.removeItem(t)};class M{constructor(t){this.isBlocto=!0,this.isConnecting=!1,this.eventListeners={},this.sessionKey=w,this.off=this.removeListener,this.session=t,m.forEach((t=>{this.eventListeners[t]=[]}))}formatAndSetSessionAccount(t={}){this.session.accounts=Object.keys(t).reduce(((e,r)=>(e[r]=[t[r]],e)),{})}tryRetrieveSessionFromStorage(t){const e=k(this.sessionKey,{}),r=e&&e.code,n=e&&e.address&&e.address[t];this.session.connected=Boolean(r&&n),this.session.code=r||null,this.formatAndSetSessionAccount(e?e.address:{})}request(t){return e(this,void 0,void 0,(function*(){}))}on(t,e){m.includes(t)&&this.eventListeners[t].push(e)}once(){}removeListener(t,e){const r=this.eventListeners[t].findIndex((t=>t===e));-1!==r&&this.eventListeners[t].splice(r,1)}}function I(t){const e=document.createElement("iframe");return e.setAttribute("src",t),e.setAttribute("style","width:100vw;height:100%;position:fixed;top:0;left:0;z-index:2147483646;border:none;"),e}function E(t){document.body.appendChild(t)}function x(t){const e=t&&t.parentNode;e&&e.removeChild instanceof Function&&e.removeChild(t)}var B=(t,e,r=window)=>{r.addEventListener(t,(function n(i){e(i,(()=>r.removeEventListener(t,n)))}))};function P(t,r){return e(this,void 0,void 0,(function*(){if(403===t.status)throw r.session.code=null,A(r.sessionKey),new Error("[Blocto SDK]: Session expired!");return t.json()}))}const T=t=>/\S+@\S+\.\S+/.test(t);function R(){return e(this,void 0,void 0,(function*(){const{networks:t}=yield fetch("https://api.blocto.app/networks/evm").then((t=>t.json()));return t.reduce(((t,e)=>Object.assign(Object.assign({},t),{[e.chain_id]:e})),{})}))}var L,O,C;function U(t){return t?"number"==typeof t?t:t.startsWith("0x")?parseInt(t,16):parseInt(t,10):1}class N extends M{constructor({chainId:t,rpc:e,server:r,appId:u,session:c}){super(c),L.add(this),this.supportNetwork={},this.switchableNetwork={},n(t,"'chainId' is required"),this.chainId=U(t),this.networkId=this.chainId,this.chain=o[this.chainId],this.net=s[this.chainId],n(this.chain,`unsupported 'chainId': ${this.chainId}`),this.rpc=e||i[this.chainId]||"",n(this.rpc,"'rpc' is required for Ethereum"),this.server=r||a[this.chainId]||"",this.appId=u||y,this.switchableNetwork[this.chainId]={name:this.chain,display_name:this.chain,network_type:this.net,wallet_web_url:this.server,rpc_url:this.rpc}}loadSwitchableNetwork(t){return e(this,void 0,void 0,(function*(){return R().then((e=>(this.supportNetwork=e,(null==t?void 0:t.length)&&t.forEach((({chainId:t,rpcUrls:e})=>{if(n(e,"rpcUrls is required for networksList"),!(null==e?void 0:e.length))throw new Error("Empty rpcUrls array");r(this,L,"m",O).call(this,{chainId:U(t),rpcUrls:e})})),null)))}))}send(t,r){return e(this,void 0,void 0,(function*(){switch(!0){case r instanceof Function:return this.sendAsync(t,r);case"string"==typeof t&&Array.isArray(r):return this.sendAsync({jsonrpc:"2.0",method:t,params:r});default:return this.sendAsync(t)}}))}sendAsync(t,r){return e(this,void 0,void 0,(function*(){const e=new Promise((e=>{if(Array.isArray(t)){const r=t.filter((t=>"eth_sendTransaction"===t.method)).map((t=>{var e;return null===(e=t.params)||void 0===e?void 0:e[0]})),n=Math.floor(1e4*Math.random()),i={method:"blocto_sendBatchTransaction",params:r},o=this.request(i),s=t.map((({method:t,params:e},r)=>"eth_sendTransaction"===t?o:this.request({id:n+r+1,jsonrpc:"2.0",method:t,params:e})));Promise.allSettled(s).then((r=>e(r.map(((e,r)=>({id:String(n+r+1),jsonrpc:"2.0",method:t[r].method,result:"fulfilled"===e.status?e.value:void 0,error:"fulfilled"!==e.status?e.reason:void 0}))))))}else this.request(Object.assign(Object.assign({},t),{id:Number(t.id)})).then(e)}));if(!r)return e;e.then((t=>r(null,t))).catch((t=>r(t)))}))}request(t){var i,o,s,a,u,c,h;return e(this,void 0,void 0,(function*(){const e=window.ethereum;if(e&&e.isBlocto)return e.request(t);if(!this.session.connected){const e=null===(i=null==t?void 0:t.params)||void 0===i?void 0:i[0];"eth_requestAccounts"===t.method&&T(e)?yield this.enable(e):yield this.enable()}try{let e=null,i=null;switch(t.method){case"eth_requestAccounts":yield this.fetchAccounts();case"eth_accounts":i=this.session.accounts[this.chain];break;case"eth_coinbase":i=this.session.accounts[this.chain][0];break;case"eth_chainId":i=this.chainId,i=`0x${i.toString(16)}`;break;case"net_version":i=this.networkId||this.chainId,i=`0x${i.toString(16)}`;break;case"eth_signTypedData_v3":case"eth_signTypedData":case"eth_signTypedData_v4":case"personal_sign":case"eth_sign":i=yield this.handleSign(t);break;case"wallet_disconnect":this.handleDisconnect(),i=null;break;case"blocto_sendBatchTransaction":case"eth_sendTransaction":i=yield this.handleSendTransaction(t);break;case"eth_signTransaction":case"eth_sendRawTransaction":i=null;break;case"wallet_addEthereumChain":if(!(null===(s=null===(o=null==t?void 0:t.params)||void 0===o?void 0:o[0])||void 0===s?void 0:s.chainId)||!(null===(u=null===(a=null==t?void 0:t.params)||void 0===a?void 0:a[0])||void 0===u?void 0:u.rpcUrls.length))throw new Error("Invalid params");yield R().then((e=>{var n,i,o;this.supportNetwork=e,r(this,L,"m",O).call(this,{chainId:U(null===(i=null===(n=null==t?void 0:t.params)||void 0===n?void 0:n[0])||void 0===i?void 0:i.chainId),rpcUrls:null===(o=null==t?void 0:t.params)||void 0===o?void 0:o[0].rpcUrls})})),i=null;break;case"wallet_switchEthereumChain":if(!(null===(h=null===(c=null==t?void 0:t.params)||void 0===c?void 0:c[0])||void 0===h?void 0:h.chainId))throw new Error("Invalid params");if(!this.switchableNetwork[U(t.params[0].chainId)]){const t=new Error("This chain has not been added to SDK. Please try wallet_addEthereumChain first.");throw t.code=4902,t}this.chainId=U(t.params[0].chainId),this.networkId=this.chainId,this.chain=this.switchableNetwork[this.chainId].name,this.net=this.switchableNetwork[this.chainId].network_type,n(this.chain,`unsupported 'chainId': ${this.chainId}`),this.rpc=this.switchableNetwork[this.chainId].rpc_url,n(this.rpc,"'rpc' is required"),this.server=this.switchableNetwork[this.chainId].wallet_web_url,yield this.fetchAccounts(),this.eventListeners.chainChanged.forEach((t=>t(this.chainId))),i=null;break;default:e=yield this.handleReadRequests(t)}if(e&&!e.result&&e.error){const t=e.error.message?e.error.message:"Request failed";throw new Error(t)}return e?e.result:i}catch(e){throw console.error(e),e}}))}enable(t){return e(this,void 0,void 0,(function*(){const e=window.ethereum;if(e&&e.isBlocto){if(parseInt(e.chainId,16)!==this.chainId)try{yield e.request({method:"wallet_addEthereumChain",params:[{chainId:`0x${this.chainId.toString(16)}`}]}),this.session.accounts[this.chain]=[e.address]}catch(e){console.error(e)}return new Promise(((t,r)=>setTimeout((()=>e.enable().then(t).catch(r)),10)))}return this.tryRetrieveSessionFromStorage(this.chain),new Promise(((e,r)=>{if("undefined"==typeof window)return r("Currently only supported in browser");if(this.session.connected)return e(this.session.accounts[this.chain]);const n=new URLSearchParams;n.set("l6n",window.location.origin);const i=t&&T(t)?`/${t}`:"",o=I(`${this.server}/${this.appId}/${this.chain}/authn${i}?${n.toString()}`);E(o),B("message",((t,n)=>{const i=t;if(i.origin===this.server){if("ETH:FRAME:RESPONSE"===i.data.type){n(),x(o),this.session.code=i.data.code,this.session.connected=!0,this.eventListeners.connect.forEach((t=>t(this.chainId)));const t=i.data.address;this.formatAndSetSessionAccount(t),_(this.sessionKey,{code:this.session.code,address:t},g),e(this.session.accounts[this.chain])}"ETH:FRAME:CLOSE"===i.data.type&&(n(),x(o),r(new Error("User declined the login request")))}}))}))}))}fetchAccounts(){return e(this,void 0,void 0,(function*(){r(this,L,"m",C).call(this);const{accounts:t}=yield fetch(`${this.server}/api/${this.chain}/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>P(t,this)));return this.session.accounts[this.chain]=t,t}))}handleReadRequests(t){return e(this,void 0,void 0,(function*(){return r(this,L,"m",C).call(this),fetch(this.rpc,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({id:1,jsonrpc:"2.0"},t))}).then((t=>t.json()))}))}handleSign({method:t,params:n}){return e(this,void 0,void 0,(function*(){let e="";if(Array.isArray(n))if("eth_sign"===t)e=n[1].slice(2);else if("personal_sign"===t)e=n[0].slice(2);else if(["eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4"].includes(t)){e=n[1];const{domain:t}=JSON.parse(e);if(U(t.chainId)!==U(this.chainId))throw new Error(`Provided chainId "${t.chainId}" must match the active chainId "${this.chainId}"`)}r(this,L,"m",C).call(this);const{signatureId:i}=yield fetch(`${this.server}/api/${this.chain}/user-signature`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify({method:t,message:e})}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const o=I(`${this.server}/${this.appId}/${this.chain}/user-signature/${i}`);return E(o),new Promise(((t,e)=>B("message",((r,n)=>{const i=r;i.origin===this.server&&"ETH:FRAME:RESPONSE"===i.data.type&&("APPROVED"===i.data.status&&(n(),x(o),t(i.data.signature)),"DECLINED"===i.data.status&&(n(),x(o),e(new Error(i.data.errorMessage))))}))))}))}handleSendTransaction(t){return e(this,void 0,void 0,(function*(){r(this,L,"m",C).call(this);const{authorizationId:e}=yield fetch(`${this.server}/api/${this.chain}/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const n=I(`${this.server}/${this.appId}/${this.chain}/authz/${e}`);return E(n),new Promise(((t,e)=>B("message",((r,i)=>{const o=r;o.origin===this.server&&"ETH:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(i(),x(n),t(o.data.txHash)),"DECLINED"===o.data.status&&(i(),x(n),e(new Error(o.data.errorMessage))))}))))}))}handleDisconnect(){return e(this,void 0,void 0,(function*(){this.session.connected=!1,this.session.code=null,this.session.accounts={},A(w)}))}}L=new WeakSet,O=function({chainId:t,rpcUrls:e}){const r=new URL(e[0]).hostname,{chain_id:n,name:i,display_name:o,network_type:s,blocto_service_environment:a,rpc_endpoint_domains:c}=this.supportNetwork[t];if(c.includes(r)){const t=u[a];this.switchableNetwork[n]={name:i,display_name:o,network_type:s,wallet_web_url:t,rpc_url:e[0]}}else console.warn(`The rpc url ${e[0]} is not supported.`)},C=function(){const t=window.ethereum;if(t&&t.isBlocto&&parseInt(t.chainId,16)!==this.chainId)throw new Error("Blocto SDK network mismatched")};var z=[],K=[],W="undefined"!=typeof Uint8Array?Uint8Array:Array,q=!1;function D(){q=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0;e<64;++e)z[e]=t[e],K[t.charCodeAt(e)]=e;K["-".charCodeAt(0)]=62,K["_".charCodeAt(0)]=63}function j(t,e,r){for(var n,i,o=[],s=e;s<r;s+=3)n=(t[s]<<16)+(t[s+1]<<8)+t[s+2],o.push(z[(i=n)>>18&63]+z[i>>12&63]+z[i>>6&63]+z[63&i]);return o.join("")}function H(t){var e;q||D();for(var r=t.length,n=r%3,i="",o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(j(t,a,a+s>u?u:a+s));return 1===n?(e=t[r-1],i+=z[e>>2],i+=z[e<<4&63],i+="=="):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=z[e>>10],i+=z[e>>4&63],i+=z[e<<2&63],i+="="),o.push(i),o.join("")}function F(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<<a)-1,c=u>>1,h=-7,l=r?i-1:0,d=r?-1:1,f=t[e+l];for(l+=d,o=f&(1<<-h)-1,f>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=d,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=d,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),o-=c}return(f?-1:1)*s*Math.pow(2,o-n)}function $(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<<c)-1,l=h>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?d/u:d*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;t[r+f]=255&s,f+=p,s/=256,c-=8);t[r+f-p]|=128*m}var V={}.toString,G=Array.isArray||function(t){return"[object Array]"==V.call(t)};function Z(){return J.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Y(t,e){if(Z()<e)throw new RangeError("Invalid typed array length");return J.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=J.prototype:(null===t&&(t=new J(e)),t.length=e),t}function J(t,e,r){if(!(J.TYPED_ARRAY_SUPPORT||this instanceof J))return new J(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return tt(this,t)}return X(this,t,e,r)}function X(t,e,r,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,n){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return e=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),J.TYPED_ARRAY_SUPPORT?(t=e).__proto__=J.prototype:t=et(t,e),t}(t,e,r,n):"string"==typeof e?function(t,e,r){if("string"==typeof r&&""!==r||(r="utf8"),!J.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|it(e,r),i=(t=Y(t,n)).write(e,r);return i!==n&&(t=t.slice(0,i)),t}(t,e,r):function(t,e){if(nt(e)){var r=0|rt(e.length);return 0===(t=Y(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(n=e.length)!=n?Y(t,0):et(t,e);if("Buffer"===e.type&&G(e.data))return et(t,e.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function Q(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function tt(t,e){if(Q(e),t=Y(t,e<0?0:0|rt(e)),!J.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function et(t,e){var r=e.length<0?0:0|rt(e.length);t=Y(t,r);for(var n=0;n<r;n+=1)t[n]=255&e[n];return t}function rt(t){if(t>=Z())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Z().toString(16)+" bytes");return 0|t}function nt(t){return!(null==t||!t._isBuffer)}function it(t,e){if(nt(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Tt(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Rt(t).length;default:if(n)return Tt(t).length;e=(""+e).toLowerCase(),n=!0}}function ot(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return vt(this,e,r);case"utf8":case"utf-8":return gt(this,e,r);case"ascii":return wt(this,e,r);case"latin1":case"binary":return bt(this,e,r);case"base64":return mt(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return kt(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function st(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function at(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=J.from(e,n)),nt(e))return 0===e.length?-1:ut(t,e,r,n,i);if("number"==typeof e)return e&=255,J.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):ut(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ut(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;o<a;o++)if(c(t,o)===c(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===u)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(r+u>a&&(r=a-u),o=r;o>=0;o--){for(var l=!0,d=0;d<u;d++)if(c(t,o+d)!==c(e,d)){l=!1;break}if(l)return o}return-1}function ct(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[r+s]=a}return s}function ht(t,e,r,n){return Lt(Tt(e,t.length-r),t,r,n)}function lt(t,e,r,n){return Lt(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function dt(t,e,r,n){return lt(t,e,r,n)}function ft(t,e,r,n){return Lt(Rt(e),t,r,n)}function pt(t,e,r,n){return Lt(function(t,e){for(var r,n,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(r=t.charCodeAt(s))>>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function mt(t,e,r){return 0===e&&r===t.length?H(t):H(t.slice(e,r))}function gt(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var o,s,a,u,c=t[i],h=null,l=c>239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=yt)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=yt));return r}(n)}J.TYPED_ARRAY_SUPPORT=void 0===t.commonjsGlobal.TYPED_ARRAY_SUPPORT||t.commonjsGlobal.TYPED_ARRAY_SUPPORT,Z(),J.poolSize=8192,J._augment=function(t){return t.__proto__=J.prototype,t},J.from=function(t,e,r){return X(null,t,e,r)},J.TYPED_ARRAY_SUPPORT&&(J.prototype.__proto__=Uint8Array.prototype,J.__proto__=Uint8Array),J.alloc=function(t,e,r){return function(t,e,r,n){return Q(e),e<=0?Y(t,e):void 0!==r?"string"==typeof n?Y(t,e).fill(r,n):Y(t,e).fill(r):Y(t,e)}(null,t,e,r)},J.allocUnsafe=function(t){return tt(null,t)},J.allocUnsafeSlow=function(t){return tt(null,t)},J.isBuffer=function(t){return null!=t&&(!!t._isBuffer||Ot(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&Ot(t.slice(0,0))}(t))},J.compare=function(t,e){if(!nt(t)||!nt(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},J.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},J.concat=function(t,e){if(!G(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return J.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=J.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(!nt(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},J.byteLength=it,J.prototype._isBuffer=!0,J.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)st(this,e,e+1);return this},J.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)st(this,e,e+3),st(this,e+1,e+2);return this},J.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)st(this,e,e+7),st(this,e+1,e+6),st(this,e+2,e+5),st(this,e+3,e+4);return this},J.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?gt(this,0,t):ot.apply(this,arguments)},J.prototype.equals=function(t){if(!nt(t))throw new TypeError("Argument must be a Buffer");return this===t||0===J.compare(this,t)},J.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},J.prototype.compare=function(t,e,r,n,i){if(!nt(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),u=this.slice(n,i),c=t.slice(e,r),h=0;h<a;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},J.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},J.prototype.indexOf=function(t,e,r){return at(this,t,e,r,!0)},J.prototype.lastIndexOf=function(t,e,r){return at(this,t,e,r,!1)},J.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return ct(this,t,e,r);case"utf8":case"utf-8":return ht(this,t,e,r);case"ascii":return lt(this,t,e,r);case"latin1":case"binary":return dt(this,t,e,r);case"base64":return ft(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pt(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},J.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var yt=4096;function wt(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function bt(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function vt(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=e;o<r;++o)i+=Pt(t[o]);return i}function kt(t,e,r){for(var n=t.slice(e,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function St(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function _t(t,e,r,n,i,o){if(!nt(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function At(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i<o;++i)t[r+i]=(e&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function Mt(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i<o;++i)t[r+i]=e>>>8*(n?i:3-i)&255}function It(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Et(t,e,r,n,i){return i||It(t,0,r,4),$(t,e,r,n,23,4),r+4}function xt(t,e,r,n,i){return i||It(t,0,r,8),$(t,e,r,n,52,8),r+8}J.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),J.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=J.prototype;else{var i=e-t;r=new J(i,void 0);for(var o=0;o<i;++o)r[o]=this[o+t]}return r},J.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n},J.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},J.prototype.readUInt8=function(t,e){return e||St(t,1,this.length),this[t]},J.prototype.readUInt16LE=function(t,e){return e||St(t,2,this.length),this[t]|this[t+1]<<8},J.prototype.readUInt16BE=function(t,e){return e||St(t,2,this.length),this[t]<<8|this[t+1]},J.prototype.readUInt32LE=function(t,e){return e||St(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},J.prototype.readUInt32BE=function(t,e){return e||St(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},J.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},J.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},J.prototype.readInt8=function(t,e){return e||St(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},J.prototype.readInt16LE=function(t,e){e||St(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},J.prototype.readInt16BE=function(t,e){e||St(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},J.prototype.readInt32LE=function(t,e){return e||St(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},J.prototype.readInt32BE=function(t,e){return e||St(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},J.prototype.readFloatLE=function(t,e){return e||St(t,4,this.length),F(this,t,!0,23,4)},J.prototype.readFloatBE=function(t,e){return e||St(t,4,this.length),F(this,t,!1,23,4)},J.prototype.readDoubleLE=function(t,e){return e||St(t,8,this.length),F(this,t,!0,52,8)},J.prototype.readDoubleBE=function(t,e){return e||St(t,8,this.length),F(this,t,!1,52,8)},J.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||_t(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},J.prototype.writeUIntBE=function(t,e,r,n){t=+t,e|=0,r|=0,n||_t(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},J.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,1,255,0),J.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},J.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,65535,0),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):At(this,t,e,!0),e+2},J.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,65535,0),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):At(this,t,e,!1),e+2},J.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,4294967295,0),J.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):Mt(this,t,e,!0),e+4},J.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,4294967295,0),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Mt(this,t,e,!1),e+4},J.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);_t(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},J.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);_t(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},J.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,1,127,-128),J.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},J.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,32767,-32768),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):At(this,t,e,!0),e+2},J.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,32767,-32768),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):At(this,t,e,!1),e+2},J.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,2147483647,-2147483648),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):Mt(this,t,e,!0),e+4},J.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Mt(this,t,e,!1),e+4},J.prototype.writeFloatLE=function(t,e,r){return Et(this,t,e,!0,r)},J.prototype.writeFloatBE=function(t,e,r){return Et(this,t,e,!1,r)},J.prototype.writeDoubleLE=function(t,e,r){return xt(this,t,e,!0,r)},J.prototype.writeDoubleBE=function(t,e,r){return xt(this,t,e,!1,r)},J.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,o=n-r;if(this===t&&r<e&&e<n)for(i=o-1;i>=0;--i)t[i+e]=this[i+r];else if(o<1e3||!J.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},J.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!J.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=nt(t)?t:Tt(new J(t,n).toString()),a=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%a]}return this};var Bt=/[^+\/0-9A-Za-z-_]/g;function Pt(t){return t<16?"0"+t.toString(16):t.toString(16)}function Tt(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],s=0;s<n;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Rt(t){return function(t){var e,r,n,i,o,s;q||D();var a=t.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[a-2]?2:"="===t[a-1]?1:0,s=new W(3*a/4-o),n=o>0?a-4:a;var u=0;for(e=0,r=0;e<n;e+=4,r+=3)i=K[t.charCodeAt(e)]<<18|K[t.charCodeAt(e+1)]<<12|K[t.charCodeAt(e+2)]<<6|K[t.charCodeAt(e+3)],s[u++]=i>>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===o?(i=K[t.charCodeAt(e)]<<2|K[t.charCodeAt(e+1)]>>4,s[u++]=255&i):1===o&&(i=K[t.charCodeAt(e)]<<10|K[t.charCodeAt(e+1)]<<4|K[t.charCodeAt(e+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Bt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Lt(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function Ot(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function Ct(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ut=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var i=t.charAt(n),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=n}var s=t.length,a=t.charAt(0),u=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function h(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return new Uint8Array;for(var r=0,n=0,i=0;t[r]===a;)n++,r++;for(var o=(t.length-r)*u+1>>>0,c=new Uint8Array(o);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var l=0,d=o-1;(0!==h||l<i)&&-1!==d;d--,l++)h+=s*c[d]>>>0,c[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");i=l,r++}for(var f=o-i;f!==o&&0===c[f];)f++;for(var p=new Uint8Array(n+(o-f)),m=n;f!==o;)p[m++]=c[f++];return p}return{encode:function(e){if(e instanceof Uint8Array||(ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e))),!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===e.length)return"";for(var r=0,n=0,i=0,o=e.length;i!==o&&0===e[i];)i++,r++;for(var u=(o-i)*c+1>>>0,h=new Uint8Array(u);i!==o;){for(var l=e[i],d=0,f=u-1;(0!==l||d<n)&&-1!==f;f--,d++)l+=256*h[f]>>>0,h[f]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");n=d,i++}for(var p=u-n;p!==u&&0===h[p];)p++;for(var m=a.repeat(r);p<u;++p)m+=t.charAt(h[p]);return m},decodeUnsafe:h,decode:function(t){var e=h(t);if(e)return e;throw new Error("Non-base"+s+" character")}}},Nt=Ct(Ut("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"));let zt;try{zt=cc}catch(e){}class Kt extends M{constructor({net:t="mainnet-beta",server:e,appId:r,rpc:i,session:o}){if(super(o),n(t,"'net' is required"),n(h.includes(t),"unsupported net"),this.net=t,this.rpc=i||("mainnet-beta"===t?"https://free.rpcpool.com":`https://api.${t}.solana.com`),this.server=e||c[this.net]||"",this.appId=r||y,!zt)throw new Error("No @solana/web3.js installed. Please install it to interact with Solana.")}request(t){return e(this,void 0,void 0,(function*(){this.session.connected||(yield this.connect());try{let e=null,r=null;switch(t.method){case"connect":r=yield this.fetchAccounts();break;case"disconnect":this.disconnect();break;case"getAccounts":r=this.session.accounts.solana.length?this.session.accounts.solana:yield this.fetchAccounts();break;case"getAccountInfo":{const e=yield this.handleReadRequests(t),[n,i]=e.result.value.data;r=Object.assign(Object.assign({},e.result.value),{data:J.from(n,i),owner:new zt.PublicKey(e.result.value.owner)});break}case"convertToProgramWalletTransaction":r=yield this.handleConvertTransaction(t);break;case"signAndSendTransaction":r=yield this.handleSignAndSendTransaction(t);break;case"signTransaction":case"signAllTransactions":throw new Error(`Blocto is program wallet, which doesn't support ${t.method}. Use signAndSendTransaction instead.`);default:e=yield this.handleReadRequests(t)}if(e&&!e.result&&e.error){const t=e.error.message?e.error.message:"Request failed";throw new Error(t)}return e?e.result:r}catch(t){throw console.error(t),t}}))}connect(){return e(this,void 0,void 0,(function*(){const t=window.solana;return t&&t.isBlocto?new Promise((e=>{t.on("connect",(()=>{this.session.accounts.solana=[t.publicKey.toBase58()],e()})),t.connect()})):(this.tryRetrieveSessionFromStorage("solana"),new Promise(((t,e)=>{if("undefined"==typeof window)return e("Currently only supported in browser");if(this.session.connected)return t();const r=encodeURIComponent(window.location.origin),n=I(`${this.server}/${this.appId}/solana/authn?l6n=${r}`);E(n),B("message",((r,i)=>{const o=r;if(o.origin===this.server){if("SOL:FRAME:RESPONSE"===o.data.type){i(),x(n),this.session.code=o.data.code,this.session.connected=!0,this.eventListeners.connect.forEach((t=>t(this.net)));const e=o.data.address;this.formatAndSetSessionAccount(e),_(this.sessionKey,{code:this.session.code,address:e},g),t()}"SOL:FRAME:CLOSE"===o.data.type&&(i(),x(n),e(new Error("User declined the login request")))}}))})))}))}disconnect(){return e(this,void 0,void 0,(function*(){const t=window.solana;t&&t.isBlocto?yield t.disconnect():(this.session.code=null,this.session.accounts={},this.eventListeners.disconnect.forEach((t=>t(null))),this.session.connected=!1)}))}fetchAccounts(){return e(this,void 0,void 0,(function*(){const{accounts:t}=yield fetch(`${this.server}/api/solana/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>t.json()));return this.session.accounts.solana=t,t}))}handleReadRequests(t){return e(this,void 0,void 0,(function*(){return fetch(this.rpc,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({id:1,jsonrpc:"2.0"},t))}).then((t=>t.json()))}))}convertToProgramWalletTransaction(t){return e(this,void 0,void 0,(function*(){const e=window.solana;if(e&&e.isBlocto)return e.convertToProgramWalletTransaction(t);const r=yield this.request({method:"convertToProgramWalletTransaction",params:{message:t.serializeMessage().toString("hex")}});return this.toTransaction(r,[])}))}signAndSendTransaction(t,r){return e(this,void 0,void 0,(function*(){const e=window.solana;if(e&&e.isBlocto)return e.signAndSendTransaction(t);const n={};if(r){r.commitment&&(n.commitment=r.commitment);const t=r?r._rpcEndpoint:null;t&&t!==this.rpc&&(this.rpc=t,this.disconnect(),yield this.connect())}return this.request({method:"signAndSendTransaction",params:Object.assign({signatures:yield this.collectSignatures(t),message:t.serializeMessage().toString("hex")},n)})}))}toTransaction(t,r){return e(this,void 0,void 0,(function*(){const e=zt.Message.from(J.from(t,"hex")),n=new zt.Transaction;return n.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(n.feePayer=e.accountKeys[0]),r.forEach(((t,r)=>{const i={signature:t===zt.PublicKey.default.toBase58()?null:Nt.decode(t),publicKey:e.accountKeys[r]};n.signatures.push(i)})),e.instructions.forEach((t=>{const r=t.accounts.map((t=>({pubkey:e.accountKeys[t],isSigner:t<e.header.numRequiredSignatures,isWritable:e.isAccountWritable(t)})));n.instructions.push(new zt.TransactionInstruction({keys:r,programId:e.accountKeys[t.programIdIndex],data:Nt.decode(t.data)}))})),n}))}collectSignatures(t){return e(this,void 0,void 0,(function*(){return t.signatures.reduce(((t,e)=>(e.signature&&(t[e.publicKey.toBase58()]=e.signature.toString("hex")),t)),{})}))}handleConvertTransaction(t){return e(this,void 0,void 0,(function*(){return fetch(`${this.server}/api/solana/convertToWalletTx`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)))}))}handleSignAndSendTransaction(t){return e(this,void 0,void 0,(function*(){const{authorizationId:e}=yield fetch(`${this.server}/api/solana/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const r=I(`${this.server}/${this.appId}/solana/authz/${e}`);return E(r),new Promise(((t,e)=>B("message",((n,i)=>{const o=n;o.origin===this.server&&"SOL:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(i(),x(r),t(o.data.txHash)),"DECLINED"===o.data.status&&(i(),x(r),e(new Error(o.data.errorMessage))))}))))}))}}class Wt extends M{constructor({chainId:t,server:e,appId:r,session:i}){super(i),this.publicKey=[],this.authKey="",n(t,"'chainId' is required"),n(r,"It is necessary to interact with Blocto wallet via your app id. Please visit https://developers.blocto.app for more details."),this.chainId=t,this.networkName=f[t],this.api=p[t];const o=l[t];this.appId=r||y,this.server=e||o||""}get publicAccount(){return{address:this.session.accounts.aptos[0]||null,publicKey:this.publicKey.length?this.publicKey:null,authKey:null,minKeysRequired:2}}network(){return e(this,void 0,void 0,(function*(){return{name:this.networkName,api:this.api,chainId:this.chainId.toString()}}))}isConnected(){return e(this,void 0,void 0,(function*(){return this.session.connected}))}signTransaction(t){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos;if(e)return e.signTransaction(t);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");throw new Error("signTransaction method not supported.")}))}disconnect(){return e(this,void 0,void 0,(function*(){const t=window.bloctoAptos;t?yield t.disconnect():(this.session.code=null,this.session.accounts={},this.session.connected=!1)}))}signAndSubmitTransaction(t,r={}){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos;if(e)return e.signAndSubmitTransaction(t,r);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");const{authorizationId:n}=yield fetch(`${this.server}/api/aptos/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(Object.assign(Object.assign({},t),r))}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const i=I(`${this.server}/${this.appId}/aptos/authz/${n}`);return E(i),new Promise(((t,e)=>B("message",((r,n)=>{const o=r;o.origin===this.server&&"APTOS:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(n(),x(i),t({hash:o.data.txHash})),"DECLINED"===o.data.status&&(n(),x(i),e(new Error(o.data.errorMessage))))}))))}))}signMessage(t){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos,r=(t=>{var e,r;const n=Object.assign({},t),{message:i,nonce:o,address:s,application:a,chainId:u}=t;return"string"!=typeof i&&(n.message=null!==(e=String(i))&&void 0!==e?e:""),"string"!=typeof o&&(n.nonce=null!==(r=String(o))&&void 0!==r?r:""),s&&"boolean"!=typeof s&&(n.address=!!s),a&&"boolean"!=typeof a&&(n.application=!!a),u&&"boolean"!=typeof u&&(n.chainId=!!u),n})(t);if(e)return e.signMessage(r);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");if("undefined"==typeof window)throw new Error("Currently only supported in browser");const{signatureId:n}=yield fetch(`${this.server}/api/aptos/user-signature`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(r)}).then((t=>P(t,this))),i=I(`${this.server}/${this.appId}/aptos/user-signature/${n}`);return E(i),new Promise(((t,e)=>B("message",((r,n)=>{const o=r;o.origin===this.server&&"APTOS:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(n(),x(i),t(o.data)),"DECLINED"===o.data.status&&(n(),x(i),e(new Error(o.data.errorMessage))))}))))}))}connect(){return e(this,void 0,void 0,(function*(){const t=window.bloctoAptos;return t?new Promise(((e,r)=>setTimeout((()=>t.connect().then(e).catch(r)),10))):(this.tryRetrieveSessionFromStorage("aptos"),new Promise(((t,r)=>{if("undefined"==typeof window)return r("Currently only supported in browser");if(this.session.connected&&this.session.accounts.aptos.length)return t({address:this.session.accounts.aptos[0],publicKey:this.publicKey,authKey:null,minKeysRequired:2});const n=encodeURIComponent(window.location.origin),i=I(`${this.server}/${this.appId}/aptos/authn?l6n=${n}`);E(i),B("message",((n,o)=>e(this,void 0,void 0,(function*(){const e=n;if(e.origin===this.server){if("APTOS:FRAME:RESPONSE"===e.data.type){o(),x(i),this.session.code=e.data.code,this.session.connected=!0;const n=e.data.address;if(this.formatAndSetSessionAccount(n),_(this.sessionKey,{code:this.session.code,address:n},g),!this.session.accounts.aptos.length)return r();try{const{public_keys:e}=yield fetch(`${this.server}/blocto/aptos/accounts/${this.session.accounts.aptos[0]}`).then((t=>t.json()));this.publicKey=e||[],t({address:this.session.accounts.aptos[0]||"",publicKey:this.publicKey,authKey:null,minKeysRequired:2})}catch(t){return r(e)}}"APTOS:FRAME:CLOSE"===e.data.type&&(o(),x(i),r(new Error("User declined the login request")))}}))))})))}))}fetchAddress(){return e(this,void 0,void 0,(function*(){const{accounts:t}=yield fetch(`${this.server}/api/aptos/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>P(t,this)));return this.session.accounts.aptos=t||[],this.session.accounts.aptos[0]}))}}const qt={connected:!1,code:null,accounts:{}};return class{constructor({appId:t,ethereum:e,solana:r,aptos:n}){e&&(this.ethereum=new N(Object.assign(Object.assign({},e),{appId:t,session:qt}))),r&&(this.solana=new Kt(Object.assign(Object.assign({},r),{appId:t,session:qt}))),n&&(this.aptos=new Wt(Object.assign(Object.assign({},n),{appId:t,session:qt})))}}}()}(a);var hc=t.getDefaultExportFromCjs(a.exports);exports.default=function({chainId:e,rpcUrl:r,rpc:n,bloctoParams:i},o){return t.__awaiter(this,void 0,void 0,(function*(){let s;if(!e)throw new Error("chainId is required");r?s=r:e&&n&&(s=n[e]);const a=new hc({appId:null==i?void 0:i.appId,ethereum:{chainId:e,rpc:s}}).ethereum;if(!a)throw new Error("No provider");return a.on("connect",o.connect),a.on("disconnect",o.disconnect),a.on("accountsChanged",o.accountsChanged),a.on("chainChanged",o.chainChanged),yield a.request({method:"eth_requestAccounts"}),t.convertWeb3Provider(a)}))};