hashdit-snap-security
Version:
The HashDit Security Snap provides transaction warnings when interacting with risky contracts.
1 lines • 202 kB
JavaScript
(()=>{var e={42:(e,t)=>{"use strict";var r=t;function i(e){return 1===e.length?"0"+e:e}function n(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var i=0;i<e.length;i++)r[i]=0|e[i];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(i=0;i<e.length;i++){var n=e.charCodeAt(i),f=n>>8,a=255&n;f?r.push(f,a):r.push(a)}return r},r.zero2=i,r.toHex=n,r.encode=function(e,t){return"hex"===t?n(e):e}},48:(e,t,r)=>{var i;function n(e){this.rand=e}if(e.exports=function(e){return i||(i=new n(null)),i.generate(e)},e.exports.Rand=n,n.prototype.generate=function(e){return this._rand(e)},n.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?n.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?n.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(n.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var f=r(553);if("function"!=typeof f.randomBytes)throw new Error("Not supported");n.prototype._rand=function(e){return f.randomBytes(e)}}catch(e){}},64:(e,t,r)=>{"use strict";var i=r(845),n=r(742),f=r(874),a=r(443),o=r(48),s=f.assert,d=r(531),c=r(782);function h(e){if(!(this instanceof h))return new h(e);"string"==typeof e&&(s(Object.prototype.hasOwnProperty.call(a,e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=h,h.prototype.keyPair=function(e){return new d(this,e)},h.prototype.keyFromPrivate=function(e,t){return d.fromPrivate(this,e,t)},h.prototype.keyFromPublic=function(e,t){return d.fromPublic(this,e,t)},h.prototype.genKeyPair=function(e){e||(e={});for(var t=new n({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),f=this.n.sub(new i(2));;){var a=new i(t.generate(r));if(!(a.cmp(f)>0))return a.iaddn(1),this.keyFromPrivate(a)}},h.prototype._truncateToN=function(e,t,r){var n;if(i.isBN(e)||"number"==typeof e)n=(e=new i(e,16)).byteLength();else if("object"==typeof e)n=e.length,e=new i(e,16);else{var f=e.toString();n=f.length+1>>>1,e=new i(f,16)}"number"!=typeof r&&(r=8*n);var a=r-this.n.bitLength();return a>0&&(e=e.ushrn(a)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},h.prototype.sign=function(e,t,r,f){if("object"==typeof r&&(f=r,r=null),f||(f={}),"string"!=typeof e&&"number"!=typeof e&&!i.isBN(e)){s("object"==typeof e&&e&&"number"==typeof e.length,"Expected message to be an array-like, a hex string, or a BN instance"),s(e.length>>>0===e.length);for(var a=0;a<e.length;a++)s((255&e[a])===e[a])}t=this.keyFromPrivate(t,r),e=this._truncateToN(e,!1,f.msgBitLength),s(!e.isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),d=t.getPrivate().toArray("be",o),h=e.toArray("be",o);s(new i(h).eq(e),"Can not sign message");for(var u=new n({hash:this.hash,entropy:d,nonce:h,pers:f.pers,persEnc:f.persEnc||"utf8"}),l=this.n.sub(new i(1)),b=0;;b++){var p=f.k?f.k(b):new i(u.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(l)>=0)){var m=this.g.mul(p);if(!m.isInfinity()){var g=m.getX(),y=g.umod(this.n);if(0!==y.cmpn(0)){var v=p.invm(this.n).mul(y.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var w=(m.getY().isOdd()?1:0)|(0!==g.cmp(y)?2:0);return f.canonical&&v.cmp(this.nh)>0&&(v=this.n.sub(v),w^=1),new c({r:y,s:v,recoveryParam:w})}}}}}},h.prototype.verify=function(e,t,r,i,n){n||(n={}),e=this._truncateToN(e,!1,n.msgBitLength),r=this.keyFromPublic(r,i);var f=(t=new c(t,"hex")).r,a=t.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var o,s=a.invm(this.n),d=s.mul(e).umod(this.n),h=s.mul(f).umod(this.n);return this.curve._maxwellTrick?!(o=this.g.jmulAdd(d,r.getPublic(),h)).isInfinity()&&o.eqXToP(f):!(o=this.g.mulAdd(d,r.getPublic(),h)).isInfinity()&&0===o.getX().umod(this.n).cmp(f)},h.prototype.recoverPubKey=function(e,t,r,n){s((3&r)===r,"The recovery param is more than two bits"),t=new c(t,n);var f=this.n,a=new i(e),o=t.r,d=t.s,h=1&r,u=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");o=u?this.curve.pointFromX(o.add(this.curve.n),h):this.curve.pointFromX(o,h);var l=t.r.invm(f),b=f.sub(a).mul(l).umod(f),p=d.mul(l).umod(f);return this.g.mulAdd(b,o,p)},h.prototype.getKeyRecoveryParam=function(e,t,r,i){if(null!==(t=new c(t,i)).recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var f;try{f=this.recoverPubKey(e,t,n)}catch(e){continue}if(f.eq(r))return n}throw new Error("Unable to find valid recovery factor")}},131:(e,t,r)=>{"use strict";var i=t;i.base=r(174),i.short=r(277),i.mont=r(245),i.edwards=r(547)},157:(e,t,r)=>{"use strict";var i=r(461),n=r(191),f=r(784),a=i.rotr64_hi,o=i.rotr64_lo,s=i.shr64_hi,d=i.shr64_lo,c=i.sum64,h=i.sum64_hi,u=i.sum64_lo,l=i.sum64_4_hi,b=i.sum64_4_lo,p=i.sum64_5_hi,m=i.sum64_5_lo,g=n.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function w(e,t,r,i,n){var f=e&r^~e&n;return f<0&&(f+=4294967296),f}function M(e,t,r,i,n,f){var a=t&i^~t&f;return a<0&&(a+=4294967296),a}function A(e,t,r,i,n){var f=e&r^e&n^r&n;return f<0&&(f+=4294967296),f}function S(e,t,r,i,n,f){var a=t&i^t&f^i&f;return a<0&&(a+=4294967296),a}function _(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function I(e,t){var r=o(e,t,28)^o(t,e,2)^o(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}function k(e,t){var r=o(e,t,14)^o(e,t,18)^o(t,e,9);return r<0&&(r+=4294967296),r}function E(e,t){var r=a(e,t,1)^a(e,t,8)^s(e,t,7);return r<0&&(r+=4294967296),r}function B(e,t){var r=o(e,t,1)^o(e,t,8)^d(e,t,7);return r<0&&(r+=4294967296),r}function R(e,t){var r=a(e,t,19)^a(t,e,29)^s(e,t,6);return r<0&&(r+=4294967296),r}function T(e,t){var r=o(e,t,19)^o(t,e,29)^d(e,t,6);return r<0&&(r+=4294967296),r}i.inherits(v,g),e.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=R(r[i-4],r[i-3]),f=T(r[i-4],r[i-3]),a=r[i-14],o=r[i-13],s=E(r[i-30],r[i-29]),d=B(r[i-30],r[i-29]),c=r[i-32],h=r[i-31];r[i]=l(n,f,a,o,s,d,c,h),r[i+1]=b(n,f,a,o,s,d,c,h)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],a=this.h[2],o=this.h[3],s=this.h[4],d=this.h[5],l=this.h[6],b=this.h[7],g=this.h[8],y=this.h[9],v=this.h[10],E=this.h[11],B=this.h[12],R=this.h[13],T=this.h[14],O=this.h[15];f(this.k.length===r.length);for(var z=0;z<r.length;z+=2){var P=T,N=O,L=x(g,y),U=k(g,y),q=w(g,y,v,E,B),C=M(g,y,v,E,B,R),j=this.k[z],F=this.k[z+1],D=r[z],$=r[z+1],H=p(P,N,L,U,q,C,j,F,D,$),J=m(P,N,L,U,q,C,j,F,D,$);P=_(i,n),N=I(i,n),L=A(i,n,a,o,s),U=S(i,n,a,o,s,d);var K=h(P,N,L,U),V=u(P,N,L,U);T=B,O=R,B=v,R=E,v=g,E=y,g=h(l,b,H,J),y=u(b,b,H,J),l=s,b=d,s=a,d=o,a=i,o=n,i=h(H,J,K,V),n=u(H,J,K,V)}c(this.h,0,i,n),c(this.h,2,a,o),c(this.h,4,s,d),c(this.h,6,l,b),c(this.h,8,g,y),c(this.h,10,v,E),c(this.h,12,B,R),c(this.h,14,T,O)},v.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},169:(e,t,r)=>{"use strict";var i=r(461),n=r(191),f=i.rotl32,a=i.sum32,o=i.sum32_3,s=i.sum32_4,d=n.BlockHash;function c(){if(!(this instanceof c))return new c;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function u(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function l(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}i.inherits(c,d),t.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],d=this.h[3],c=this.h[4],y=r,v=i,w=n,M=d,A=c,S=0;S<80;S++){var _=a(f(s(r,h(S,i,n,d),e[b[S]+t],u(S)),m[S]),c);r=c,c=d,d=f(n,10),n=i,i=_,_=a(f(s(y,h(79-S,v,w,M),e[p[S]+t],l(S)),g[S]),A),y=A,A=M,M=f(w,10),w=v,v=_}_=o(this.h[1],n,M),this.h[1]=o(this.h[2],d,A),this.h[2]=o(this.h[3],c,y),this.h[3]=o(this.h[4],r,v),this.h[4]=o(this.h[0],i,w),this.h[0]=_},c.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var b=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},174:(e,t,r)=>{"use strict";var i=r(845),n=r(874),f=n.getNAF,a=n.getJSF,o=n.assert;function s(e,t){this.type=e,this.p=new i(t.p,16),this.red=t.prime?i.red(t.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=t.n&&new i(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function d(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=s,s.prototype.point=function(){throw new Error("Not implemented")},s.prototype.validate=function(){throw new Error("Not implemented")},s.prototype._fixedNafMul=function(e,t){o(e.precomputed);var r=e._getDoubles(),i=f(t,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;var a,s,d=[];for(a=0;a<i.length;a+=r.step){s=0;for(var c=a+r.step-1;c>=a;c--)s=(s<<1)+i[c];d.push(s)}for(var h=this.jpoint(null,null,null),u=this.jpoint(null,null,null),l=n;l>0;l--){for(a=0;a<d.length;a++)(s=d[a])===l?u=u.mixedAdd(r.points[a]):s===-l&&(u=u.mixedAdd(r.points[a].neg()));h=h.add(u)}return h.toP()},s.prototype._wnafMul=function(e,t){var r=4,i=e._getNAFPoints(r);r=i.wnd;for(var n=i.points,a=f(t,r,this._bitLength),s=this.jpoint(null,null,null),d=a.length-1;d>=0;d--){for(var c=0;d>=0&&0===a[d];d--)c++;if(d>=0&&c++,s=s.dblp(c),d<0)break;var h=a[d];o(0!==h),s="affine"===e.type?h>0?s.mixedAdd(n[h-1>>1]):s.mixedAdd(n[-h-1>>1].neg()):h>0?s.add(n[h-1>>1]):s.add(n[-h-1>>1].neg())}return"affine"===e.type?s.toP():s},s.prototype._wnafMulAdd=function(e,t,r,i,n){var o,s,d,c=this._wnafT1,h=this._wnafT2,u=this._wnafT3,l=0;for(o=0;o<i;o++){var b=(d=t[o])._getNAFPoints(e);c[o]=b.wnd,h[o]=b.points}for(o=i-1;o>=1;o-=2){var p=o-1,m=o;if(1===c[p]&&1===c[m]){var g=[t[p],null,null,t[m]];0===t[p].y.cmp(t[m].y)?(g[1]=t[p].add(t[m]),g[2]=t[p].toJ().mixedAdd(t[m].neg())):0===t[p].y.cmp(t[m].y.redNeg())?(g[1]=t[p].toJ().mixedAdd(t[m]),g[2]=t[p].add(t[m].neg())):(g[1]=t[p].toJ().mixedAdd(t[m]),g[2]=t[p].toJ().mixedAdd(t[m].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],v=a(r[p],r[m]);for(l=Math.max(v[0].length,l),u[p]=new Array(l),u[m]=new Array(l),s=0;s<l;s++){var w=0|v[0][s],M=0|v[1][s];u[p][s]=y[3*(w+1)+(M+1)],u[m][s]=0,h[p]=g}}else u[p]=f(r[p],c[p],this._bitLength),u[m]=f(r[m],c[m],this._bitLength),l=Math.max(u[p].length,l),l=Math.max(u[m].length,l)}var A=this.jpoint(null,null,null),S=this._wnafT4;for(o=l;o>=0;o--){for(var _=0;o>=0;){var I=!0;for(s=0;s<i;s++)S[s]=0|u[s][o],0!==S[s]&&(I=!1);if(!I)break;_++,o--}if(o>=0&&_++,A=A.dblp(_),o<0)break;for(s=0;s<i;s++){var x=S[s];0!==x&&(x>0?d=h[s][x-1>>1]:x<0&&(d=h[s][-x-1>>1].neg()),A="affine"===d.type?A.mixedAdd(d):A.add(d))}}for(o=0;o<i;o++)h[o]=null;return n?A:A.toP()},s.BasePoint=d,d.prototype.eq=function(){throw new Error("Not implemented")},d.prototype.validate=function(){return this.curve.validate(this)},s.prototype.decodePoint=function(e,t){e=n.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?o(e[e.length-1]%2==0):7===e[0]&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},d.prototype.encodeCompressed=function(e){return this.encode(e,!0)},d.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},d.prototype.encode=function(e,t){return n.encode(this._encode(t),e)},d.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},d.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},d.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<t;n+=e){for(var f=0;f<e;f++)i=i.dbl();r.push(i)}return{step:e,points:r}},d.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}},d.prototype._getBeta=function(){return null},d.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},183:e=>{"use strict";e.exports={rE:"6.6.1"}},191:(e,t,r)=>{"use strict";var i=r(461),n=r(784);function f(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=f,f.prototype.update=function(e,t){if(e=i.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=i.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},f.prototype.digest=function(e){return this.update(this._pad()),n(null===this.pending),this._digest(e)},f.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var f=8;f<this.padLength;f++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,f=8;f<this.padLength;f++)i[n++]=0;return i}},245:(e,t,r)=>{"use strict";var i=r(845),n=r(615),f=r(174),a=r(874);function o(e){f.call(this,"mont",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function s(e,t,r){f.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(t,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(o,f),e.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===i.redSqrt().redSqr().cmp(i)},n(s,f.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},o.prototype.point=function(e,t){return new s(this,e,t)},o.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},s.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),f=e.x.redSub(e.z).redMul(r),a=n.redMul(i),o=t.z.redMul(f.redAdd(a).redSqr()),s=t.x.redMul(f.redISub(a).redSqr());return this.curve.point(o,s)},s.prototype.mul=function(e){for(var t=e.clone(),r=this,i=this.curve.point(null,null),n=[];0!==t.cmpn(0);t.iushrn(1))n.push(t.andln(1));for(var f=n.length-1;f>=0;f--)0===n[f]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},s.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},s.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},277:(e,t,r)=>{"use strict";var i=r(874),n=r(845),f=r(615),a=r(174),o=i.assert;function s(e){a.call(this,"short",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function d(e,t,r,i){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(t,16),this.y=new n(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function c(e,t,r,i){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(t,16),this.y=new n(r,16),this.z=new n(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}f(s,a),e.exports=s,s.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new n(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)r=new n(e.lambda,16);else{var f=this._getEndoRoots(this.n);0===this.g.mul(f[0]).x.cmp(this.g.x.redMul(t))?r=f[0]:(r=f[1],o(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map(function(e){return{a:new n(e.a,16),b:new n(e.b,16)}}):this._getEndoBasis(r)}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:n.mont(e),r=new n(2).toRed(t).redInvm(),i=r.redNeg(),f=new n(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(f).fromRed(),i.redSub(f).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t,r,i,f,a,o,s,d,c,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=e,l=this.n.clone(),b=new n(1),p=new n(0),m=new n(0),g=new n(1),y=0;0!==u.cmpn(0);){var v=l.div(u);d=l.sub(v.mul(u)),c=m.sub(v.mul(b));var w=g.sub(v.mul(p));if(!i&&d.cmp(h)<0)t=s.neg(),r=b,i=d.neg(),f=c;else if(i&&2===++y)break;s=d,l=u,u=d,m=b,b=c,g=p,p=w}a=d.neg(),o=c;var M=i.sqr().add(f.sqr());return a.sqr().add(o.sqr()).cmp(M)>=0&&(a=t,o=r),i.negative&&(i=i.neg(),f=f.neg()),a.negative&&(a=a.neg(),o=o.neg()),[{a:i,b:f},{a,b:o}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),f=r.b.neg().mul(e).divRound(this.n),a=n.mul(r.a),o=f.mul(i.a),s=n.mul(r.b),d=f.mul(i.b);return{k1:e.sub(a).sub(o),k2:s.add(d).neg()}},s.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var f=i.fromRed().isOdd();return(t&&!f||!t&&f)&&(i=i.redNeg()),this.point(e,i)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,i=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},s.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,f=0;f<e.length;f++){var a=this._endoSplit(t[f]),o=e[f],s=o._getBeta();a.k1.negative&&(a.k1.ineg(),o=o.neg(!0)),a.k2.negative&&(a.k2.ineg(),s=s.neg(!0)),i[2*f]=o,i[2*f+1]=s,n[2*f]=a.k1,n[2*f+1]=a.k2}for(var d=this._wnafMulAdd(1,i,n,2*f,r),c=0;c<2*f;c++)i[c]=null,n[c]=null;return d},f(d,a.BasePoint),s.prototype.point=function(e,t,r){return new d(this,e,t,r)},s.prototype.pointFromJSON=function(e,t){return d.fromJSON(this,e,t)},d.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,i=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}}return t}},d.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},d.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var i=e.point(t[0],t[1],r);if(!t[2])return i;function n(t){return e.point(t[0],t[1],r)}var f=t[2];return i.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[i].concat(f.doubles.points.map(n))},naf:f.naf&&{wnd:f.naf.wnd,points:[i].concat(f.naf.points.map(n))}},i},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.inf},d.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},d.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),i=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i),f=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,a)},d.prototype.getX=function(){return this.x.fromRed()},d.prototype.getY=function(){return this.y.fromRed()},d.prototype.mul=function(e){return e=new n(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},d.prototype.mulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},d.prototype.jmulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},d.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},d.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,i=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return t},d.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},f(c,a.BasePoint),s.prototype.jpoint=function(e,t,r){return new c(this,e,t,r)},c.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)},c.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},c.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t),n=e.x.redMul(r),f=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),o=i.redSub(n),s=f.redSub(a);if(0===o.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var d=o.redSqr(),c=d.redMul(o),h=i.redMul(d),u=s.redSqr().redIAdd(c).redISub(h).redISub(h),l=s.redMul(h.redISub(u)).redISub(f.redMul(c)),b=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(u,l,b)},c.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,i=e.x.redMul(t),n=this.y,f=e.y.redMul(t).redMul(this.z),a=r.redSub(i),o=n.redSub(f);if(0===a.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=a.redSqr(),d=s.redMul(a),c=r.redMul(s),h=o.redSqr().redIAdd(d).redISub(c).redISub(c),u=o.redMul(c.redISub(h)).redISub(n.redMul(d)),l=this.z.redMul(a);return this.curve.jpoint(h,u,l)},c.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t<e;t++)r=r.dbl();return r}var i=this.curve.a,n=this.curve.tinv,f=this.x,a=this.y,o=this.z,s=o.redSqr().redSqr(),d=a.redAdd(a);for(t=0;t<e;t++){var c=f.redSqr(),h=d.redSqr(),u=h.redSqr(),l=c.redAdd(c).redIAdd(c).redIAdd(i.redMul(s)),b=f.redMul(h),p=l.redSqr().redISub(b.redAdd(b)),m=b.redISub(p),g=l.redMul(m);g=g.redIAdd(g).redISub(u);var y=d.redMul(o);t+1<e&&(s=s.redMul(u)),f=p,o=y,d=g}return this.curve.jpoint(f,d.redMul(n),o)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},c.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),f=n.redSqr(),a=this.x.redAdd(n).redSqr().redISub(i).redISub(f);a=a.redIAdd(a);var o=i.redAdd(i).redIAdd(i),s=o.redSqr().redISub(a).redISub(a),d=f.redIAdd(f);d=(d=d.redIAdd(d)).redIAdd(d),e=s,t=o.redMul(a.redISub(s)).redISub(d),r=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),h=this.y.redSqr(),u=h.redSqr(),l=this.x.redAdd(h).redSqr().redISub(c).redISub(u);l=l.redIAdd(l);var b=c.redAdd(c).redIAdd(c),p=b.redSqr(),m=u.redIAdd(u);m=(m=m.redIAdd(m)).redIAdd(m),e=p.redISub(l).redISub(l),t=b.redMul(l.redISub(e)).redISub(m),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},c.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),f=n.redSqr(),a=this.x.redAdd(n).redSqr().redISub(i).redISub(f);a=a.redIAdd(a);var o=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),s=o.redSqr().redISub(a).redISub(a);e=s;var d=f.redIAdd(f);d=(d=d.redIAdd(d)).redIAdd(d),t=o.redMul(a.redISub(s)).redISub(d),r=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),h=this.y.redSqr(),u=this.x.redMul(h),l=this.x.redSub(c).redMul(this.x.redAdd(c));l=l.redAdd(l).redIAdd(l);var b=u.redIAdd(u),p=(b=b.redIAdd(b)).redAdd(b);e=l.redSqr().redISub(p),r=this.y.redAdd(this.z).redSqr().redISub(h).redISub(c);var m=h.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),t=l.redMul(b.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,r)},c.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),f=t.redSqr(),a=r.redSqr(),o=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(n)),s=t.redAdd(t),d=(s=s.redIAdd(s)).redMul(a),c=o.redSqr().redISub(d.redAdd(d)),h=d.redISub(c),u=a.redSqr();u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=o.redMul(h).redISub(u),b=r.redAdd(r).redMul(i);return this.curve.jpoint(c,l,b)},c.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=t.redSqr(),n=e.redAdd(e).redIAdd(e),f=n.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(i),o=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(f)).redSqr(),s=i.redIAdd(i);s=(s=(s=s.redIAdd(s)).redIAdd(s)).redIAdd(s);var d=n.redIAdd(a).redSqr().redISub(f).redISub(o).redISub(s),c=t.redMul(d);c=(c=c.redIAdd(c)).redIAdd(c);var h=this.x.redMul(o).redISub(c);h=(h=h.redIAdd(h)).redIAdd(h);var u=this.y.redMul(d.redMul(s.redISub(d)).redISub(a.redMul(o)));u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=this.z.redAdd(a).redSqr().redISub(r).redISub(o);return this.curve.jpoint(h,u,l)},c.prototype.mul=function(e,t){return e=new n(e,t),this.curve._wnafMul(this,e)},c.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var i=t.redMul(this.z),n=r.redMul(e.z);return 0===this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)},c.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var i=e.clone(),n=this.curve.redN.redMul(t);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},c.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},318:(e,t)=>{t.read=function(e,t,r,i,n){var f,a,o=8*n-i-1,s=(1<<o)-1,d=s>>1,c=-7,h=r?n-1:0,u=r?-1:1,l=e[t+h];for(h+=u,f=l&(1<<-c)-1,l>>=-c,c+=o;c>0;f=256*f+e[t+h],h+=u,c-=8);for(a=f&(1<<-c)-1,f>>=-c,c+=i;c>0;a=256*a+e[t+h],h+=u,c-=8);if(0===f)f=1-d;else{if(f===s)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,i),f-=d}return(l?-1:1)*a*Math.pow(2,f-i)},t.write=function(e,t,r,i,n,f){var a,o,s,d=8*f-n-1,c=(1<<d)-1,h=c>>1,u=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,l=i?0:f-1,b=i?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),(t+=a+h>=1?u/s:u*Math.pow(2,1-h))*s>=2&&(a++,s/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(t*s-1)*Math.pow(2,n),a+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,n),a=0));n>=8;e[r+l]=255&o,l+=b,o/=256,n-=8);for(a=a<<n|o,d+=n;d>0;e[r+l]=255&a,l+=b,a/=256,d-=8);e[r+l-b]|=128*p}},348:(e,t,r)=>{"use strict";var i=r(461),n=r(157);function f(){if(!(this instanceof f))return new f;n.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(f,n),e.exports=f,f.blockSize=1024,f.outSize=384,f.hmacStrength=192,f.padLength=128,f.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,12),"big"):i.split32(this.h.slice(0,12),"big")}},360:(e,t,r)=>{"use strict";var i=t;i.version=r(183).rE,i.utils=r(874),i.rand=r(48),i.curve=r(131),i.curves=r(443),i.ec=r(64),i.eddsa=r(807)},393:(e,t,r)=>{"use strict";var i=r(461),n=r(536);function f(){if(!(this instanceof f))return new f;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(f,n),e.exports=f,f.blockSize=512,f.outSize=224,f.hmacStrength=192,f.padLength=64,f.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h.slice(0,7),"big"):i.split32(this.h.slice(0,7),"big")}},401:(e,t,r)=>{"use strict";var i=r(845),n=r(874),f=n.assert,a=n.cachedProperty,o=n.parseBytes;function s(e,t){this.eddsa=e,"object"!=typeof t&&(t=o(t)),Array.isArray(t)&&(f(t.length===2*e.encodingLength,"Signature has invalid size"),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),f(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof i&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(s,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),a(s,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),a(s,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),a(s,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return n.encode(this.toBytes(),"hex").toUpperCase()},e.exports=s},443:(e,t,r)=>{"use strict";var i,n=t,f=r(499),a=r(131),o=r(874).assert;function s(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function d(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new s(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=s,d("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:f.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),d("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:f.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),d("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:f.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),d("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:f.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),d("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:f.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),d("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f.sha256,gRed:!1,g:["9"]}),d("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{i=r(605)}catch(e){i=void 0}d("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:f.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",i]})},461:(e,t,r)=>{"use strict";var i=r(784),n=r(615);function f(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function o(e){return 1===e.length?"0"+e:e}function s(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=n,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var i=0,n=0;n<e.length;n++){var a=e.charCodeAt(n);a<128?r[i++]=a:a<2048?(r[i++]=a>>6|192,r[i++]=63&a|128):f(e,n)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++n)),r[i++]=a>>18|240,r[i++]=a>>12&63|128,r[i++]=a>>6&63|128,r[i++]=63&a|128):(r[i++]=a>>12|224,r[i++]=a>>6&63|128,r[i++]=63&a|128)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r},t.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=o(e[r].toString(16));return t},t.htonl=a,t.toHex32=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=a(n)),r+=s(n.toString(16))}return r},t.zero2=o,t.zero8=s,t.join32=function(e,t,r,n){var f=r-t;i(f%4==0);for(var a=new Array(f/4),o=0,s=t;o<a.length;o++,s+=4){var d;d="big"===n?e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3]:e[s+3]<<24|e[s+2]<<16|e[s+1]<<8|e[s],a[o]=d>>>0}return a},t.split32=function(e,t){for(var r=new Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var f=e[i];"big"===t?(r[n]=f>>>24,r[n+1]=f>>>16&255,r[n+2]=f>>>8&255,r[n+3]=255&f):(r[n+3]=f>>>24,r[n+2]=f>>>16&255,r[n+1]=f>>>8&255,r[n]=255&f)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,i){return e+t+r+i>>>0},t.sum32_5=function(e,t,r,i,n){return e+t+r+i+n>>>0},t.sum64=function(e,t,r,i){var n=e[t],f=i+e[t+1]>>>0,a=(f<i?1:0)+r+n;e[t]=a>>>0,e[t+1]=f},t.sum64_hi=function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},t.sum64_lo=function(e,t,r,i){return t+i>>>0},t.sum64_4_hi=function(e,t,r,i,n,f,a,o){var s=0,d=t;return s+=(d=d+i>>>0)<t?1:0,s+=(d=d+f>>>0)<f?1:0,e+r+n+a+(s+=(d=d+o>>>0)<o?1:0)>>>0},t.sum64_4_lo=function(e,t,r,i,n,f,a,o){return t+i+f+o>>>0},t.sum64_5_hi=function(e,t,r,i,n,f,a,o,s,d){var c=0,h=t;return c+=(h=h+i>>>0)<t?1:0,c+=(h=h+f>>>0)<f?1:0,c+=(h=h+o>>>0)<o?1:0,e+r+n+a+s+(c+=(h=h+d>>>0)<d?1:0)>>>0},t.sum64_5_lo=function(e,t,r,i,n,f,a,o,s,d){return t+i+f+o+d>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},499:(e,t,r)=>{var i=t;i.utils=r(461),i.common=r(191),i.sha=r(746),i.ripemd=r(169),i.hmac=r(825),i.sha1=i.sha.sha1,i.sha256=i.sha.sha256,i.sha224=i.sha.sha224,i.sha384=i.sha.sha384,i.sha512=i.sha.sha512,i.ripemd160=i.ripemd.ripemd160},531:(e,t,r)=>{"use strict";var i=r(845),n=r(874).assert;function f(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=f,f.fromPublic=function(e,t,r){return t instanceof f?t:new f(e,{pub:t,pubEnc:r})},f.fromPrivate=function(e,t,r){return t instanceof f?t:new f(e,{priv:t,privEnc:r})},f.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},f.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},f.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},f.prototype._importPrivate=function(e,t){this.priv=new i(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},f.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?n(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||n(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},f.prototype.derive=function(e){return e.validate()||n(e.validate(),"public point not validated"),e.mul(this.priv).getX()},f.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},f.prototype.verify=function(e,t,r){return this.ec.verify(e,t,this,void 0,r)},f.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},536:(e,t,r)=>{"use strict";var i=r(461),n=r(191),f=r(600),a=r(784),o=i.sum32,s=i.sum32_4,d=i.sum32_5,c=f.ch32,h=f.maj32,u=f.s0_256,l=f.s1_256,b=f.g0_256,p=f.g1_256,m=n.BlockHash,g=[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];function y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}i.inherits(y,m),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=s(p(r[i-2]),r[i-7],b(r[i-15]),r[i-16]);var n=this.h[0],f=this.h[1],m=this.h[2],g=this.h[3],y=this.h[4],v=this.h[5],w=this.h[6],M=this.h[7];for(a(this.k.length===r.length),i=0;i<r.length;i++){var A=d(M,l(y),c(y,v,w),this.k[i],r[i]),S=o(u(n),h(n,f,m));M=w,w=v,v=y,y=o(g,A),g=m,m=f,f=n,n=o(A,S)}this.h[0]=o(this.h[0],n),this.h[1]=o(this.h[1],f),this.h[2]=o(this.h[2],m),this.h[3]=o(this.h[3],g),this.h[4]=o(this.h[4],y),this.h[5]=o(this.h[5],v),this.h[6]=o(this.h[6],w),this.h[7]=o(this.h[7],M)},y.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},547:(e,t,r)=>{"use strict";var i=r(874),n=r(845),f=r(615),a=r(174),o=i.assert;function s(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new n(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function d(e,t,r,i,f){a.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(t,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=f&&new n(f,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}f(s,a),e.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,r,i){return this.point(e,t,r,i)},s.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),f=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=i.redMul(f.redInvm()),o=a.redSqrt();if(0!==o.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var s=o.fromRed().isOdd();return(t&&!s||!t&&s)&&(o=o.redNeg()),this.point(e,o)},s.prototype.pointFromY=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),f=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=i.redMul(f.redInvm());if(0===a.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var o=a.redSqrt();if(0!==o.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return o.fromRed().isOdd()!==t&&(o=o.redNeg()),this.point(o,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),i=t.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===i.cmp(n)},f(d,a.BasePoint),s.prototype.pointFromJSON=function(e){return d.fromJSON(this,e)},s.prototype.point=function(e,t,r,i){return new d(this,e,t,r,i)},d.fromJSON=function(e,t){return new d(e,t[0],t[1],t[2])},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},d.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),f=i.redAdd(t),a=f.redSub(r),o=i.redSub(t),s=n.redMul(a),d=f.redMul(o),c=n.redMul(o),h=a.redMul(f);return this.curve.point(s,d,h,c)},d.prototype._projDbl=function(){var e,t,r,i,n,f,a=this.x.redAdd(this.y).redSqr(),o=this.x.redSqr(),s=this.y.redSqr();if(this.curve.twisted){var d=(i=this.curve._mulA(o)).redAdd(s);this.zOne?(e=a.redSub(o).redSub(s).redMul(d.redSub(this.curve.two)),t=d.redMul(i.redSub(s)),r=d.redSqr().redSub(d).redSub(d)):(n=this.z.redSqr(),f=d.redSub(n).redISub(n),e=a.redSub(o).redISub(s).redMul(f),t=d.redMul(i.redSub(s)),r=d.redMul(f))}else i=o.redAdd(s),n=this.curve._mulC(this.z).redSqr(),f=i.redSub(n).redSub(n),e=this.curve._mulC(a.redISub(i)).redMul(f),t=this.curve._mulC(i).redMul(o.redISub(s)),r=i.redMul(f);return this.curve.point(e,t,r)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},d.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),f=r.redSub(t),a=n.redSub(i),o=n.redAdd(i),s=r.redAdd(t),d=f.redMul(a),c=o.redMul(s),h=f.redMul(s),u=a.redMul(o);return this.curve.point(d,c,u,h)},d.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),f=this.x.redMul(e.x),a=this.y.redMul(e.y),o=this.curve.d.redMul(f).redMul(a),s=n.redSub(o),d=n.redAdd(o),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(f).redISub(a),h=i.redMul(s).redMul(c);return this.curve.twisted?(t=i.redMul(d).redMul(a.redSub(this.curve._mulA(f))),r=s.redMul(d)):(t=i.redMul(d).redMul(a.redSub(f)),r=this.curve._mulC(s).redMul(d)),this.curve.point(h,t,r)},d.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},d.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},d.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},d.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},d.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},d.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},d.prototype.getX=function(){return this.normalize(),this.x.fromRed()},d.prototype.getY=function(){return this.normalize(),this.y.fromRed()},d.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},d.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},d.prototype.toP=d.prototype.normalize,d.prototype.mixedAdd=d.prototype.add},553:()=>{},600:(e,t,r)=>{"use strict";var i=r(461).rotr32;function n(e,t,r){return e&t^~e&r}function f(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,i){return 0===e?n(t,r,i):1===e||3===e?a(t,r,i):2===e?f(t,r,i):void 0},t.ch32=n,t.maj32=f,t.p32=a,t.s0_256=function(e){return i(e,2)^i(e,13)^i(e,22)},t.s1_256=function(e){return i(e,6)^i(e,11)^i(e,25)},t.g0_256=function(e){return i(e,7)^i(e,18)^e>>>3},t.g1_256=function(e){return i(e,17)^i(e,19)^e>>>10}},605:e=>{e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},615:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},661:()=>{},667:(e,t,r)=>{"use strict";const i=r(991),n=r(318),f="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=s,t.IS=50;const a=2147483647;function o(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return d(e,t,r)}function d(e,t,r){if("string"==typeof e)return function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!s.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|p(e,t);let i=o(r);const n=i.write(e,t);n!==r&&(i=i.slice(0,n));return i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(W(e,Uint8Array)){const t=new Uint8Array(e);return l(t.buffer,t.byteOffset,t.byteLength)}return u(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(W(e,ArrayBuffer)||e&&W(e.buffer,ArrayBuffer))return l(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(W(e,SharedArrayBuffer)||e&&W(e.buffer,SharedArrayBuffer)))return l(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return s.from(i,t,r);const n=function(e){if(s.isBuffer(e)){const t=0|b(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}if(void 0!==e.length)return"number"!=typeof e.length||Z(e.length)?o(0):u(e);if("Buffer"===e.type&&Array.isArray(e.data))return u(e.data)}(e);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return s.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return c(e),o(e<0?0:0|b(e))}function u(e){const t=e.length<0?0:0|b(e.length),r=o(t);for(let i=0;i<t;i+=1)r[i]=255&e[i];return r}function l(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(i,s.prototype),i}function b(e){if(e>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function p(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||W(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return V(e).length;default:if(n)return i?-1:K(e).length;t=(""+t).toLowerCase(),n=!0}}function m(e,t,r){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return R(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return E(this,t,r);case"latin1":case"binary":return B(this,t,r);case"base64":return I(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function g(e,t,r){const i=e[t];e[t]=e[r],e[r]=i}function y(e,t,r,i,n){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Z(r=+r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=s.from(t,i)),s.isBuffer(t))return 0===t.length?-1:v(e,t,r,i,n);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):v(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function v(e,t,r,i,n){let f,a=1,o=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function d(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(n){let i=-1;for(f=r;f<o;f++)if(d(e,f)===d(t,-1===i?0:f-i)){if(-1===i&&(i=f),f-i+1===s)return i*a}else-1!==i&&(f-=f-i),i=-1}else for(r+s>o&&(r=o-s),f=r;f>=0;f--){let r=!0;for(let i=0;i<s;i++)if(d(e,f+i)!==d(t,i)){r=!1;break}if(r)return f}return-1}function w(e,t,r,i){r=Number(r)||0;const n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;const f=t.length;let a;for(i>f/2&&(i=f/2),a=0;a<i;++a){const i=parseInt(t.substr(2*a,2),16);if(Z(i))return a;e[r+a]=i}return a}function M(e,t,r,i){return X(K(t,e.length-r),e,r,i)}function A(e,t,r,i){return X(function(e){const t=[];for(let r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,i)}function S(e,t,r,i){return X(V(t),e,r,i)}function _(e,t,r,i){return X(function(e,t){let r,i,n;const f=[];for(let a=0;a<e.length&&!((t-=2)<0);++a)r=e.charCodeAt(a),i=r>>8,n=r%256,f.push(n),f.push(i);return f}(t,e.length-r),e,r,i)}function I(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);const i=[];let n=t;for(;n<r;){const t=e[n];let f=null,a=t>239?4:t>223?3:t>191?2:1;if(n+a<=r){let r,i,o,s;switch(a){case 1:t<128&&(f=t);break;case 2:r=e[n+1],128==(192&r)&&(s=(31&t)<<6|63&r,s>127&&(f=s));break;case 3:r=e[n+1],i=e[n+2],128==(192&r)&&128==(192&i)&&(s=(15&t)<<12|(63&r)<<6|63&i,s>2047&&(s<55296||s>57343)&&(f=s));break;case 4:r=e[n+1],i=e[n+2],o=e[n+3],128==(192&r)&&128==(192&i)&&128==(192&o)&&(s=(15&t)<<18|(63&r)<<12|(63&i)<<6|63&o,s>65535&&s<1114112&&(f=s))}}null===f?(f=65533,a=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=a}return function(e){const t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);let r="",i=0;for(;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=k));return r}(i)}s.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),s.poolSize=8192,s.from=function(e,t,r){return d(e,t,r)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array),s.alloc=function(e,t,r){return function(e,t,r){return c(e),e<=0?o(e):void 0!==t?"string"==typeof r?o(e).fill(t,r):o(e).fill(t):o(e)}(e,t,r)},s.allocUnsafe=function(e){return h(e)},s.allocUnsafeSlow=function(e){return h(e)},s.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==s.prototype},s.compare=function(e,t){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),W(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,i=t.length;for(let n=0,f=Math.min(r,i);n<f;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(e){switch(String(e).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}},s.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);let r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;const i=s.allocUnsafe(t);let n=0;for(r=0;r<e.length;++r){let t=e[r];if(W(t,Uint8Array))n+t.length>i.length?(s.isBuffer(t)||(t=s.from(t)),t.copy(i,n)):Uint8Array.prototype.set.call(i,t,n);else{if(!s.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,n)}n+=t.length}return i},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)g(this,t,t+1);return this},s.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},s.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},s.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?x(this,0,e):m.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){let e="";const r=t.IS;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},f&&(s.prototype[f]=s.prototype.inspect),s.prototype.compare=function(e,t,r,i,n){if(W(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;let f=(n>>>=0)-(i>>>=0),a=(r>>>=0)-(t>>>=0);const o=Math.min(f,a),d=this.slice(i,n),c=e.slice(t,r);for(let e=0;e<o;++e)if(d[e]!==c[e]){f=d[e],a=c[e];break}return f<a?-1:a<f?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return y(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return y(this,e,t,r,!1)},s.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let f=!1;for(;;)switch(i){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return M(this,e,t,r);case"ascii":case"latin1":case"binary":return A(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,e,t,r);default:if(f)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),f=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const k=4096;function E(e,t,r){let i="";r=Math.min(e.length,r);for(let n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function B(e,t,r){let i="";r=Math.min(e.length,r);for(let n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function R(e,t,r){const i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=t;i<r;++i)n+=Y[e[i]];return n}function T(e,t,r){const i=e.slice(t,r);let n="";for(let e=0;e<i.length-1;e+=2)n+=String.fromCharCode(i[e]+256*i[e+1]);return n}function O(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function z(e,t,r,i,n,f){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<f)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function P(e,t,r,i,n){D(t,i,n,e,r,7);let f=Number(t&BigInt(4294967295));e[r++]=f,f>>=8,e[r++]=f,f>>=8,e[r++]=f,f>>=8,e[r++]=f;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function N(e,t,r,i,n){D(t,i,n,e,r,7);let f=Number(t&BigInt(4294967295));e[r+7]=f,f>>=8,e[r+6]=f,f>>=8,e[r+5]=f,f>>=8,e[r+4]=f;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function L(e,t,r,i,n,f){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(e,t,r,i,f){return t=+t,r>>>=0,f||L(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function q(e,t,r,i,f){return t=+t,r>>>=0,f||L(e,0,r,8),n.write(e,t,r,i,52,8),r+8}s.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);const i=this.subarray(e,t);return Object.setPrototypeOf(i,s.prototype),i},s.prototype.readUintLE=s.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);let i=this[e],n=1,f=0;for(;++f<t&&(n*=256);)i+=this[e+f]*n;return i},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);let i=this[e+--t],n=1;for(;t>0&&(n*=256);)i+=this[e+--t]*n;return i},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=G(function(e){$(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||H(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,n=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(i)+(BigInt(n)<<BigInt(32))}),s.prototype.readBigUInt64BE=G(function(e){$(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||H(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],n=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(i)<<BigInt(32))+BigInt(n)}),s.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);let i=this[e],n=1,f=0;for(;++f<t&&(n*=256);)i+=this[e+f]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*t)),i},s.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);let i=t,n=1,f=this[e+--i];for(;i>0&&(n*=256);)f+=this[e+--i]*n;return n*=128,f>=n&&(f-=Math.pow(2,8*t)),f},s.prototype.readInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||O(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){e>>>=0,t||O(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=G(function(e){$(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||H(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)}),s.prototype.readBigInt64BE=G(function(e){$(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||H(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+r)}),s.prototype.readFloatLE=function(e,t){return e>>>=0,t||O(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||O(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||O(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||O(e,8,this.length),n.read(this,e,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,r,i){if(e=+e,t>>>=0,r>>>=0,!i){z(this,e,t,r,Math.pow(2,8*r)-1,0)}let n=1,f=0;for(this[t]=255&e;++f<r&&(n*=256);)this[t+f]=e/n&255;return t+r},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,t,r,i){if(e=+e,t>>>=0,r>>>=0,!i){z(this,e,t,r,Math.pow(2,8*r)-1,0)}let n=r-1,f=1;for(this[t+n]=255&e;--n>=0&&(f*=256);)this[t+n]=e/f&255;return t+r},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,1,255,0),this[t]=255&e,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeBigUInt64LE=G(function(e,t=0){return P(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=G(function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*r-1);z(this,e,t,r,i-1,-i)}let n=0,f=1,a=0;for(this[t]=255&e;++n<r&&(f*=256);)e<0&&0===a&&0!==this[t+n-1]&&(a=1),this[t+n]=(e/f|0)-a&255;return t+r},s.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*r-1);z(this,e,t,r,i-1,-i)}let n=r-1,f=1,a=0;for(this[t+n]=255&e;--n>=0&&(f*=256);)e<0&&0===a&&0!==this[t+n+1]&&(a=1),this[t+n]=(e/f|0)-a&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||z(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},s.prototype.writeBigInt64LE=G(function(e,t=0){return P(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=G(function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeFloatLE=function(e,t,r){return U(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return U(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return q(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return q(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,i){if(!s.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);const n=i-r;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,r,i):Uint8Array.prototype.set.call(e,this.subarray(r,i),t),n},s.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){const t=e.charCodeAt(0);("utf8"===i&&t<128||"latin1"===i)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;let n;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(n=t;n<r;++n)this[n]=e;else{const f=s.isBuffer(e)?e:s.from(e,i),a=f.length;if(0===a)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(n=0;n<r-t;++n)this[n+t]=f[n%a]}return this};const C={};function j(e,t,r){C[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function F(e){let t="",r=e.length;const i="-"===e[0]?1:0;for(;r>=i+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function D(e,t,r,i,n,f){if(e>r||e<t){const i="bigint"==typeof t?"n":"";let n;throw n=f>3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(f+1)}${i}`:`>= -(2${i} ** ${8*(f+1)-1}${i}) and < 2 ** ${8*(f+1)-1}${i}`:`>= ${t}${i} and <= ${r}${i}`,new C.ERR_OUT_OF_RANGE("value",n,e)}!function(e,t,r){$(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||H(t,e.length-(r+1))}(i,n,f)}function $(e,t){if("number"!=typeof e)throw new C.ERR_INVALID_ARG_TYPE(t,"number",e)}function H(e,t,r){if(Math.floor(e)!==e)throw $(e,r),new C.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new C.ERR_BUFFER_OUT_OF_BOUNDS;throw new C.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}j("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),j("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),j("ERR_OUT_OF_RANGE",function(e,t,r){let i=`The value of "${e}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=F(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=F(n)),n+="n"),i+=` It must be ${t}. Received ${n}`,i},RangeError);const J=/[^+/0-9A-Za-z-_]/g;function K(e,t){let r;t=t||1/0;const i=e.length;let n=null;const f=[];for(let a=0;a<i;++a){if(r=e.charCodeAt(a),r>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&f.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&f.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&f.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&f.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;f.push(r)}else if(r<2048){if((t-=2)<0)break;f.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;f.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;f.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return f}function V(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function X(e,t,r,i){let n;for(n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function W(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!=e}const Y=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)t[i+n]=e[r]+e[n]}return t}();function G(e){return"undefined"==typeof BigInt?Q:e}function Q(){throw new Error("BigInt not supported")}},671:(e,t,r)=>{var i;!function(){"use strict";var n="input is invalid type",f="object"==typeof window,a=f?window:{};a.JS_SHA3_NO_WINDOW&&(f=!1);var o=!f&&"object"==typeof self;!a.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?a=r.g:o&&(a=self);for(var s=!a.JS_SHA3_NO_COMMON_JS&&e.exports,d=r.amdO,c=!a.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,h="0123456789abcdef".split(""),u=[4,1024,262144,67108864],l=[0,8,16,24],b=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],p=[224,256,384,512],m=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],y={128:168,256:136},v=a.JS_SHA3_NO_NODE_JS||!Array.isArray?function(e){return"[object Array]"===Object.prototype.toString.call(e)}:Array.isArray,w=!c||!a.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView?ArrayBuffer.isView:function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer},M=function(e){var t=typeof e;if("string"===t)return[e,!0];if("object"!==t||null===e)throw new Error(n);if(c&&e.constructor===ArrayBuffer)return[new Uint8Array(e),!1];if(!v(e)&&!w(e))throw new Error(n);return[e,!1]},A=function(e){return 0===M(e)[0].length},S=function(e){for(var t=[],r=0;r<e.length;++r)t[r]=e[r];return t},_=function(e,t,r){return function(i){return new C(e,t,e).update(i)[r]()}},I=function(e,t,r){return function(i,n){return new C(e,t,n).update(i)[r]()}},x=function(e,t,r){return function(t,i,n,f){return T["cshake"+e].update(t,i,n,f)[r]()}},k=function(e,t,r){return function(t,i,n,f){return T["kmac"+e].update(t,i,n,f)[r]()}},E=function(e,t,r,i){for(var n=0;n<g.length;++n){var f=g[n];e[f]=t(r,i,f)}return e},B=function(e,t){var r=_(e,t,"hex");return r.create=function(){return new C(e,t,e)},r.update=function(e){return r.create().update(e)},E(r,_,e,t)},R=[{name:"keccak",padding:[1,256,65536,16777216],bits:p,createMethod:B},{name:"sha3",padding:[6,1536,393216,100663296],bits:p,createMethod:B},{name:"shake",padding:[31,7936,2031616,520093696],bits:m,createMethod:function(e,t){var r=I(e,t,"hex");return r.create=function(r){return new C(e,t,r)},r.update=function(e,t){return r.create(t).update(e)},E(r,I,e,t)}},{name:"cshake",padding:u,bits:m,createMethod:function(e,t){var r=y[e],i=x(e,0,"hex");return i.create=function(i,n,f){return A(n)&&A(f)?T["shake"+e].create(i):new C(e,t,i).bytepad([n,f],r)},i.update=function(e,t,r,n){return i.create(t,r,n).update(e)},E(i,x,e,t)}},{name:"kmac",padding:u,bits:m,createMethod:function(e,t){var r=y[e],i=k(e,0,"hex");return i.create=function(i,n,f){return new j(e,t,n).bytepad(["KMAC",f],r).bytepad([i],r)},i.update=function(e,t,r,n){return i.create(e,r,n).update(t)},E(i,k,e,t)}}],T={},O=[],z=0;z<R.length;++z)for(var P=R[z],N=P.bits,L=0;L<N.length;++L){var U=P.name+"_"+N[L];if(O.push(U),T[U]=P.createMethod(N[L],P.padding),"sha3"!==P.name){var q=P.name+N[L];O.push(q),T[q]=T[U]}}function C(e,t,r){this.blocks=[],this.s=[],this.padding=t,this.outputBits=r,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var i=0;i<50;++i)this.s[i]=0}function j(e,t,r){C.call(this,e,t,r)}C.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t=M(e);e=t[0];for(var r,i,n=t[1],f=this.blocks,a=this.byteCount,o=e.length,s=this.blockCount,d=0,c=this.s;d<o;){if(this.reset)for(this.reset=!1,f[0]=this.block,r=1;r<s+1;++r)f[r]=0;if(n)for(r=this.start;d<o&&r<a;++d)(i=e.charCodeAt(d))<128?f[r>>2]|=i<<l[3&r++]:i<2048?(f[r>>2]|=(192|i>>6)<<l[3&r++],f[r>>2]|=(128|63&i)<<l[3&r++]):i<55296||i>=57344?(f[r>>2]|=(224|i>>12)<<l[3&r++],f[r>>2]|=(128|i>>6&63)<<l[3&r++],f[r>>2]|=(128|63&i)<<l[3&r++]):(i=65536+((1023&i)<<10|1023&e.charCodeAt(++d)),f[r>>2]|=(240|i>>18)<<l[3&r++],f[r>>2]|=(128|i>>12&63)<<l[3&r++],f[r>>2]|=(128|i>>6&63)<<l[3&r++],f[r>>2]|=(128|63&i)<<l[3&r++]);else for(r=this.start;d<o&&r<a;++d)f[r>>2]|=e[d]<<l[3&r++];if(this.lastByteIndex=r,r>=a){for(this.start=r-a,this.block=f[s],r=0;r<s;++r)c[r]^=f[r];F(c),this.reset=!0}else this.start=r}return this},C.prototype.encode=function(e,t){var r=255&e,i=1,n=[r];for(r=255&(e>>=8);r>0;)n.unshift(r),r=255&(e>>=8),++i;return t?n.push(i):n.unshift(i),this.update(n),n.length},C.prototype.encodeString=function(e){var t=M(e);e=t[0];var r=t[1],i=0,n=e.length;if(r)for(var f=0;f<e.length;++f){var a=e.charCodeAt(f);a<128?i+=1:a<2048?i+=2:a<55296||a>=57344?i+=3:(a=65536+((1023&a)<<10|1023&e.charCodeAt(++f)),i+=4)}else i=n;return i+=this.encode(8*i),this.update(e),i},C.prototype.bytepad=function(e,t){for(var r=this.encode(t),i=0;i<e.length;++i)r+=this.encodeString(e[i]);var n=(t-r%t)%t,f=[];return f.length=n,this.update(f),this},C.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,r=this.blockCount,i=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t<r+1;++t)e[t]=0;for(e[r-1]|=2147483648,t=0;t<r;++t)i[t]^=e[t];F(i)}},C.prototype.toString=C.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,r=this.s,i=this.outputBlocks,n=this.extraBytes,f=0,a=0,o="";a<i;){for(f=0;f<t&&a<i;++f,++a)e=r[f],o+=h[e>>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];a%t===0&&(r=S(r),F(r),f=0)}return n&&(e=r[f],o+=h[e>>4&15]+h[15&e],n>1&&(o+=h[e>>12&15]+h[e>>8&15]),n>2&&(o+=h[e>>20&15]+h[e>>16&15])),o},C.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,i=this.outputBlocks,n=this.extraBytes,f=0,a=0,o=this.outputBits>>3;e=n?new ArrayBuffer(i+1<<2):new ArrayBuffer(o);for(var s=new Uint32Array(e);a<i;){for(f=0;f<t&&a<i;++f,++a)s[a]=r[f];a%t===0&&(r=S(r),F(r))}return n&&(s[a]=r[f],e=e.slice(0,o)),e},C.prototype.buffer=C.prototype.arrayBuffer,C.prototype.digest=C.prototype.array=function(){this.finalize();for(var e,t,r=this.blockCount,i=this.s,n=this.outputBlocks,f=this.extraBytes,a=0,o=0,s=[];o<n;){for(a=0;a<r&&o<n;++a,++o)e=o<<2,t=i[a],s[e]=255&t,s[e+1]=t>>8&255,s[e+2]=t>>16&255,s[e+3]=t>>24&255;o%r===0&&(i=S(i),F(i))}return f&&(e=o<<2,t=i[a],s[e]=255&t,f>1&&(s[e+1]=t>>8&255),f>2&&(s[e+2]=t>>16&255)),s},j.prototype=new C,j.prototype.finalize=function(){return this.encode(this.outputBits,!0),C.prototype.finalize.call(this)};var F=function(e){var t,r,i,n,f,a,o,s,d,c,h,u,l,p,m,g,y,v,w,M,A,S,_,I,x,k,E,B,R,T,O,z,P,N,L,U,q,C,j,F,D,$,H,J,K,V,X,W,Z,Y,G,Q,ee,te,re,ie,ne,fe,ae,oe,se,de,ce;for(i=0;i<48;i+=2)n=e[0]^e[10]^e[20]^e[30]^e[40],f=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],o=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],d=e[5]^e[15]^e[25]^e[35]^e[45],c=e[6]^e[16]^e[26]^e[36]^e[46],h=e[7]^e[17]^e[27]^e[37]^e[47],t=(u=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|o>>>31),r=(l=e[9]^e[19]^e[29]^e[39]^e[49])^(o<<1|a>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=n^(s<<1|d>>>31),r=f^(d<<1|s>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=a^(c<<1|h>>>31),r=o^(h<<1|c>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=s^(u<<1|l>>>31),r=d^(l<<1|u>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=c^(n<<1|f>>>31),r=h^(f<<1|n>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],m=e[1],V=e[11]<<4|e[10]>>>28,X=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,R=e[21]<<3|e[20]>>>29,oe=e[31]<<9|e[30]>>>23,se=e[30]<<9|e[31]>>>23,$=e[40]<<18|e[41]>>>14,H=e[41]<<18|e[40]>>>14,N=e[2]<<1|e[3]>>>31,L=e[3]<<1|e[2]>>>31,g=e[13]<<12|e[12]>>>20,y=e[12]<<12|e[13]>>>20,W=e[22]<<10|e[23]>>>22,Z=e[23]<<10|e[22]>>>22,T=e[33]<<13|e[32]>>>19,O=e[32]<<13|e[33]>>>19,de=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,U=e[14]<<6|e[15]>>>26,q=e[15]<<6|e[14]>>>26,v=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,Y=e[34]<<15|e[35]>>>17,G=e[35]<<15|e[34]>>>17,z=e[45]<<29|e[44]>>>3,P=e[44]<<29|e[45]>>>3,I=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,ie=e[17]<<23|e[16]>>>9,ne=e[16]<<23|e[17]>>>9,C=e[26]<<25|e[27]>>>7,j=e[27]<<25|e[26]>>>7,M=e[36]<<21|e[37]>>>11,A=e[37]<<21|e[36]>>>11,Q=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,J=e[8]<<27|e[9]>>>5,K=e[9]<<27|e[8]>>>5,k=e[18]<<20|e[19]>>>12,E=e[19]<<20|e[18]>>>12,fe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,F=e[38]<<8|e[39]>>>24,D=e[39]<<8|e[38]>>>24,S=e[48]<<14|e[49]>>>18,_=e[49]<<14|e[48]>>>18,e[0]=p^~g&v,e[1]=m^~y&w,e[10]=I^~k&B,e[11]=x^~E&R,e[20]=N^~U&C,e[21]=L^~q&j,e[30]=J^~V&W,e[31]=K^~X&Z,e[40]=te^~ie&fe,e[41]=re^~ne&ae,e[2]=g^~v&M,e[3]=y^~w&A,e[12]=k^~B&T,e[13]=E^~R&O,e[22]=U^~C&F,e[23]=q^~j&D,e[32]=V^~W&Y,e[33]=X^~Z&G,e[42]=ie^~fe&oe,e[43]=ne^~ae&se,e[4]=v^~M&S,e[5]=w^~A&_,e[14]=B^~T&z,e[15]=R^~O&P,e[24]=C^~F&$,e[25]=j^~D&H,e[34]=W^~Y&Q,e[35]=Z^~G&ee,e[44]=fe^~oe&de,e[45]=ae^~se&ce,e[6]=M^~S&p,e[7]=A^~_&m,e[16]=T^~z&I,e[17]=O^~P&x,e[26]=F^~$&N,e[27]=D^~H&L,e[36]=Y^~Q&J,e[37]=G^~ee&K,e[46]=oe^~de&te,e[47]=se^~ce&re,e[8]=S^~p&g,e[9]=_^~m&y,e[18]=z^~I&k,e[19]=P^~x&E,e[28]=$^~N&U,e[29]=H^~L&q,e[38]=Q^~J&V,e[39]=ee^~K&X,e[48]=de^~te&ie,e[49]=ce^~re&ne,e[0]^=b[i],e[1]^=b[i+1]};if(s)e.exports=T;else{for(z=0;z<O.length;++z)a[O[z]]=T[O[z]];d&&(void 0===(i=function(){return T}.call(t,r,t,e))||(e.exports=i))}}()},672:(e,t,r)=>{"use strict";var i=r(874),n=i.assert,f=i.parseBytes,a=i.cachedProperty;function o(e,t){this.eddsa=e,this._secret=f(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=f(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},a(o,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),a(o,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),a(o,"privBytes",function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,i=t.slice(0,e.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i}),a(o,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),a(o,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),a(o,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),o.prototype.sign=function(e){return n(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return n(this._secret,"KeyPair is public only"),i.encode(this.secret(),e)},o.prototype.getPublic=function(e){return i.encode(this.pubBytes(),e)},e.exports=o},742:(e,t,r)=>{"use strict";var i=r(499),n=r(42),f=r(784);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=n.toArray(e.entropy,e.entropyEnc||"hex"),r=n.toArray(e.nonce,e.nonceEnc||"hex"),i=n.toArray(e.pers,e.persEnc||"hex");f(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}e.exports=a,a.prototype._init=function(e,t,r){var i=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new i.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,r,i){"string"!=typeof t&&(i=r,r=t,t=null),e=n.toArray(e,t),r=n.toArray(r,i),f(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(i=r,r=t,t=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));for(var f=[];f.length<e;)this.V=this._hmac().update(this.V).digest(),f=f.concat(this.V);var a=f.slice(0,e);return this._update(r),this._reseed++,n.encode(a,t)}},746:(e,t,r)=>{"use strict";t.sha1=r(986),t.sha224=r(393),t.sha256=r(536),t.sha384=r(348),t.sha512=r(157)},782:(e,t,r)=>{"use strict";var i=r(845),n=r(874),f=n.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(f(e.r&&e.s,"Signature without r or s"),this.r=new i(e.r,16),this.s=new i(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function o(){this.place=0}function s(e,t){var r=e[t.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;if(0===e[t.place])return!1;for(var n=0,f=0,a=t.place;f<i;f++,a++)n<<=8,n|=e[a],n>>>=0;return!(n<=127)&&(t.place=a,n)}function d(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function c(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}e.exports=a,a.prototype._importDER=function(e,t){e=n.toArray(e,t);var r=new o;if(48!==e[r.place++])return!1;var f=s(e,r);if(!1===f)return!1;if(f+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=s(e,r);if(!1===a)return!1;if(128&e[r.place])return!1;var d=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var c=s(e,r);if(!1===c)return!1;if(e.length!==c+r.place)return!1;if(128&e[r.place])return!1;var h=e.slice(r.place,c+r.place);if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new i(d),this.s=new i(h),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=d(t),r=d(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];c(i,t.length),(i=i.concat(t)).push(2),c(i,r.length);var f=i.concat(r),a=[48];return c(a,f.length),a=a.concat(f),n.encode(a,e)}},784:e=>{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},807:(e,t,r)=>{"use strict";var i=r(499),n=r(443),f=r(874),a=f.assert,o=f.parseBytes,s=r(672),d=r(401);function c(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof c))return new c(e);e=n[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=i.sha512}e.exports=c,c.prototype.sign=function(e,t){e=o(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),f=this.encodePoint(n),a=this.hashInt(f,r.pubBytes(),e).mul(r.priv()),s=i.add(a).umod(this.curve.n);return this.makeSignature({R:n,S:s,Rencoded:f})},c.prototype.verify=function(e,t,r){if(e=o(e),(t=this.makeSignature(t)).S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),f=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(f)},c.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return f.intFromLE(e.digest()).umod(this.curve.n)},c.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},c.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},c.prototype.makeSignature=function(e){return e instanceof d?e:new d(this,e)},c.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},c.prototype.decodePoint=function(e){var t=(e=f.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=!!(128&e[t]),n=f.intFromLE(r);return this.curve.pointFromY(n,i)},c.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},c.prototype.decodeInt=function(e){return f.intFromLE(e)},c.prototype.isPoint=function(e){return e instanceof this.pointClass}},825:(e,t,r)=>{"use strict";var i=r(461),n=r(784);function f(e,t,r){if(!(this instanceof f))return new f(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(i.toArray(t,r))}e.exports=f,f.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),n(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},f.prototype.update=function(e,t){return this.inner.update(e,t),this},f.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},845:function(e,t,r){!function(e,t){"use strict";function i(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function f(e,t,r){if(f.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==typeof e?e.exports=f:t.BN=f,f.BN=f,f.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(661).Buffer}catch(e){}function o(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(e,t,r){var i=o(e,r);return r-1>=t&&(i|=o(e,r-1)<<4),i}function d(e,t,r,i){for(var n=0,f=Math.min(e.length,r),a=t;a<f;a++){var o=e.charCodeAt(a)-48;n*=i,n+=o>=49?o-49+10:o>=17?o-17+10:o}return n}f.isBN=function(e){return e instanceof f||null!==e&&"object"==typeof e&&e.constructor.wordSize===f.wordSize&&Array.isArray(e.words)},f.max=function(e,t){return e.cmp(t)>0?e:t},f.min=function(e,t){return e.cmp(t)<0?e:t},f.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),i(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<e.length&&(16===t?this._parseHex(e,n,r):(this._parseBase(e,t,n),"le"===r&&this._initArray(this.toArray(),t,r)))},f.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(i(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},f.prototype._initArray=function(e,t,r){if(i("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var f,a,o=0;if("be"===r)for(n=e.length-1,f=0;n>=0;n-=3)a=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[f]|=a<<o&67108863,this.words[f+1]=a>>>26-o&67108863,(o+=24)>=26&&(o-=26,f++);else if("le"===r)for(n=0,f=0;n<e.length;n+=3)a=e[n]|e[n+1]<<8|e[n+2]<<16,this.words[f]|=a<<o&67108863,this.words[f+1]=a>>>26-o&67108863,(o+=24)>=26&&(o-=26,f++);return this.strip()},f.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,f=0,a=0;if("be"===r)for(i=e.length-1;i>=t;i-=2)n=s(e,t,i)<<f,this.words[a]|=67108863&n,f>=18?(f-=18,a+=1,this.words[a]|=n>>>26):f+=8;else for(i=(e.length-t)%2==0?t+1:t;i<e.length;i+=2)n=s(e,t,i)<<f,this.words[a]|=67108863&n,f>=18?(f-=18,a+=1,this.words[a]|=n>>>26):f+=8;this.strip()},f.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=t)i++;i--,n=n/t|0;for(var f=e.length-r,a=f%i,o=Math.min(f,f-a)+r,s=0,c=r;c<o;c+=i)s=d(e,c,c+i,t),this.imuln(n),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s);if(0!==a){var h=1;for(s=d(e,c,e.length,t),c=0;c<a;c++)h*=t;this.imuln(h),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s)}this.strip()},f.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},f.prototype.clone=function(){var e=new f(null);return this.copy(e),e},f.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","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"],h=[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],u=[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 l(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i,i=i-1|0;var n=0|e.words[0],f=0|t.words[0],a=n*f,o=67108863&a,s=a/67108864|0;r.words[0]=o;for(var d=1;d<i;d++){for(var c=s>>>26,h=67108863&s,u=Math.min(d,t.length-1),l=Math.max(0,d-e.length+1);l<=u;l++){var b=d-l|0;c+=(a=(n=0|e.words[b])*(f=0|t.words[l])+h)/67108864|0,h=67108863&a}r.words[d]=0|h,s=0|c}return 0!==s?r.words[d]=0|s:r.length--,r.strip()}f.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,f=0,a=0;a<this.length;a++){var o=this.words[a],s=(16777215&(o<<n|f)).toString(16);f=o>>>24-n&16777215,(n+=2)>=26&&(n-=26,a--),r=0!==f||a!==this.length-1?c[6-s.length]+s+r:s+r}for(0!==f&&(r=f.toString(16)+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var d=h[e],l=u[e];r="";var b=this.clone();for(b.negative=0;!b.isZero();){var p=b.modn(l).toString(e);r=(b=b.idivn(l)).isZero()?p+r:c[d-p.length]+p+r}for(this.isZero()&&(r="0"+r);r.length%t!==0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}i(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(e,t){return i(void 0!==a),this.toArrayLike(a,e,t)},f.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},f.prototype.toArrayLike=function(e,t,r){var n=this.byteLength(),f=r||Math.max(1,n);i(n<=f,"byte array longer than desired length"),i(f>0,"Requested array length <= 0"),this.strip();var a,o,s="le"===t,d=new e(f),c=this.clone();if(s){for(o=0;!c.isZero();o++)a=c.andln(255),c.iushrn(8),d[o]=a;for(;o<f;o++)d[o]=0}else{for(o=0;o<f-n;o++)d[o]=0;for(o=0;!c.isZero();o++)a=c.andln(255),c.iushrn(8),d[f-o-1]=a}return d},Math.clz32?f.prototype._countBits=function(e){return 32-Math.clz32(e)}:f.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},f.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},f.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},f.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},f.prototype.ior=function(e){return i(0===(this.negative|e.negative)),this.iuor(e)},f.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},f.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},f.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},f.prototype.iand=function(e){return i(0===(this.negative|e.negative)),this.iuand(e)},f.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},f.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},f.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var i=0;i<r.length;i++)this.words[i]=t.words[i]^r.words[i];if(this!==t)for(;i<t.length;i++)this.words[i]=t.words[i];return this.length=t.length,this.strip()},f.prototype.ixor=function(e){return i(0===(this.negative|e.negative)),this.iuxor(e)},f.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},f.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},f.prototype.inotn=function(e){i("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n<t;n++)this.words[n]=67108863&~this.words[n];return r>0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},f.prototype.notn=function(e){return this.clone().inotn(e)},f.prototype.setn=function(e,t){i("number"==typeof e&&e>=0);var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<n:this.words[r]&~(1<<n),this.strip()},f.prototype.iadd=function(e){var t,r,i;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,i=e):(r=e,i=this);for(var n=0,f=0;f<i.length;f++)t=(0|r.words[f])+(0|i.words[f])+n,this.words[f]=67108863&t,n=t>>>26;for(;0!==n&&f<r.length;f++)t=(0|r.words[f])+n,this.words[f]=67108863&t,n=t>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;f<r.length;f++)this.words[f]=r.words[f];return this},f.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},f.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,i,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=e):(r=e,i=this);for(var f=0,a=0;a<i.length;a++)f=(t=(0|r.words[a])-(0|i.words[a])+f)>>26,this.words[a]=67108863&t;for(;0!==f&&a<r.length;a++)f=(t=(0|r.words[a])+f)>>26,this.words[a]=67108863&t;if(0===f&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(e){return this.clone().isub(e)};var b=function(e,t,r){var i,n,f,a=e.words,o=t.words,s=r.words,d=0,c=0|a[0],h=8191&c,u=c>>>13,l=0|a[1],b=8191&l,p=l>>>13,m=0|a[2],g=8191&m,y=m>>>13,v=0|a[3],w=8191&v,M=v>>>13,A=0|a[4],S=8191&A,_=A>>>13,I=0|a[5],x=8191&I,k=I>>>13,E=0|a[6],B=8191&E,R=E>>>13,T=0|a[7],O=8191&T,z=T>>>13,P=0|a[8],N=8191&P,L=P>>>13,U=0|a[9],q=8191&U,C=U>>>13,j=0|o[0],F=8191&j,D=j>>>13,$=0|o[1],H=8191&$,J=$>>>13,K=0|o[2],V=8191&K,X=K>>>13,W=0|o[3],Z=8191&W,Y=W>>>13,G=0|o[4],Q=8191&G,ee=G>>>13,te=0|o[5],re=8191&te,ie=te>>>13,ne=0|o[6],fe=8191&ne,ae=ne>>>13,oe=0|o[7],se=8191&oe,de=oe>>>13,ce=0|o[8],he=8191&ce,ue=ce>>>13,le=0|o[9],be=8191&le,pe=le>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(d+(i=Math.imul(h,F))|0)+((8191&(n=(n=Math.imul(h,D))+Math.imul(u,F)|0))<<13)|0;d=((f=Math.imul(u,D))+(n>>>13)|0)+(me>>>26)|0,me&=67108863,i=Math.imul(b,F),n=(n=Math.imul(b,D))+Math.imul(p,F)|0,f=Math.imul(p,D);var ge=(d+(i=i+Math.imul(h,H)|0)|0)+((8191&(n=(n=n+Math.imul(h,J)|0)+Math.imul(u,H)|0))<<13)|0;d=((f=f+Math.imul(u,J)|0)+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,i=Math.imul(g,F),n=(n=Math.imul(g,D))+Math.imul(y,F)|0,f=Math.imul(y,D),i=i+Math.imul(b,H)|0,n=(n=n+Math.imul(b,J)|0)+Math.imul(p,H)|0,f=f+Math.imul(p,J)|0;var ye=(d+(i=i+Math.imul(h,V)|0)|0)+((8191&(n=(n=n+Math.imul(h,X)|0)+Math.imul(u,V)|0))<<13)|0;d=((f=f+Math.imul(u,X)|0)+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,i=Math.imul(w,F),n=(n=Math.imul(w,D))+Math.imul(M,F)|0,f=Math.imul(M,D),i=i+Math.imul(g,H)|0,n=(n=n+Math.imul(g,J)|0)+Math.imul(y,H)|0,f=f+Math.imul(y,J)|0,i=i+Math.imul(b,V)|0,n=(n=n+Math.imul(b,X)|0)+Math.imul(p,V)|0,f=f+Math.imul(p,X)|0;var ve=(d+(i=i+Math.imul(h,Z)|0)|0)+((8191&(n=(n=n+Math.imul(h,Y)|0)+Math.imul(u,Z)|0))<<13)|0;d=((f=f+Math.imul(u,Y)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,i=Math.imul(S,F),n=(n=Math.imul(S,D))+Math.imul(_,F)|0,f=Math.imul(_,D),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,J)|0)+Math.imul(M,H)|0,f=f+Math.imul(M,J)|0,i=i+Math.imul(g,V)|0,n=(n=n+Math.imul(g,X)|0)+Math.imul(y,V)|0,f=f+Math.imul(y,X)|0,i=i+Math.imul(b,Z)|0,n=(n=n+Math.imul(b,Y)|0)+Math.imul(p,Z)|0,f=f+Math.imul(p,Y)|0;var we=(d+(i=i+Math.imul(h,Q)|0)|0)+((8191&(n=(n=n+Math.imul(h,ee)|0)+Math.imul(u,Q)|0))<<13)|0;d=((f=f+Math.imul(u,ee)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,i=Math.imul(x,F),n=(n=Math.imul(x,D))+Math.imul(k,F)|0,f=Math.imul(k,D),i=i+Math.imul(S,H)|0,n=(n=n+Math.imul(S,J)|0)+Math.imul(_,H)|0,f=f+Math.imul(_,J)|0,i=i+Math.imul(w,V)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,V)|0,f=f+Math.imul(M,X)|0,i=i+Math.imul(g,Z)|0,n=(n=n+Math.imul(g,Y)|0)+Math.imul(y,Z)|0,f=f+Math.imul(y,Y)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,ee)|0)+Math.imul(p,Q)|0,f=f+Math.imul(p,ee)|0;var Me=(d+(i=i+Math.imul(h,re)|0)|0)+((8191&(n=(n=n+Math.imul(h,ie)|0)+Math.imul(u,re)|0))<<13)|0;d=((f=f+Math.imul(u,ie)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,i=Math.imul(B,F),n=(n=Math.imul(B,D))+Math.imul(R,F)|0,f=Math.imul(R,D),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,J)|0)+Math.imul(k,H)|0,f=f+Math.imul(k,J)|0,i=i+Math.imul(S,V)|0,n=(n=n+Math.imul(S,X)|0)+Math.imul(_,V)|0,f=f+Math.imul(_,X)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,Z)|0,f=f+Math.imul(M,Y)|0,i=i+Math.imul(g,Q)|0,n=(n=n+Math.imul(g,ee)|0)+Math.imul(y,Q)|0,f=f+Math.imul(y,ee)|0,i=i+Math.imul(b,re)|0,n=(n=n+Math.imul(b,ie)|0)+Math.imul(p,re)|0,f=f+Math.imul(p,ie)|0;var Ae=(d+(i=i+Math.imul(h,fe)|0)|0)+((8191&(n=(n=n+Math.imul(h,ae)|0)+Math.imul(u,fe)|0))<<13)|0;d=((f=f+Math.imul(u,ae)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,i=Math.imul(O,F),n=(n=Math.imul(O,D))+Math.imul(z,F)|0,f=Math.imul(z,D),i=i+Math.imul(B,H)|0,n=(n=n+Math.imul(B,J)|0)+Math.imul(R,H)|0,f=f+Math.imul(R,J)|0,i=i+Math.imul(x,V)|0,n=(n=n+Math.imul(x,X)|0)+Math.imul(k,V)|0,f=f+Math.imul(k,X)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(_,Z)|0,f=f+Math.imul(_,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,ee)|0)+Math.imul(M,Q)|0,f=f+Math.imul(M,ee)|0,i=i+Math.imul(g,re)|0,n=(n=n+Math.imul(g,ie)|0)+Math.imul(y,re)|0,f=f+Math.imul(y,ie)|0,i=i+Math.imul(b,fe)|0,n=(n=n+Math.imul(b,ae)|0)+Math.imul(p,fe)|0,f=f+Math.imul(p,ae)|0;var Se=(d+(i=i+Math.imul(h,se)|0)|0)+((8191&(n=(n=n+Math.imul(h,de)|0)+Math.imul(u,se)|0))<<13)|0;d=((f=f+Math.imul(u,de)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,i=Math.imul(N,F),n=(n=Math.imul(N,D))+Math.imul(L,F)|0,f=Math.imul(L,D),i=i+Math.imul(O,H)|0,n=(n=n+Math.imul(O,J)|0)+Math.imul(z,H)|0,f=f+Math.imul(z,J)|0,i=i+Math.imul(B,V)|0,n=(n=n+Math.imul(B,X)|0)+Math.imul(R,V)|0,f=f+Math.imul(R,X)|0,i=i+Math.imul(x,Z)|0,n=(n=n+Math.imul(x,Y)|0)+Math.imul(k,Z)|0,f=f+Math.imul(k,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,ee)|0)+Math.imul(_,Q)|0,f=f+Math.imul(_,ee)|0,i=i+Math.imul(w,re)|0,n=(n=n+Math.imul(w,ie)|0)+Math.imul(M,re)|0,f=f+Math.imul(M,ie)|0,i=i+Math.imul(g,fe)|0,n=(n=n+Math.imul(g,ae)|0)+Math.imul(y,fe)|0,f=f+Math.imul(y,ae)|0,i=i+Math.imul(b,se)|0,n=(n=n+Math.imul(b,de)|0)+Math.imul(p,se)|0,f=f+Math.imul(p,de)|0;var _e=(d+(i=i+Math.imul(h,he)|0)|0)+((8191&(n=(n=n+Math.imul(h,ue)|0)+Math.imul(u,he)|0))<<13)|0;d=((f=f+Math.imul(u,ue)|0)+(n>>>13)|0)+(_e>>>26)|0,_e&=67108863,i=Math.imul(q,F),n=(n=Math.imul(q,D))+Math.imul(C,F)|0,f=Math.imul(C,D),i=i+Math.imul(N,H)|0,n=(n=n+Math.imul(N,J)|0)+Math.imul(L,H)|0,f=f+Math.imul(L,J)|0,i=i+Math.imul(O,V)|0,n=(n=n+Math.imul(O,X)|0)+Math.imul(z,V)|0,f=f+Math.imul(z,X)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,Z)|0,f=f+Math.imul(R,Y)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,ee)|0)+Math.imul(k,Q)|0,f=f+Math.imul(k,ee)|0,i=i+Math.imul(S,re)|0,n=(n=n+Math.imul(S,ie)|0)+Math.imul(_,re)|0,f=f+Math.imul(_,ie)|0,i=i+Math.imul(w,fe)|0,n=(n=n+Math.imul(w,ae)|0)+Math.imul(M,fe)|0,f=f+Math.imul(M,ae)|0,i=i+Math.imul(g,se)|0,n=(n=n+Math.imul(g,de)|0)+Math.imul(y,se)|0,f=f+Math.imul(y,de)|0,i=i+Math.imul(b,he)|0,n=(n=n+Math.imul(b,ue)|0)+Math.imul(p,he)|0,f=f+Math.imul(p,ue)|0;var Ie=(d+(i=i+Math.imul(h,be)|0)|0)+((8191&(n=(n=n+Math.imul(h,pe)|0)+Math.imul(u,be)|0))<<13)|0;d=((f=f+Math.imul(u,pe)|0)+(n>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,i=Math.imul(q,H),n=(n=Math.imul(q,J))+Math.imul(C,H)|0,f=Math.imul(C,J),i=i+Math.imul(N,V)|0,n=(n=n+Math.imul(N,X)|0)+Math.imul(L,V)|0,f=f+Math.imul(L,X)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(z,Z)|0,f=f+Math.imul(z,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,ee)|0)+Math.imul(R,Q)|0,f=f+Math.imul(R,ee)|0,i=i+Math.imul(x,re)|0,n=(n=n+Math.imul(x,ie)|0)+Math.imul(k,re)|0,f=f+Math.imul(k,ie)|0,i=i+Math.imul(S,fe)|0,n=(n=n+Math.imul(S,ae)|0)+Math.imul(_,fe)|0,f=f+Math.imul(_,ae)|0,i=i+Math.imul(w,se)|0,n=(n=n+Math.imul(w,de)|0)+Math.imul(M,se)|0,f=f+Math.imul(M,de)|0,i=i+Math.imul(g,he)|0,n=(n=n+Math.imul(g,ue)|0)+Math.imul(y,he)|0,f=f+Math.imul(y,ue)|0;var xe=(d+(i=i+Math.imul(b,be)|0)|0)+((8191&(n=(n=n+Math.imul(b,pe)|0)+Math.imul(p,be)|0))<<13)|0;d=((f=f+Math.imul(p,pe)|0)+(n>>>13)|0)+(xe>>>26)|0,xe&=67108863,i=Math.imul(q,V),n=(n=Math.imul(q,X))+Math.imul(C,V)|0,f=Math.imul(C,X),i=i+Math.imul(N,Z)|0,n=(n=n+Math.imul(N,Y)|0)+Math.imul(L,Z)|0,f=f+Math.imul(L,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,ee)|0)+Math.imul(z,Q)|0,f=f+Math.imul(z,ee)|0,i=i+Math.imul(B,re)|0,n=(n=n+Math.imul(B,ie)|0)+Math.imul(R,re)|0,f=f+Math.imul(R,ie)|0,i=i+Math.imul(x,fe)|0,n=(n=n+Math.imul(x,ae)|0)+Math.imul(k,fe)|0,f=f+Math.imul(k,ae)|0,i=i+Math.imul(S,se)|0,n=(n=n+Math.imul(S,de)|0)+Math.imul(_,se)|0,f=f+Math.imul(_,de)|0,i=i+Math.imul(w,he)|0,n=(n=n+Math.imul(w,ue)|0)+Math.imul(M,he)|0,f=f+Math.imul(M,ue)|0;var ke=(d+(i=i+Math.imul(g,be)|0)|0)+((8191&(n=(n=n+Math.imul(g,pe)|0)+Math.imul(y,be)|0))<<13)|0;d=((f=f+Math.imul(y,pe)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,i=Math.imul(q,Z),n=(n=Math.imul(q,Y))+Math.imul(C,Z)|0,f=Math.imul(C,Y),i=i+Math.imul(N,Q)|0,n=(n=n+Math.imul(N,ee)|0)+Math.imul(L,Q)|0,f=f+Math.imul(L,ee)|0,i=i+Math.imul(O,re)|0,n=(n=n+Math.imul(O,ie)|0)+Math.imul(z,re)|0,f=f+Math.imul(z,ie)|0,i=i+Math.imul(B,fe)|0,n=(n=n+Math.imul(B,ae)|0)+Math.imul(R,fe)|0,f=f+Math.imul(R,ae)|0,i=i+Math.imul(x,se)|0,n=(n=n+Math.imul(x,de)|0)+Math.imul(k,se)|0,f=f+Math.imul(k,de)|0,i=i+Math.imul(S,he)|0,n=(n=n+Math.imul(S,ue)|0)+Math.imul(_,he)|0,f=f+Math.imul(_,ue)|0;var Ee=(d+(i=i+Math.imul(w,be)|0)|0)+((8191&(n=(n=n+Math.imul(w,pe)|0)+Math.imul(M,be)|0))<<13)|0;d=((f=f+Math.imul(M,pe)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,i=Math.imul(q,Q),n=(n=Math.imul(q,ee))+Math.imul(C,Q)|0,f=Math.imul(C,ee),i=i+Math.imul(N,re)|0,n=(n=n+Math.imul(N,ie)|0)+Math.imul(L,re)|0,f=f+Math.imul(L,ie)|0,i=i+Math.imul(O,fe)|0,n=(n=n+Math.imul(O,ae)|0)+Math.imul(z,fe)|0,f=f+Math.imul(z,ae)|0,i=i+Math.imul(B,se)|0,n=(n=n+Math.imul(B,de)|0)+Math.imul(R,se)|0,f=f+Math.imul(R,de)|0,i=i+Math.imul(x,he)|0,n=(n=n+Math.imul(x,ue)|0)+Math.imul(k,he)|0,f=f+Math.imul(k,ue)|0;var Be=(d+(i=i+Math.imul(S,be)|0)|0)+((8191&(n=(n=n+Math.imul(S,pe)|0)+Math.imul(_,be)|0))<<13)|0;d=((f=f+Math.imul(_,pe)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863,i=Math.imul(q,re),n=(n=Math.imul(q,ie))+Math.imul(C,re)|0,f=Math.imul(C,ie),i=i+Math.imul(N,fe)|0,n=(n=n+Math.imul(N,ae)|0)+Math.imul(L,fe)|0,f=f+Math.imul(L,ae)|0,i=i+Math.imul(O,se)|0,n=(n=n+Math.imul(O,de)|0)+Math.imul(z,se)|0,f=f+Math.imul(z,de)|0,i=i+Math.imul(B,he)|0,n=(n=n+Math.imul(B,ue)|0)+Math.imul(R,he)|0,f=f+Math.imul(R,ue)|0;var Re=(d+(i=i+Math.imul(x,be)|0)|0)+((8191&(n=(n=n+Math.imul(x,pe)|0)+Math.imul(k,be)|0))<<13)|0;d=((f=f+Math.imul(k,pe)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863,i=Math.imul(q,fe),n=(n=Math.imul(q,ae))+Math.imul(C,fe)|0,f=Math.imul(C,ae),i=i+Math.imul(N,se)|0,n=(n=n+Math.imul(N,de)|0)+Math.imul(L,se)|0,f=f+Math.imul(L,de)|0,i=i+Math.imul(O,he)|0,n=(n=n+Math.imul(O,ue)|0)+Math.imul(z,he)|0,f=f+Math.imul(z,ue)|0;var Te=(d+(i=i+Math.imul(B,be)|0)|0)+((8191&(n=(n=n+Math.imul(B,pe)|0)+Math.imul(R,be)|0))<<13)|0;d=((f=f+Math.imul(R,pe)|0)+(n>>>13)|0)+(Te>>>26)|0,Te&=67108863,i=Math.imul(q,se),n=(n=Math.imul(q,de))+Math.imul(C,se)|0,f=Math.imul(C,de),i=i+Math.imul(N,he)|0,n=(n=n+Math.imul(N,ue)|0)+Math.imul(L,he)|0,f=f+Math.imul(L,ue)|0;var Oe=(d+(i=i+Math.imul(O,be)|0)|0)+((8191&(n=(n=n+Math.imul(O,pe)|0)+Math.imul(z,be)|0))<<13)|0;d=((f=f+Math.imul(z,pe)|0)+(n>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,i=Math.imul(q,he),n=(n=Math.imul(q,ue))+Math.imul(C,he)|0,f=Math.imul(C,ue);var ze=(d+(i=i+Math.imul(N,be)|0)|0)+((8191&(n=(n=n+Math.imul(N,pe)|0)+Math.imul(L,be)|0))<<13)|0;d=((f=f+Math.imul(L,pe)|0)+(n>>>13)|0)+(ze>>>26)|0,ze&=67108863;var Pe=(d+(i=Math.imul(q,be))|0)+((8191&(n=(n=Math.imul(q,pe))+Math.imul(C,be)|0))<<13)|0;return d=((f=Math.imul(C,pe))+(n>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,s[0]=me,s[1]=ge,s[2]=ye,s[3]=ve,s[4]=we,s[5]=Me,s[6]=Ae,s[7]=Se,s[8]=_e,s[9]=Ie,s[10]=xe,s[11]=ke,s[12]=Ee,s[13]=Be,s[14]=Re,s[15]=Te,s[16]=Oe,s[17]=ze,s[18]=Pe,0!==d&&(s[19]=d,r.length++),r};function p(e,t,r){return(new m).mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(b=l),f.prototype.mulTo=function(e,t){var r,i=this.length+e.length;return r=10===this.length&&10===e.length?b(this,e,t):i<63?l(this,e,t):i<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var i=0,n=0,f=0;f<r.length-1;f++){var a=n;n=0;for(var o=67108863&i,s=Math.min(f,t.length-1),d=Math.max(0,f-e.length+1);d<=s;d++){var c=f-d,h=(0|e.words[c])*(0|t.words[d]),u=67108863&h;o=67108863&(u=u+o|0),n+=(a=(a=a+(h/67108864|0)|0)+(u>>>26)|0)>>>26,a&=67108863}r.words[f]=o,i=a,a=n}return 0!==i?r.words[f]=i:r.length--,r.strip()}(this,e,t):p(this,e,t),r},m.prototype.makeRBT=function(e){for(var t=new Array(e),r=f.prototype._countBits(e)-1,i=0;i<e;i++)t[i]=this.revBin(i,r,e);return t},m.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var i=0,n=0;n<t;n++)i|=(1&e)<<t-n-1,e>>=1;return i},m.prototype.permute=function(e,t,r,i,n,f){for(var a=0;a<f;a++)i[a]=t[e[a]],n[a]=r[e[a]]},m.prototype.transform=function(e,t,r,i,n,f){this.permute(f,e,t,r,i,n);for(var a=1;a<n;a<<=1)for(var o=a<<1,s=Math.cos(2*Math.PI/o),d=Math.sin(2*Math.PI/o),c=0;c<n;c+=o)for(var h=s,u=d,l=0;l<a;l++){var b=r[c+l],p=i[c+l],m=r[c+l+a],g=i[c+l+a],y=h*m-u*g;g=h*g+u*m,m=y,r[c+l]=b+m,i[c+l]=p+g,r[c+l+a]=b-m,i[c+l+a]=p-g,l!==o&&(y=s*h-d*u,u=s*u+d*h,h=y)}},m.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1],e[r-i-1]=n,n=t[i],t[i]=-t[r-i-1],t[r-i-1]=-n}},m.prototype.normalize13b=function(e,t){for(var r=0,i=0;i<t/2;i++){var n=8192*Math.round(e[2*i+1]/t)+Math.round(e[2*i]/t)+r;e[i]=67108863&n,r=n<67108864?0:n/67108864|0}return e},m.prototype.convert13b=function(e,t,r,n){for(var f=0,a=0;a<t;a++)f+=0|e[a],r[2*a]=8191&f,f>>>=13,r[2*a+1]=8191&f,f>>>=13;for(a=2*t;a<n;++a)r[a]=0;i(0===f),i(!(-8192&f))},m.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},m.prototype.mulp=function(e,t,r){var i=2*this.guessLen13b(e.length,t.length),n=this.makeRBT(i),f=this.stub(i),a=new Array(i),o=new Array(i),s=new Array(i),d=new Array(i),c=new Array(i),h=new Array(i),u=r.words;u.length=i,this.convert13b(e.words,e.length,a,i),this.convert13b(t.words,t.length,d,i),this.transform(a,f,o,s,i,n),this.transform(d,f,c,h,i,n);for(var l=0;l<i;l++){var b=o[l]*c[l]-s[l]*h[l];s[l]=o[l]*h[l]+s[l]*c[l],o[l]=b}return this.conjugate(o,s,i),this.transform(o,s,u,f,i,n),this.conjugate(u,f,i),this.normalize13b(u,i),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},f.prototype.mul=function(e){var t=new f(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},f.prototype.mulf=function(e){var t=new f(null);return t.words=new Array(this.length+e.length),p(this,e,t)},f.prototype.imul=function(e){return this.clone().mulTo(e,this)},f.prototype.imuln=function(e){i("number"==typeof e),i(e<67108864);for(var t=0,r=0;r<this.length;r++){var n=(0|this.words[r])*e,f=(67108863&n)+(67108863&t);t>>=26,t+=n/67108864|0,t+=f>>>26,this.words[r]=67108863&f}return 0!==t&&(this.words[r]=t,this.length++),this.length=0===e?1:this.length,this},f.prototype.muln=function(e){return this.clone().imuln(e)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var i=r/26|0,n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}(e);if(0===t.length)return new f(1);for(var r=this,i=0;i<t.length&&0===t[i];i++,r=r.sqr());if(++i<t.length)for(var n=r.sqr();i<t.length;i++,n=n.sqr())0!==t[i]&&(r=r.mul(n));return r},f.prototype.iushln=function(e){i("number"==typeof e&&e>=0);var t,r=e%26,n=(e-r)/26,f=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t<this.length;t++){var o=this.words[t]&f,s=(0|this.words[t])-o<<r;this.words[t]=s|a,a=o>>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t<n;t++)this.words[t]=0;this.length+=n}return this.strip()},f.prototype.ishln=function(e){return i(0===this.negative),this.iushln(e)},f.prototype.iushrn=function(e,t,r){var n;i("number"==typeof e&&e>=0),n=t?(t-t%26)/26:0;var f=e%26,a=Math.min((e-f)/26,this.length),o=67108863^67108863>>>f<<f,s=r;if(n-=a,n=Math.max(0,n),s){for(var d=0;d<a;d++)s.words[d]=this.words[d];s.length=a}if(0===a);else if(this.length>a)for(this.length-=a,d=0;d<this.length;d++)this.words[d]=this.words[d+a];else this.words[0]=0,this.length=1;var c=0;for(d=this.length-1;d>=0&&(0!==c||d>=n);d--){var h=0|this.words[d];this.words[d]=c<<26-f|h>>>f,c=h&o}return s&&0!==c&&(s.words[s.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(e,t,r){return i(0===this.negative),this.iushrn(e,t,r)},f.prototype.shln=function(e){return this.clone().ishln(e)},f.prototype.ushln=function(e){return this.clone().iushln(e)},f.prototype.shrn=function(e){return this.clone().ishrn(e)},f.prototype.ushrn=function(e){return this.clone().iushrn(e)},f.prototype.testn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,n=1<<t;return!(this.length<=r)&&!!(this.words[r]&n)},f.prototype.imaskn=function(e){i("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(i(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var n=67108863^67108863>>>t<<t;this.words[this.length-1]&=n}return this.strip()},f.prototype.maskn=function(e){return this.clone().imaskn(e)},f.prototype.iaddn=function(e){return i("number"==typeof e),i(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},f.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},f.prototype.isubn=function(e){if(i("number"==typeof e),i(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},f.prototype.addn=function(e){return this.clone().iaddn(e)},f.prototype.subn=function(e){return this.clone().isubn(e)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(e,t,r){var n,f,a=e.length+r;this._expand(a);var o=0;for(n=0;n<e.length;n++){f=(0|this.words[n+r])+o;var s=(0|e.words[n])*t;o=((f-=67108863&s)>>26)-(s/67108864|0),this.words[n+r]=67108863&f}for(;n<this.length-r;n++)o=(f=(0|this.words[n+r])+o)>>26,this.words[n+r]=67108863&f;if(0===o)return this.strip();for(i(-1===o),o=0,n=0;n<this.length;n++)o=(f=-(0|this.words[n])+o)>>26,this.words[n]=67108863&f;return this.negative=1,this.strip()},f.prototype._wordDiv=function(e,t){var r=(this.length,e.length),i=this.clone(),n=e,a=0|n.words[n.length-1];0!==(r=26-this._countBits(a))&&(n=n.ushln(r),i.iushln(r),a=0|n.words[n.length-1]);var o,s=i.length-n.length;if("mod"!==t){(o=new f(null)).length=s+1,o.words=new Array(o.length);for(var d=0;d<o.length;d++)o.words[d]=0}var c=i.clone()._ishlnsubmul(n,1,s);0===c.negative&&(i=c,o&&(o.words[s]=1));for(var h=s-1;h>=0;h--){var u=67108864*(0|i.words[n.length+h])+(0|i.words[n.length+h-1]);for(u=Math.min(u/a|0,67108863),i._ishlnsubmul(n,u,h);0!==i.negative;)u--,i.negative=0,i._ishlnsubmul(n,1,h),i.isZero()||(i.negative^=1);o&&(o.words[h]=u)}return o&&o.strip(),i.strip(),"div"!==t&&0!==r&&i.iushrn(r),{div:o||null,mod:i}},f.prototype.divmod=function(e,t,r){return i(!e.isZero()),this.isZero()?{div:new f(0),mod:new f(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(n=o.div.neg()),"div"!==t&&(a=o.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:n,mod:a}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(n=o.div.neg()),{div:n,mod:o.mod}):0!==(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(a=o.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:o.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new f(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new f(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new f(this.modn(e.words[0]))}:this._wordDiv(e,t);var n,a,o},f.prototype.div=function(e){return this.divmod(e,"div",!1).div},f.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},f.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},f.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,i=e.ushrn(1),n=e.andln(1),f=r.cmp(i);return f<0||1===n&&0===f?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},f.prototype.modn=function(e){i(e<=67108863);for(var t=(1<<26)%e,r=0,n=this.length-1;n>=0;n--)r=(t*r+(0|this.words[n]))%e;return r},f.prototype.idivn=function(e){i(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*t;this.words[r]=n/e|0,t=n%e}return this.strip()},f.prototype.divn=function(e){return this.clone().idivn(e)},f.prototype.egcd=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new f(1),a=new f(0),o=new f(0),s=new f(1),d=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++d;for(var c=r.clone(),h=t.clone();!t.isZero();){for(var u=0,l=1;0===(t.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(t.iushrn(u);u-- >0;)(n.isOdd()||a.isOdd())&&(n.iadd(c),a.isub(h)),n.iushrn(1),a.iushrn(1);for(var b=0,p=1;0===(r.words[0]&p)&&b<26;++b,p<<=1);if(b>0)for(r.iushrn(b);b-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(c),s.isub(h)),o.iushrn(1),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(o),a.isub(s)):(r.isub(t),o.isub(n),s.isub(a))}return{a:o,b:s,gcd:r.iushln(d)}},f.prototype._invmp=function(e){i(0===e.negative),i(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,a=new f(1),o=new f(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var d=0,c=1;0===(t.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(t.iushrn(d);d-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);for(var h=0,u=1;0===(r.words[0]&u)&&h<26;++h,u<<=1);if(h>0)for(r.iushrn(h);h-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o)):(r.isub(t),o.isub(a))}return(n=0===t.cmpn(1)?a:o).cmpn(0)<0&&n.iadd(e),n},f.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var f=t;t=r,r=f}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(i)},f.prototype.invm=function(e){return this.egcd(e).a.umod(e)},f.prototype.isEven=function(){return!(1&this.words[0])},f.prototype.isOdd=function(){return!(1&~this.words[0])},f.prototype.andln=function(e){return this.words[0]&e},f.prototype.bincn=function(e){i("number"==typeof e);var t=e%26,r=(e-t)/26,n=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=n,this;for(var f=n,a=r;0!==f&&a<this.length;a++){var o=0|this.words[a];f=(o+=f)>>>26,o&=67108863,this.words[a]=o}return 0!==f&&(this.words[a]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),i(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:n<e?-1:1}return 0!==this.negative?0|-t:t},f.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},f.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|e.words[r];if(i!==n){i<n?t=-1:i>n&&(t=1);break}}return t},f.prototype.gtn=function(e){return 1===this.cmpn(e)},f.prototype.gt=function(e){return 1===this.cmp(e)},f.prototype.gten=function(e){return this.cmpn(e)>=0},f.prototype.gte=function(e){return this.cmp(e)>=0},f.prototype.ltn=function(e){return-1===this.cmpn(e)},f.prototype.lt=function(e){return-1===this.cmp(e)},f.prototype.lten=function(e){return this.cmpn(e)<=0},f.prototype.lte=function(e){return this.cmp(e)<=0},f.prototype.eqn=function(e){return 0===this.cmpn(e)},f.prototype.eq=function(e){return 0===this.cmp(e)},f.red=function(e){return new S(e)},f.prototype.toRed=function(e){return i(!this.red,"Already a number in reduction context"),i(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},f.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(e){return this.red=e,this},f.prototype.forceRed=function(e){return i(!this.red,"Already a number in reduction context"),this._forceRed(e)},f.prototype.redAdd=function(e){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},f.prototype.redIAdd=function(e){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},f.prototype.redSub=function(e){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},f.prototype.redISub=function(e){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},f.prototype.redShl=function(e){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},f.prototype.redMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},f.prototype.redIMul=function(e){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},f.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(e){return i(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new f(t,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=f._prime(e);this.m=t.p,this.prime=t}else i(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function _(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new f(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)}y.prototype._tmp=function(){var e=new f(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var i=t<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},n(v,y),v.prototype.split=function(e,t){for(var r=4194303,i=Math.min(e.length,9),n=0;n<i;n++)t.words[n]=e.words[n];if(t.length=i,e.length<=9)return e.words[0]=0,void(e.length=1);var f=e.words[9];for(t.words[t.length++]=f&r,n=10;n<e.length;n++){var a=0|e.words[n];e.words[n-10]=(a&r)<<4|f>>>22,f=a}f>>>=22,e.words[n-10]=f,0===f&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var i=0|e.words[r];t+=977*i,e.words[r]=67108863&t,t=64*i+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},n(w,y),n(M,y),n(A,y),A.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var i=19*(0|e.words[r])+t,n=67108863&i;i>>>=26,e.words[r]=n,t=i}return 0!==t&&(e.words[e.length++]=t),e},f._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new w;else if("p192"===e)t=new M;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return g[e]=t,t},S.prototype._verify1=function(e){i(0===e.negative,"red works only with positives"),i(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){i(0===(e.negative|t.negative),"red works only with positives"),i(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(i(t%2==1),3===t){var r=this.m.add(new f(1)).iushrn(2);return this.pow(e,r)}for(var n=this.m.subn(1),a=0;!n.isZero()&&0===n.andln(1);)a++,n.iushrn(1);i(!n.isZero());var o=new f(1).toRed(this),s=o.redNeg(),d=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new f(2*c*c).toRed(this);0!==this.pow(c,d).cmp(s);)c.redIAdd(s);for(var h=this.pow(c,n),u=this.pow(e,n.addn(1).iushrn(1)),l=this.pow(e,n),b=a;0!==l.cmp(o);){for(var p=l,m=0;0!==p.cmp(o);m++)p=p.redSqr();i(m<b);var g=this.pow(h,new f(1).iushln(b-m-1));u=u.redMul(g),h=g.redSqr(),l=l.redMul(h),b=m}return u},S.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},S.prototype.pow=function(e,t){if(t.isZero())return new f(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new f(1).toRed(this),r[1]=e;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],e);var n=r[0],a=0,o=0,s=t.bitLength()%26;for(0===s&&(s=26),i=t.length-1;i>=0;i--){for(var d=t.words[i],c=s-1;c>=0;c--){var h=d>>c&1;n!==r[0]&&(n=this.sqr(n)),0!==h||0!==a?(a<<=1,a|=h,(4===++o||0===i&&0===c)&&(n=this.mul(n,r[a]),o=0,a=0)):o=0}s=26}return n},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},f.mont=function(e){return new _(e)},n(_,S),_.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},_.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},_.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),f=n;return n.cmp(this.m)>=0?f=n.isub(this.m):n.cmpn(0)<0&&(f=n.iadd(this.m)),f._forceRed(this)},_.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new f(0)._forceRed(this);var r=e.mul(t),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},_.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},874:(e,t,r)=>{"use strict";var i=t,n=r(845),f=r(784),a=r(42);i.assert=f,i.toArray=a.toArray,i.zero2=a.zero2,i.toHex=a.toHex,i.encode=a.encode,i.getNAF=function(e,t,r){var i,n=new Array(Math.max(e.bitLength(),r)+1);for(i=0;i<n.length;i+=1)n[i]=0;var f=1<<t+1,a=e.clone();for(i=0;i<n.length;i++){var o,s=a.andln(f-1);a.isOdd()?(o=s>(f>>1)-1?(f>>1)-s:s,a.isubn(o)):o=0,n[i]=o,a.iushrn(1)}return n},i.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i,n=0,f=0;e.cmpn(-n)>0||t.cmpn(-f)>0;){var a,o,s=e.andln(3)+n&3,d=t.andln(3)+f&3;3===s&&(s=-1),3===d&&(d=-1),a=1&s?3!==(i=e.andln(7)+n&7)&&5!==i||2!==d?s:-s:0,r[0].push(a),o=1&d?3!==(i=t.andln(7)+f&7)&&5!==i||2!==s?d:-d:0,r[1].push(o),2*n===a+1&&(n=1-n),2*f===o+1&&(f=1-f),e.iushrn(1),t.iushrn(1)}return r},i.cachedProperty=function(e,t,r){var i="_"+t;e.prototype[t]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},i.parseBytes=function(e){return"string"==typeof e?i.toArray(e,"hex"):e},i.intFromLE=function(e){return new n(e,"hex","le")}},986:(e,t,r)=>{"use strict";var i=r(461),n=r(191),f=r(600),a=i.rotl32,o=i.sum32,s=i.sum32_5,d=f.ft_1,c=n.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}i.inherits(u,c),e.exports=u,u.blockSize=512,u.outSize=160,u.hmacStrength=80,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=a(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],f=this.h[1],c=this.h[2],u=this.h[3],l=this.h[4];for(i=0;i<r.length;i++){var b=~~(i/20),p=s(a(n,5),d(b,f,c,u),l,r[i],h[b]);l=u,u=c,c=a(f,30),f=n,n=p}this.h[0]=o(this.h[0],n),this.h[1]=o(this.h[1],f),this.h[2]=o(this.h[2],c),this.h[3]=o(this.h[3],u),this.h[4]=o(this.h[4],l)},u.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"big"):i.split32(this.h,"big")}},991:(e,t)=>{"use strict";t.byteLength=function(e){var t=o(e),r=t[0],i=t[1];return 3*(r+i)/4-i},t.toByteArray=function(e){var t,r,f=o(e),a=f[0],s=f[1],d=new n(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r<h;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],d[c++]=t>>16&255,d[c++]=t>>8&255,d[c++]=255&t;2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,d[c++]=255&t);1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,d[c++]=t>>8&255,d[c++]=255&t);return d},t.fromByteArray=function(e){for(var t,i=e.length,n=i%3,f=[],a=16383,o=0,s=i-n;o<s;o+=a)f.push(d(e,o,o+a>s?s:o+a));1===n?(t=e[i-1],f.push(r[t>>2]+r[t<<4&63]+"==")):2===n&&(t=(e[i-2]<<8)+e[i-1],f.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return f.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=f[a],i[f.charCodeAt(a)]=a;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function s(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function d(e,t,r){for(var i,n=[],f=t;f<r;f+=3)i=(e[f]<<16&16711680)+(e[f+1]<<8&65280)+(255&e[f+2]),n.push(s(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63}},t={};function r(i){var n=t[i];if(void 0!==n)return n.exports;var f=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.amdO={},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};(()=>{"use strict";function e(e,t,r){if("string"==typeof e)throw new Error(`An HTML element ("${String(e)}") was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.`);if(!e)throw new Error("A JSX fragment was used in a Snap component, which is not supported by Snaps UI. Please use one of the supported Snap components.");return e({...t,key:r})}function t(t,r,i){return e(t,r,i)}function n(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}function f(e){return t=>{const{key:r=null,...i}=t;return{type:e,props:n(i),key:r}}}r.r(i),r.d(i,{onHomePage:()=>Le,onInstall:()=>ze,onSignature:()=>Pe,onTransaction:()=>Ne});const a=f("Box"),o=f("Heading"),s=f("Text"),d=f("Divider"),c=f("Section"),h=f("Link"),u=f("Bold"),l=t(a,{children:[e(o,{children:"HashDit Snap"}),e(s,{children:"Explore the power of HashDit Security and fortify your MetaMask experience. Navigate the crypto space with confidence."}),e(d,{}),t(c,{children:[e(o,{children:"🔗 Links"}),t(s,{children:["Please help improve HashDit Snap by taking our 1 minute survey:"," ",e(h,{href:"https://forms.gle/fgjAgVjUSyjuDS5BA",children:"Survey"})]}),t(s,{children:["HashDit Snap Official Website:"," ",e(h,{href:"https://www.hashdit.io/snap",children:"Hashdit"})]}),t(s,{children:["Installation Guide:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/usage/installing-hashdit-snap",children:"Installation"})]}),t(s,{children:["How To Use Hashdit Snap:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/usage/how-to-use-hashdit-snap",children:"Usage"})]}),t(s,{children:["Documentation:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap",children:"Docs"})]}),t(s,{children:["FAQ/Knowledge Base:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/information/faq-and-knowledge-base",children:"FAQ"})]}),t(s,{children:["MetaMask Store Page:"," ",e(h,{href:"https://snaps.metamask.io/snap/npm/hashdit-snap-security/",children:"Snap Store"})]})]}),e(o,{children:"Thank you for using HashDit Snap!"})]}),b=t(a,{children:[e(o,{children:"🛠️ Next Steps For Your Installation"}),t(c,{children:[e(s,{children:e(u,{children:"Step 1"})}),e(s,{children:"To ensure the most secure experience, please connect all your MetaMask accounts with the HashDit Snap."}),e(s,{children:e(u,{children:"Step 2"})}),e(s,{children:"Sign the Hashdit Security message request. This is required to enable the HashDit API to enable a complete experience."}),e(d,{}),e(o,{children:"🔗 Links"}),t(s,{children:["Please help improve HashDit Snap by taking our 1 minute survey:"," ",e(h,{href:"https://forms.gle/fgjAgVjUSyjuDS5BA",children:"Survey"})]}),t(s,{children:["HashDit Snap Official Website:"," ",e(h,{href:"https://www.hashdit.io/snap",children:"Hashdit"})]}),t(s,{children:["Installation Guide:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/usage/installing-hashdit-snap",children:"Installation"})]}),t(s,{children:["How To Use Hashdit Snap:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/usage/how-to-use-hashdit-snap",children:"Usage"})]}),t(s,{children:["Documentation:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap",children:"Docs"})]}),t(s,{children:["FAQ/Knowledge Base:"," ",e(h,{href:"https://hashdit.gitbook.io/hashdit-snap/information/faq-and-knowledge-base",children:"FAQ"})]}),t(s,{children:["MetaMask Store Page:"," ",e(h,{href:"https://snaps.metamask.io/snap/npm/hashdit-snap-security/",children:"Snap Store"})]})]}),e(o,{children:"Thank you for using HashDit Snap!"})]}),p=t(a,{children:[e(o,{children:"HashDit Snap"}),e(c,{children:e(s,{children:"An error occurred while retrieving the risk details for this transaction. If the issue persists, please try reinstalling HashDit Snap and try again."})})]}),m=t(a,{children:[e(o,{children:"Chain Not Supported"}),e(c,{children:t(s,{children:["Sorry! This blockchain network is not currently supported by HashDit Security Insights. Full security analysis is available for ",e(u,{children:"Ethereum"})," and ",e(u,{children:"Binance Smart Chain"})," ","networks."]})})]});function g(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function y(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function v(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function w(e,t){y(e);const r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}const M=BigInt(2**32-1),A=BigInt(32);function S(e,t=!1){return t?{h:Number(e&M),l:Number(e>>A&M)}:{h:0|Number(e>>A&M),l:0|Number(e&M)}}function _(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let n=0;n<e.length;n++){const{h:f,l:a}=S(e[n],t);[r[n],i[n]]=[f,a]}return[r,i]}const I=(e,t,r)=>e<<r|t>>>32-r,x=(e,t,r)=>t<<r|e>>>32-r,k=(e,t,r)=>t<<r-32|e>>>64-r,E=(e,t,r)=>e<<r-32|t>>>64-r;const B=e=>e instanceof Uint8Array;if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function R(e){if("string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),!B(e))throw new Error("expected Uint8Array, got "+typeof e);return e}class T{clone(){return this._cloneInto()}}const[O,z,P]=[[],[],[]],N=BigInt(0),L=BigInt(1),U=BigInt(2),q=BigInt(7),C=BigInt(256),j=BigInt(113);for(let e=0,t=L,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],O.push(2*(5*i+r)),z.push((e+1)*(e+2)/2%64);let n=N;for(let e=0;e<7;e++)t=(t<<L^(t>>q)*j)%C,t&U&&(n^=L<<(L<<BigInt(e))-L);P.push(n)}const[F,D]=_(P,!0),$=(e,t,r)=>r>32?k(e,t,r):I(e,t,r),H=(e,t,r)=>r>32?E(e,t,r):x(e,t,r);class J extends T{constructor(e,t,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,g(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");var f;this.state=new Uint8Array(200),this.state32=(f=this.state,new Uint32Array(f.buffer,f.byteOffset,Math.floor(f.byteLength/4)))}keccak(){!function(e,t=24){const r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const i=(t+8)%10,n=(t+2)%10,f=r[n],a=r[n+1],o=$(f,a,1)^r[i],s=H(f,a,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=o,e[t+r+1]^=s}let t=e[2],n=e[3];for(let r=0;r<24;r++){const i=z[r],f=$(t,n,i),a=H(t,n,i),o=O[r];t=e[o],n=e[o+1],e[o]=f,e[o+1]=a}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=F[i],e[1]^=D[i]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){v(this);const{blockLen:t,state:r}=this,i=(e=R(e)).length;for(let n=0;n<i;){const f=Math.min(t-this.pos,i-n);for(let t=0;t<f;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,128&t&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){v(this,!1),y(e),this.finish();const t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const f=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+f),i),this.posOut+=f,i+=f}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return g(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(w(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:i,rounds:n,enableXOF:f}=this;return e||(e=new J(t,r,i,f,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=f,e.destroyed=this.destroyed,e}}const K=(e,t,r)=>function(e){const t=t=>e().update(R(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}(()=>new J(t,e,r)),V=K(1,136,32);function X(e,t,r){const i=t.split("|").map(e=>e.trim());for(let r=0;r<i.length;r++)switch(t){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof e===t)return}const n=new Error(`invalid value for type ${t}`);throw n.code="INVALID_ARGUMENT",n.argument=`value.${r}`,n.value=e,n}function W(e,t,r){for(let i in t){let n=t[i];const f=r?r[i]:null;f&&X(n,f,i),Object.defineProperty(e,i,{enumerable:!0,value:n,writable:!1})}}function Z(e,t){if(null==e)return"null";if(null==t&&(t=new Set),"object"==typeof e){if(t.has(e))return"[Circular]";t.add(e)}if(Array.isArray(e))return"[ "+e.map(e=>Z(e,t)).join(", ")+" ]";if(e instanceof Uint8Array){const t="0123456789abcdef";let r="0x";for(let i=0;i<e.length;i++)r+=t[e[i]>>4],r+=t[15&e[i]];return r}if("object"==typeof e&&"function"==typeof e.toJSON)return Z(e.toJSON(),t);switch(typeof e){case"boolean":case"number":case"symbol":return e.toString();case"bigint":return BigInt(e).toString();case"string":return JSON.stringify(e);case"object":{const r=Object.keys(e);return r.sort(),"{ "+r.map(r=>`${Z(r,t)}: ${Z(e[r],t)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Y(e,t,r,i){if(!e)throw function(e,t,r){let i,n=e;{const i=[];if(r){if("message"in r||"code"in r||"name"in r)throw new Error(`value will overwrite populated values: ${Z(r)}`);for(const e in r){if("shortMessage"===e)continue;const t=r[e];i.push(e+"="+Z(t))}}i.push(`code=${t}`),i.push("version=6.15.0"),i.length&&(e+=" ("+i.join(", ")+")")}switch(t){case"INVALID_ARGUMENT":i=new TypeError(e);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":i=new RangeError(e);break;default:i=new Error(e)}return W(i,{code:t}),r&&Object.assign(i,r),null==i.shortMessage&&W(i,{shortMessage:n}),i}(t,r,i)}function G(e,t,r,i){Y(e,t,"INVALID_ARGUMENT",{argument:r,value:i})}const Q=["NFD","NFC","NFKD","NFKC"].reduce((e,t)=>{try{if("test"!=="test".normalize(t))throw new Error("bad");if("NFD"===t){const e=String.fromCharCode(233).normalize("NFD");if(e!==String.fromCharCode(101,769))throw new Error("broken")}e.push(t)}catch(e){}return e},[]);function ee(e,t,r){if(e instanceof Uint8Array)return r?new Uint8Array(e):e;if("string"==typeof e&&e.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const t=new Uint8Array((e.length-2)/2);let r=2;for(let i=0;i<t.length;i++)t[i]=parseInt(e.substring(r,r+2),16),r+=2;return t}G(!1,"invalid BytesLike value",t||"value",e)}function te(e,t){return ee(e,t,!1)}const re="0123456789abcdef";function ie(e){const t=te(e);let r="0x";for(let e=0;e<t.length;e++){const i=t[e];r+=re[(240&i)>>4]+re[15&i]}return r}let ne=!1;const fe=function(e){return V(e)};let ae=fe;function oe(e){const t=te(e,"data");return ie(ae(t))}oe._=fe,oe.lock=function(){ne=!0},oe.register=function(e){if(ne)throw new TypeError("keccak256 is locked");ae=e},Object.freeze(oe);function se(e,t,r,i,n){if("BAD_PREFIX"===e||"UNEXPECTED_CONTINUE"===e){let e=0;for(let i=t+1;i<r.length&&r[i]>>6==2;i++)e++;return e}return"OVERRUN"===e?r.length-t-1:0}Object.freeze({error:function(e,t,r,i,n){G(!1,`invalid codepoint at offset ${t}; ${e}`,"bytes",r)},ignore:se,replace:function(e,t,r,i,n){return"OVERLONG"===e?(G("number"==typeof n,"invalid bad code point for replacement","badCodepoint",n),i.push(n),0):(i.push(65533),se(e,t,r))}});function de(e,t){G("string"==typeof e,"invalid string value","str",e),null!=t&&(!function(e){Y(Q.indexOf(e)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:e}})}(t),e=e.normalize(t));let r=[];for(let t=0;t<e.length;t++){const i=e.charCodeAt(t);if(i<128)r.push(i);else if(i<2048)r.push(i>>6|192),r.push(63&i|128);else if(55296==(64512&i)){t++;const n=e.charCodeAt(t);G(t<e.length&&56320==(64512&n),"invalid surrogate pair","str",e);const f=65536+((1023&i)<<10)+(1023&n);r.push(f>>18|240),r.push(f>>12&63|128),r.push(f>>6&63|128),r.push(63&f|128)}else r.push(i>>12|224),r.push(i>>6&63|128),r.push(63&i|128)}return new Uint8Array(r)}function ce(e){return"string"==typeof e&&(e=de(e)),oe("0x"+[de("Ethereum Signed Message:\n"),de(String(e.length)),e].map(e=>ie(e).substring(2)).join(""))}var he=r(360),ue=r(667).hp;const le=(e,t,r)=>"0x"+r.slice(2*e+2,2*t+2),be=e=>{return[le(64,(t=e,(t.length-2)/2),e),le(0,32,e),le(32,64,e)];var t},pe=e=>parseInt(e.slice(2),16),me=async()=>{await snap.request({method:"snap_dialog",params:{type:"alert",content:b}});try{var e;const t=(await ethereum.request({method:"eth_requestAccounts"}))[0],r=`Hashdit Security: ${t}, Please sign this message to authenticate the HashDit API.`;let i;try{i=await ethereum.request({method:"personal_sign",params:[r,t]})}catch(e){return void console.error("Error signing message:",e)}let n=null===(e=((e,t,r)=>{try{const i=`Hashdit Security: ${r}, Please sign this message to authenticate the HashDit API.`;if(e!==i)throw new Error(`Invalid message. Expected: "${i}", Received: "${e}"`);const n=new he.ec("secp256k1"),f=ce(e),a=be(t),o={v:pe(a[0]),r:a[1].slice(2),s:a[2].slice(2)};return"0x"+n.recoverPubKey(new ue(f.slice(2),"hex"),o,o.v<2?o.v:1-o.v%2).encode("hex",!1).slice(2)}catch(e){}})(r,i,t))||void 0===e?void 0:e.substring(2);const f={publicKey:n,userAddress:t,messageSignature:i};try{const e=await async function(e,t){const r={userAddr:e,signature:t},i=await fetch("https://service.hashdit.io/v2/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});return await i.json()}(t,i);if("ok"!==e.message||""==e.apiKey)throw new Error(`Authentication failed: ${e.message}`);f.DiTingApiKey=e.apiKey}catch(e){console.error("An error occurred during DiTing authentication:",e)}try{await snap.request({method:"snap_manageState",params:{operation:"update",newState:f}})}catch(e){console.error("An error occurred during saving to local storage:",e)}}catch(e){console.error("Error during HashDit Snap installation:",e)}};const ge=f("Row"),ye=f("Value");var ve=r(671);function we(e){e=e.toLowerCase().replace("0x","");const t=(0,ve.keccak256)(e);let r="0x";for(let i=0;i<e.length;i++)r+=parseInt(t[i],16)>=8?e[i].toUpperCase():e[i];return r}function Me(e){switch(e){case 0:return"No Obvious Risk";case 1:return"Caution";case 2:return"Low";case 3:return"Medium";case 4:return"High";case 5:return"Critical";default:return"Unknown"}}function Ae(e){switch(e){case 0:return"🟢";case 1:case 2:return"🟡";case 3:return"🟠";case 4:case 5:return"🔴";default:return"❔"}}function Se(e){switch(e){case 0:case 1:case 2:default:return"default";case 3:return"warning";case 4:case 5:return"critical"}}function _e(e){switch(e){case 0:return["success","No Obvious Risk","This transaction does not appear to pose any significant risk. However, we recommend reviewing all transaction details before proceeding."];case 1:return["info","Caution","This transaction currently shows no identified security concerns. However, we recommend reviewing all transaction details before proceeding."];case 2:return["warning","Low Risk","This transaction poses a low risk. We recommend reviewing all transaction details before proceeding."];case 3:return["warning","Medium Risk","This transaction poses a medium risk. We recommend reviewing all transaction details carefully before proceeding."];case 4:return["danger","High Risk","This transaction poses a high risk. We strongly recommend rejecting this transaction."];case 5:return["danger","Critical Risk","This transaction poses a critical risk. We strongly recommend rejecting this transaction."];default:return["info","Unknown Risk","We could not determine the risk level of this transaction. Please review all transaction details carefully before proceeding."]}}async function Ie(r,i){if(!r)return[null,0];const n={url:r};try{const f=await fetch("https://service.hashdit.io/v2/hashdit/domain-security",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":i},body:JSON.stringify(n)}),d=await f.json();if("0"===d.code&&"ok"===d.status&&d.data.has_result){const i=d.data.risk_level,n=Me(i),f=Ae(i),h=i>=4?"critical":3===i?"warning":"default";return[t(a,{children:[e(o,{children:"Website Security Check"}),t(c,{children:[e(ge,{label:"Risk Level",variant:h,children:e(ye,{value:`${f} ${n}`,extra:""})}),e(ge,{label:"Website",children:e(ye,{value:`${r}`,extra:""})}),e(s,0===i?{color:"muted",children:"Based on our security analysis, this website shows no apparent security concerns."}:{color:"muted",children:"Please exercise caution when interacting with this website."})]})]}),i]}}catch(e){console.error("Domain security check failed:",e)}return[null,0]}const xe=f("Address");function ke(r,i){let n=function(e,t){var r=[];for(let n of e)for(let e of t){const t=n.toLowerCase().substring(2),f=e.toLowerCase().substring(2);if(t==f)continue;let a=0;const o=39;for(var i=0;i<5;i++)t[i]==f[i]&&t[o-i]==f[o-i]&&(a+=1);if(a>=3){let t;switch(a){case 3:case 4:t="🔴 High";break;case 5:t="🔴 Critical"}r.push({userAddress:we(n),targetAddress:we(e),similarityRiskLevel:t})}}return r}(r,i);return n.length>0?[t(a,{children:[e(o,{children:"Address Poisoning"}),t(c,{children:[n.map((r,i)=>t(a,{children:[e(ge,{label:"Risk Level",variant:"critical",children:e(s,{children:r.similarityRiskLevel||""})}),e(ge,{label:"Your Address",children:e(xe,{address:r.userAddress})}),e(ge,{label:"Fake Address",children:e(xe,{address:r.targetAddress})}),i!==n.length-1&&e(d,{})]},`address-poisoning-${i}`)),e(s,{color:"muted",children:'You are about to interact with an address that looks very similar to one of your own addresses. This is a common scam technique called "address poisoning" where scammers create addresses that look similar to yours to trick you into sending funds to the wrong address. We highly recommend rejecting this transaction.'})]})]}),4]:[null,0]}async function Ee(r,i,n,f,h,u,l){const b=parseInt(h,16),p=parseInt(u,16).toString(),m=await async function(){try{const e=await ethereum.request({method:"eth_blockNumber"});return parseInt(e,16).toString()}catch(e){throw console.error("Error retrieving block height:",e),e}}(),g=we(n),y=we(f);try{const n="https://service.hashdit.io/v2/hashdit/txn-simulation",f={chain_id:i,block_height:m,evm_transactions:[{from:y,to:g,value:p||"0",gas_limit:b,data:l||"",force:!0}],requested_items:{balance_changes:!0,approve_changes:!0,ownership_changes:!0,involved_address_risks:!1,invocation_tree:!1}},h=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json","X-API-KEY":r},body:JSON.stringify(f)});if(!h.ok)return console.error(`HTTP error! Status: ${h.status}`),Be("9999999");const u=await h.json();if(u&&"000000000"===u.code){const[r]=function(e){const t=e.data.txn_summaries;return t.map(e=>{const t=e.from.toLowerCase();let r=[];if(e.balance_changes)for(const[i,n]of Object.entries(e.balance_changes))i.toLowerCase()===t&&r.push(n);let i=[];return e.approve_changes&&i.push(e.approve_changes),{from:e.from,balance_changes:r,approve_changes:i}})}(u),n=u.data.token_details||{},f=u.data.involved_addresses||[];return async function(r,i,n,f,h){const u=[],l=[],b=[],p=[];let m=0;if(r)for(const i of r)for(const[r,o]of Object.entries(i)){var g,y,v,w,M;const i=n[r]||{};let c=(null===(g=i)||void 0===g?void 0:g.symbol)||"Unknown Symbol",h=(null===(y=i)||void 0===y?void 0:y.tokenName)||"Unknown Token";"native_token"==c&&(1==f?(c="ETH",h="Ethereum"):56==f&&(c="BNB",h="Binance Coin"));const b=Number(o),p=b/10**((null===(v=i)||void 0===v?void 0:v.divisor)||18),m=(null===(w=i)||void 0===w?void 0:w.tokenPriceUSD)?(p*i.tokenPriceUSD).toFixed(2):"Unknown",A=e(a,{children:t(a,{children:[t(a,{direction:"horizontal",children:[e(s,{children:h}),e(s,{color:"muted",children:`(${c})`})]}),t(a,{direction:"horizontal",alignment:"space-between",children:[e(s,{color:b>0?"success":"error",children:`${b>0?"+":""}${p}`}),e(s,{color:"muted",children:""+((null===(M=i)||void 0===M?void 0:M.tokenPriceUSD)?`$${m} USD`:"")})]}),e(d,{})]})});b>0?u.push(A):l.push(A)}if(i)for(const r of i)for(const[i,o]of Object.entries(r)){var A,S;const r=n[i]||{};let d=(null===(A=r)||void 0===A?void 0:A.symbol)||"Unknown Symbol",c=(null===(S=r)||void 0===S?void 0:S.tokenName)||"Unknown Token";"native_token"==d&&(1==f?(d="ETH",c="Ethereum"):56==f&&(d="BNB",c="Binance Coin"));const h=o;for(const r of h)b.push(t(a,{children:[t(a,{direction:"horizontal",children:[e(s,{children:c}),e(s,{color:"muted",children:`(${d})`})]}),e(ge,{label:"Token Address",children:e(xe,{address:i})}),e(ge,{label:"Spender",children:e(xe,{address:r.spender_address})}),e(ge,{label:"Amount",children:e(ye,{value:r.approve_amount.toString(),extra:""})})]},`approval-${i}-${r.spender_address}`))}if(h.length>0){const e=await ethereum.request({method:"eth_accounts"});if(e){const[t,r]=ke(e,h);t&&p.push(t),m=r}}return[p.length>0?e(a,{children:p}):null,m,t(a,{children:[b.length>0&&t(a,{children:[e(o,{children:"Approval Changes"}),e(c,{children:b})]}),u.length>0&&t(a,{children:[e(o,{children:"⬇️ Asset Inflows ⬇️"}),e(c,{children:u})]}),l.length>0&&t(a,{children:[e(o,{children:"⚠️ Asset Outflows ⚠️"}),e(c,{children:l})]}),0===u.length&&0===l.length&&e(c,{children:e(s,{children:"No balance changes found"})})]}),0]}(r.balance_changes,r.approve_changes,n,i,f)}return Be(u.code)}catch(e){return console.error(`Error when calling simulation insight:${e}`,e),Be("9999999")}}function Be(r){return console.error("Simulation Error Code :",r),"0040005"==r?[[],0,t(a,{children:[e(o,{children:"Transaction Simulation Failed "}),e(c,{children:e(s,{color:"warning",children:"The transaction simulation reverted. This transaction will likely fail."})})]}),3]:"0040006"==r?[[],0,t(a,{children:[e(o,{children:"Transaction Simulation Failed"}),e(c,{children:e(s,{color:"warning",children:"The transaction simulation reverted without a reason. This transaction will likely fail."})})]}),3]:[[],0,t(a,{children:[e(o,{children:"Transaction Simulation Failed"}),e(c,{children:t(s,{color:"warning",children:["The transaction simulation failed with code: ",r,". Please try again or try reinstalling the extension."]})})]}),3]}const Re=async(r,i,n,f)=>{const h={from:r.from,to:r.to,data:r.data||"",value:r.value||"0x0",chainId:n};try{const r=await fetch("https://service.hashdit.io/v2/hashdit/transaction-security",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":f},body:JSON.stringify(h)});if(!r.ok)return console.error(`HTTP error! Status: ${r.status}`),[null,0];const i=await r.json();return i&&"number"==typeof i.overall_risk&&i.chain?function(r){const i=r.overall_risk,n=r.risk_details||[];return[t(a,{children:[e(o,{children:"Transaction Security Analysis"}),e(c,{children:n.length>0?e(a,{children:[...n].sort((e,t)=>t.risk-e.risk).map((r,i)=>{const n=Me(r.risk),f=Ae(r.risk),c={malicious_destination_interaction:"Transaction To Known Malicious Address",EOA_destination_interaction:"Transaction Destination Is An EOA Address",new_unverified_contract_interaction:"Transaction To Recently Created Unverified Contract",unverified_contract_interaction:"Transaction To Unverified Contract",new_verified_contract_interaction:"Transaction To Recently Created Verified Contract",low_activity_address_interaction:"Transaction To Address With Little Transaction History",malicious_signature:"Transaction Calls A Known Malicious Function",unknown_signature:"Transaction Uses Unknown Function Signature",custom_function:"Transaction Calls Custom/Non-Standard Function",blacklisted_address_in_params:"Function Parameter Contains Blacklisted Address",eoa_in_params:"Function Parameter Contains EOA Address",unverified_contract_in_params:"Function Parameter Contains Unverified Contract",low_activity_address_in_params:"Function Parameter Contains Low-Activity Address",malicious_recipient:"Transferring Tokens To Known Malicious Address",invalid_transfer:"Could Not Determine Recipient Address For Transfer",unverified_contract_recipient:"Transferring Tokens To Unverified Contract",contract_recipient:"Transferring Tokens To A Contract",new_contract_recipient:"Transferring Tokens To Recently Created Contract",low_activity_recipient:"Transferring Tokens To Low-Activity Address",high_portion_transfer:"Transferring Unusually Large Amount Of Tokens Or Using TransferFrom For Large Portion Of Balance",delegation_mismatch:"TransferFrom Operator Is Not The Recipient",contract_source:"Transferring Tokens From A Contract",malicious_spender:"Approving Tokens To Known Malicious Address",invalid_approval:"Could Not Determine Spender Address For Approval",unlimited_EOA_approval:"Unlimited Token Approval To EOA Address",unlimited_unverified_contract_approval:"Unlimited Token Approval To Unverified Contract",unlimited_approval:"Unlimited Token Approval To Verified Contract",EOA_approval:"Token Approval To EOA Address",unverified_contract_approval:"Token Approval To Unverified Contract",dapp_risk:"The dApp URL Is Flagged As Risky By Threat Intelligence"}[h=r.name||"Unknown"]||h.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase());var h;const u=Se(r.risk);return t(a,{children:[e(o,{children:c}),e(ge,{label:"Risk Level",variant:u,children:e(ye,{value:`${f} ${n}`,extra:""})}),"address"===r.value_type&&r.value&&e(ge,{label:"Address",children:e(xe,{address:r.value})}),"address"!==r.value_type&&r.value&&e(ge,{label:"Value",children:e(ye,{value:r.value,extra:""})}),r.description&&e(s,{color:"muted",children:r.description.replace(/\\n/g," ")}),e(d,{})]},`risk-detail-${i}`)})}):e(a,{children:(()=>{const t=Me(i),r=Ae(i),n=Se(i);return e(ge,{label:"Risk Level",variant:n,children:e(ye,{value:`${r} ${t}`,extra:""})})})()})})]}),i]}(i):(console.error("Unexpected response:",i),[null,0])}catch(e){return console.error(`Error when calling transaction insight:${e}`,e),[null,0]}};async function Te(r,i,n){if("personal_sign"==r.signatureMethod)return[t(a,{children:[e(o,{children:"Signature Screen"}),t(c,{children:[e(ge,{label:"Risk Level",variant:"default",children:e(ye,{value:"🟢 No Obvious Risk",extra:""})}),e(s,{color:"muted",children:"This signature is trying to confirm you own this address. It's a common way to verify your identity without sharing your private key. This process generally does not pose any significant risk."})]})]}),0];let f,d;if("object"!=typeof r.data)return[null,0];d=r.data,f={from:r.from,data:d};const{primaryType:h,message:u}=f.data;let l;if("PermitBatch"===h&&u.details&&Array.isArray(u.details))l=u.spender;else if("PermitSingle"===h&&u.details)l=u.spender;else if("PermitForAll"===h)l=u.operator;else{if("Permit"!==h||!u.spender)return[null,0];l=u.spender}return await async function(r,i,n,f){let d=null;["Permit","PermitSingle","PermitForAll","PermitBatch"].includes(r)&&(d=await async function(r,i,n){const f=[{chain_id:r,address:i}];try{const d=await fetch("https://service.hashdit.io/v2/hashdit/batch-address-security",{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":n},body:JSON.stringify(f)});if(!d.ok)return console.error(`HTTP error! Status: ${d.status}`),[null,0];const h=await d.json();return"0"===h.code&&"ok"===h.status?await async function(r,i,n,f){if(!r||!r.data||!Array.isArray(r.data)||0===r.data.length)return[null,0];let d=3;const h=r.data[0];void 0!==h.risk_level&&null!==h.risk_level&&(d=Math.max(Number(h.risk_level),3));const u=await async function(e,t,r){if(!e||!t||!r)return console.error("Missing required parameter for contract verification"),!0;const i={chainId:t,address:e};try{const e=await fetch("https://service.hashdit.io/v2/hashdit/address-classify",{method:"POST",headers:{"Content-Type":"application/json","X-API-KEY":r},body:JSON.stringify(i)});if(!e.ok)return console.error(`API Error: ${e.status} ${e.statusText}`),null;const t=await e.json();return"ok"===t.status&&t.data&&t.data.details?"Contract"===t.data.address_type?!0===t.data.details.is_verified?"verified":"unverified":"EOA":(console.error("Invalid API response structure"),null)}catch(e){return console.error("Fetch error:",e),null}}(i,n,f);return async function(r,i,n){if("unverified"==n)return[t(a,{children:[e(o,{children:"Signature Screen"}),t(c,{children:[e(o,{children:"Token Approval To Unverified Contract"}),e(ge,{label:"Risk Level",variant:"critical",children:e(ye,{value:"🔴 High",extra:""})}),e(ge,{label:"Spender",children:e(xe,{address:i})}),e(s,{color:"muted",children:"You are using 'approve' for tokens to an unverified contract. This is risky as you cannot inspect the code to understand how your tokens might be used."})]})]}),4];if("EOA"==n)return[t(a,{children:[e(o,{children:"Signature Screen"}),t(c,{children:[e(o,{children:"Token Approval To EOA Address"}),e(ge,{label:"Risk Level",variant:"critical",children:e(ye,{value:"🔴 High",extra:""})}),e(ge,{label:"Spender",children:e(xe,{address:i})}),e(s,{color:"muted",children:"You are using 'approve' for tokens to a personal wallet (EOA) rather than a contract. This is unusual and potentially risky as EOAs are controlled by individuals."})]})]}),4];{const n=Me(r),f=Ae(r),d=Se(r);return[t(a,{children:[e(o,{children:"Signature Screen"}),t(c,{children:[e(o,{children:"Token Approval To Verified Contract"}),e(ge,{label:"Risk Level",variant:d,children:e(ye,{value:`${f} ${n}`,extra:""})}),e(ge,{label:"Spender",children:e(xe,{address:i})}),e(s,{color:"muted",children:"You are using 'approve' to give unlimited approval to spend your tokens. This creates unnecessary risk as the approved address will maintain this access indefinitely. Consider approving only the amount needed for your immediate transaction."})]})]}),r]}}(d,i,u)}(h,i,r,n):(console.error("Unexpected response:",h),[null,0])}catch(e){return console.error(`Error when checking address: ${i} on chain ${r}:`,e),[null,0]}}(f,i,n));return d}(h,l,i,n)}const Oe=f("Banner"),ze=async()=>{await me()},Pe=async({signature:r,signatureOrigin:i})=>{let n=null,f=0;try{const o=await snap.request({method:"snap_manageState",params:{operation:"get"}});if(null===o)return console.error("Error retrieving persisted user data"),null;const d=function(e){return{"0x1":1,"0x38":56}[e]||null}(await ethereum.request({method:"eth_chainId"}));d&&("1"!==d.toString()&&"56"!==d.toString()||([n,f]=await Te(r,o.DiTingApiKey,d.toString())));const[c,h]=await Ie(i,o.DiTingApiKey),u=Math.max(f,h),[l,b,p]=_e(u),m=[{content:c,score:h},{content:n,score:f}].filter(e=>null!==e.content).sort((e,t)=>t.score-e.score).map(e=>e.content);return{content:t(a,{children:[e(Oe,{title:b,severity:l,children:e(s,{children:p})}),m]})}}catch(e){return console.error("OnSignature Error",e),{content:p}}},Ne=async({transaction:r,chainId:i,transactionOrigin:n})=>{try{const f=i.split(":")[1],o=await snap.request({method:"snap_manageState",params:{operation:"get"}});if(null!==o){const i=o.DiTingApiKey;if("1"==f||"56"==f){const[[o,d],[c,h],[u,l,b,p]]=await Promise.all([Ie(n,i),Re(r,0,f,i),Ee(i,f,r.to,r.from,r.gas,r.value,r.data)]),m=Math.max(d,h,Number(l),Number(p)),[g,y,v]=_e(m),w=[{content:o,score:d},{content:c,score:h},{content:u,score:l}].filter(e=>null!==e.content).sort((e,t)=>t.score-e.score).map(e=>e.content);return{content:t(a,{children:[e(Oe,{title:y,severity:g,children:e(s,{children:v})}),w,b]})}}{const[f,o]=await Ie(n,i),d=await ethereum.request({method:"eth_accounts"}),[c,h]=ke(d,[r.to]),u=Math.max(o,Number(h)),[l,b,p]=_e(u),g=[{content:f,score:o},{content:c,score:h}].filter(e=>null!==e.content).sort((e,t)=>t.score-e.score).map(e=>e.content);return{content:t(a,{children:[e(Oe,{title:b,severity:l,children:e(s,{children:p})}),g,m]})}}}return console.error("Error in onTransaction. Could not retrieve user persisted key"),{content:p}}catch(e){return console.error("Error in onTransaction:",e),{content:p}}},Le=async()=>({content:e(a,{children:l})})})(),module.exports=i})();