text: !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).ethers={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function n(t,e){return t(e={exports:{}},e.exports),e.exports}function i(t){return t&&t.default||t}var o=Object.freeze({default:{}}),s=i(o),a=n((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o=s.Buffer}catch(t){}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;n<<=4,n|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,o=0;for(r=t.length-6,n=0;r>=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,l=0,h=r;h<a;h+=n)l=u(t,h,h+n,e),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==s){var c=1;for(l=u(t,h,t.length,e),h=0;h<s;h++)c*=e;this.imuln(c),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","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],c=[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 f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var l=1;l<n;l++){for(var h=u>>>26,c=67108863&u,f=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=f;d++){var p=l-d|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[l]=0|c,u=0|h}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);n=0!==(o=a>>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?m+n:l[f-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,l=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[a]=s;for(;a<o;a++)l[a]=0}else{for(a=0;a<o-i;a++)l[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[o-a-1]=s}return l},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,l=0,h=0|s[0],c=8191&h,f=h>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,b=0|s[3],w=8191&b,_=b>>>13,M=0|s[4],E=8191&M,k=M>>>13,S=0|s[5],P=8191&S,A=S>>>13,x=0|s[6],N=8191&x,O=x>>>13,R=0|s[7],T=8191&R,C=R>>>13,B=0|s[8],I=8191&B,F=B>>>13,L=0|s[9],U=8191&L,j=L>>>13,D=0|a[0],z=8191&D,H=D>>>13,K=0|a[1],W=8191&K,q=K>>>13,G=0|a[2],V=8191&G,J=G>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,lt=at>>>13,ht=0|a[8],ct=8191&ht,ft=ht>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(l+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,H))+Math.imul(f,z)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var vt=(l+(n=n+Math.imul(c,W)|0)|0)+((8191&(i=(i=i+Math.imul(c,q)|0)+Math.imul(f,W)|0))<<13)|0;l=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,H))+Math.imul(y,z)|0,o=Math.imul(y,H),n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,q)|0;var yt=(l+(n=n+Math.imul(c,V)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,J)|0;var bt=(l+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;l=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,q)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var wt=(l+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;l=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,z),i=(i=Math.imul(P,H))+Math.imul(A,z)|0,o=Math.imul(A,H),n=n+Math.imul(E,W)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,tt)|0;var _t=(l+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;l=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(N,z),i=(i=Math.imul(N,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(A,W)|0,o=o+Math.imul(A,q)|0,n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(l+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;l=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(C,z)|0,o=Math.imul(C,H),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,q)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var Et=(l+(n=n+Math.imul(c,ut)|0)|0)+((8191&(i=(i=i+Math.imul(c,lt)|0)+Math.imul(f,ut)|0))<<13)|0;l=((o=o+Math.imul(f,lt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,H))+Math.imul(F,z)|0,o=Math.imul(F,H),n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,q)|0,n=n+Math.imul(N,V)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,lt)|0;var kt=(l+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;l=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(j,z)|0,o=Math.imul(j,H),n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,q)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,q)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,st)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,lt)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,ft)|0;var St=(l+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(f,pt)|0))<<13)|0;l=((o=o+Math.imul(f,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,W),i=(i=Math.imul(U,q))+Math.imul(j,W)|0,o=Math.imul(j,q),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,lt)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var Pt=(l+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;l=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,V),i=(i=Math.imul(U,J))+Math.imul(j,V)|0,o=Math.imul(j,J),n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,lt)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,lt)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,ft)|0;var At=(l+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;l=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(j,X)|0,o=Math.imul(j,$),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,lt)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var xt=(l+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;l=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(j,Y)|0,o=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,lt)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,lt)|0,n=n+Math.imul(P,ct)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var Nt=(l+(n=n+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(k,pt)|0))<<13)|0;l=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(j,rt)|0,o=Math.imul(j,nt),n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,lt)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,lt)|0,n=n+Math.imul(N,ct)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(O,ct)|0,o=o+Math.imul(O,ft)|0;var Ot=(l+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(A,pt)|0))<<13)|0;l=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,lt)|0)+Math.imul(F,ut)|0,o=o+Math.imul(F,lt)|0,n=n+Math.imul(T,ct)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(l+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(O,pt)|0))<<13)|0;l=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ut),i=(i=Math.imul(U,lt))+Math.imul(j,ut)|0,o=Math.imul(j,lt),n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var Tt=(l+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;l=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(j,ct)|0,o=Math.imul(j,ft);var Ct=(l+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(F,pt)|0))<<13)|0;l=((o=o+Math.imul(F,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(l+(n=Math.imul(U,pt))|0)+((8191&(i=(i=Math.imul(U,mt))+Math.imul(j,pt)|0))<<13)|0;return l=((o=Math.imul(j,mt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,u[0]=gt,u[1]=vt,u[2]=yt,u[3]=bt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=Et,u[8]=kt,u[9]=St,u[10]=Pt,u[11]=At,u[12]=xt,u[13]=Nt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=Ct,u[18]=Bt,0!==l&&(u[19]=l,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),l=Math.max(0,o-t.length+1);l<=u;l++){var h=o-l,c=(0|t.words[h])*(0|e.words[l]),f=67108863&c;a=67108863&(f=f+a|0),i+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,u=Math.cos(2*Math.PI/a),l=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var c=u,f=l,d=0;d<s;d++){var p=r[h+d],m=n[h+d],g=r[h+d+s],v=n[h+d+s],y=c*g-f*v;v=c*v+f*g,g=y,r[h+d]=p+g,n[h+d]=m+v,r[h+d+s]=p-g,n[h+d+s]=m-v,d!==a&&(y=u*c-l*f,f=u*f+l*c,c=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,n,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],n[2*s]=8191&o,o>>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)n[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),u=new Array(n),l=new Array(n),h=new Array(n),c=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,l,n),this.transform(s,o,a,u,n,i),this.transform(l,o,h,c,n,i);for(var d=0;d<n;d++){var p=a[d]*h[d]-u[d]*c[d];u[d]=a[d]*c[d]+u[d]*h[d],a[d]=p}return this.conjugate(a,u,n),this.transform(a,u,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|this.words[n])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var o=r.sqr();n<e.length;n++,o=o.sqr())0!==e[n]&&(r=r.mul(o));return r},i.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<n;this.words[e]=u|s,s=a>>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=n;if(i-=s,i=Math.max(0,i),u){for(var l=0;l<s;l++)u.words[l]=this.words[l];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,l=0;l<this.length;l++)this.words[l]=this.words[l+s];else this.words[0]=0,this.length=1;var h=0;for(l=this.length-1;l>=0&&(0!==h||l>=i);l--){var c=0|this.words[l];this.words[l]=h<<26-o|c>>>o,h=c&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},i.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,o,s=t.length+n;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+n])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l<a.length;l++)a.words[l]=0}var h=n.clone()._ishlnsubmul(o,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var c=u-1;c>=0;c--){var f=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(o,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(c)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(b,v),n(w,v),n(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return g[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,l).cmp(u);)h.redIAdd(u);for(var c=this.pow(h,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g<p);var v=this.pow(c,new i(1).iushln(p-g-1));f=f.redMul(v),c=v.redSqr(),d=d.redMul(c),p=g}return f},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var o=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var l=e.words[n],h=u-1;h>=0;h--){var c=l>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new E(t)},n(E,M),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),u=(a.BN,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="logger/5.0.5"}))),l=(r(u),u.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=!1,n=!1,i={debug:1,default:2,info:2,warning:3,error:4,off:5},o=i.default,s=null;var a,l,h=function(){try{var t=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}})),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(a=e.LogLevel||(e.LogLevel={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(l=e.ErrorCode||(e.ErrorCode={}));var c=function(){function t(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}return t.prototype._log=function(t,e){var r=t.toLowerCase();null==i[r]&&this.throwArgumentError("invalid log level name","logLevel",t),o>i[r]||console.log.apply(console,e)},t.prototype.debug=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this._log(t.levels.DEBUG,e)},t.prototype.info=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this._log(t.levels.INFO,e)},t.prototype.warn=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this._log(t.levels.WARNING,e)},t.prototype.makeError=function(e,r,i){if(n)return this.makeError("censored error",r,{});r||(r=t.errors.UNKNOWN_ERROR),i||(i={});var o=[];Object.keys(i).forEach((function(t){try{o.push(t+"="+JSON.stringify(i[t]))}catch(e){o.push(t+"="+JSON.stringify(i[t].toString()))}})),o.push("code="+r),o.push("version="+this.version);var s=e;o.length&&(e+=" ("+o.join(", ")+")");var a=new Error(e);return a.reason=s,a.code=r,Object.keys(i).forEach((function(t){a[t]=i[t]})),a},t.prototype.throwError=function(t,e,r){throw this.makeError(t,e,r)},t.prototype.throwArgumentError=function(e,r,n){return this.throwError(e,t.errors.INVALID_ARGUMENT,{argument:r,value:n})},t.prototype.assert=function(t,e,r,n){t||this.throwError(e,r,n)},t.prototype.assertArgument=function(t,e,r,n){t||this.throwArgumentError(e,r,n)},t.prototype.checkNormalize=function(e){null==e&&(e="platform missing String.prototype.normalize"),h&&this.throwError("platform missing String.prototype.normalize",t.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:h})},t.prototype.checkSafeUint53=function(e,r){"number"==typeof e&&(null==r&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))},t.prototype.checkArgumentCount=function(e,r,n){n=n?": "+n:"",e<r&&this.throwError("missing argument"+n,t.errors.MISSING_ARGUMENT,{count:e,expectedCount:r}),e>r&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})},t.prototype.checkNew=function(e,r){e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})},t.prototype.checkAbstract=function(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})},t.globalLogger=function(){return s||(s=new t(u.version)),s},t.setCensorship=function(e,i){if(!e&&i&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!e,r=!!i},t.setLogLevel=function(e){var r=i[e.toLowerCase()];null!=r?o=r:t.globalLogger().warn("invalid log level - "+e)},t.errors=l,t.levels=a,t}();e.Logger=c}))),h=(r(l),l.LogLevel,l.ErrorCode,l.Logger,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="bytes/5.0.4"}))),c=(r(h),h.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(h.version);function n(t){return!!t.toHexString}function i(t){return t.slice||(t.slice=function(){var e=Array.prototype.slice.call(arguments);return i(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function o(t){return f(t)&&!(t.length%2)||s(t)}function s(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(null==t.length)return!1;for(var e=0;e<t.length;e++){var r=t[e];if(r<0||r>=256||r%1)return!1}return!0}function a(t,e){if(e||(e={}),"number"==typeof t){r.checkSafeUint53(t,"invalid arrayify value");for(var o=[];t;)o.unshift(255&t),t=parseInt(String(t/256));return 0===o.length&&o.push(0),i(new Uint8Array(o))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),n(t)&&(t=t.toHexString()),f(t)){var a=t.substring(2);a.length%2&&("left"===e.hexPad?a="0x0"+a.substring(2):"right"===e.hexPad?a+="0":r.throwArgumentError("hex data is odd-length","value",t));o=[];for(var u=0;u<a.length;u+=2)o.push(parseInt(a.substring(u,u+2),16));return i(new Uint8Array(o))}return s(t)?i(new Uint8Array(t)):r.throwArgumentError("invalid arrayify value","value",t)}function u(t){var e=t.map((function(t){return a(t)})),r=e.reduce((function(t,e){return t+e.length}),0),n=new Uint8Array(r);return e.reduce((function(t,e){return n.set(e,t),t+e.length}),0),i(n)}function c(t,e){(t=a(t)).length>e&&r.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(e);return n.set(t,e-t.length),i(n)}function f(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}e.isBytesLike=o,e.isBytes=s,e.arrayify=a,e.concat=u,e.stripZeros=function(t){var e=a(t);if(0===e.length)return e;for(var r=0;r<e.length&&0===e[r];)r++;return r&&(e=e.slice(r)),e},e.zeroPad=c,e.isHexString=f;var d="0123456789abcdef";function p(t,e){if(e||(e={}),"number"==typeof t){r.checkSafeUint53(t,"invalid hexlify value");for(var i="";t;)i=d[15&t]+i,t=Math.floor(t/16);return i.length?(i.length%2&&(i="0"+i),"0x"+i):"0x00"}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),n(t))return t.toHexString();if(f(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":r.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(s(t)){for(var o="0x",a=0;a<t.length;a++){var u=t[a];o+=d[(240&u)>>4]+d[15&u]}return o}return r.throwArgumentError("invalid hexlify value","value",t)}function m(t){"string"!=typeof t&&(t=p(t)),f(t)||r.throwArgumentError("invalid hex string","value",t),t=t.substring(2);for(var e=0;e<t.length&&"0"===t[e];)e++;return"0x"+t.substring(e)}function g(t,e){for("string"!=typeof t?t=p(t):f(t)||r.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&r.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function v(t){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(o(t)){var n=a(t);65!==n.length&&r.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=p(n.slice(0,32)),e.s=p(n.slice(32,64)),e.v=n[64],e.v<27&&(0===e.v||1===e.v?e.v+=27:r.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(n[32]|=128),e._vs=p(n.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){var i=c(a(e._vs),32);e._vs=p(i);var s=i[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=s:e.recoveryParam!==s&&r.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),i[0]&=127;var u=p(i);null==e.s?e.s=u:e.s!==u&&r.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?r.throwArgumentError("signature missing v and recoveryParam","signature",t):e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&r.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&f(e.r)?e.r=g(e.r,32):r.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&f(e.s)?e.s=g(e.s,32):r.throwArgumentError("signature missing or invalid s","signature",t);var l=a(e.s);l[0]>=128&&r.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(l[0]|=128);var h=p(l);e._vs&&(f(e._vs)||r.throwArgumentError("signature invalid _vs","signature",t),e._vs=g(e._vs,32)),null==e._vs?e._vs=h:e._vs!==h&&r.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}e.hexlify=p,e.hexDataLength=function(t){if("string"!=typeof t)t=p(t);else if(!f(t)||t.length%2)return null;return(t.length-2)/2},e.hexDataSlice=function(t,e,n){return"string"!=typeof t?t=p(t):(!f(t)||t.length%2)&&r.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=n?"0x"+t.substring(e,2+2*n):"0x"+t.substring(e)},e.hexConcat=function(t){var e="0x";return t.forEach((function(t){e+=p(t).substring(2)})),e},e.hexValue=function(t){var e=m(p(t,{hexPad:"left"}));return"0x"===e?"0x0":e},e.hexStripZeros=m,e.hexZeroPad=g,e.splitSignature=v,e.joinSignature=function(t){return p(u([(t=v(t)).r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}}))),f=(r(c),c.isBytesLike,c.isBytes,c.arrayify,c.concat,c.stripZeros,c.zeroPad,c.isHexString,c.hexlify,c.hexDataLength,c.hexDataSlice,c.hexConcat,c.hexValue,c.hexStripZeros,c.hexZeroPad,c.splitSignature,c.joinSignature,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="bignumber/5.0.7"}))),d=(r(f),f.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(f.version),n={},i=9007199254740991;e.isBigNumberish=function(t){return null!=t&&(o.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||c.isHexString(t)||"bigint"==typeof t||c.isBytes(t))};var o=function(){function t(e,i){var o=this.constructor;r.checkNew(o,t),e!==n&&r.throwError("cannot call constructor directly; use BigNumber.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=i,this._isBigNumber=!0,Object.freeze(this)}return t.prototype.fromTwos=function(t){return u(h(this).fromTwos(t))},t.prototype.toTwos=function(t){return u(h(this).toTwos(t))},t.prototype.abs=function(){return"-"===this._hex[0]?t.from(this._hex.substring(1)):this},t.prototype.add=function(t){return u(h(this).add(h(t)))},t.prototype.sub=function(t){return u(h(this).sub(h(t)))},t.prototype.div=function(e){return t.from(e).isZero()&&d("division by zero","div"),u(h(this).div(h(e)))},t.prototype.mul=function(t){return u(h(this).mul(h(t)))},t.prototype.mod=function(t){var e=h(t);return e.isNeg()&&d("cannot modulo negative values","mod"),u(h(this).umod(e))},t.prototype.pow=function(t){var e=h(t);return e.isNeg()&&d("cannot raise to negative values","pow"),u(h(this).pow(e))},t.prototype.and=function(t){var e=h(t);return(this.isNegative()||e.isNeg())&&d("cannot 'and' negative values","and"),u(h(this).and(e))},t.prototype.or=function(t){var e=h(t);return(this.isNegative()||e.isNeg())&&d("cannot 'or' negative values","or"),u(h(this).or(e))},t.prototype.xor=function(t){var e=h(t);return(this.isNegative()||e.isNeg())&&d("cannot 'xor' negative values","xor"),u(h(this).xor(e))},t.prototype.mask=function(t){return(this.isNegative()||t<0)&&d("cannot mask negative values","mask"),u(h(this).maskn(t))},t.prototype.shl=function(t){return(this.isNegative()||t<0)&&d("cannot shift negative values","shl"),u(h(this).shln(t))},t.prototype.shr=function(t){return(this.isNegative()||t<0)&&d("cannot shift negative values","shr"),u(h(this).shrn(t))},t.prototype.eq=function(t){return h(this).eq(h(t))},t.prototype.lt=function(t){return h(this).lt(h(t))},t.prototype.lte=function(t){return h(this).lte(h(t))},t.prototype.gt=function(t){return h(this).gt(h(t))},t.prototype.gte=function(t){return h(this).gte(h(t))},t.prototype.isNegative=function(){return"-"===this._hex[0]},t.prototype.isZero=function(){return h(this).isZero()},t.prototype.toNumber=function(){try{return h(this).toNumber()}catch(t){d("overflow","toNumber",this.toString())}return null},t.prototype.toString=function(){return 0!==arguments.length&&r.throwError("bigNumber.toString does not accept parameters",l.Logger.errors.UNEXPECTED_ARGUMENT,{}),h(this).toString(10)},t.prototype.toHexString=function(){return this._hex},t.prototype.toJSON=function(t){return{type:"BigNumber",hex:this.toHexString()}},t.from=function(e){if(e instanceof t)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new t(n,s(e)):e.match(/^-?[0-9]+$/)?new t(n,s(new a.BN(e))):r.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&d("underflow","BigNumber.from",e),(e>=i||e<=-i)&&d("overflow","BigNumber.from",e),t.from(String(e));var o,u=e;if("bigint"==typeof u)return t.from(u.toString());if(c.isBytes(u))return t.from(c.hexlify(u));if(u)if(u.toHexString){if("string"==typeof(o=u.toHexString()))return t.from(o)}else if(null==(o=u._hex)&&"BigNumber"===u.type&&(o=u.hex),"string"==typeof o&&(c.isHexString(o)||"-"===o[0]&&c.isHexString(o.substring(1))))return t.from(o);return r.throwArgumentError("invalid BigNumber value","value",e)},t.isBigNumber=function(t){return!(!t||!t._isBigNumber)},t}();function s(t){if("string"!=typeof t)return s(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&r.throwArgumentError("invalid hex","value",t),"0x00"===(t=s(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function u(t){return o.from(s(t))}function h(t){var e=o.from(t).toHexString();return"-"===e[0]?new a.BN("-"+e.substring(3),16):new a.BN(e.substring(2),16)}function d(t,e,n){var i={fault:t,operation:e};return null!=n&&(i.value=n),r.throwError(t,l.Logger.errors.NUMERIC_FAULT,i)}e.BigNumber=o}))),p=(r(d),d.isBigNumberish,d.BigNumber,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(f.version),n={},i=d.BigNumber.from(0),o=d.BigNumber.from(-1);function s(t,e,n,i){var o={fault:e,operation:n};return void 0!==i&&(o.value=i),r.throwError(t,l.Logger.errors.NUMERIC_FAULT,o)}for(var a="0";a.length<256;)a+=a;function u(t){if("number"!=typeof t)try{t=d.BigNumber.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+a.substring(0,t):r.throwArgumentError("invalid decimal size","decimals",t)}function h(t,e){null==e&&(e=0);var r=u(e),n=(t=d.BigNumber.from(t)).lt(i);n&&(t=t.mul(o));for(var s=t.mod(r).toString();s.length<r.length-1;)s="0"+s;s=s.match(/^([0-9]*[1-9]|0)(0*)/)[1];var a=t.div(r).toString();return t=a+"."+s,n&&(t="-"+t),t}function p(t,e){null==e&&(e=0);var n=u(e);if("string"==typeof t&&t.match(/^-?[0-9.,]+$/)||r.throwArgumentError("invalid decimal value","value",t),n.length-1==0)return d.BigNumber.from(t);var i="-"===t.substring(0,1);i&&(t=t.substring(1)),"."===t&&r.throwArgumentError("missing value","value",t);var a=t.split(".");a.length>2&&r.throwArgumentError("too many decimal points","value",t);var l=a[0],h=a[1];for(l||(l="0"),h||(h="0"),h.length>n.length-1&&s("fractional component exceeds decimals","underflow","parseFixed");h.length<n.length-1;)h+="0";var c=d.BigNumber.from(l),f=d.BigNumber.from(h),p=c.mul(n).add(f);return i&&(p=p.mul(o)),p}e.formatFixed=h,e.parseFixed=p;var m=function(){function t(t,e,i,o){t!==n&&r.throwError("cannot use FixedFormat constructor; use FixedFormat.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=e,this.width=i,this.decimals=o,this.name=(e?"":"u")+"fixed"+String(i)+"x"+String(o),this._multiplier=u(o),Object.freeze(this)}return t.from=function(e){if(e instanceof t)return e;var i=!0,o=128,s=18;if("string"==typeof e){if("fixed"===e);else if("ufixed"===e)i=!1;else if(null!=e){var a=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);a||r.throwArgumentError("invalid fixed format","format",e),i="u"!==a[1],o=parseInt(a[2]),s=parseInt(a[3])}}else if(e){var u=function(t,n,i){return null==e[t]?i:(typeof e[t]!==n&&r.throwArgumentError("invalid fixed format ("+t+" not "+n+")","format."+t,e[t]),e[t])};i=u("signed","boolean",i),o=u("width","number",o),s=u("decimals","number",s)}return o%8&&r.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",o),s>80&&r.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",s),new t(n,i,o,s)},t}();e.FixedFormat=m;var g=function(){function t(e,i,o,s){var a=this.constructor;r.checkNew(a,t),e!==n&&r.throwError("cannot use FixedNumber constructor; use FixedNumber.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=s,this._hex=i,this._value=o,this._isFixedNumber=!0,Object.freeze(this)}return t.prototype._checkFormat=function(t){this.format.name!==t.format.name&&r.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)},t.prototype.addUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)},t.prototype.subUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)},t.prototype.mulUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},t.prototype.divUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},t.prototype.floor=function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(v)),r},t.prototype.ceiling=function(){var e=this.toString().split("."),r=t.from(e[0],this.format),n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(v)),r},t.prototype.round=function(e){null==e&&(e=0);var n=this.toString().split(".");if((e<0||e>80||e%1)&&r.throwArgumentError("invalid decimal count","decimals",e),n[1].length<=e)return this;var i=t.from("1"+a.substring(0,e));return this.mulUnsafe(i).addUnsafe(y).floor().divUnsafe(i)},t.prototype.isZero=function(){return"0.0"===this._value},t.prototype.isNegative=function(){return"-"===this._value[0]},t.prototype.toString=function(){return this._value},t.prototype.toHexString=function(t){if(null==t)return this._hex;t%8&&r.throwArgumentError("invalid byte width","width",t);var e=d.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return c.hexZeroPad(e,t/8)},t.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},t.prototype.toFormat=function(e){return t.fromString(this._value,e)},t.fromValue=function(e,r,n){return null!=n||null==r||d.isBigNumberish(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),t.fromString(h(e,r),m.from(n))},t.fromString=function(e,r){null==r&&(r="fixed");var o=m.from(r),a=p(e,o.decimals);!o.signed&&a.lt(i)&&s("unsigned value cannot be negative","overflow","value",e);var u=null;o.signed?u=a.toTwos(o.width).toHexString():(u=a.toHexString(),u=c.hexZeroPad(u,o.width/8));var l=h(a,o.decimals);return new t(n,u,l,o)},t.fromBytes=function(e,r){null==r&&(r="fixed");var i=m.from(r);if(c.arrayify(e).length>i.width/8)throw new Error("overflow");var o=d.BigNumber.from(e);i.signed&&(o=o.fromTwos(i.width));var s=o.toTwos((i.signed?0:1)+i.width).toHexString(),a=h(o,i.decimals);return new t(n,s,a,i)},t.from=function(e,n){if("string"==typeof e)return t.fromString(e,n);if(c.isBytes(e))return t.fromBytes(e,n);try{return t.fromValue(e,0,n)}catch(t){if(t.code!==l.Logger.errors.INVALID_ARGUMENT)throw t}return r.throwArgumentError("invalid FixedNumber value","value",e)},t.isFixedNumber=function(t){return!(!t||!t._isFixedNumber)},t}();e.FixedNumber=g;var v=g.from(1),y=g.from("0.5")}))),m=(r(p),p.formatFixed,p.parseFixed,p.FixedFormat,p.FixedNumber,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BigNumber=d.BigNumber,e.formatFixed=p.formatFixed,e.FixedFormat=p.FixedFormat,e.FixedNumber=p.FixedNumber,e.parseFixed=p.parseFixed}))),g=(r(m),m.BigNumber,m.formatFixed,m.FixedFormat,m.FixedNumber,m.parseFixed,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="properties/5.0.3"}))),v=(r(g),g.version,n((function(t,r){var n=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},i=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(g.version);function s(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}r.defineReadOnly=s,r.getStatic=function(t,e){for(var r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||"object"!=typeof t.prototype)break;t=Object.getPrototypeOf(t.prototype).constructor}return null},r.resolveProperties=function(t){return n(this,void 0,void 0,(function(){var e;return i(this,(function(r){switch(r.label){case 0:return e=Object.keys(t).map((function(e){var r=t[e];return Promise.resolve(r).then((function(t){return{key:e,value:t}}))})),[4,Promise.all(e)];case 1:return[2,r.sent().reduce((function(t,e){return t[e.key]=e.value,t}),{})]}}))}))},r.checkProperties=function(t,e){t&&"object"==typeof t||o.throwArgumentError("invalid object","object",t),Object.keys(t).forEach((function(r){e[r]||o.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)}))},r.shallowCopy=function(t){var e={};for(var r in t)e[r]=t[r];return e};var a={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function u(t){if(null==t||a[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;for(var e=Object.keys(t),r=0;r<e.length;r++)if(!u(t[e[r]]))return!1;return!0}return o.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function h(t){if(u(t))return t;if(Array.isArray(t))return Object.freeze(t.map((function(t){return c(t)})));if("object"==typeof t){var e={};for(var r in t){var n=t[r];void 0!==n&&s(e,r,c(n))}return e}return o.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function c(t){return h(t)}r.deepCopy=c;var f=function(t){for(var e in t)this[e]=c(t[e])};r.Description=f}))),y=(r(v),v.defineReadOnly,v.getStatic,v.resolveProperties,v.checkProperties,v.shallowCopy,v.deepCopy,v.Description,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="abi/5.0.5"}))),b=(r(y),y.version,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(y.version),s={},a={calldata:!0,memory:!0,storage:!0},u={calldata:!0,memory:!0};function h(t,e){if("bytes"===t||"string"===t){if(a[e])return!0}else if("address"===t){if("payable"===e)return!0}else if((t.indexOf("[")>=0||"tuple"===t)&&u[e])return!0;return(a[e]||"payable"===e)&&o.throwArgumentError("invalid modifier","name",e),!1}function c(t,e){for(var r in e)v.defineReadOnly(t,r,e[r])}r.FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});var f=new RegExp(/^(.*)\[([0-9]*)\]$/),d=function(){function t(e,r){e!==s&&o.throwError("use fromString",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),c(this,r);var n=this.type.match(f);c(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return t.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json){var e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((function(e){return JSON.parse(e.format(t))}))),JSON.stringify(e)}var n="";return"array"===this.baseType?(n+=this.arrayChildren.format(t),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==r.FormatTypes.sighash&&(n+=this.type),n+="("+this.components.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+")"):n+=this.type,t!==r.FormatTypes.sighash&&(!0===this.indexed&&(n+=" indexed"),t===r.FormatTypes.full&&this.name&&(n+=" "+this.name)),n},t.from=function(e,r){return"string"==typeof e?t.fromString(e,r):t.fromObject(e)},t.fromObject=function(e){return t.isParamType(e)?e:new t(s,{name:e.name||null,type:S(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})},t.fromString=function(e,r){return n=function(t,e){var r=t;function n(e){o.throwArgumentError("unexpected character at position "+e,"param",t)}function i(t){var r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");for(var s={type:"",name:"",state:{allowType:!0}},a=s,u=0;u<t.length;u++){var l=t[u];switch(l){case"(":a.state.allowType&&""===a.type?a.type="tuple":a.state.allowParams||n(u),a.state.allowType=!1,a.type=S(a.type),a.components=[i(a)],a=a.components[0];break;case")":delete a.state,"indexed"===a.name&&(e||n(u),a.indexed=!0,a.name=""),h(a.type,a.name)&&(a.name=""),a.type=S(a.type);var c=a;(a=a.parent)||n(u),delete c.parent,a.state.allowParams=!1,a.state.allowName=!0,a.state.allowArray=!0;break;case",":delete a.state,"indexed"===a.name&&(e||n(u),a.indexed=!0,a.name=""),h(a.type,a.name)&&(a.name=""),a.type=S(a.type);var f=i(a.parent);a.parent.components.push(f),delete a.parent,a=f;break;case" ":a.state.allowType&&""!==a.type&&(a.type=S(a.type),delete a.state.allowType,a.state.allowName=!0,a.state.allowParams=!0),a.state.allowName&&""!==a.name&&("indexed"===a.name?(e||n(u),a.indexed&&n(u),a.indexed=!0,a.name=""):h(a.type,a.name)?a.name="":a.state.allowName=!1);break;case"[":a.state.allowArray||n(u),a.type+=l,a.state.allowArray=!1,a.state.allowName=!1,a.state.readArray=!0;break;case"]":a.state.readArray||n(u),a.type+=l,a.state.readArray=!1,a.state.allowArray=!0,a.state.allowName=!0;break;default:a.state.allowType?(a.type+=l,a.state.allowParams=!0,a.state.allowArray=!0):a.state.allowName?(a.name+=l,delete a.state.allowArray):a.state.readArray?a.type+=l:n(u)}}return a.parent&&o.throwArgumentError("unexpected eof","param",t),delete s.state,"indexed"===a.name?(e||n(r.length-7),a.indexed&&n(r.length-7),a.indexed=!0,a.name=""):h(a.type,a.name)&&(a.name=""),s.type=S(s.type),s}(e,!!r),t.fromObject({name:n.name,type:n.type,indexed:n.indexed,components:n.components});var n},t.isParamType=function(t){return!(null==t||!t._isParamType)},t}();function p(t,e){return function(t){t=t.trim();for(var e=[],r="",n=0,i=0;i<t.length;i++){var s=t[i];","===s&&0===n?(e.push(r),r=""):(r+=s,"("===s?n++:")"===s&&-1===--n&&o.throwArgumentError("unbalanced parenthesis","value",t))}r&&e.push(r);return e}(t).map((function(t){return d.fromString(t,e)}))}r.ParamType=d;var g=function(){function t(t,e){t!==s&&o.throwError("use a static from method",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),c(this,e),this._isFragment=!0,Object.freeze(this)}return t.from=function(e){return t.isFragment(e)?e:"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isFragment(e))return e;switch(e.type){case"function":return k.fromObject(e);case"event":return b.fromObject(e);case"constructor":return E.fromObject(e);case"fallback":case"receive":return null}return o.throwArgumentError("invalid fragment object","value",e)},t.fromString=function(t){return"event"===(t=(t=(t=t.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?b.fromString(t.substring(5).trim()):"function"===t.split(" ")[0]?k.fromString(t.substring(8).trim()):"constructor"===t.split("(")[0].trim()?E.fromString(t.trim()):o.throwArgumentError("unsupported fragment","value",t)},t.isFragment=function(t){return!(!t||!t._isFragment)},t}();r.Fragment=g;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))}))});var e="";return t!==r.FormatTypes.sighash&&(e+="event "),e+=this.name+"("+this.inputs.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+") ",t!==r.FormatTypes.sighash&&this.anonymous&&(e+="anonymous "),e.trim()},e.from=function(t){return"string"==typeof t?e.fromString(t):e.fromObject(t)},e.fromObject=function(t){if(e.isEventFragment(t))return t;"event"!==t.type&&o.throwArgumentError("invalid event object","value",t);var r={name:A(t.name),anonymous:t.anonymous,inputs:t.inputs?t.inputs.map(d.fromObject):[],type:"event"};return new e(s,r)},e.fromString=function(t){var r=t.match(x);r||o.throwArgumentError("invalid event string","value",t);var n=!1;return r[3].split(" ").forEach((function(t){switch(t.trim()){case"anonymous":n=!0;break;case"":break;default:o.warn("unknown modifier: "+t)}})),e.fromObject({name:r[1].trim(),anonymous:n,inputs:p(r[2],!0),type:"event"})},e.isEventFragment=function(t){return t&&t._isFragment&&"event"===t.type},e}(g);function w(t,e){e.gas=null;var r=t.split("@");return 1!==r.length?(r.length>2&&o.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||o.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=m.BigNumber.from(r[1]),r[0]):t}function _(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach((function(t){switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}}))}function M(t){var e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&o.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&o.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||o.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&o.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&o.throwArgumentError("unable to determine stateMutability","value",t),e}r.EventFragment=b;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))}))});t===r.FormatTypes.sighash&&o.throwError("cannot format a constructor for sighash",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var e="constructor("+this.inputs.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()},e.from=function(t){return"string"==typeof t?e.fromString(t):e.fromObject(t)},e.fromObject=function(t){if(e.isConstructorFragment(t))return t;"constructor"!==t.type&&o.throwArgumentError("invalid constructor object","value",t);var r=M(t);r.constant&&o.throwArgumentError("constructor cannot be constant","value",t);var n={name:null,type:t.type,inputs:t.inputs?t.inputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:t.gas?m.BigNumber.from(t.gas):null};return new e(s,n)},e.fromString=function(t){var r={type:"constructor"},n=(t=w(t,r)).match(x);return n&&"constructor"===n[1].trim()||o.throwArgumentError("invalid constructor string","value",t),r.inputs=p(n[2].trim(),!1),_(n[3].trim(),r),e.fromObject(r)},e.isConstructorFragment=function(t){return t&&t._isFragment&&"constructor"===t.type},e}(g);r.ConstructorFragment=E;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))})),ouputs:this.outputs.map((function(e){return JSON.parse(e.format(t))}))});var e="";return t!==r.FormatTypes.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+") ",t!==r.FormatTypes.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((function(e){return e.format(t)})).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()},e.from=function(t){return"string"==typeof t?e.fromString(t):e.fromObject(t)},e.fromObject=function(t){if(e.isFunctionFragment(t))return t;"function"!==t.type&&o.throwArgumentError("invalid function object","value",t);var r=M(t),n={type:t.type,name:A(t.name),constant:r.constant,inputs:t.inputs?t.inputs.map(d.fromObject):[],outputs:t.outputs?t.outputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:t.gas?m.BigNumber.from(t.gas):null};return new e(s,n)},e.fromString=function(t){var r={type:"function"},n=(t=w(t,r)).split(" returns ");n.length>2&&o.throwArgumentError("invalid function string","value",t);var i=n[0].match(x);if(i||o.throwArgumentError("invalid function signature","value",t),r.name=i[1].trim(),r.name&&A(r.name),r.inputs=p(i[2],!1),_(i[3].trim(),r),n.length>1){var s=n[1].match(x);""==s[1].trim()&&""==s[3].trim()||o.throwArgumentError("unexpected tokens","value",t),r.outputs=p(s[2],!1)}else r.outputs=[];return e.fromObject(r)},e.isFunctionFragment=function(t){return t&&t._isFragment&&"function"===t.type},e}(E);function S(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}r.FunctionFragment=k;var P=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function A(t){return t&&t.match(P)||o.throwArgumentError('invalid identifier "'+t+'"',"value",t),t}var x=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}))),w=(r(b),b.FormatTypes,b.ParamType,b.Fragment,b.EventFragment,b.ConstructorFragment,b.FunctionFragment,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(y.version);e.checkResultErrors=function(t){var e=[],r=function(t,n){if(Array.isArray(n))for(var i in n){var o=t.slice();o.push(i);try{r(o,n[i])}catch(t){e.push({path:o,error:t})}}};return r([],t),e};var n=function(){function t(t,e,r,n){this.name=t,this.type=e,this.localName=r,this.dynamic=n}return t.prototype._throwError=function(t,e){r.throwArgumentError(t,this.localName,e)},t}();e.Coder=n;var i=function(){function t(t){v.defineReadOnly(this,"wordSize",t||32),this._data=c.arrayify([]),this._padding=new Uint8Array(t)}return Object.defineProperty(t.prototype,"data",{get:function(){return c.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),t.prototype._writeData=function(t){return this._data=c.concat([this._data,t]),t.length},t.prototype.writeBytes=function(t){var e=c.arrayify(t);return e.length%this.wordSize&&(e=c.concat([e,this._padding.slice(e.length%this.wordSize)])),this._writeData(e)},t.prototype._getValue=function(t){var e=c.arrayify(m.BigNumber.from(t));return e.length>this.wordSize&&r.throwError("value out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=c.concat([this._padding.slice(e.length%this.wordSize),e])),e},t.prototype.writeValue=function(t){return this._writeData(this._getValue(t))},t.prototype.writeUpdatableValue=function(){var t=this,e=this.length;return this.writeValue(0),function(r){t._data.set(t._getValue(r),e)}},t}();e.Writer=i;var o=function(){function t(t,e,r,n){v.defineReadOnly(this,"_data",c.arrayify(t)),v.defineReadOnly(this,"wordSize",e||32),v.defineReadOnly(this,"_coerceFunc",r),v.defineReadOnly(this,"allowLoose",n),this._offset=0}return Object.defineProperty(t.prototype,"data",{get:function(){return c.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),t.coerce=function(t,e){var r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e},t.prototype.coerce=function(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)},t.prototype._peekBytes=function(t,e,n){var i=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+i>this._data.length&&(this.allowLoose&&n&&this._offset+e<=this._data.length?i=e:r.throwError("data out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+i})),this._data.slice(this._offset,this._offset+i)},t.prototype.subReader=function(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)},t.prototype.readBytes=function(t,e){var r=this._peekBytes(0,t,!!e);return this._offset+=r.length,r.slice(0,t)},t.prototype.readValue=function(){return m.BigNumber.from(this.readBytes(this.wordSize))},t}();e.Reader=o}))),_=(r(w),w.checkResultErrors,w.Coder,w.Writer,w.Reader,n((function(t){
  /**
  	 * [js-sha3]{@link https://github.com/emn178/js-sha3}
  	 *
  	 * @version 0.5.7
  	 * @author Chen, Yi-Cyuan [emn178@gmail.com]
  	 * @copyright Chen, Yi-Cyuan 2015-2016
  	 * @license MIT
  	 */
  !function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=e);for(var n=!r.JS_SHA3_NO_COMMON_JS&&t.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],s=[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],a=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],l=function(t,e,r){return function(n){return new w(t,e,t).update(n)[r]()}},h=function(t,e,r){return function(n,i){return new w(t,e,i).update(n)[r]()}},c=function(t,e){var r=l(t,e,"hex");r.create=function(){return new w(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n<u.length;++n){var i=u[n];r[i]=l(t,e,i)}return r},f=[{name:"keccak",padding:[1,256,65536,16777216],bits:a,createMethod:c},{name:"sha3",padding:[6,1536,393216,100663296],bits:a,createMethod:c},{name:"shake",padding:[31,7936,2031616,520093696],bits:[128,256],createMethod:function(t,e){var r=h(t,e,"hex");r.create=function(r){return new w(t,e,r)},r.update=function(t,e){return r.create(e).update(t)};for(var n=0;n<u.length;++n){var i=u[n];r[i]=h(t,e,i)}return r}}],d={},p=[],m=0;m<f.length;++m)for(var g=f[m],v=g.bits,y=0;y<v.length;++y){var b=g.name+"_"+v[y];p.push(b),d[b]=g.createMethod(v[y],g.padding)}function w(t,e,r){this.blocks=[],this.s=[],this.padding=e,this.outputBits=r,this.reset=!0,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}w.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,s=this.blocks,a=this.byteCount,u=this.blockCount,l=0,h=this.s;l<i;){if(this.reset)for(this.reset=!1,s[0]=this.block,r=1;r<u+1;++r)s[r]=0;if(e)for(r=this.start;l<i&&r<a;++l)s[r>>2]|=t[l]<<o[3&r++];else for(r=this.start;l<i&&r<a;++l)(n=t.charCodeAt(l))<128?s[r>>2]|=n<<o[3&r++]:n<2048?(s[r>>2]|=(192|n>>6)<<o[3&r++],s[r>>2]|=(128|63&n)<<o[3&r++]):n<55296||n>=57344?(s[r>>2]|=(224|n>>12)<<o[3&r++],s[r>>2]|=(128|n>>6&63)<<o[3&r++],s[r>>2]|=(128|63&n)<<o[3&r++]):(n=65536+((1023&n)<<10|1023&t.charCodeAt(++l)),s[r>>2]|=(240|n>>18)<<o[3&r++],s[r>>2]|=(128|n>>12&63)<<o[3&r++],s[r>>2]|=(128|n>>6&63)<<o[3&r++],s[r>>2]|=(128|63&n)<<o[3&r++]);if(this.lastByteIndex=r,r>=a){for(this.start=r-a,this.block=s[u],r=0;r<u;++r)h[r]^=s[r];_(h),this.reset=!0}else this.start=r}return this},w.prototype.finalize=function(){var t=this.blocks,e=this.lastByteIndex,r=this.blockCount,n=this.s;if(t[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e<r+1;++e)t[e]=0;for(t[r-1]|=2147483648,e=0;e<r;++e)n[e]^=t[e];_(n)},w.prototype.toString=w.prototype.hex=function(){this.finalize();for(var t,e=this.blockCount,r=this.s,n=this.outputBlocks,o=this.extraBytes,s=0,a=0,u="";a<n;){for(s=0;s<e&&a<n;++s,++a)t=r[s],u+=i[t>>4&15]+i[15&t]+i[t>>12&15]+i[t>>8&15]+i[t>>20&15]+i[t>>16&15]+i[t>>28&15]+i[t>>24&15];a%e==0&&(_(r),s=0)}return o&&(t=r[s],o>0&&(u+=i[t>>4&15]+i[15&t]),o>1&&(u+=i[t>>12&15]+i[t>>8&15]),o>2&&(u+=i[t>>20&15]+i[t>>16&15])),u},w.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var u=new Uint32Array(t);s<n;){for(o=0;o<e&&s<n;++o,++s)u[s]=r[o];s%e==0&&_(r)}return i&&(u[o]=r[o],t=t.slice(0,a)),t},w.prototype.buffer=w.prototype.arrayBuffer,w.prototype.digest=w.prototype.array=function(){this.finalize();for(var t,e,r=this.blockCount,n=this.s,i=this.outputBlocks,o=this.extraBytes,s=0,a=0,u=[];a<i;){for(s=0;s<r&&a<i;++s,++a)t=a<<2,e=n[s],u[t]=255&e,u[t+1]=e>>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;a%r==0&&_(n)}return o&&(t=a<<2,e=n[s],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var _=function(t){var e,r,n,i,o,a,u,l,h,c,f,d,p,m,g,v,y,b,w,_,M,E,k,S,P,A,x,N,O,R,T,C,B,I,F,L,U,j,D,z,H,K,W,q,G,V,J,Z,X,$,Q,Y,tt,et,rt,nt,it,ot,st,at,ut,lt,ht;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],l=t[4]^t[14]^t[24]^t[34]^t[44],h=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],f=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(l<<1|h>>>31),r=o^(h<<1|l>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|f>>>31),r=u^(f<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=l^(d<<1|p>>>31),r=h^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=f^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],g=t[1],V=t[11]<<4|t[10]>>>28,J=t[10]<<4|t[11]>>>28,N=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,K=t[40]<<18|t[41]>>>14,W=t[41]<<18|t[40]>>>14,I=t[2]<<1|t[3]>>>31,F=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,Z=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,lt=t[42]<<2|t[43]>>>30,ht=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,L=t[14]<<6|t[15]>>>26,U=t[15]<<6|t[14]>>>26,b=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,$=t[34]<<15|t[35]>>>17,Q=t[35]<<15|t[34]>>>17,C=t[45]<<29|t[44]>>>3,B=t[44]<<29|t[45]>>>3,S=t[6]<<28|t[7]>>>4,P=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,j=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,q=t[8]<<27|t[9]>>>5,G=t[9]<<27|t[8]>>>5,A=t[18]<<20|t[19]>>>12,x=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,z=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,E=t[48]<<14|t[49]>>>18,k=t[49]<<14|t[48]>>>18,t[0]=m^~v&b,t[1]=g^~y&w,t[10]=S^~A&N,t[11]=P^~x&O,t[20]=I^~L&j,t[21]=F^~U&D,t[30]=q^~V&Z,t[31]=G^~J&X,t[40]=et^~nt&ot,t[41]=rt^~it&st,t[2]=v^~b&_,t[3]=y^~w&M,t[12]=A^~N&R,t[13]=x^~O&T,t[22]=L^~j&z,t[23]=U^~D&H,t[32]=V^~Z&$,t[33]=J^~X&Q,t[42]=nt^~ot&at,t[43]=it^~st&ut,t[4]=b^~_&E,t[5]=w^~M&k,t[14]=N^~R&C,t[15]=O^~T&B,t[24]=j^~z&K,t[25]=D^~H&W,t[34]=Z^~$&Y,t[35]=X^~Q&tt,t[44]=ot^~at&lt,t[45]=st^~ut&ht,t[6]=_^~E&m,t[7]=M^~k&g,t[16]=R^~C&S,t[17]=T^~B&P,t[26]=z^~K&I,t[27]=H^~W&F,t[36]=$^~Y&q,t[37]=Q^~tt&G,t[46]=at^~lt&et,t[47]=ut^~ht&rt,t[8]=E^~m&v,t[9]=k^~g&y,t[18]=C^~S&A,t[19]=B^~P&x,t[28]=K^~I&L,t[29]=W^~F&U,t[38]=Y^~q&V,t[39]=tt^~G&J,t[48]=lt^~et&nt,t[49]=ht^~rt&it,t[0]^=s[n],t[1]^=s[n+1]};if(n)t.exports=d;else for(m=0;m<p.length;++m)r[p[m]]=d[p[m]]}()}))),M=n((function(t,r){var n=e&&e.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(_);r.keccak256=function(t){return"0x"+i.default.keccak_256(c.arrayify(t))}})),E=(r(M),M.keccak256,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="rlp/5.0.3"}))),k=(r(E),E.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(E.version);function n(t){for(var e=[];t;)e.unshift(255&t),t>>=8;return e}function i(t,e,r){for(var n=0,i=0;i<r;i++)n=256*n+t[e+i];return n}function o(t){if(Array.isArray(t)){var e=[];if(t.forEach((function(t){e=e.concat(o(t))})),e.length<=55)return e.unshift(192+e.length),e;var i=n(e.length);return i.unshift(247+i.length),i.concat(e)}c.isBytesLike(t)||r.throwArgumentError("RLP object must be BytesLike","object",t);var s=Array.prototype.slice.call(c.arrayify(t));if(1===s.length&&s[0]<=127)return s;if(s.length<=55)return s.unshift(128+s.length),s;var a=n(s.length);return a.unshift(183+a.length),a.concat(s)}function s(t,e,n,i){for(var o=[];n<e+1+i;){var s=a(t,n);o.push(s.result),(n+=s.consumed)>e+1+i&&r.throwError("child data too short",l.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+i,result:o}}function a(t,e){if(0===t.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),t[e]>=248){e+1+(a=t[e]-247)>t.length&&r.throwError("data short segment too short",l.Logger.errors.BUFFER_OVERRUN,{});var n=i(t,e+1,a);return e+1+a+n>t.length&&r.throwError("data long segment too short",l.Logger.errors.BUFFER_OVERRUN,{}),s(t,e,e+1+a,a+n)}if(t[e]>=192){var o=t[e]-192;return e+1+o>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),s(t,e,e+1,o)}if(t[e]>=184){var a;e+1+(a=t[e]-183)>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{});var u=i(t,e+1,a);return e+1+a+u>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+a+u,result:c.hexlify(t.slice(e+1+a,e+1+a+u))}}if(t[e]>=128){var h=t[e]-128;return e+1+h>t.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+h,result:c.hexlify(t.slice(e+1,e+1+h))}}return{consumed:1,result:c.hexlify(t[e])}}e.encode=function(t){return c.hexlify(o(t))},e.decode=function(t){var e=c.arrayify(t),n=a(e,0);return n.consumed!==e.length&&r.throwArgumentError("invalid rlp data","data",t),n.result}}))),S=(r(k),k.encode,k.decode,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="address/5.0.4"}))),P=(r(S),S.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(S.version);function n(t){c.isHexString(t,20)||r.throwArgumentError("invalid address","address",t);for(var e=(t=t.toLowerCase()).substring(2).split(""),n=new Uint8Array(40),i=0;i<40;i++)n[i]=e[i].charCodeAt(0);var o=c.arrayify(M.keccak256(n));for(i=0;i<40;i+=2)o[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(15&o[i>>1])>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}for(var i={},o=0;o<10;o++)i[String(o)]=String(o);for(o=0;o<26;o++)i[String.fromCharCode(65+o)]=String(10+o);var s=Math.floor(function(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}(9007199254740991));function u(t){for(var e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((function(t){return i[t]})).join("");e.length>=s;){var r=e.substring(0,s);e=parseInt(r,10)%97+e.substring(r.length)}for(var n=String(98-parseInt(e,10)%97);n.length<2;)n="0"+n;return n}function h(t){var e=null;if("string"!=typeof t&&r.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=n(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&r.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==u(t)&&r.throwArgumentError("bad icap checksum","address",t),e=new a.BN(t.substring(4),36).toString(16);e.length<40;)e="0"+e;e=n("0x"+e)}else r.throwArgumentError("invalid address","address",t);return e}e.getAddress=h,e.isAddress=function(t){try{return h(t),!0}catch(t){}return!1},e.getIcapAddress=function(t){for(var e=new a.BN(h(t).substring(2),16).toString(36).toUpperCase();e.length<30;)e="0"+e;return"XE"+u("XE00"+e)+e},e.getContractAddress=function(t){var e=null;try{e=h(t.from)}catch(e){r.throwArgumentError("missing from address","transaction",t)}var n=c.stripZeros(c.arrayify(m.BigNumber.from(t.nonce).toHexString()));return h(c.hexDataSlice(M.keccak256(k.encode([e,n])),12))},e.getCreate2Address=function(t,e,n){return 32!==c.hexDataLength(e)&&r.throwArgumentError("salt must be 32 bytes","salt",e),32!==c.hexDataLength(n)&&r.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),h(c.hexDataSlice(M.keccak256(c.concat(["0xff",h(t),e,n])),12))}}))),A=(r(P),P.getAddress,P.isAddress,P.getIcapAddress,P.getContractAddress,P.getCreate2Address,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"address","address",e,!1)||this}return i(e,t),e.prototype.encode=function(t,e){try{P.getAddress(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)},e.prototype.decode=function(t){return P.getAddress(c.hexZeroPad(t.readValue().toHexString(),20))},e}(w.Coder);r.AddressCoder=o}))),x=(r(A),A.AddressCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){var r=t.call(this,e.name,e.type,void 0,e.dynamic)||this;return r.coder=e,r}return i(e,t),e.prototype.encode=function(t,e){return this.coder.encode(t,e)},e.prototype.decode=function(t){return this.coder.decode(t)},e}(w.Coder);r.AnonymousCoder=o}))),N=(r(x),x.AnonymousCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(y.version);function s(t,e,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){var i={};n=e.map((function(t){var e=t.localName;return e||o.throwError("cannot encode object for signature with missing names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]&&o.throwError("cannot encode object for signature with duplicate names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]=!0,r[e]}))}else o.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&o.throwArgumentError("types/value length mismatch","tuple",r);var s=new w.Writer(t.wordSize),a=new w.Writer(t.wordSize),u=[];e.forEach((function(t,e){var r=n[e];if(t.dynamic){var i=a.length;t.encode(a,r);var o=s.writeUpdatableValue();u.push((function(t){o(t+i)}))}else t.encode(s,r)})),u.forEach((function(t){t(s.length)}));var h=t.writeBytes(s.data);return h+=t.writeBytes(a.data)}function a(t,e){var r=[],n=t.subReader(0);e.forEach((function(e){var i=null;if(e.dynamic){var o=t.readValue(),s=n.subReader(o.toNumber());try{i=e.decode(s)}catch(t){if(t.code===l.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if(t.code===l.Logger.errors.BUFFER_OVERRUN)throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}null!=i&&r.push(i)}));var i=e.reduce((function(t,e){var r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t}),{});e.forEach((function(t,e){var n=t.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[e];o instanceof Error?Object.defineProperty(r,n,{get:function(){throw o}}):r[n]=o}}));for(var o=function(t){var e=r[t];e instanceof Error&&Object.defineProperty(r,t,{get:function(){throw e}})},s=0;s<r.length;s++)o(s);return Object.freeze(r)}r.pack=s,r.unpack=a;var u=function(t){function e(e,r,n){var i=this,o=e.type+"["+(r>=0?r:"")+"]",s=-1===r||e.dynamic;return(i=t.call(this,"array",o,n,s)||this).coder=e,i.length=r,i}return i(e,t),e.prototype.encode=function(t,e){Array.isArray(e)||this._throwError("expected array value",e);var r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),o.checkArgumentCount(e.length,r,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i<e.length;i++)n.push(this.coder);return s(t,n,e)},e.prototype.decode=function(t){var e=this.length;-1===e&&(e=t.readValue().toNumber());for(var r=[],n=0;n<e;n++)r.push(new x.AnonymousCoder(this.coder));return t.coerce(this.name,a(t,r))},e}(w.Coder);r.ArrayCoder=u}))),O=(r(N),N.pack,N.unpack,N.ArrayCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"bool","bool",e,!1)||this}return i(e,t),e.prototype.encode=function(t,e){return t.writeValue(e?1:0)},e.prototype.decode=function(t){return t.coerce(this.type,!t.readValue().isZero())},e}(w.Coder);r.BooleanCoder=o}))),R=(r(O),O.BooleanCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e,r){return t.call(this,e,e,r,!0)||this}return i(e,t),e.prototype.encode=function(t,e){e=c.arrayify(e);var r=t.writeValue(e.length);return r+=t.writeBytes(e)},e.prototype.decode=function(t){return t.readBytes(t.readValue().toNumber(),!0)},e}(w.Coder);r.DynamicBytesCoder=o;var s=function(t){function e(e){return t.call(this,"bytes",e)||this}return i(e,t),e.prototype.decode=function(e){return e.coerce(this.name,c.hexlify(t.prototype.decode.call(this,e)))},e}(o);r.BytesCoder=s}))),T=(r(R),R.DynamicBytesCoder,R.BytesCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e,r){var n=this,i="bytes"+String(e);return(n=t.call(this,i,i,r,!1)||this).size=e,n}return i(e,t),e.prototype.encode=function(t,e){var r=c.arrayify(e);return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)},e.prototype.decode=function(t){return t.coerce(this.name,c.hexlify(t.readBytes(this.size)))},e}(w.Coder);r.FixedBytesCoder=o}))),C=(r(T),T.FixedBytesCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"null","",e,!1)||this}return i(e,t),e.prototype.encode=function(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes([])},e.prototype.decode=function(t){return t.readBytes(0),t.coerce(this.name,null)},e}(w.Coder);r.NullCoder=o}))),B=(r(C),C.NullCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.AddressZero="0x0000000000000000000000000000000000000000";e.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000";e.EtherSymbol="Ξ";var r=m.BigNumber.from(-1);e.NegativeOne=r;var n=m.BigNumber.from(0);e.Zero=n;var i=m.BigNumber.from(1);e.One=i;var o=m.BigNumber.from(2);e.Two=o;var s=m.BigNumber.from("1000000000000000000");e.WeiPerEther=s;var a=m.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");e.MaxUint256=a}))),I=(r(B),B.AddressZero,B.HashZero,B.EtherSymbol,B.NegativeOne,B.Zero,B.One,B.Two,B.WeiPerEther,B.MaxUint256,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e,r,n){var i=this,o=(r?"int":"uint")+8*e;return(i=t.call(this,o,o,n,!1)||this).size=e,i.signed=r,i}return i(e,t),e.prototype.encode=function(t,e){var r=m.BigNumber.from(e),n=B.MaxUint256.mask(8*t.wordSize);if(this.signed){var i=n.mask(8*this.size-1);(r.gt(i)||r.lt(i.add(B.One).mul(B.NegativeOne)))&&this._throwError("value out-of-bounds",e)}else(r.lt(B.Zero)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",e);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*t.wordSize)),t.writeValue(r)},e.prototype.decode=function(t){var e=t.readValue().mask(8*this.size);return this.signed&&(e=e.fromTwos(8*this.size)),t.coerce(this.name,e)},e}(w.Coder);r.NumberCoder=o}))),F=(r(I),I.NumberCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="strings/5.0.4"}))),L=(r(F),F.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r,n,i=new l.Logger(F.version);function o(t,e,r,i,o){if(t===n.BAD_PREFIX||t===n.UNEXPECTED_CONTINUE){for(var s=0,a=e+1;a<r.length&&r[a]>>6==2;a++)s++;return s}return t===n.OVERRUN?r.length-e-1:0}function s(t,r){null==r&&(r=e.Utf8ErrorFuncs.error),t=c.arrayify(t);for(var i=[],o=0;o<t.length;){var s=t[o++];if(s>>7!=0){var a=null,u=null;if(192==(224&s))a=1,u=127;else if(224==(240&s))a=2,u=2047;else{if(240!=(248&s)){o+=r(128==(192&s)?n.UNEXPECTED_CONTINUE:n.BAD_PREFIX,o-1,t,i);continue}a=3,u=65535}if(o-1+a>=t.length)o+=r(n.OVERRUN,o-1,t,i);else{for(var l=s&(1<<8-a-1)-1,h=0;h<a;h++){var f=t[o];if(128!=(192&f)){o+=r(n.MISSING_CONTINUE,o,t,i),l=null;break}l=l<<6|63&f,o++}null!==l&&(l>1114111?o+=r(n.OUT_OF_RANGE,o-1-a,t,i,l):l>=55296&&l<=57343?o+=r(n.UTF16_SURROGATE,o-1-a,t,i,l):l<=u?o+=r(n.OVERLONG,o-1-a,t,i,l):i.push(l))}}else i.push(s)}return i}function a(t,e){void 0===e&&(e=r.current),e!=r.current&&(i.checkNormalize(),t=t.normalize(e));for(var n=[],o=0;o<t.length;o++){var s=t.charCodeAt(o);if(s<128)n.push(s);else if(s<2048)n.push(s>>6|192),n.push(63&s|128);else if(55296==(64512&s)){o++;var a=t.charCodeAt(o);if(o>=t.length||56320!=(64512&a))throw new Error("invalid utf-8 string");var u=65536+((1023&s)<<10)+(1023&a);n.push(u>>18|240),n.push(u>>12&63|128),n.push(u>>6&63|128),n.push(63&u|128)}else n.push(s>>12|224),n.push(s>>6&63|128),n.push(63&s|128)}return c.arrayify(n)}function u(t){var e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function h(t){return t.map((function(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))})).join("")}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(r=e.UnicodeNormalizationForm||(e.UnicodeNormalizationForm={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(n=e.Utf8ErrorReason||(e.Utf8ErrorReason={})),e.Utf8ErrorFuncs=Object.freeze({error:function(t,e,r,n,o){return i.throwArgumentError("invalid codepoint at offset "+e+"; "+t,"bytes",r)},ignore:o,replace:function(t,e,r,i,s){return t===n.OVERLONG?(i.push(s),0):(i.push(65533),o(t,e,r))}}),e.toUtf8Bytes=a,e._toEscapedUtf8String=function(t,e){return'"'+s(t,e).map((function(t){if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?u(t):u(55296+((t-=65536)>>10&1023))+u(56320+(1023&t))})).join("")+'"'},e._toUtf8String=h,e.toUtf8String=function(t,e){return h(s(t,e))},e.toUtf8CodePoints=function(t,e){return void 0===e&&(e=r.current),s(a(t,e))}}))),U=(r(L),L.UnicodeNormalizationForm,L.Utf8ErrorReason,L.Utf8ErrorFuncs,L.toUtf8Bytes,L._toEscapedUtf8String,L._toUtf8String,L.toUtf8String,L.toUtf8CodePoints,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=function(t){var e=L.toUtf8Bytes(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return c.hexlify(c.concat([e,B.HashZero]).slice(0,32))},e.parseBytes32String=function(t){var e=c.arrayify(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===e[r-1];)r--;return L.toUtf8String(e.slice(0,r))}}))),j=(r(U),U.formatBytes32String,U.parseBytes32String,n((function(t,e){function r(t,e){e||(e=function(t){return[parseInt(t,16)]});var r=0,n={};return t.split(",").forEach((function(t){var i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])})),n}function n(t){var e=0;return t.split(",").map((function(t){var r=t.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:e+parseInt(r[0],16),h:e=parseInt(r[1],16)}}))}function i(t,e){for(var r=0,n=0;n<e.length;n++){var i=e[n];if(t>=(r+=i.l)&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}Object.defineProperty(e,"__esModule",{value:!0});var o=n("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),s="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(t){return parseInt(t,16)})),a=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],u=r("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),l=r("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),h=r("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");for(var e=[],r=0;r<t.length;r+=4)e.push(parseInt(t.substring(r,r+4),16));return e})),c=n("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function f(t){return!!i(t,o)}function d(t){var e=i(t,a);if(e)return[t+e.s];var r=u[t];if(r)return r;var n=l[t];if(n)return[t+n[0]];var o=h[t];return o||null}function p(t){return!!i(t,c)}e._nameprepTableA1=f,e._nameprepTableB2=d,e._nameprepTableC=p,e.nameprep=function(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();var e,r=L.toUtf8CodePoints(t);e=r.map((function(t){if(s.indexOf(t)>=0)return[];if(t>=65024&&t<=65039)return[];var e=d(t);return e||[t]})),r=e.reduce((function(t,e){return e.forEach((function(e){t.push(e)})),t}),[]),(r=L.toUtf8CodePoints(L._toUtf8String(r),L.UnicodeNormalizationForm.NFKC)).forEach((function(t){if(p(t))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(t){if(f(t))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var n=L._toUtf8String(r);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}}))),D=(r(j),j._nameprepTableA1,j._nameprepTableB2,j._nameprepTableC,j.nameprep,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=U.formatBytes32String,e.parseBytes32String=U.parseBytes32String,e.nameprep=j.nameprep,e._toEscapedUtf8String=L._toEscapedUtf8String,e.toUtf8Bytes=L.toUtf8Bytes,e.toUtf8CodePoints=L.toUtf8CodePoints,e.toUtf8String=L.toUtf8String,e.UnicodeNormalizationForm=L.UnicodeNormalizationForm,e.Utf8ErrorFuncs=L.Utf8ErrorFuncs,e.Utf8ErrorReason=L.Utf8ErrorReason}))),z=(r(D),D.formatBytes32String,D.parseBytes32String,D.nameprep,D._toEscapedUtf8String,D.toUtf8Bytes,D.toUtf8CodePoints,D.toUtf8String,D.UnicodeNormalizationForm,D.Utf8ErrorFuncs,D.Utf8ErrorReason,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"string",e)||this}return i(e,t),e.prototype.encode=function(e,r){return t.prototype.encode.call(this,e,D.toUtf8Bytes(r))},e.prototype.decode=function(e){return D.toUtf8String(t.prototype.decode.call(this,e))},e}(R.DynamicBytesCoder);r.StringCoder=o}))),H=(r(z),z.StringCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e,r){var n=this,i=!1,o=[];e.forEach((function(t){t.dynamic&&(i=!0),o.push(t.type)}));var s="tuple("+o.join(",")+")";return(n=t.call(this,"tuple",s,r,i)||this).coders=e,n}return i(e,t),e.prototype.encode=function(t,e){return N.pack(t,this.coders,e)},e.prototype.decode=function(t){return t.coerce(this.name,N.unpack(t,this.coders))},e}(w.Coder);r.TupleCoder=o}))),K=(r(H),H.TupleCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(y.version),n=new RegExp(/^bytes([0-9]*)$/),i=new RegExp(/^(u?int)([0-9]*)$/),o=function(){function t(e){var n=this.constructor;r.checkNew(n,t),v.defineReadOnly(this,"coerceFunc",e||null)}return t.prototype._getCoder=function(t){var e=this;switch(t.baseType){case"address":return new A.AddressCoder(t.name);case"bool":return new O.BooleanCoder(t.name);case"string":return new z.StringCoder(t.name);case"bytes":return new R.BytesCoder(t.name);case"array":return new N.ArrayCoder(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new H.TupleCoder((t.components||[]).map((function(t){return e._getCoder(t)})),t.name);case"":return new C.NullCoder(t.name)}var o,s=t.type.match(i);return s?((0===(o=parseInt(s[2]||"256"))||o>256||o%8!=0)&&r.throwArgumentError("invalid "+s[1]+" bit length","param",t),new I.NumberCoder(o/8,"int"===s[1],t.name)):(s=t.type.match(n))?((0===(o=parseInt(s[1]))||o>32)&&r.throwArgumentError("invalid bytes length","param",t),new T.FixedBytesCoder(o,t.name)):r.throwArgumentError("invalid type","type",t.type)},t.prototype._getWordSize=function(){return 32},t.prototype._getReader=function(t,e){return new w.Reader(t,this._getWordSize(),this.coerceFunc,e)},t.prototype._getWriter=function(){return new w.Writer(this._getWordSize())},t.prototype.encode=function(t,e){var n=this;t.length!==e.length&&r.throwError("types/values length mismatch",l.Logger.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});var i=t.map((function(t){return n._getCoder(b.ParamType.from(t))})),o=new H.TupleCoder(i,"_"),s=this._getWriter();return o.encode(s,e),s.data},t.prototype.decode=function(t,e,r){var n=this,i=t.map((function(t){return n._getCoder(b.ParamType.from(t))}));return new H.TupleCoder(i,"_").decode(this._getReader(c.arrayify(e),r))},t}();e.AbiCoder=o,e.defaultAbiCoder=new o}))),W=(r(K),K.AbiCoder,K.defaultAbiCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="hash/5.0.4"}))),q=(r(W),W.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(W.version),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),i=new RegExp("^((.*)\\.)?([^.]+)$");e.isValidName=function(t){try{for(var e=t.split("."),r=0;r<e.length;r++)if(0===D.nameprep(e[r]).length)throw new Error("empty");return!0}catch(t){}return!1},e.namehash=function(t){"string"!=typeof t&&r.throwArgumentError("invalid address - "+String(t),"name",t);for(var e=n;t.length;){var o=t.match(i),s=D.toUtf8Bytes(D.nameprep(o[3]));e=M.keccak256(c.concat([e,M.keccak256(s)])),t=o[2]||""}return c.hexlify(e)},e.id=function(t){return M.keccak256(D.toUtf8Bytes(t))},e.messagePrefix="Ethereum Signed Message:\n",e.hashMessage=function(t){return"string"==typeof t&&(t=D.toUtf8Bytes(t)),M.keccak256(c.concat([D.toUtf8Bytes(e.messagePrefix),D.toUtf8Bytes(String(t.length)),t]))}}))),G=(r(q),q.isValidName,q.namehash,q.id,q.messagePrefix,q.hashMessage,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0}),r.checkResultErrors=w.checkResultErrors;var o=new l.Logger(y.version),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(v.Description);r.LogDescription=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(v.Description);r.TransactionDescription=a;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.isIndexed=function(t){return!(!t||!t._isIndexed)},e}(v.Description);function h(t,e){var r=new Error("deferred error during ABI decoding triggered accessing "+t);return r.error=e,r}r.Indexed=u;var f=function(){function t(e){var r=this.constructor,n=this;o.checkNew(r,t);var i=[];i="string"==typeof e?JSON.parse(e):e,v.defineReadOnly(this,"fragments",i.map((function(t){return b.Fragment.from(t)})).filter((function(t){return null!=t}))),v.defineReadOnly(this,"_abiCoder",v.getStatic(r,"getAbiCoder")()),v.defineReadOnly(this,"functions",{}),v.defineReadOnly(this,"errors",{}),v.defineReadOnly(this,"events",{}),v.defineReadOnly(this,"structs",{}),this.fragments.forEach((function(t){var e=null;switch(t.type){case"constructor":return n.deploy?void o.warn("duplicate definition - constructor"):void v.defineReadOnly(n,"deploy",t);case"function":e=n.functions;break;case"event":e=n.events;break;default:return}var r=t.format();e[r]?o.warn("duplicate definition - "+r):e[r]=t})),this.deploy||v.defineReadOnly(this,"deploy",b.ConstructorFragment.from({payable:!1,type:"constructor"})),v.defineReadOnly(this,"_isInterface",!0)}return t.prototype.format=function(t){t||(t=b.FormatTypes.full),t===b.FormatTypes.sighash&&o.throwArgumentError("interface does not support formatting sighash","format",t);var e=this.fragments.map((function(e){return e.format(t)}));return t===b.FormatTypes.json?JSON.stringify(e.map((function(t){return JSON.parse(t)}))):e},t.getAbiCoder=function(){return K.defaultAbiCoder},t.getAddress=function(t){return P.getAddress(t)},t.getSighash=function(t){return c.hexDataSlice(q.id(t.format()),0,4)},t.getEventTopic=function(t){return q.id(t.format())},t.prototype.getFunction=function(t){if(c.isHexString(t)){for(var e in this.functions)if(t===this.getSighash(e))return this.functions[e];o.throwArgumentError("no matching function","sighash",t)}if(-1===t.indexOf("(")){var r=t.trim(),n=Object.keys(this.functions).filter((function(t){return t.split("(")[0]===r}));return 0===n.length?o.throwArgumentError("no matching function","name",r):n.length>1&&o.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[b.FunctionFragment.fromString(t).format()];return i||o.throwArgumentError("no matching function","signature",t),i},t.prototype.getEvent=function(t){if(c.isHexString(t)){var e=t.toLowerCase();for(var r in this.events)if(e===this.getEventTopic(r))return this.events[r];o.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){var n=t.trim(),i=Object.keys(this.events).filter((function(t){return t.split("(")[0]===n}));return 0===i.length?o.throwArgumentError("no matching event","name",n):i.length>1&&o.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var s=this.events[b.EventFragment.fromString(t).format()];return s||o.throwArgumentError("no matching event","signature",t),s},t.prototype.getSighash=function(t){return"string"==typeof t&&(t=this.getFunction(t)),v.getStatic(this.constructor,"getSighash")(t)},t.prototype.getEventTopic=function(t){return"string"==typeof t&&(t=this.getEvent(t)),v.getStatic(this.constructor,"getEventTopic")(t)},t.prototype._decodeParams=function(t,e){return this._abiCoder.decode(t,e)},t.prototype._encodeParams=function(t,e){return this._abiCoder.encode(t,e)},t.prototype.encodeDeploy=function(t){return this._encodeParams(this.deploy.inputs,t||[])},t.prototype.decodeFunctionData=function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=c.arrayify(e);return c.hexlify(r.slice(0,4))!==this.getSighash(t)&&o.throwArgumentError("data signature does not match function "+t.name+".","data",c.hexlify(r)),this._decodeParams(t.inputs,r.slice(4))},t.prototype.encodeFunctionData=function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),c.hexlify(c.concat([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))},t.prototype.decodeFunctionResult=function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=c.arrayify(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===c.hexlify(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return o.throwError("call revert exception",l.Logger.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})},t.prototype.encodeFunctionResult=function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),c.hexlify(this._abiCoder.encode(t.outputs,e||[]))},t.prototype.encodeFilterTopics=function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&o.throwError("too many arguments for "+t.format(),l.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});var n=[];t.anonymous||n.push(this.getEventTopic(t));var i=function(t,e){return"string"===t.type?q.id(e):"bytes"===t.type?M.keccak256(c.hexlify(e)):("address"===t.type&&r._abiCoder.encode(["address"],[e]),c.hexZeroPad(c.hexlify(e),32))};for(e.forEach((function(e,r){var s=t.inputs[r];s.indexed?null==e?n.push(null):"array"===s.baseType||"tuple"===s.baseType?o.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,e):Array.isArray(e)?n.push(e.map((function(t){return i(s,t)}))):n.push(i(s,e)):null!=e&&o.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n},t.prototype.encodeEventLog=function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t));var n=[],i=[],s=[];return t.anonymous||n.push(this.getEventTopic(t)),e.length!==t.inputs.length&&o.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((function(t,o){var a=e[o];if(t.indexed)if("string"===t.type)n.push(q.id(a));else if("bytes"===t.type)n.push(M.keccak256(a));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([t.type],[a]))}else i.push(t),s.push(a)})),{data:this._abiCoder.encode(i,s),topics:n}},t.prototype.decodeEventLog=function(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){var n=this.getEventTopic(t);c.isHexString(r[0],32)&&r[0].toLowerCase()===n||o.throwError("fragment/topic mismatch",l.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],s=[],a=[];t.inputs.forEach((function(t,e){t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(i.push(b.ParamType.fromObject({type:"bytes32",name:t.name})),a.push(!0)):(i.push(t),a.push(!1)):(s.push(t),a.push(!1))}));var f=null!=r?this._abiCoder.decode(i,c.concat(r)):null,d=this._abiCoder.decode(s,e,!0),p=[],m=0,g=0;t.inputs.forEach((function(t,e){if(t.indexed)if(null==f)p[e]=new u({_isIndexed:!0,hash:null});else if(a[e])p[e]=new u({_isIndexed:!0,hash:f[g++]});else try{p[e]=f[g++]}catch(t){p[e]=t}else try{p[e]=d[m++]}catch(t){p[e]=t}if(t.name&&null==p[t.name]){var r=p[e];r instanceof Error?Object.defineProperty(p,t.name,{get:function(){throw h("property "+JSON.stringify(t.name),r)}}):p[t.name]=r}}));for(var v=function(t){var e=p[t];e instanceof Error&&Object.defineProperty(p,t,{get:function(){throw h("index "+t,e)}})},y=0;y<p.length;y++)v(y);return Object.freeze(p)},t.prototype.parseTransaction=function(t){var e=this.getFunction(t.data.substring(0,10).toLowerCase());return e?new a({args:this._abiCoder.decode(e.inputs,"0x"+t.data.substring(10)),functionFragment:e,name:e.name,signature:e.format(),sighash:this.getSighash(e),value:m.BigNumber.from(t.value||"0")}):null},t.prototype.parseLog=function(t){var e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new s({eventFragment:e,name:e.name,signature:e.format(),topic:this.getEventTopic(e),args:this.decodeEventLog(e,t.data,t.topics)})},t.isInterface=function(t){return!(!t||!t._isInterface)},t}();r.Interface=f}))),V=(r(G),G.checkResultErrors,G.LogDescription,G.TransactionDescription,G.Indexed,G.Interface,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConstructorFragment=b.ConstructorFragment,e.EventFragment=b.EventFragment,e.FormatTypes=b.FormatTypes,e.Fragment=b.Fragment,e.FunctionFragment=b.FunctionFragment,e.ParamType=b.ParamType,e.AbiCoder=K.AbiCoder,e.defaultAbiCoder=K.defaultAbiCoder,e.checkResultErrors=G.checkResultErrors,e.Indexed=G.Indexed,e.Interface=G.Interface,e.LogDescription=G.LogDescription,e.TransactionDescription=G.TransactionDescription}))),J=(r(V),V.ConstructorFragment,V.EventFragment,V.FormatTypes,V.Fragment,V.FunctionFragment,V.ParamType,V.AbiCoder,V.defaultAbiCoder,V.checkResultErrors,V.Indexed,V.Interface,V.LogDescription,V.TransactionDescription,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="abstract-provider/5.0.4"}))),Z=(r(J),J.version,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(J.version),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.isForkEvent=function(t){return!(!t||!t._isForkEvent)},e}(v.Description);r.ForkEvent=s;var a=function(t){function e(e,r){return c.isHexString(e,32)||o.throwArgumentError("invalid blockHash","blockHash",e),t.call(this,{_isForkEvent:!0,_isBlockForkEvent:!0,expiry:r||0,blockHash:e})||this}return i(e,t),e}(s);r.BlockForkEvent=a;var u=function(t){function e(e,r){return c.isHexString(e,32)||o.throwArgumentError("invalid transaction hash","hash",e),t.call(this,{_isForkEvent:!0,_isTransactionForkEvent:!0,expiry:r||0,hash:e})||this}return i(e,t),e}(s);r.TransactionForkEvent=u;var h=function(t){function e(e,r,n){return c.isHexString(e,32)||o.throwArgumentError("invalid transaction hash","beforeHash",e),c.isHexString(r,32)||o.throwArgumentError("invalid transaction hash","afterHash",r),t.call(this,{_isForkEvent:!0,_isTransactionOrderForkEvent:!0,expiry:n||0,beforeHash:e,afterHash:r})||this}return i(e,t),e}(s);r.TransactionOrderForkEvent=h;var f=function(){function t(){var e=this.constructor;o.checkAbstract(e,t),v.defineReadOnly(this,"_isProvider",!0)}return t.prototype.addListener=function(t,e){return this.on(t,e)},t.prototype.removeListener=function(t,e){return this.off(t,e)},t.isProvider=function(t){return!(!t||!t._isProvider)},t}();r.Provider=f}))),X=(r(Z),Z.ForkEvent,Z.BlockForkEvent,Z.TransactionForkEvent,Z.TransactionOrderForkEvent,Z.Provider,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="abstract-signer/5.0.5"}))),$=(r(X),X.version,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(X.version),u=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"],h=[l.Logger.errors.INSUFFICIENT_FUNDS,l.Logger.errors.NONCE_EXPIRED,l.Logger.errors.REPLACEMENT_UNDERPRICED],c=function(){function t(){var e=this.constructor;a.checkAbstract(e,t),v.defineReadOnly(this,"_isSigner",!0)}return t.prototype.getBalance=function(t){return o(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this._checkProvider("getBalance"),[4,this.provider.getBalance(this.getAddress(),t)];case 1:return[2,e.sent()]}}))}))},t.prototype.getTransactionCount=function(t){return o(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this._checkProvider("getTransactionCount"),[4,this.provider.getTransactionCount(this.getAddress(),t)];case 1:return[2,e.sent()]}}))}))},t.prototype.estimateGas=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return this._checkProvider("estimateGas"),[4,v.resolveProperties(this.checkTransaction(t))];case 1:return e=r.sent(),[4,this.provider.estimateGas(e)];case 2:return[2,r.sent()]}}))}))},t.prototype.call=function(t,e){return o(this,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:return this._checkProvider("call"),[4,v.resolveProperties(this.checkTransaction(t))];case 1:return r=n.sent(),[4,this.provider.call(r,e)];case 2:return[2,n.sent()]}}))}))},t.prototype.sendTransaction=function(t){var e=this;return this._checkProvider("sendTransaction"),this.populateTransaction(t).then((function(t){return e.signTransaction(t).then((function(t){return e.provider.sendTransaction(t)}))}))},t.prototype.getChainId=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return this._checkProvider("getChainId"),[4,this.provider.getNetwork()];case 1:return[2,t.sent().chainId]}}))}))},t.prototype.getGasPrice=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return this._checkProvider("getGasPrice"),[4,this.provider.getGasPrice()];case 1:return[2,t.sent()]}}))}))},t.prototype.resolveName=function(t){return o(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this._checkProvider("resolveName"),[4,this.provider.resolveName(t)];case 1:return[2,e.sent()]}}))}))},t.prototype.checkTransaction=function(t){for(var e in t)-1===u.indexOf(e)&&a.throwArgumentError("invalid transaction key: "+e,"transaction",t);var r=v.shallowCopy(t);return null==r.from?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then((function(e){return e[0]!==e[1]&&a.throwArgumentError("from address mismatch","transaction",t),e[0]})),r},t.prototype.populateTransaction=function(t){return o(this,void 0,void 0,(function(){var e,r=this;return s(this,(function(n){switch(n.label){case 0:return[4,v.resolveProperties(this.checkTransaction(t))];case 1:return null!=(e=n.sent()).to&&(e.to=Promise.resolve(e.to).then((function(t){return r.resolveName(t)}))),null==e.gasPrice&&(e.gasPrice=this.getGasPrice()),null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch((function(t){if(h.indexOf(t.code)>=0)throw t;return a.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,tx:e})}))),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then((function(e){return 0!==e[1]&&e[0]!==e[1]&&a.throwArgumentError("chainId address mismatch","transaction",t),e[0]})),[4,v.resolveProperties(e)];case 2:return[2,n.sent()]}}))}))},t.prototype._checkProvider=function(t){this.provider||a.throwError("missing provider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})},t.isSigner=function(t){return!(!t||!t._isSigner)},t}();r.Signer=c;var f=function(t){function e(r,n){var i,o=this.constructor;return a.checkNew(o,e),i=t.call(this)||this,v.defineReadOnly(i,"address",r),v.defineReadOnly(i,"provider",n||null),i}return i(e,t),e.prototype.getAddress=function(){return Promise.resolve(this.address)},e.prototype._fail=function(t,e){return Promise.resolve().then((function(){a.throwError(t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})}))},e.prototype.signMessage=function(t){return this._fail("VoidSigner cannot sign messages","signMessage")},e.prototype.signTransaction=function(t){return this._fail("VoidSigner cannot sign transactions","signTransaction")},e.prototype.connect=function(t){return new e(this.address,t)},e}(c);r.VoidSigner=f}))),Q=(r($),$.Signer,$.VoidSigner,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="contracts/5.0.4"}))),Y=(r(Q),Q.version,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},a=e&&e.__spreadArrays||function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),i=0;for(e=0;e<r;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)n[i]=o[s];return n};Object.defineProperty(r,"__esModule",{value:!0});var u=new l.Logger(Q.version),h={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function f(t,e){return o(this,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:return[4,e];case 1:r=n.sent();try{return[2,P.getAddress(r)]}catch(t){}return t||u.throwError("a provider or signer is needed to resolve ENS names",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"}),[4,t.resolveName(r)];case 2:return[2,n.sent()]}}))}))}function d(t,e,r){if(Array.isArray(r))return Promise.all(r.map((function(r,n){return d(t,Array.isArray(e)?e[n]:e[r.name],r)})));if("address"===r.type)return f(t,e);if("tuple"===r.type)return d(t,e,r.components);if("array"===r.baseType){if(!Array.isArray(e))throw new Error("invalid value for array");return Promise.all(e.map((function(e){return d(t,e,r.arrayChildren)})))}return Promise.resolve(e)}function p(t,e,r){return o(this,void 0,void 0,(function(){var n,i,a,h,c,p,g=this;return s(this,(function(y){switch(y.label){case 0:return n={},r.length===e.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=v.shallowCopy(r.pop())),u.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=v.resolveProperties({override:f(t.signer,n.from),signer:t.signer.getAddress()}).then((function(t){return o(g,void 0,void 0,(function(){return s(this,(function(e){return P.getAddress(t.signer)!==t.override&&u.throwError("Contract with a Signer cannot override from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),[2,t.override]}))}))})):n.from=t.signer.getAddress():n.from&&(n.from=f(t.provider,n.from)),[4,v.resolveProperties({args:d(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:v.resolveProperties(n)||{}})];case 1:return i=y.sent(),a={data:t.interface.encodeFunctionData(e,i.args),to:i.address},null!=(h=i.overrides).nonce&&(a.nonce=m.BigNumber.from(h.nonce).toNumber()),null!=h.gasLimit&&(a.gasLimit=m.BigNumber.from(h.gasLimit)),null!=h.gasPrice&&(a.gasPrice=m.BigNumber.from(h.gasPrice)),null!=h.from&&(a.from=h.from),null==a.gasLimit&&null!=e.gas&&(a.gasLimit=m.BigNumber.from(e.gas).add(21e3)),h.value&&((c=m.BigNumber.from(h.value)).isZero()||e.payable||u.throwError("non-payable method cannot override value",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),a.value=c),delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value,(p=Object.keys(n).filter((function(t){return null!=n[t]}))).length&&u.throwError("cannot override "+p.map((function(t){return JSON.stringify(t)})).join(","),l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:p}),[2,a]}}))}))}function g(t,e,r){var n=t.signer||t.provider;return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return o(this,void 0,void 0,(function(){var o,a,u,h,c;return s(this,(function(s){switch(s.label){case 0:return o=void 0,i.length!==e.inputs.length+1||"object"!=typeof i[i.length-1]?[3,3]:null==(a=v.shallowCopy(i.pop())).blockTag?[3,2]:[4,a.blockTag];case 1:o=s.sent(),s.label=2;case 2:delete a.blockTag,i.push(a),s.label=3;case 3:return null==t.deployTransaction?[3,5]:[4,t._deployed(o)];case 4:s.sent(),s.label=5;case 5:return[4,p(t,e,i)];case 6:return u=s.sent(),[4,n.call(u,o)];case 7:h=s.sent();try{return c=t.interface.decodeFunctionResult(e,h),r&&1===e.outputs.length&&(c=c[0]),[2,c]}catch(e){throw e.code===l.Logger.errors.CALL_EXCEPTION&&(e.address=t.address,e.args=i,e.transaction=u),e}return[2]}}))}))}}function y(t,e,r){return e.constant?g(t,e,r):function(t,e){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return o(this,void 0,void 0,(function(){var n,i,o;return s(this,(function(s){switch(s.label){case 0:return t.signer||u.throwError("sending a transaction requires a signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null==t.deployTransaction?[3,2]:[4,t._deployed()];case 1:s.sent(),s.label=2;case 2:return[4,p(t,e,r)];case 3:return n=s.sent(),[4,t.signer.sendTransaction(n)];case 4:return i=s.sent(),o=i.wait.bind(i),i.wait=function(e){return o(e).then((function(e){return e.events=e.logs.map((function(r){var n=v.deepCopy(r),i=null;try{i=t.interface.parseLog(r)}catch(t){}return i&&(n.args=i.args,n.decode=function(e,r){return t.interface.decodeEventLog(i.eventFragment,e,r)},n.event=i.name,n.eventSignature=i.signature),n.removeListener=function(){return t.provider},n.getBlock=function(){return t.provider.getBlock(e.blockHash)},n.getTransaction=function(){return t.provider.getTransaction(e.transactionHash)},n.getTransactionReceipt=function(){return Promise.resolve(e)},n})),e}))},[2,i]}}))}))}}(t,e)}function b(t){return!t.address||null!=t.topics&&0!==t.topics.length?(t.address||"*")+"@"+(t.topics?t.topics.map((function(t){return Array.isArray(t)?t.join("|"):t})).join(":"):""):"*"}var w=function(){function t(t,e){v.defineReadOnly(this,"tag",t),v.defineReadOnly(this,"filter",e),this._listeners=[]}return t.prototype.addListener=function(t,e){this._listeners.push({listener:t,once:e})},t.prototype.removeListener=function(t){var e=!1;this._listeners=this._listeners.filter((function(r){return!(!e&&r.listener===t)||(e=!0,!1)}))},t.prototype.removeAllListeners=function(){this._listeners=[]},t.prototype.listeners=function(){return this._listeners.map((function(t){return t.listener}))},t.prototype.listenerCount=function(){return this._listeners.length},t.prototype.run=function(t){var e=this,r=this.listenerCount();return this._listeners=this._listeners.filter((function(r){var n=t.slice();return setTimeout((function(){r.listener.apply(e,n)}),0),!r.once})),r},t.prototype.prepareEvent=function(t){},t.prototype.getEmit=function(t){return[t]},t}(),_=function(t){function e(){return t.call(this,"error",null)||this}return i(e,t),e}(w),M=function(t){function e(e,r,n,i){var o,s={address:e},a=r.getEventTopic(n);return i?(a!==i[0]&&u.throwArgumentError("topic mismatch","topics",i),s.topics=i.slice()):s.topics=[a],o=t.call(this,b(s),s)||this,v.defineReadOnly(o,"address",e),v.defineReadOnly(o,"interface",r),v.defineReadOnly(o,"fragment",n),o}return i(e,t),e.prototype.prepareEvent=function(e){var r=this;t.prototype.prepareEvent.call(this,e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=function(t,e){return r.interface.decodeEventLog(r.fragment,t,e)};try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}},e.prototype.getEmit=function(t){var e=V.checkResultErrors(t.args);if(e.length)throw e[0].error;var r=(t.args||[]).slice();return r.push(t),r},e}(w),E=function(t){function e(e,r){var n=t.call(this,"*",{address:e})||this;return v.defineReadOnly(n,"address",e),v.defineReadOnly(n,"interface",r),n}return i(e,t),e.prototype.prepareEvent=function(e){var r=this;t.prototype.prepareEvent.call(this,e);try{var n=this.interface.parseLog(e);e.event=n.name,e.eventSignature=n.signature,e.decode=function(t,e){return r.interface.decodeEventLog(n.eventFragment,t,e)},e.args=n.args}catch(t){}},e}(w),k=function(){function t(e,r,n){var i=this.constructor,a=this;u.checkNew(i,t),v.defineReadOnly(this,"interface",v.getStatic(i,"getInterface")(r)),null==n?(v.defineReadOnly(this,"provider",null),v.defineReadOnly(this,"signer",null)):$.Signer.isSigner(n)?(v.defineReadOnly(this,"provider",n.provider||null),v.defineReadOnly(this,"signer",n)):Z.Provider.isProvider(n)?(v.defineReadOnly(this,"provider",n),v.defineReadOnly(this,"signer",null)):u.throwArgumentError("invalid signer or provider","signerOrProvider",n),v.defineReadOnly(this,"callStatic",{}),v.defineReadOnly(this,"estimateGas",{}),v.defineReadOnly(this,"functions",{}),v.defineReadOnly(this,"populateTransaction",{}),v.defineReadOnly(this,"filters",{});var h={};if(Object.keys(this.interface.events).forEach((function(t){var e=a.interface.events[t];v.defineReadOnly(a.filters,t,(function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return{address:a.address,topics:a.interface.encodeFilterTopics(e,t)}})),h[e.name]||(h[e.name]=[]),h[e.name].push(t)})),Object.keys(h).forEach((function(t){var e=h[t];1===e.length?v.defineReadOnly(a.filters,t,a.filters[e[0]]):u.warn("Duplicate definition of "+t+" ("+e.join(", ")+")")})),v.defineReadOnly(this,"_runningEvents",{}),v.defineReadOnly(this,"_wrappedEmits",{}),v.defineReadOnly(this,"address",e),this.provider)v.defineReadOnly(this,"resolvedAddress",this.provider.resolveName(e).then((function(t){if(null==t)throw new Error("name not found");return t})).catch((function(t){throw console.log("ERROR: Cannot find Contract - "+e),t})));else try{v.defineReadOnly(this,"resolvedAddress",Promise.resolve(P.getAddress(e)))}catch(t){u.throwError("provider is required to use ENS name as contract address",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}var c={},f={};Object.keys(this.interface.functions).forEach((function(t){var e=a.interface.functions[t];if(f[t])u.warn("Duplicate ABI entry for "+JSON.stringify(name));else{f[t]=!0;var r=e.name;c[r]||(c[r]=[]),c[r].push(t),null==a[t]&&v.defineReadOnly(a,t,y(a,e,!0)),null==a.functions[t]&&v.defineReadOnly(a.functions,t,y(a,e,!1)),null==a.callStatic[t]&&v.defineReadOnly(a.callStatic,t,g(a,e,!0)),null==a.populateTransaction[t]&&v.defineReadOnly(a.populateTransaction,t,function(t,e){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return o(this,void 0,void 0,(function(){return s(this,(function(n){return[2,p(t,e,r)]}))}))}}(a,e)),null==a.estimateGas[t]&&v.defineReadOnly(a.estimateGas,t,function(t,e){var r=t.signer||t.provider;return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];return o(this,void 0,void 0,(function(){var i;return s(this,(function(o){switch(o.label){case 0:return r||u.throwError("estimate require a provider or signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),[4,p(t,e,n)];case 1:return i=o.sent(),[4,r.estimateGas(i)];case 2:return[2,o.sent()]}}))}))}}(a,e))}})),Object.keys(c).forEach((function(t){var e=c[t];if(!(e.length>1)){var r=e[0];null==a[t]&&v.defineReadOnly(a,t,a[r]),null==a.functions[t]&&v.defineReadOnly(a.functions,t,a.functions[r]),null==a.callStatic[t]&&v.defineReadOnly(a.callStatic,t,a.callStatic[r]),null==a.populateTransaction[t]&&v.defineReadOnly(a.populateTransaction,t,a.populateTransaction[r]),null==a.estimateGas[t]&&v.defineReadOnly(a.estimateGas,t,a.estimateGas[r])}}))}return t.getContractAddress=function(t){return P.getContractAddress(t)},t.getInterface=function(t){return V.Interface.isInterface(t)?t:new V.Interface(t)},t.prototype.deployed=function(){return this._deployed()},t.prototype._deployed=function(t){var e=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return e})):this._deployedPromise=this.provider.getCode(this.address,t).then((function(t){return"0x"===t&&u.throwError("contract not deployed",l.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:e.address,operation:"getDeployed"}),e}))),this._deployedPromise},t.prototype.fallback=function(t){var e=this;this.signer||u.throwError("sending a transactions require a signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=v.shallowCopy(t||{});return["from","to"].forEach((function(t){null!=r[t]&&u.throwError("cannot override "+t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:t})})),r.to=this.resolvedAddress,this.deployed().then((function(){return e.signer.sendTransaction(r)}))},t.prototype.connect=function(t){"string"==typeof t&&(t=new $.VoidSigner(t,this.provider));var e=new this.constructor(this.address,this.interface,t);return this.deployTransaction&&v.defineReadOnly(e,"deployTransaction",this.deployTransaction),e},t.prototype.attach=function(t){return new this.constructor(t,this.interface,this.signer||this.provider)},t.isIndexed=function(t){return V.Indexed.isIndexed(t)},t.prototype._normalizeRunningEvent=function(t){return this._runningEvents[t.tag]?this._runningEvents[t.tag]:t},t.prototype._getRunningEvent=function(t){if("string"==typeof t){if("error"===t)return this._normalizeRunningEvent(new _);if("event"===t)return this._normalizeRunningEvent(new w("event",null));if("*"===t)return this._normalizeRunningEvent(new E(this.address,this.interface));var e=this.interface.getEvent(t);return this._normalizeRunningEvent(new M(this.address,this.interface,e))}if(t.topics&&t.topics.length>0){try{var r=t.topics[0];if("string"!=typeof r)throw new Error("invalid topic");e=this.interface.getEvent(r);return this._normalizeRunningEvent(new M(this.address,this.interface,e,t.topics))}catch(t){}var n={address:this.address,topics:t.topics};return this._normalizeRunningEvent(new w(b(n),n))}return this._normalizeRunningEvent(new E(this.address,this.interface))},t.prototype._checkRunningEvents=function(t){if(0===t.listenerCount()){delete this._runningEvents[t.tag];var e=this._wrappedEmits[t.tag];e&&(this.provider.off(t.filter,e),delete this._wrappedEmits[t.tag])}},t.prototype._wrapEvent=function(t,e,r){var n=this,i=v.deepCopy(e);return i.removeListener=function(){r&&(t.removeListener(r),n._checkRunningEvents(t))},i.getBlock=function(){return n.provider.getBlock(e.blockHash)},i.getTransaction=function(){return n.provider.getTransaction(e.transactionHash)},i.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(e.transactionHash)},t.prepareEvent(i),i},t.prototype._addEventListener=function(t,e,r){var n=this;if(this.provider||u.throwError("events require a provider or a signer with a provider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),t.addListener(e,r),this._runningEvents[t.tag]=t,!this._wrappedEmits[t.tag]){var i=function(r){var i=n._wrapEvent(t,r,e);if(null==i.decodeError)try{var o=t.getEmit(i);n.emit.apply(n,a([t.filter],o))}catch(t){i.decodeError=t.error}null!=t.filter&&n.emit("event",i),null!=i.decodeError&&n.emit("error",i.decodeError,i)};this._wrappedEmits[t.tag]=i,null!=t.filter&&this.provider.on(t.filter,i)}},t.prototype.queryFilter=function(t,e,r){var n=this,i=this._getRunningEvent(t),o=v.shallowCopy(i.filter);return"string"==typeof e&&c.isHexString(e,32)?(null!=r&&u.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),o.blockHash=e):(o.fromBlock=null!=e?e:0,o.toBlock=null!=r?r:"latest"),this.provider.getLogs(o).then((function(t){return t.map((function(t){return n._wrapEvent(i,t,null)}))}))},t.prototype.on=function(t,e){return this._addEventListener(this._getRunningEvent(t),e,!1),this},t.prototype.once=function(t,e){return this._addEventListener(this._getRunningEvent(t),e,!0),this},t.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(!this.provider)return!1;var n=this._getRunningEvent(t),i=n.run(e)>0;return this._checkRunningEvents(n),i},t.prototype.listenerCount=function(t){return this.provider?this._getRunningEvent(t).listenerCount():0},t.prototype.listeners=function(t){if(!this.provider)return[];if(null==t){var e=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach((function(t){e.push(t)}));return e}return this._getRunningEvent(t).listeners()},t.prototype.removeAllListeners=function(t){if(!this.provider)return this;if(null==t){for(var e in this._runningEvents){var r=this._runningEvents[e];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(t);return n.removeAllListeners(),this._checkRunningEvents(n),this},t.prototype.off=function(t,e){if(!this.provider)return this;var r=this._getRunningEvent(t);return r.removeListener(e),this._checkRunningEvents(r),this},t.prototype.removeListener=function(t,e){return this.off(t,e)},t}();r.Contract=k;var S=function(){function t(t,e,r){var n=this.constructor,i=null;"0x"!==(i="string"==typeof e?e:c.isBytes(e)?c.hexlify(e):e&&"string"==typeof e.object?e.object:"!").substring(0,2)&&(i="0x"+i),(!c.isHexString(i)||i.length%2)&&u.throwArgumentError("invalid bytecode","bytecode",e),r&&!$.Signer.isSigner(r)&&u.throwArgumentError("invalid signer","signer",r),v.defineReadOnly(this,"bytecode",i),v.defineReadOnly(this,"interface",v.getStatic(n,"getInterface")(t)),v.defineReadOnly(this,"signer",r||null)}return t.prototype.getDeployTransaction=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r={};if(t.length===this.interface.deploy.inputs.length+1&&"object"==typeof t[t.length-1])for(var n in r=v.shallowCopy(t.pop()))if(!h[n])throw new Error("unknown transaction override "+n);return["data","from","to"].forEach((function(t){null!=r[t]&&u.throwError("cannot override "+t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:t})})),u.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor"),r.data=c.hexlify(c.concat([this.bytecode,this.interface.encodeDeploy(t)])),r},t.prototype.deploy=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o(this,void 0,void 0,(function(){var e,r,n,i,o,a;return s(this,(function(s){switch(s.label){case 0:return e={},t.length===this.interface.deploy.inputs.length+1&&(e=t.pop()),u.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor"),[4,d(this.signer,t,this.interface.deploy.inputs)];case 1:return(r=s.sent()).push(e),n=this.getDeployTransaction.apply(this,r),[4,this.signer.sendTransaction(n)];case 2:return i=s.sent(),o=v.getStatic(this.constructor,"getContractAddress")(i),a=v.getStatic(this.constructor,"getContract")(o,this.interface,this.signer),v.defineReadOnly(a,"deployTransaction",i),[2,a]}}))}))},t.prototype.attach=function(t){return this.constructor.getContract(t,this.interface,this.signer)},t.prototype.connect=function(t){return new this.constructor(this.interface,this.bytecode,t)},t.fromSolidity=function(t,e){null==t&&u.throwError("missing compiler output",l.Logger.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof t&&(t=JSON.parse(t));var r=t.abi,n=null;return t.bytecode?n=t.bytecode:t.evm&&t.evm.bytecode&&(n=t.evm.bytecode),new this(r,n,e)},t.getInterface=function(t){return k.getInterface(t)},t.getContractAddress=function(t){return P.getContractAddress(t)},t.getContract=function(t,e,r){return new k(t,e,r)},t}();r.ContractFactory=S}))),tt=(r(Y),Y.Contract,Y.ContractFactory,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){v.defineReadOnly(this,"alphabet",t),v.defineReadOnly(this,"base",t.length),v.defineReadOnly(this,"_alphabetMap",{}),v.defineReadOnly(this,"_leader",t.charAt(0));for(var e=0;e<t.length;e++)this._alphabetMap[t.charAt(e)]=e}return t.prototype.encode=function(t){var e=c.arrayify(t);if(0===e.length)return"";for(var r=[0],n=0;n<e.length;++n){for(var i=e[n],o=0;o<r.length;++o)i+=r[o]<<8,r[o]=i%this.base,i=i/this.base|0;for(;i>0;)r.push(i%this.base),i=i/this.base|0}for(var s="",a=0;0===e[a]&&a<e.length-1;++a)s+=this._leader;for(var u=r.length-1;u>=0;--u)s+=this.alphabet[r[u]];return s},t.prototype.decode=function(t){if("string"!=typeof t)throw new TypeError("Expected String");var e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(var r=0;r<t.length;r++){var n=this._alphabetMap[t[r]];if(void 0===n)throw new Error("Non-base"+this.base+" character");for(var i=n,o=0;o<e.length;++o)i+=e[o]*this.base,e[o]=255&i,i>>=8;for(;i>0;)e.push(255&i),i>>=8}for(var s=0;t[s]===this._leader&&s<t.length-1;++s)e.push(0);return c.arrayify(new Uint8Array(e.reverse()))},t}();e.BaseX=r;var n=new r("abcdefghijklmnopqrstuvwxyz234567");e.Base32=n;var i=new r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");e.Base58=i}))),et=(r(tt),tt.BaseX,tt.Base32,tt.Base58,rt);function rt(t,e){if(!t)throw new Error(e||"Assertion failed")}rt.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var nt=n((function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}}));function it(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function ot(t){return 1===t.length?"0"+t:t}function st(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}var at={inherits:nt,toArray:function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var n=0;n<t.length;n++){var i=t.charCodeAt(n),o=i>>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n<t.length;n++)r[n]=0|t[n];return r},toHex:function(t){for(var e="",r=0;r<t.length;r++)e+=ot(t[r].toString(16));return e},htonl:it,toHex32:function(t,e){for(var r="",n=0;n<t.length;n++){var i=t[n];"little"===e&&(i=it(i)),r+=st(i.toString(16))}return r},zero2:ot,zero8:st,join32:function(t,e,r,n){var i=r-e;et(i%4==0);for(var o=new Array(i/4),s=0,a=e;s<o.length;s++,a+=4){var u;u="big"===n?t[a]<<24|t[a+1]<<16|t[a+2]<<8|t[a+3]:t[a+3]<<24|t[a+2]<<16|t[a+1]<<8|t[a],o[s]=u>>>0}return o},split32:function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n<t.length;n++,i+=4){var o=t[n];"big"===e?(r[i]=o>>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(t,e){return t>>>e|t<<32-e},rotl32:function(t,e){return t<<e|t>>>32-e},sum32:function(t,e){return t+e>>>0},sum32_3:function(t,e,r){return t+e+r>>>0},sum32_4:function(t,e,r,n){return t+e+r+n>>>0},sum32_5:function(t,e,r,n,i){return t+e+r+n+i>>>0},sum64:function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,s=(o<n?1:0)+r+i;t[e]=s>>>0,t[e+1]=o},sum64_hi:function(t,e,r,n){return(e+n>>>0<e?1:0)+t+r>>>0},sum64_lo:function(t,e,r,n){return e+n>>>0},sum64_4_hi:function(t,e,r,n,i,o,s,a){var u=0,l=e;return u+=(l=l+n>>>0)<e?1:0,u+=(l=l+o>>>0)<o?1:0,t+r+i+s+(u+=(l=l+a>>>0)<a?1:0)>>>0},sum64_4_lo:function(t,e,r,n,i,o,s,a){return e+n+o+a>>>0},sum64_5_hi:function(t,e,r,n,i,o,s,a,u,l){var h=0,c=e;return h+=(c=c+n>>>0)<e?1:0,h+=(c=c+o>>>0)<o?1:0,h+=(c=c+a>>>0)<a?1:0,t+r+i+s+u+(h+=(c=c+l>>>0)<l?1:0)>>>0},sum64_5_lo:function(t,e,r,n,i,o,s,a,u,l){return e+n+o+a+l>>>0},rotr64_hi:function(t,e,r){return(e<<32-r|t>>>r)>>>0},rotr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0},shr64_hi:function(t,e,r){return t>>>r},shr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0}};function ut(){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}var lt=ut;ut.prototype.update=function(t,e){if(t=at.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=at.join32(t,0,t.length-r,this.endian);for(var n=0;n<t.length;n+=this._delta32)this._update(t,n,n+this._delta32)}return this},ut.prototype.digest=function(t){return this.update(this._pad()),et(null===this.pending),this._digest(t)},ut.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=t>>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o<this.padLength;o++)n[i++]=0;return n};var ht={BlockHash:lt},ct=at.rotr32;function ft(t,e,r){return t&e^~t&r}function dt(t,e,r){return t&e^t&r^e&r}function pt(t,e,r){return t^e^r}var mt={ft_1:function(t,e,r,n){return 0===t?ft(e,r,n):1===t||3===t?pt(e,r,n):2===t?dt(e,r,n):void 0},ch32:ft,maj32:dt,p32:pt,s0_256:function(t){return ct(t,2)^ct(t,13)^ct(t,22)},s1_256:function(t){return ct(t,6)^ct(t,11)^ct(t,25)},g0_256:function(t){return ct(t,7)^ct(t,18)^t>>>3},g1_256:function(t){return ct(t,17)^ct(t,19)^t>>>10}},gt=at.sum32,vt=at.sum32_4,yt=at.sum32_5,bt=mt.ch32,wt=mt.maj32,_t=mt.s0_256,Mt=mt.s1_256,Et=mt.g0_256,kt=mt.g1_256,St=ht.BlockHash,Pt=[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 At(){if(!(this instanceof At))return new At;St.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Pt,this.W=new Array(64)}at.inherits(At,St);var xt=At;At.blockSize=512,At.outSize=256,At.hmacStrength=192,At.padLength=64,At.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n<r.length;n++)r[n]=vt(kt(r[n-2]),r[n-7],Et(r[n-15]),r[n-16]);var i=this.h[0],o=this.h[1],s=this.h[2],a=this.h[3],u=this.h[4],l=this.h[5],h=this.h[6],c=this.h[7];for(et(this.k.length===r.length),n=0;n<r.length;n++){var f=yt(c,Mt(u),bt(u,l,h),this.k[n],r[n]),d=gt(_t(i),wt(i,o,s));c=h,h=l,l=u,u=gt(a,f),a=s,s=o,o=i,i=gt(f,d)}this.h[0]=gt(this.h[0],i),this.h[1]=gt(this.h[1],o),this.h[2]=gt(this.h[2],s),this.h[3]=gt(this.h[3],a),this.h[4]=gt(this.h[4],u),this.h[5]=gt(this.h[5],l),this.h[6]=gt(this.h[6],h),this.h[7]=gt(this.h[7],c)},At.prototype._digest=function(t){return"hex"===t?at.toHex32(this.h,"big"):at.split32(this.h,"big")};var Nt=at.rotr64_hi,Ot=at.rotr64_lo,Rt=at.shr64_hi,Tt=at.shr64_lo,Ct=at.sum64,Bt=at.sum64_hi,It=at.sum64_lo,Ft=at.sum64_4_hi,Lt=at.sum64_4_lo,Ut=at.sum64_5_hi,jt=at.sum64_5_lo,Dt=ht.BlockHash,zt=[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 Ht(){if(!(this instanceof Ht))return new Ht;Dt.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=zt,this.W=new Array(160)}at.inherits(Ht,Dt);var Kt=Ht;function Wt(t,e,r,n,i){var o=t&r^~t&i;return o<0&&(o+=4294967296),o}function qt(t,e,r,n,i,o){var s=e&n^~e&o;return s<0&&(s+=4294967296),s}function Gt(t,e,r,n,i){var o=t&r^t&i^r&i;return o<0&&(o+=4294967296),o}function Vt(t,e,r,n,i,o){var s=e&n^e&o^n&o;return s<0&&(s+=4294967296),s}function Jt(t,e){var r=Nt(t,e,28)^Nt(e,t,2)^Nt(e,t,7);return r<0&&(r+=4294967296),r}function Zt(t,e){var r=Ot(t,e,28)^Ot(e,t,2)^Ot(e,t,7);return r<0&&(r+=4294967296),r}function Xt(t,e){var r=Nt(t,e,14)^Nt(t,e,18)^Nt(e,t,9);return r<0&&(r+=4294967296),r}function $t(t,e){var r=Ot(t,e,14)^Ot(t,e,18)^Ot(e,t,9);return r<0&&(r+=4294967296),r}function Qt(t,e){var r=Nt(t,e,1)^Nt(t,e,8)^Rt(t,e,7);return r<0&&(r+=4294967296),r}function Yt(t,e){var r=Ot(t,e,1)^Ot(t,e,8)^Tt(t,e,7);return r<0&&(r+=4294967296),r}function te(t,e){var r=Nt(t,e,19)^Nt(e,t,29)^Rt(t,e,6);return r<0&&(r+=4294967296),r}function ee(t,e){var r=Ot(t,e,19)^Ot(e,t,29)^Tt(t,e,6);return r<0&&(r+=4294967296),r}Ht.blockSize=1024,Ht.outSize=512,Ht.hmacStrength=192,Ht.padLength=128,Ht.prototype._prepareBlock=function(t,e){for(var r=this.W,n=0;n<32;n++)r[n]=t[e+n];for(;n<r.length;n+=2){var i=te(r[n-4],r[n-3]),o=ee(r[n-4],r[n-3]),s=r[n-14],a=r[n-13],u=Qt(r[n-30],r[n-29]),l=Yt(r[n-30],r[n-29]),h=r[n-32],c=r[n-31];r[n]=Ft(i,o,s,a,u,l,h,c),r[n+1]=Lt(i,o,s,a,u,l,h,c)}},Ht.prototype._update=function(t,e){this._prepareBlock(t,e);var r=this.W,n=this.h[0],i=this.h[1],o=this.h[2],s=this.h[3],a=this.h[4],u=this.h[5],l=this.h[6],h=this.h[7],c=this.h[8],f=this.h[9],d=this.h[10],p=this.h[11],m=this.h[12],g=this.h[13],v=this.h[14],y=this.h[15];et(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var w=v,_=y,M=Xt(c,f),E=$t(c,f),k=Wt(c,f,d,p,m),S=qt(c,f,d,p,m,g),P=this.k[b],A=this.k[b+1],x=r[b],N=r[b+1],O=Ut(w,_,M,E,k,S,P,A,x,N),R=jt(w,_,M,E,k,S,P,A,x,N);w=Jt(n,i),_=Zt(n,i),M=Gt(n,i,o,s,a),E=Vt(n,i,o,s,a,u);var T=Bt(w,_,M,E),C=It(w,_,M,E);v=m,y=g,m=d,g=p,d=c,p=f,c=Bt(l,h,O,R),f=It(h,h,O,R),l=a,h=u,a=o,u=s,o=n,s=i,n=Bt(O,R,T,C),i=It(O,R,T,C)}Ct(this.h,0,n,i),Ct(this.h,2,o,s),Ct(this.h,4,a,u),Ct(this.h,6,l,h),Ct(this.h,8,c,f),Ct(this.h,10,d,p),Ct(this.h,12,m,g),Ct(this.h,14,v,y)},Ht.prototype._digest=function(t){return"hex"===t?at.toHex32(this.h,"big"):at.split32(this.h,"big")};var re={sha1:{},sha224:{},sha256:xt,sha384:{},sha512:Kt},ne=at.rotl32,ie=at.sum32,oe=at.sum32_3,se=at.sum32_4,ae=ht.BlockHash;function ue(){if(!(this instanceof ue))return new ue;ae.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}at.inherits(ue,ae);var le=ue;function he(t,e,r,n){return t<=15?e^r^n:t<=31?e&r|~e&n:t<=47?(e|~r)^n:t<=63?e&n|r&~n:e^(r|~n)}function ce(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function fe(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}ue.blockSize=512,ue.outSize=160,ue.hmacStrength=192,ue.padLength=64,ue.prototype._update=function(t,e){for(var r=this.h[0],n=this.h[1],i=this.h[2],o=this.h[3],s=this.h[4],a=r,u=n,l=i,h=o,c=s,f=0;f<80;f++){var d=ie(ne(se(r,he(f,n,i,o),t[de[f]+e],ce(f)),me[f]),s);r=s,s=o,o=ne(i,10),i=n,n=d,d=ie(ne(se(a,he(79-f,u,l,h),t[pe[f]+e],fe(f)),ge[f]),c),a=c,c=h,h=ne(l,10),l=u,u=d}d=oe(this.h[1],i,h),this.h[1]=oe(this.h[2],o,c),this.h[2]=oe(this.h[3],s,a),this.h[3]=oe(this.h[4],r,u),this.h[4]=oe(this.h[0],n,l),this.h[0]=d},ue.prototype._digest=function(t){return"hex"===t?at.toHex32(this.h,"little"):at.split32(this.h,"little")};var de=[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],pe=[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],me=[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],ge=[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],ve={ripemd160:le};function ye(t,e,r){if(!(this instanceof ye))return new ye(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(at.toArray(e,r))}var be=ye;ye.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),et(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},ye.prototype.update=function(t,e){return this.inner.update(t,e),this},ye.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)};var we=n((function(t,e){var r=e;r.utils=at,r.common=ht,r.sha=re,r.ripemd=ve,r.hmac=be,r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160})),_e=(we.hmac,we.ripemd160,we.sha256,we.sha512,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="sha2/5.0.3"}))),Me=(r(_e),_e.version,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var i,o=n(we),s=new l.Logger(_e.version);!function(t){t.sha256="sha256",t.sha512="sha512"}(i=r.SupportedAlgorithm||(r.SupportedAlgorithm={})),r.ripemd160=function(t){return"0x"+o.ripemd160().update(c.arrayify(t)).digest("hex")},r.sha256=function(t){return"0x"+o.sha256().update(c.arrayify(t)).digest("hex")},r.sha512=function(t){return"0x"+o.sha512().update(c.arrayify(t)).digest("hex")},r.computeHmac=function(t,e,r){return i[t]||s.throwError("unsupported algorithm "+t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:t}),"0x"+o.hmac(o[t],c.arrayify(e)).update(c.arrayify(r)).digest("hex")}}))),Ee=(r(Me),Me.SupportedAlgorithm,Me.ripemd160,Me.sha256,Me.sha512,Me.computeHmac,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.pbkdf2=function(t,e,r,n,i){var o;t=c.arrayify(t),e=c.arrayify(e);var s,a,u=1,l=new Uint8Array(n),h=new Uint8Array(e.length+4);h.set(e);for(var f=1;f<=u;f++){h[e.length]=f>>24&255,h[e.length+1]=f>>16&255,h[e.length+2]=f>>8&255,h[e.length+3]=255&f;var d=c.arrayify(Me.computeHmac(i,t,h));o||(o=d.length,a=new Uint8Array(o),s=n-((u=Math.ceil(n/o))-1)*o),a.set(d);for(var p=1;p<r;p++){d=c.arrayify(Me.computeHmac(i,t,d));for(var m=0;m<o;m++)a[m]^=d[m]}var g=(f-1)*o,v=f===u?s:o;l.set(c.arrayify(a).slice(0,v),g)}return c.hexlify(l)}}))),ke=(r(Ee),Ee.pbkdf2,"6.5.3"),Se={version:ke},Pe=Object.freeze({version:ke,default:Se}),Ae=n((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o=s.Buffer}catch(t){}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;n<<=4,n|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s<o;s++){var a=t.charCodeAt(s)-48;i*=n,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,o=0;for(r=t.length-6,n=0;r>=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,l=0,h=r;h<a;h+=n)l=u(t,h,h+n,e),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==s){var c=1;for(l=u(t,h,t.length,e),h=0;h<s;h++)c*=e;this.imuln(c),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","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],c=[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 f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var l=1;l<n;l++){for(var h=u>>>26,c=67108863&u,f=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=f;d++){var p=l-d|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[l]=0|c,u=0|h}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);n=0!==(o=a>>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?m+n:l[f-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,l=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[a]=s;for(;a<o;a++)l[a]=0}else{for(a=0;a<o-i;a++)l[a]=0;for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[o-a-1]=s}return l},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,l=0,h=0|s[0],c=8191&h,f=h>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,b=0|s[3],w=8191&b,_=b>>>13,M=0|s[4],E=8191&M,k=M>>>13,S=0|s[5],P=8191&S,A=S>>>13,x=0|s[6],N=8191&x,O=x>>>13,R=0|s[7],T=8191&R,C=R>>>13,B=0|s[8],I=8191&B,F=B>>>13,L=0|s[9],U=8191&L,j=L>>>13,D=0|a[0],z=8191&D,H=D>>>13,K=0|a[1],W=8191&K,q=K>>>13,G=0|a[2],V=8191&G,J=G>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,lt=at>>>13,ht=0|a[8],ct=8191&ht,ft=ht>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(l+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,H))+Math.imul(f,z)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var vt=(l+(n=n+Math.imul(c,W)|0)|0)+((8191&(i=(i=i+Math.imul(c,q)|0)+Math.imul(f,W)|0))<<13)|0;l=((o=o+Math.imul(f,q)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,H))+Math.imul(y,z)|0,o=Math.imul(y,H),n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,q)|0;var yt=(l+(n=n+Math.imul(c,V)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,q)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,J)|0;var bt=(l+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;l=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,q)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var wt=(l+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;l=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,z),i=(i=Math.imul(P,H))+Math.imul(A,z)|0,o=Math.imul(A,H),n=n+Math.imul(E,W)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,tt)|0;var _t=(l+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;l=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(N,z),i=(i=Math.imul(N,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(A,W)|0,o=o+Math.imul(A,q)|0,n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(l+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;l=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(C,z)|0,o=Math.imul(C,H),n=n+Math.imul(N,W)|0,i=(i=i+Math.imul(N,q)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var Et=(l+(n=n+Math.imul(c,ut)|0)|0)+((8191&(i=(i=i+Math.imul(c,lt)|0)+Math.imul(f,ut)|0))<<13)|0;l=((o=o+Math.imul(f,lt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,H))+Math.imul(F,z)|0,o=Math.imul(F,H),n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,q)|0,n=n+Math.imul(N,V)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,lt)|0;var kt=(l+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;l=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(j,z)|0,o=Math.imul(j,H),n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,q)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,q)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,st)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,lt)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,ft)|0;var St=(l+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(f,pt)|0))<<13)|0;l=((o=o+Math.imul(f,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,W),i=(i=Math.imul(U,q))+Math.imul(j,W)|0,o=Math.imul(j,q),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,lt)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var Pt=(l+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;l=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,V),i=(i=Math.imul(U,J))+Math.imul(j,V)|0,o=Math.imul(j,J),n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,lt)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,lt)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,ft)|0;var At=(l+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;l=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(j,X)|0,o=Math.imul(j,$),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,lt)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var xt=(l+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;l=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(j,Y)|0,o=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,lt)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,lt)|0,n=n+Math.imul(P,ct)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var Nt=(l+(n=n+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(k,pt)|0))<<13)|0;l=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(j,rt)|0,o=Math.imul(j,nt),n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,lt)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,lt)|0,n=n+Math.imul(N,ct)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(O,ct)|0,o=o+Math.imul(O,ft)|0;var Ot=(l+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(A,pt)|0))<<13)|0;l=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,lt)|0)+Math.imul(F,ut)|0,o=o+Math.imul(F,lt)|0,n=n+Math.imul(T,ct)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(l+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(O,pt)|0))<<13)|0;l=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ut),i=(i=Math.imul(U,lt))+Math.imul(j,ut)|0,o=Math.imul(j,lt),n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var Tt=(l+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;l=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(j,ct)|0,o=Math.imul(j,ft);var Ct=(l+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(F,pt)|0))<<13)|0;l=((o=o+Math.imul(F,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(l+(n=Math.imul(U,pt))|0)+((8191&(i=(i=Math.imul(U,mt))+Math.imul(j,pt)|0))<<13)|0;return l=((o=Math.imul(j,mt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,u[0]=gt,u[1]=vt,u[2]=yt,u[3]=bt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=Et,u[8]=kt,u[9]=St,u[10]=Pt,u[11]=At,u[12]=xt,u[13]=Nt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=Ct,u[18]=Bt,0!==l&&(u[19]=l,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),l=Math.max(0,o-t.length+1);l<=u;l++){var h=o-l,c=(0|t.words[h])*(0|e.words[l]),f=67108863&c;a=67108863&(f=f+a|0),i+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s<o;s++)n[s]=e[t[s]],i[s]=r[t[s]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,u=Math.cos(2*Math.PI/a),l=Math.sin(2*Math.PI/a),h=0;h<i;h+=a)for(var c=u,f=l,d=0;d<s;d++){var p=r[h+d],m=n[h+d],g=r[h+d+s],v=n[h+d+s],y=c*g-f*v;v=c*v+f*g,g=y,r[h+d]=p+g,n[h+d]=m+v,r[h+d+s]=p-g,n[h+d+s]=m-v,d!==a&&(y=u*c-l*f,f=u*f+l*c,c=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,n,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],n[2*s]=8191&o,o>>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)n[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),u=new Array(n),l=new Array(n),h=new Array(n),c=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,s,n),this.convert13b(e.words,e.length,l,n),this.transform(s,o,a,u,n,i),this.transform(l,o,h,c,n,i);for(var d=0;d<n;d++){var p=a[d]*h[d]-u[d]*c[d];u[d]=a[d]*c[d]+u[d]*h[d],a[d]=p}return this.conjugate(a,u,n),this.transform(a,u,f,o,n,i),this.conjugate(f,o,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|this.words[n])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var o=r.sqr();n<e.length;n++,o=o.sqr())0!==e[n]&&(r=r.mul(o));return r},i.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<n;this.words[e]=u|s,s=a>>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=n;if(i-=s,i=Math.max(0,i),u){for(var l=0;l<s;l++)u.words[l]=this.words[l];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,l=0;l<this.length;l++)this.words[l]=this.words[l+s];else this.words[0]=0,this.length=1;var h=0;for(l=this.length-1;l>=0&&(0!==h||l>=i);l--){var c=0|this.words[l];this.words[l]=h<<26-o|c>>>o,h=c&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},i.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,o,s=t.length+n;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+n])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l<a.length;l++)a.words[l]=0}var h=n.clone()._ishlnsubmul(o,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var c=u-1;c>=0;c--){var f=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(o,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(c)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(b,v),n(w,v),n(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return g[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,l).cmp(u);)h.redIAdd(u);for(var c=this.pow(h,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g<p);var v=this.pow(c,new i(1).iushln(p-g-1));f=f.redMul(v),c=v.redSqr(),d=d.redMul(c),p=g}return f},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var o=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var l=e.words[n],h=u-1;h>=0;h--){var c=l>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new E(t)},n(E,M),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),xe=n((function(t,e){var r=e;function n(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",r=0;r<t.length;r++)e+=n(t[r].toString(16));return e}r.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var n=0;n<t.length;n++)r[n]=0|t[n];return r}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(n=0;n<t.length;n++){var i=t.charCodeAt(n),o=i>>8,s=255&i;o?r.push(o,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),Ne=n((function(t,e){var r=e;r.assert=et,r.toArray=xe.toArray,r.zero2=xe.zero2,r.toHex=xe.toHex,r.encode=xe.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<<e+1,o=t.clone(),s=0;s<n.length;s++){var a,u=o.andln(i-1);o.isOdd()?(a=u>(i>>1)-1?(i>>1)-u:u,o.isubn(a)):a=0,n[s]=a,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n=0,i=0;t.cmpn(-n)>0||e.cmpn(-i)>0;){var o,s,a,u=t.andln(3)+n&3,l=e.andln(3)+i&3;if(3===u&&(u=-1),3===l&&(l=-1),0==(1&u))o=0;else o=3!==(a=t.andln(7)+n&7)&&5!==a||2!==l?u:-u;if(r[0].push(o),0==(1&l))s=0;else s=3!==(a=e.andln(7)+i&7)&&5!==a||2!==u?l:-l;r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new Ae(t,"hex","le")}})),Oe=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r},Re=Ne.getNAF,Te=Ne.getJSF,Ce=Ne.assert;function Be(t,e){this.type=t,this.p=new Ae(e.p,16),this.red=e.prime?Ae.red(e.prime):Ae.mont(this.p),this.zero=new Ae(0).toRed(this.red),this.one=new Ae(1).toRed(this.red),this.two=new Ae(2).toRed(this.red),this.n=e.n&&new Ae(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.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))}var Ie=Be;function Fe(t,e){this.curve=t,this.type=e,this.precomputed=null}Be.prototype.point=function(){throw new Error("Not implemented")},Be.prototype.validate=function(){throw new Error("Not implemented")},Be.prototype._fixedNafMul=function(t,e){Ce(t.precomputed);var r=t._getDoubles(),n=Re(e,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var o=[],s=0;s<n.length;s+=r.step){var a=0;for(e=s+r.step-1;e>=s;e--)a=(a<<1)+n[e];o.push(a)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(s=0;s<o.length;s++){(a=o[s])===h?l=l.mixedAdd(r.points[s]):a===-h&&(l=l.mixedAdd(r.points[s].neg()))}u=u.add(l)}return u.toP()},Be.prototype._wnafMul=function(t,e){var r=4,n=t._getNAFPoints(r);r=n.wnd;for(var i=n.points,o=Re(e,r,this._bitLength),s=this.jpoint(null,null,null),a=o.length-1;a>=0;a--){for(e=0;a>=0&&0===o[a];a--)e++;if(a>=0&&e++,s=s.dblp(e),a<0)break;var u=o[a];Ce(0!==u),s="affine"===t.type?u>0?s.mixedAdd(i[u-1>>1]):s.mixedAdd(i[-u-1>>1].neg()):u>0?s.add(i[u-1>>1]):s.add(i[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},Be.prototype._wnafMulAdd=function(t,e,r,n,i){for(var o=this._wnafT1,s=this._wnafT2,a=this._wnafT3,u=0,l=0;l<n;l++){var h=(E=e[l])._getNAFPoints(t);o[l]=h.wnd,s[l]=h.points}for(l=n-1;l>=1;l-=2){var c=l-1,f=l;if(1===o[c]&&1===o[f]){var d=[e[c],null,null,e[f]];0===e[c].y.cmp(e[f].y)?(d[1]=e[c].add(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg())):0===e[c].y.cmp(e[f].y.redNeg())?(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].add(e[f].neg())):(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],m=Te(r[c],r[f]);u=Math.max(m[0].length,u),a[c]=new Array(u),a[f]=new Array(u);for(var g=0;g<u;g++){var v=0|m[0][g],y=0|m[1][g];a[c][g]=p[3*(v+1)+(y+1)],a[f][g]=0,s[c]=d}}else a[c]=Re(r[c],o[c],this._bitLength),a[f]=Re(r[f],o[f],this._bitLength),u=Math.max(a[c].length,u),u=Math.max(a[f].length,u)}var b=this.jpoint(null,null,null),w=this._wnafT4;for(l=u;l>=0;l--){for(var _=0;l>=0;){var M=!0;for(g=0;g<n;g++)w[g]=0|a[g][l],0!==w[g]&&(M=!1);if(!M)break;_++,l--}if(l>=0&&_++,b=b.dblp(_),l<0)break;for(g=0;g<n;g++){var E,k=w[g];0!==k&&(k>0?E=s[g][k-1>>1]:k<0&&(E=s[g][-k-1>>1].neg()),b="affine"===E.type?b.mixedAdd(E):b.add(E))}}for(l=0;l<n;l++)s[l]=null;return i?b:b.toP()},Be.BasePoint=Fe,Fe.prototype.eq=function(){throw new Error("Not implemented")},Fe.prototype.validate=function(){return this.curve.validate(this)},Be.prototype.decodePoint=function(t,e){t=Ne.toArray(t,e);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?Ce(t[t.length-1]%2==0):7===t[0]&&Ce(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},Fe.prototype.encodeCompressed=function(t){return this.encode(t,!0)},Fe.prototype._encode=function(t){var e=this.curve.p.byteLength(),r=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",e))},Fe.prototype.encode=function(t,e){return Ne.encode(this._encode(e),t)},Fe.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},Fe.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},Fe.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)n=n.dbl();r.push(n)}return{step:t,points:r}},Fe.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],r=(1<<t)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)e[i]=e[i-1].add(n);return{wnd:t,points:e}},Fe.prototype._getBeta=function(){return null},Fe.prototype.dblp=function(t){for(var e=this,r=0;r<t;r++)e=e.dbl();return e};var Le=Ne.assert;function Ue(t){Ie.call(this,"short",t),this.a=new Ae(t.a,16).toRed(this.red),this.b=new Ae(t.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(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}nt(Ue,Ie);var je=Ue;function De(t,e,r,n){Ie.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new Ae(e,16),this.y=new Ae(r,16),n&&(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 ze(t,e,r,n){Ie.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Ae(0)):(this.x=new Ae(e,16),this.y=new Ae(r,16),this.z=new Ae(n,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}Ue.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new Ae(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new Ae(t.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(e))?r=i[0]:(r=i[1],Le(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new Ae(t.a,16),b:new Ae(t.b,16)}})):this._getEndoBasis(r)}}},Ue.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:Ae.mont(t),r=new Ae(2).toRed(e).redInvm(),n=r.redNeg(),i=new Ae(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(i).fromRed(),n.redSub(i).fromRed()]},Ue.prototype._getEndoBasis=function(t){for(var e,r,n,i,o,s,a,u,l,h=this.n.ushrn(Math.floor(this.n.bitLength()/2)),c=t,f=this.n.clone(),d=new Ae(1),p=new Ae(0),m=new Ae(0),g=new Ae(1),v=0;0!==c.cmpn(0);){var y=f.div(c);u=f.sub(y.mul(c)),l=m.sub(y.mul(d));var b=g.sub(y.mul(p));if(!n&&u.cmp(h)<0)e=a.neg(),r=d,n=u.neg(),i=l;else if(n&&2==++v)break;a=u,f=c,c=u,m=d,d=l,g=p,p=b}o=u.neg(),s=l;var w=n.sqr().add(i.sqr());return o.sqr().add(s.sqr()).cmp(w)>=0&&(o=e,s=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:n,b:i},{a:o,b:s}]},Ue.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),u=i.mul(r.b),l=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:u.add(l).neg()}},Ue.prototype.pointFromX=function(t,e){(t=new Ae(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},Ue.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Ue.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),a=t[o],u=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),u=u.neg(!0)),n[2*o]=a,n[2*o+1]=u,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var l=this._wnafMulAdd(1,n,i,2*o,r),h=0;h<2*o;h++)n[h]=null,i[h]=null;return l},nt(De,Ie.BasePoint),Ue.prototype.point=function(t,e,r){return new De(this,t,e,r)},Ue.prototype.pointFromJSON=function(t,e){return De.fromJSON(this,t,e)},De.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var r=this.curve,n=function(t){return r.point(t.x.redMul(r.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return e}},De.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]},De.fromJSON=function(t,e,r){"string"==typeof e&&(e=JSON.parse(e));var n=t.point(e[0],e[1],r);if(!e[2])return n;function i(e){return t.point(e[0],e[1],r)}var o=e[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(i))}},n},De.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)+">"},De.prototype.isInfinity=function(){return this.inf},De.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},De.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},De.prototype.getX=function(){return this.x.fromRed()},De.prototype.getY=function(){return this.y.fromRed()},De.prototype.mul=function(t){return t=new Ae(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},De.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},De.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},De.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},De.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},De.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},nt(ze,Ie.BasePoint),Ue.prototype.jpoint=function(t,e,r){return new ze(this,t,e,r)},ze.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},ze.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},ze.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=n.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),h=l.redMul(a),c=n.redMul(l),f=u.redSqr().redIAdd(h).redISub(c).redISub(c),d=u.redMul(c.redISub(f)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(f,d,p)},ze.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),h=r.redMul(u),c=a.redSqr().redIAdd(l).redISub(h).redISub(h),f=a.redMul(h.redISub(c)).redISub(i.redMul(l)),d=this.z.redMul(s);return this.curve.jpoint(c,f,d)},ze.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r<t;r++)e=e.dbl();return e}var n=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,u=a.redSqr().redSqr(),l=s.redAdd(s);for(r=0;r<t;r++){var h=o.redSqr(),c=l.redSqr(),f=c.redSqr(),d=h.redAdd(h).redIAdd(h).redIAdd(n.redMul(u)),p=o.redMul(c),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),v=d.redMul(g);v=v.redIAdd(v).redISub(f);var y=l.redMul(a);r+1<t&&(u=u.redMul(f)),o=m,a=y,l=v}return this.curve.jpoint(o,l.redMul(i),a)},ze.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},ze.prototype._zeroDbl=function(){var t,e,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n),u=a.redSqr().redISub(s).redISub(s),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=u,e=a.redMul(s.redISub(u)).redISub(l),r=this.y.redAdd(this.y)}else{var h=this.x.redSqr(),c=this.y.redSqr(),f=c.redSqr(),d=this.x.redAdd(c).redSqr().redISub(h).redISub(f);d=d.redIAdd(d);var p=h.redAdd(h).redIAdd(h),m=p.redSqr(),g=f.redIAdd(f);g=(g=g.redIAdd(g)).redIAdd(g),t=m.redISub(d).redISub(d),e=p.redMul(d.redISub(t)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(t,e,r)},ze.prototype._threeDbl=function(){var t,e,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),u=a.redSqr().redISub(s).redISub(s);t=u;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=a.redMul(s.redISub(u)).redISub(l),r=this.y.redAdd(this.y)}else{var h=this.z.redSqr(),c=this.y.redSqr(),f=this.x.redMul(c),d=this.x.redSub(h).redMul(this.x.redAdd(h));d=d.redAdd(d).redIAdd(d);var p=f.redIAdd(f),m=(p=p.redIAdd(p)).redAdd(p);t=d.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(c).redISub(h);var g=c.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,r)},ze.prototype._dbl=function(){var t=this.curve.a,e=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),o=e.redSqr(),s=r.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(i)),u=e.redAdd(e),l=(u=u.redIAdd(u)).redMul(s),h=a.redSqr().redISub(l.redAdd(l)),c=l.redISub(h),f=s.redSqr();f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var d=a.redMul(c).redISub(f),p=r.redAdd(r).redMul(n);return this.curve.jpoint(h,d,p)},ze.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr(),n=e.redSqr(),i=t.redAdd(t).redIAdd(t),o=i.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(n),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),u=n.redIAdd(n);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(u),h=e.redMul(l);h=(h=h.redIAdd(h)).redIAdd(h);var c=this.x.redMul(a).redISub(h);c=(c=c.redIAdd(c)).redIAdd(c);var f=this.y.redMul(l.redMul(u.redISub(l)).redISub(s.redMul(a)));f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var d=this.z.redAdd(s).redSqr().redISub(r).redISub(a);return this.curve.jpoint(c,f,d)},ze.prototype.mul=function(t,e){return t=new Ae(t,e),this.curve._wnafMul(this,t)},ze.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),r=t.z.redSqr();if(0!==this.x.redMul(r).redISub(t.x.redMul(e)).cmpn(0))return!1;var n=e.redMul(this.z),i=r.redMul(t.z);return 0===this.y.redMul(i).redISub(t.y.redMul(n)).cmpn(0)},ze.prototype.eqXToP=function(t){var e=this.z.redSqr(),r=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(r))return!0;for(var n=t.clone(),i=this.curve.redN.redMul(e);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},ze.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)+">"},ze.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var He={},Ke={},We=n((function(t,e){var r=e;r.base=Ie,r.short=je,r.mont=He,r.edwards=Ke})),qe=n((function(t,e){var r,n=e,i=Ne.assert;function o(t){"short"===t.type?this.curve=new We.short(t):"edwards"===t.type?this.curve=new We.edwards(t):this.curve=new We.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("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:we.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:we.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:we.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:we.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"]}),s("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:we.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:we.sha256,gRed:!1,g:["9"]}),s("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:we.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=undefined}catch(t){r=void 0}s("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:we.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Ge(t){if(!(this instanceof Ge))return new Ge(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=xe.toArray(t.entropy,t.entropyEnc||"hex"),r=xe.toArray(t.nonce,t.nonceEnc||"hex"),n=xe.toArray(t.pers,t.persEnc||"hex");et(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Ve=Ge;Ge.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Ge.prototype._hmac=function(){return new we.hmac(this.hash,this.K)},Ge.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},Ge.prototype.reseed=function(t,e,r,n){"string"!=typeof e&&(n=r,r=e,e=null),t=xe.toArray(t,e),r=xe.toArray(r,n),et(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},Ge.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=xe.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length<t;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var o=i.slice(0,t);return this._update(r),this._reseed++,xe.encode(o,e)};var Je=Ne.assert;function Ze(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Xe=Ze;Ze.fromPublic=function(t,e,r){return e instanceof Ze?e:new Ze(t,{pub:e,pubEnc:r})},Ze.fromPrivate=function(t,e,r){return e instanceof Ze?e:new Ze(t,{priv:e,privEnc:r})},Ze.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.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"}},Ze.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Ze.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},Ze.prototype._importPrivate=function(t,e){this.priv=new Ae(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Ze.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?Je(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Je(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},Ze.prototype.derive=function(t){return t.mul(this.priv).getX()},Ze.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},Ze.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},Ze.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var $e=Ne.assert;function Qe(t,e){if(t instanceof Qe)return t;this._importDER(t,e)||($e(t.r&&t.s,"Signature without r or s"),this.r=new Ae(t.r,16),this.s=new Ae(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Ye=Qe;function tr(){this.place=0}function er(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,s=e.place;o<n;o++,s++)i<<=8,i|=t[s],i>>>=0;return!(i<=127)&&(e.place=s,i)}function rr(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e<r;)e++;return 0===e?t:t.slice(e)}function nr(t,e){if(e<128)t.push(e);else{var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}Qe.prototype._importDER=function(t,e){t=Ne.toArray(t,e);var r=new tr;if(48!==t[r.place++])return!1;var n=er(t,r);if(!1===n)return!1;if(n+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var i=er(t,r);if(!1===i)return!1;var o=t.slice(r.place,i+r.place);if(r.place+=i,2!==t[r.place++])return!1;var s=er(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var a=t.slice(r.place,s+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}return this.r=new Ae(o),this.s=new Ae(a),this.recoveryParam=null,!0},Qe.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=rr(e),r=rr(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];nr(n,e.length),(n=n.concat(e)).push(2),nr(n,r.length);var i=n.concat(r),o=[48];return nr(o,i.length),o=o.concat(i),Ne.encode(o,t)};var ir=Ne.assert;function or(t){if(!(this instanceof or))return new or(t);"string"==typeof t&&(ir(qe.hasOwnProperty(t),"Unknown curve "+t),t=qe[t]),t instanceof qe.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var sr=or;or.prototype.keyPair=function(t){return new Xe(this,t)},or.prototype.keyFromPrivate=function(t,e){return Xe.fromPrivate(this,t,e)},or.prototype.keyFromPublic=function(t,e){return Xe.fromPublic(this,t,e)},or.prototype.genKeyPair=function(t){t||(t={});for(var e=new Ve({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||Oe(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new Ae(2));;){var i=new Ae(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},or.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},or.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new Ae(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),s=t.toArray("be",i),a=new Ve({hash:this.hash,entropy:o,nonce:s,pers:n.pers,persEnc:n.persEnc||"utf8"}),u=this.n.sub(new Ae(1)),l=0;;l++){var h=n.k?n.k(l):new Ae(a.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(u)>=0)){var c=this.g.mul(h);if(!c.isInfinity()){var f=c.getX(),d=f.umod(this.n);if(0!==d.cmpn(0)){var p=h.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(c.getY().isOdd()?1:0)|(0!==f.cmp(d)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new Ye({r:d,s:p,recoveryParam:m})}}}}}},or.prototype.verify=function(t,e,r,n){t=this._truncateToN(new Ae(t,16)),r=this.keyFromPublic(r,n);var i=(e=new Ye(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,a=o.invm(this.n),u=a.mul(t).umod(this.n),l=a.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},or.prototype.recoverPubKey=function(t,e,r,n){ir((3&r)===r,"The recovery param is more than two bits"),e=new Ye(e,n);var i=this.n,o=new Ae(t),s=e.r,a=e.s,u=1&r,l=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");s=l?this.curve.pointFromX(s.add(this.curve.n),u):this.curve.pointFromX(s,u);var h=e.r.invm(i),c=i.sub(o).mul(h).umod(i),f=a.mul(h).umod(i);return this.g.mulAdd(c,s,f)},or.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new Ye(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};for(var ar={},ur=i(Pe),lr=n((function(t,e){var r=e;r.version=ur.version,r.utils=Ne,r.rand=Oe,r.curve=We,r.curves=qe,r.ec=sr,r.eddsa=ar})),hr=(lr.ec,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="signing-key/5.0.4"}))),cr=(r(hr),hr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(hr.version),n=null;function i(){return n||(n=new lr.ec("secp256k1")),n}var o=function(){function t(t){v.defineReadOnly(this,"curve","secp256k1"),v.defineReadOnly(this,"privateKey",c.hexlify(t));var e=i().keyFromPrivate(c.arrayify(this.privateKey));v.defineReadOnly(this,"publicKey","0x"+e.getPublic(!1,"hex")),v.defineReadOnly(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),v.defineReadOnly(this,"_isSigningKey",!0)}return t.prototype._addPoint=function(t){var e=i().keyFromPublic(c.arrayify(this.publicKey)),r=i().keyFromPublic(c.arrayify(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")},t.prototype.signDigest=function(t){var e=i().keyFromPrivate(c.arrayify(this.privateKey)).sign(c.arrayify(t),{canonical:!0});return c.splitSignature({recoveryParam:e.recoveryParam,r:c.hexZeroPad("0x"+e.r.toString(16),32),s:c.hexZeroPad("0x"+e.s.toString(16),32)})},t.prototype.computeSharedSecret=function(t){var e=i().keyFromPrivate(c.arrayify(this.privateKey)),r=i().keyFromPublic(c.arrayify(s(t)));return c.hexZeroPad("0x"+e.derive(r.getPublic()).toString(16),32)},t.isSigningKey=function(t){return!(!t||!t._isSigningKey)},t}();function s(t,e){var n=c.arrayify(t);if(32===n.length){var s=new o(n);return e?"0x"+i().keyFromPrivate(n).getPublic(!0,"hex"):s.publicKey}return 33===n.length?e?c.hexlify(n):"0x"+i().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?e?"0x"+i().keyFromPublic(n).getPublic(!0,"hex"):c.hexlify(n):r.throwArgumentError("invalid public or private key","key","[REDACTED]")}e.SigningKey=o,e.recoverPublicKey=function(t,e){var r=c.splitSignature(e),n={r:c.arrayify(r.r),s:c.arrayify(r.s)};return"0x"+i().recoverPubKey(c.arrayify(t),n,r.recoveryParam).encode("hex",!1)},e.computePublicKey=s}))),fr=(r(cr),cr.SigningKey,cr.recoverPublicKey,cr.computePublicKey,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="transactions/5.0.5"}))),dr=(r(fr),fr.version,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var i=n(k),o=new l.Logger(fr.version);function s(t){return"0x"===t?B.Zero:m.BigNumber.from(t)}var a=[{name:"Txtype",maxLength:32,numeric:!0},{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],u={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,Txtype:!0};function h(t){var e=cr.computePublicKey(t);return P.getAddress(c.hexDataSlice(M.keccak256(c.hexDataSlice(e,1)),12))}function f(t,e){return h(cr.recoverPublicKey(c.arrayify(t),e))}r.computeAddress=h,r.recoverAddress=f,r.serialize=function(t,e){v.checkProperties(t,u);var r=[];a.forEach((function(e){var n=t[e.name]||[],i={};e.numeric&&(i.hexPad="left"),n=c.arrayify(c.hexlify(n,i)),e.length&&n.length!==e.length&&n.length>0&&o.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=c.stripZeros(n)).length>e.maxLength&&o.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),r.push(c.hexlify(n))}));var n=0;if(null!=t.chainId?"number"!=typeof(n=t.chainId)&&o.throwArgumentError("invalid transaction.chainId","transaction",t):e&&!c.isBytesLike(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),0!==n&&(r.push(c.hexlify(n)),r.push("0x"),r.push("0x")),!e)return i.encode(r);var s=c.splitSignature(e),l=27+s.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),l+=2*n+8,s.v>28&&s.v!==l&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):s.v!==l&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(c.hexlify(l)),r.push(c.stripZeros(c.arrayify(s.r))),r.push(c.stripZeros(c.arrayify(s.s))),i.encode(r)},r.parse=function(t){var e=i.decode(t);10!==e.length&&7!==e.length&&o.throwArgumentError("invalid raw transaction","rawTransaction",t);var r,n={Txtype:s(e[0]).toHexString(),nonce:s(e[1]).toNumber(),gasPrice:s(e[2]),gasLimit:s(e[3]),to:(r=e[4],"0x"===r?null:P.getAddress(r)),value:s(e[5]),data:e[6],chainId:0};if(7===e.length)return n;try{n.v=m.BigNumber.from(e[7]).toNumber()}catch(t){return console.log(t),n}if(n.r=c.hexZeroPad(e[8],32),n.s=c.hexZeroPad(e[9],32),m.BigNumber.from(n.r).isZero()&&m.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var a=n.v-27,u=e.slice(0,7);0!==n.chainId&&(u.push(c.hexlify(n.chainId)),u.push("0x"),u.push("0x"),a-=2*n.chainId+8);var l=M.keccak256(i.encode(u));try{n.from=f(l,{r:c.hexlify(n.r),s:c.hexlify(n.s),recoveryParam:a})}catch(t){console.log(t)}n.hash=M.keccak256(t)}return n}}))),pr=(r(dr),dr.computeAddress,dr.recoverAddress,dr.serialize,dr.parse,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="wordlists/5.0.4"}))),mr=(r(pr),pr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.logger=new l.Logger(pr.version);var r=function(){function t(r){var n=this.constructor;e.logger.checkAbstract(n,t),v.defineReadOnly(this,"locale",r)}return t.prototype.split=function(t){return t.toLowerCase().split(/ +/g)},t.prototype.join=function(t){return t.join(" ")},t.check=function(t){for(var e=[],r=0;r<2048;r++){var n=t.getWord(r);if(r!==t.getWordIndex(n))return"0x";e.push(n)}return q.id(e.join("\n")+"\n")},t.register=function(t,e){e||(e=t.locale)},t}();e.Wordlist=r}))),gr=(r(mr),mr.logger,mr.Wordlist,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=null;function s(t){if(null==o&&(o="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==mr.Wordlist.check(t)))throw o=null,new Error("BIP39 Wordlist for en (English) FAILED")}var a=new(function(t){function e(){return t.call(this,"en")||this}return i(e,t),e.prototype.getWord=function(t){return s(this),o[t]},e.prototype.getWordIndex=function(t){return s(this),o.indexOf(t)},e}(mr.Wordlist));r.langEn=a,mr.Wordlist.register(a)}))),vr=(r(gr),gr.langEn,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Wordlist=mr.Wordlist;var r={en:gr.langEn};e.wordlists=r}))),yr=(r(vr),vr.Wordlist,vr.wordlists,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="hdnode/5.0.4"}))),br=(r(yr),yr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(yr.version),n=m.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),i=D.toUtf8Bytes("Bitcoin seed"),o=2147483648;function s(t){return(1<<t)-1<<8-t}function a(t){return c.hexZeroPad(c.hexlify(t),32)}function u(t){return tt.Base58.encode(c.concat([t,c.hexDataSlice(Me.sha256(Me.sha256(t)),0,4)]))}function h(t){if(null==t)return vr.wordlists.en;if("string"==typeof t){var e=vr.wordlists[t];return null==e&&r.throwArgumentError("unknown locale","wordlist",t),e}return t}var f={};e.defaultPath="m/44'/5718350'/0'/0/0";var d=function(){function t(e,n,i,o,s,a,u,l){var h=this.constructor;if(r.checkNew(h,t),e!==f)throw new Error("HDNode constructor cannot be called directly");if(n){var d=new cr.SigningKey(n);v.defineReadOnly(this,"privateKey",d.privateKey),v.defineReadOnly(this,"publicKey",d.compressedPublicKey)}else v.defineReadOnly(this,"privateKey",null),v.defineReadOnly(this,"publicKey",c.hexlify(i));v.defineReadOnly(this,"parentFingerprint",o),v.defineReadOnly(this,"fingerprint",c.hexDataSlice(Me.ripemd160(Me.sha256(this.publicKey)),0,4)),v.defineReadOnly(this,"address",dr.computeAddress(this.publicKey)),v.defineReadOnly(this,"chainCode",s),v.defineReadOnly(this,"index",a),v.defineReadOnly(this,"depth",u),null==l?(v.defineReadOnly(this,"mnemonic",null),v.defineReadOnly(this,"path",null)):"string"==typeof l?(v.defineReadOnly(this,"mnemonic",null),v.defineReadOnly(this,"path",l)):(v.defineReadOnly(this,"mnemonic",l),v.defineReadOnly(this,"path",l.path))}return Object.defineProperty(t.prototype,"extendedKey",{get:function(){if(this.depth>=256)throw new Error("Depth too large!");return u(c.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",c.hexlify(this.depth),this.parentFingerprint,c.hexZeroPad(c.hexlify(this.index),4),this.chainCode,null!=this.privateKey?c.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),t.prototype.neuter=function(){return new t(f,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)},t.prototype._derive=function(e){if(e>4294967295)throw new Error("invalid index - "+String(e));var r=this.path;r&&(r+="/"+(2147483647&e));var i=new Uint8Array(37);if(e&o){if(!this.privateKey)throw new Error("cannot derive child of neutered node");i.set(c.arrayify(this.privateKey),1),r&&(r+="'")}else i.set(c.arrayify(this.publicKey));for(var s=24;s>=0;s-=8)i[33+(s>>3)]=e>>24-s&255;var u=c.arrayify(Me.computeHmac(Me.SupportedAlgorithm.sha512,this.chainCode,i)),l=u.slice(0,32),h=u.slice(32),d=null,p=null;this.privateKey?d=a(m.BigNumber.from(l).add(this.privateKey).mod(n)):p=new cr.SigningKey(c.hexlify(l))._addPoint(this.publicKey);var g=r,v=this.mnemonic;return v&&(g=Object.freeze({phrase:v.phrase,path:r,locale:v.locale||"en"})),new t(f,d,p,this.fingerprint,a(h),e,this.depth+1,g)},t.prototype.derivePath=function(t){var e=t.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+t);"m"===e[0]&&e.shift();for(var r=this,n=0;n<e.length;n++){var i=e[n];if(i.match(/^[0-9]+'$/)){if((s=parseInt(i.substring(0,i.length-1)))>=o)throw new Error("invalid path index - "+i);r=r._derive(o+s)}else{if(!i.match(/^[0-9]+$/))throw new Error("invalid path component - "+i);var s;if((s=parseInt(i))>=o)throw new Error("invalid path index - "+i);r=r._derive(s)}}return r},t._fromSeed=function(e,r){var n=c.arrayify(e);if(n.length<16||n.length>64)throw new Error("invalid seed");var o=c.arrayify(Me.computeHmac(Me.SupportedAlgorithm.sha512,i,n));return new t(f,a(o.slice(0,32)),null,"0x00000000",a(o.slice(32)),0,0,r)},t.fromMnemonic=function(e,r,n){return e=y(g(e,n=h(n)),n),t._fromSeed(p(e,r),{phrase:e,path:"m",locale:n.locale})},t.fromSeed=function(e){return t._fromSeed(e,null)},t.fromExtendedKey=function(e){var n=tt.Base58.decode(e);82===n.length&&u(n.slice(0,78))===e||r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");var i=n[4],o=c.hexlify(n.slice(5,9)),s=parseInt(c.hexlify(n.slice(9,13)).substring(2),16),a=c.hexlify(n.slice(13,45)),l=n.slice(45,78);switch(c.hexlify(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new t(f,null,c.hexlify(l),o,a,s,i,null);case"0x0488ade4":case"0x04358394 ":if(0!==l[0])break;return new t(f,c.hexlify(l.slice(1)),null,o,a,s,i,null)}return r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")},t}();function p(t,e){e||(e="");var r=D.toUtf8Bytes("mnemonic"+e,D.UnicodeNormalizationForm.NFKD);return Ee.pbkdf2(D.toUtf8Bytes(t,D.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function g(t,e){e=h(e),r.checkNormalize();var n=e.split(t);if(n.length%3!=0)throw new Error("invalid mnemonic");for(var i=c.arrayify(new Uint8Array(Math.ceil(11*n.length/8))),o=0,a=0;a<n.length;a++){var u=e.getWordIndex(n[a].normalize("NFKD"));if(-1===u)throw new Error("invalid mnemonic");for(var l=0;l<11;l++)u&1<<10-l&&(i[o>>3]|=1<<7-o%8),o++}var f=32*n.length/3,d=s(n.length/3);if((c.arrayify(Me.sha256(i.slice(0,f/8)))[0]&d)!==(i[i.length-1]&d))throw new Error("invalid checksum");return c.hexlify(i.slice(0,f/8))}function y(t,e){if(e=h(e),(t=c.arrayify(t)).length%4!=0||t.length<16||t.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,i=0;i<t.length;i++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=t[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[i]>>8-n,r.push(t[i]&(1<<8-n)-1),n+=3);var o=t.length/4,a=c.arrayify(Me.sha256(t))[0]&s(o);return r[r.length-1]<<=o,r[r.length-1]|=a>>8-o,e.join(r.map((function(t){return e.getWord(t)})))}e.HDNode=d,e.mnemonicToSeed=p,e.mnemonicToEntropy=g,e.entropyToMnemonic=y,e.isValidMnemonic=function(t,e){try{return g(t,e),!0}catch(t){}return!1}}))),wr=(r(br),br.defaultPath,br.HDNode,br.mnemonicToSeed,br.mnemonicToEntropy,br.entropyToMnemonic,br.isValidMnemonic,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="random/5.0.3"}))),_r=(r(wr),wr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.shuffled=function(t){for(var e=(t=t.slice()).length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}}))),Mr=(r(_r),_r.shuffled,n((function(t,r){Object.defineProperty(r,"__esModule",{value:!0});var n=new l.Logger(wr.version);r.shuffled=_r.shuffled;var i=null;try{if(null==(i=window))throw new Error("try next")}catch(t){try{if(null==(i=e))throw new Error("try next")}catch(t){i={}}}var o=i.crypto||i.msCrypto;o&&o.getRandomValues||(n.warn("WARNING: Missing strong random number source"),o={getRandomValues:function(t){return n.throwError("no secure random source avaialble",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(t){(t<=0||t>1024||t%1)&&n.throwArgumentError("invalid length","length",t);var e=new Uint8Array(t);return o.getRandomValues(e),c.arrayify(e)}}))),Er=(r(Mr),Mr.shuffled,Mr.randomBytes,n((function(t,e){!function(e){function r(t){return parseInt(t)===t}function n(t){if(!r(t.length))return!1;for(var e=0;e<t.length;e++)if(!r(t[e])||t[e]<0||t[e]>255)return!1;return!0}function i(t,e){if(t.buffer&&ArrayBuffer.isView(t)&&"Uint8Array"===t.name)return e&&(t=t.slice?t.slice():Array.prototype.slice.call(t)),t;if(Array.isArray(t)){if(!n(t))throw new Error("Array contains invalid value: "+t);return new Uint8Array(t)}if(r(t.length)&&n(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function o(t){return new Uint8Array(t)}function s(t,e,r,n,i){null==n&&null==i||(t=t.slice?t.slice(n,i):Array.prototype.slice.call(t,n,i)),e.set(t,r)}var a,u={toBytes:function(t){var e=[],r=0;for(t=encodeURI(t);r<t.length;){var n=t.charCodeAt(r++);37===n?(e.push(parseInt(t.substr(r,2),16)),r+=2):e.push(n)}return i(e)},fromBytes:function(t){for(var e=[],r=0;r<t.length;){var n=t[r];n<128?(e.push(String.fromCharCode(n)),r++):n>191&&n<224?(e.push(String.fromCharCode((31&n)<<6|63&t[r+1])),r+=2):(e.push(String.fromCharCode((15&n)<<12|(63&t[r+1])<<6|63&t[r+2])),r+=3)}return e.join("")}},l=(a="0123456789abcdef",{toBytes:function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(parseInt(t.substr(r,2),16));return e},fromBytes:function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];e.push(a[(240&n)>>4]+a[15&n])}return e.join("")}}),h={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],M=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],k=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function P(t){for(var e=[],r=0;r<t.length;r+=4)e.push(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]);return e}var A=function(t){if(!(this instanceof A))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:i(t,!0)}),this._prepare()};A.prototype._prepare=function(){var t=h[this.key.length];if(null==t)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var e=0;e<=t;e++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var r,n=4*(t+1),i=this.key.length/4,o=P(this.key);for(e=0;e<i;e++)r=e>>2,this._Ke[r][e%4]=o[e],this._Kd[t-r][e%4]=o[e];for(var s,a=0,u=i;u<n;){if(s=o[i-1],o[0]^=f[s>>16&255]<<24^f[s>>8&255]<<16^f[255&s]<<8^f[s>>24&255]^c[a]<<24,a+=1,8!=i)for(e=1;e<i;e++)o[e]^=o[e-1];else{for(e=1;e<i/2;e++)o[e]^=o[e-1];s=o[i/2-1],o[i/2]^=f[255&s]^f[s>>8&255]<<8^f[s>>16&255]<<16^f[s>>24&255]<<24;for(e=i/2+1;e<i;e++)o[e]^=o[e-1]}for(e=0;e<i&&u<n;)l=u>>2,d=u%4,this._Ke[l][d]=o[e],this._Kd[t-l][d]=o[e++],u++}for(var l=1;l<t;l++)for(var d=0;d<4;d++)s=this._Kd[l][d],this._Kd[l][d]=M[s>>24&255]^E[s>>16&255]^k[s>>8&255]^S[255&s]},A.prototype.encrypt=function(t){if(16!=t.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,r=[0,0,0,0],n=P(t),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var s=1;s<e;s++){for(i=0;i<4;i++)r[i]=p[n[i]>>24&255]^m[n[(i+1)%4]>>16&255]^g[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Ke[e][i],u[4*i]=255&(f[n[i]>>24&255]^a>>24),u[4*i+1]=255&(f[n[(i+1)%4]>>16&255]^a>>16),u[4*i+2]=255&(f[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(f[255&n[(i+3)%4]]^a);return u},A.prototype.decrypt=function(t){if(16!=t.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,r=[0,0,0,0],n=P(t),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var s=1;s<e;s++){for(i=0;i<4;i++)r[i]=y[n[i]>>24&255]^b[n[(i+3)%4]>>16&255]^w[n[(i+2)%4]>>8&255]^_[255&n[(i+1)%4]]^this._Kd[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Kd[e][i],u[4*i]=255&(d[n[i]>>24&255]^a>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return u};var x=function(t){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new A(t)};x.prototype.encrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n<t.length;n+=16)s(t,r,0,n,n+16),s(r=this._aes.encrypt(r),e,n);return e},x.prototype.decrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n<t.length;n+=16)s(t,r,0,n,n+16),s(r=this._aes.decrypt(r),e,n);return e};var N=function(t,e){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=o(16);this._lastCipherblock=i(e,!0),this._aes=new A(t)};N.prototype.encrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n<t.length;n+=16){s(t,r,0,n,n+16);for(var a=0;a<16;a++)r[a]^=this._lastCipherblock[a];this._lastCipherblock=this._aes.encrypt(r),s(this._lastCipherblock,e,n)}return e},N.prototype.decrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n<t.length;n+=16){s(t,r,0,n,n+16),r=this._aes.decrypt(r);for(var a=0;a<16;a++)e[n+a]=r[a]^this._lastCipherblock[a];s(t,this._lastCipherblock,0,n,n+16)}return e};var O=function(t,e,r){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 size)")}else e=o(16);r||(r=1),this.segmentSize=r,this._shiftRegister=i(e,!0),this._aes=new A(t)};O.prototype.encrypt=function(t){if(t.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var e,r=i(t,!0),n=0;n<r.length;n+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)r[n+o]^=e[o];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(r,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r},O.prototype.decrypt=function(t){if(t.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var e,r=i(t,!0),n=0;n<r.length;n+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var o=0;o<this.segmentSize;o++)r[n+o]^=e[o];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(t,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r};var R=function(t,e){if(!(this instanceof R))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=o(16);this._lastPrecipher=i(e,!0),this._lastPrecipherIndex=16,this._aes=new A(t)};R.prototype.encrypt=function(t){for(var e=i(t,!0),r=0;r<e.length;r++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),e[r]^=this._lastPrecipher[this._lastPrecipherIndex++];return e},R.prototype.decrypt=R.prototype.encrypt;var T=function(t){if(!(this instanceof T))throw Error("Counter must be instanitated with `new`");0===t||t||(t=1),"number"==typeof t?(this._counter=o(16),this.setValue(t)):this.setBytes(t)};T.prototype.setValue=function(t){if("number"!=typeof t||parseInt(t)!=t)throw new Error("invalid counter value (must be an integer)");for(var e=15;e>=0;--e)this._counter[e]=t%256,t>>=8},T.prototype.setBytes=function(t){if(16!=(t=i(t,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=t},T.prototype.increment=function(){for(var t=15;t>=0;t--){if(255!==this._counter[t]){this._counter[t]++;break}this._counter[t]=0}};var C=function(t,e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof T||(e=new T(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new A(t)};C.prototype.encrypt=function(t){for(var e=i(t,!0),r=0;r<e.length;r++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),e[r]^=this._remainingCounter[this._remainingCounterIndex++];return e},C.prototype.decrypt=C.prototype.encrypt;var B={AES:A,Counter:T,ModeOfOperation:{ecb:x,cbc:N,cfb:O,ofb:R,ctr:C},utils:{hex:l,utf8:u},padding:{pkcs7:{pad:function(t){var e=16-(t=i(t,!0)).length%16,r=o(t.length+e);s(t,r);for(var n=t.length;n<r.length;n++)r[n]=e;return r},strip:function(t){if((t=i(t,!0)).length<16)throw new Error("PKCS#7 invalid length");var e=t[t.length-1];if(e>16)throw new Error("PKCS#7 padding byte out of range");for(var r=t.length-e,n=0;n<e;n++)if(t[r+n]!==e)throw new Error("PKCS#7 invalid padding byte");var a=o(r);return s(t,a,0,0,r),a}}},_arrayTest:{coerceArray:i,createArray:o,copyArray:s}};t.exports=B}()}))),kr=n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="json-wallets/5.0.6"})),Sr=(r(kr),kr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.looseArrayify=function(t){return"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),c.arrayify(t)},e.zpad=function(t,e){for(t=String(t);t.length<e;)t="0"+t;return t},e.getPassword=function(t){return"string"==typeof t?D.toUtf8Bytes(t,D.UnicodeNormalizationForm.NFKC):c.arrayify(t)},e.searchPath=function(t,e){for(var r=t,n=e.toLowerCase().split("/"),i=0;i<n.length;i++){var o=null;for(var s in r)if(s.toLowerCase()===n[i]){o=r[s];break}if(null===o)return null;r=o}return r},e.uuidV4=function(t){var e=c.arrayify(t);e[6]=15&e[6]|64,e[8]=63&e[8]|128;var r=c.hexlify(e);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}}))),Pr=(r(Sr),Sr.looseArrayify,Sr.zpad,Sr.getPassword,Sr.searchPath,Sr.uuidV4,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,"__esModule",{value:!0});var s=o(Er),a=new l.Logger(kr.version),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isCrowdsaleAccount=function(t){return!(!t||!t._isCrowdsaleAccount)},e}(v.Description);r.CrowdsaleAccount=u,r.decrypt=function(t,e){var r=JSON.parse(t);e=Sr.getPassword(e);var n=P.getAddress(Sr.searchPath(r,"ethaddr")),i=Sr.looseArrayify(Sr.searchPath(r,"encseed"));i&&i.length%16==0||a.throwArgumentError("invalid encseed","json",t);for(var o=c.arrayify(Ee.pbkdf2(e,e,2e3,32,"sha256")).slice(0,16),l=i.slice(0,16),h=i.slice(16),f=new s.default.ModeOfOperation.cbc(o,l),d=s.default.padding.pkcs7.strip(c.arrayify(f.decrypt(h))),p="",m=0;m<d.length;m++)p+=String.fromCharCode(d[m]);var g=D.toUtf8Bytes(p),v=M.keccak256(g);return new u({_isCrowdsaleAccount:!0,address:n,privateKey:v})}}))),Ar=(r(Pr),Pr.CrowdsaleAccount,Pr.decrypt,n((function(t,e){function r(t){var e=null;try{e=JSON.parse(t)}catch(t){return!1}return e.encseed&&e.ethaddr}function n(t){var e=null;try{e=JSON.parse(t)}catch(t){return!1}return!(!e.version||parseInt(e.version)!==e.version||3!==parseInt(e.version))}Object.defineProperty(e,"__esModule",{value:!0}),e.isCrowdsaleWallet=r,e.isKeystoreWallet=n,e.getJsonWalletAddress=function(t){if(r(t))try{return P.getAddress(JSON.parse(t).ethaddr)}catch(t){return null}if(n(t))try{return P.getAddress(JSON.parse(t).address)}catch(t){return null}return null}}))),xr=(r(Ar),Ar.isCrowdsaleWallet,Ar.isKeystoreWallet,Ar.getJsonWalletAddress,n((function(t,e){!function(e){const r=2147483647;function n(t){const e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let r=1779033703,n=3144134277,i=1013904242,o=2773480762,s=1359893119,a=2600822924,u=528734635,l=1541459225;const h=new Uint32Array(64);function c(t){let c=0,f=t.length;for(;f>=64;){let d,p,m,g,v,y=r,b=n,w=i,_=o,M=s,E=a,k=u,S=l;for(p=0;p<16;p++)m=c+4*p,h[p]=(255&t[m])<<24|(255&t[m+1])<<16|(255&t[m+2])<<8|255&t[m+3];for(p=16;p<64;p++)d=h[p-2],g=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=h[p-15],v=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,h[p]=(g+h[p-7]|0)+(v+h[p-16]|0)|0;for(p=0;p<64;p++)g=(((M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7))+(M&E^~M&k)|0)+(S+(e[p]+h[p]|0)|0)|0,v=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&b^y&w^b&w)|0,S=k,k=E,E=M,M=_+g|0,_=w,w=b,b=y,y=g+v|0;r=r+y|0,n=n+b|0,i=i+w|0,o=o+_|0,s=s+M|0,a=a+E|0,u=u+k|0,l=l+S|0,c+=64,f-=64}}c(t);let f,d=t.length%64,p=t.length/536870912|0,m=t.length<<3,g=d<56?56:120,v=t.slice(t.length-d,t.length);for(v.push(128),f=d+1;f<g;f++)v.push(0);return v.push(p>>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),c(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function i(t,e,r){t=t.length<=64?t:n(t);const i=64+e.length+4,o=new Array(i),s=new Array(64);let a,u=[];for(a=0;a<64;a++)o[a]=54;for(a=0;a<t.length;a++)o[a]^=t[a];for(a=0;a<e.length;a++)o[64+a]=e[a];for(a=i-4;a<i;a++)o[a]=0;for(a=0;a<64;a++)s[a]=92;for(a=0;a<t.length;a++)s[a]^=t[a];function l(){for(let t=i-1;t>=i-4;t--){if(o[t]++,o[t]<=255)return;o[t]=0}}for(;r>=32;)l(),u=u.concat(n(s.concat(n(o)))),r-=32;return r>0&&(l(),u=u.concat(n(s.concat(n(o))).slice(0,r))),u}function o(t,e,r,n,i){let o;for(l(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)u(t,16*o,i,16),a(i,n),l(i,0,t,e+16*o,16);for(o=0;o<r;o++)l(t,e+2*o*16,t,16*o,16);for(o=0;o<r;o++)l(t,e+16*(2*o+1),t,16*(o+r),16)}function s(t,e){return t<<e|t>>>32-e}function a(t,e){l(t,0,e,0,16);for(let t=8;t>0;t-=2)e[4]^=s(e[0]+e[12],7),e[8]^=s(e[4]+e[0],9),e[12]^=s(e[8]+e[4],13),e[0]^=s(e[12]+e[8],18),e[9]^=s(e[5]+e[1],7),e[13]^=s(e[9]+e[5],9),e[1]^=s(e[13]+e[9],13),e[5]^=s(e[1]+e[13],18),e[14]^=s(e[10]+e[6],7),e[2]^=s(e[14]+e[10],9),e[6]^=s(e[2]+e[14],13),e[10]^=s(e[6]+e[2],18),e[3]^=s(e[15]+e[11],7),e[7]^=s(e[3]+e[15],9),e[11]^=s(e[7]+e[3],13),e[15]^=s(e[11]+e[7],18),e[1]^=s(e[0]+e[3],7),e[2]^=s(e[1]+e[0],9),e[3]^=s(e[2]+e[1],13),e[0]^=s(e[3]+e[2],18),e[6]^=s(e[5]+e[4],7),e[7]^=s(e[6]+e[5],9),e[4]^=s(e[7]+e[6],13),e[5]^=s(e[4]+e[7],18),e[11]^=s(e[10]+e[9],7),e[8]^=s(e[11]+e[10],9),e[9]^=s(e[8]+e[11],13),e[10]^=s(e[9]+e[8],18),e[12]^=s(e[15]+e[14],7),e[13]^=s(e[12]+e[15],9),e[14]^=s(e[13]+e[12],13),e[15]^=s(e[14]+e[13],18);for(let r=0;r<16;++r)t[r]+=e[r]}function u(t,e,r,n){for(let i=0;i<n;i++)r[i]^=t[e+i]}function l(t,e,r,n,i){for(;i--;)r[n++]=t[e++]}function h(t){if(!t||"number"!=typeof t.length)return!1;for(let e=0;e<t.length;e++){const r=t[e];if("number"!=typeof r||r%1||r<0||r>=256)return!1}return!0}function c(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function f(t,e,n,s,a,f,d){if(n=c(n,"N"),s=c(s,"r"),a=c(a,"p"),f=c(f,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>r/128/s)throw new Error("N too large");if(s>r/128/a)throw new Error("r too large");if(!h(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!h(e))throw new Error("salt must be an array or buffer");e=Array.prototype.slice.call(e);let p=i(t,e,128*a*s);const m=new Uint32Array(32*a*s);for(let t=0;t<m.length;t++){const e=4*t;m[t]=(255&p[e+3])<<24|(255&p[e+2])<<16|(255&p[e+1])<<8|(255&p[e+0])<<0}const g=new Uint32Array(64*s),v=new Uint32Array(32*s*n),y=32*s,b=new Uint32Array(16),w=new Uint32Array(16),_=a*n*2;let M,E,k=0,S=null,P=!1,A=0,x=0;const N=d?parseInt(1e3/s):4294967295,O="undefined"!=typeof setImmediate?setImmediate:setTimeout,R=function(){if(P)return d(new Error("cancelled"),k/_);let e;switch(A){case 0:E=32*x*s,l(m,E,g,0,y),A=1,M=0;case 1:e=n-M,e>N&&(e=N);for(let t=0;t<e;t++)l(g,0,v,(M+t)*y,y),o(g,y,s,b,w);if(M+=e,k+=e,d){const t=parseInt(1e3*k/_);if(t!==S){if(P=d(null,k/_),P)break;S=t}}if(M<n)break;M=0,A=2;case 2:e=n-M,e>N&&(e=N);for(let t=0;t<e;t++){const t=g[16*(2*s-1)]&n-1;u(v,t*y,g,y),o(g,y,s,b,w)}if(M+=e,k+=e,d){const t=parseInt(1e3*k/_);if(t!==S){if(P=d(null,k/_),P)break;S=t}}if(M<n)break;if(l(g,0,m,E,y),x++,x<a){A=0;break}p=[];for(let t=0;t<m.length;t++)p.push(m[t]>>0&255),p.push(m[t]>>8&255),p.push(m[t]>>16&255),p.push(m[t]>>24&255);const r=i(t,p,f);return d&&d(null,1,r),r}d&&O(R)};if(!d)for(;;){const t=R();if(null!=t)return t}R()}const d={scrypt:function(t,e,r,n,i,o,s){return new Promise((function(a,u){let l=0;s&&s(0),f(t,e,r,n,i,o,(function(t,e,r){if(t)u(t);else if(r)s&&1!==l&&s(1),a(new Uint8Array(r));else if(s&&e!==l)return l=e,s(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(f(t,e,r,n,i,o))}};t.exports=d}()}))),Nr=(xr.scrypt,xr.syncScrypt,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},a=e&&e.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},u=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var h=a(Er),f=u(xr),d=new l.Logger(kr.version);function p(t){return null!=t&&t.mnemonic&&t.mnemonic.phrase}var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.isKeystoreAccount=function(t){return!(!t||!t._isKeystoreAccount)},e}(v.Description);function g(t,e){var r=Sr.looseArrayify(Sr.searchPath(t,"crypto/ciphertext"));if(c.hexlify(M.keccak256(c.concat([e.slice(16,32),r]))).substring(2)!==Sr.searchPath(t,"crypto/mac").toLowerCase())throw new Error("invalid password");var n=function(t,e,r){if("aes-128-ctr"===Sr.searchPath(t,"crypto/cipher")){var n=Sr.looseArrayify(Sr.searchPath(t,"crypto/cipherparams/iv")),i=new h.default.Counter(n),o=new h.default.ModeOfOperation.ctr(e,i);return c.arrayify(o.decrypt(r))}return null}(t,e.slice(0,16),r);n||d.throwError("unsupported cipher",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});var i=e.slice(32,64),o=dr.computeAddress(n);if(t.address){var s=t.address.toLowerCase();if("0x"!==s.substring(0,2)&&(s="0x"+s),P.getAddress(s)!==o)throw new Error("address mismatch")}var a={_isKeystoreAccount:!0,address:o,privateKey:c.hexlify(n)};if("0.1"===Sr.searchPath(t,"x-ethers/version")){var u=Sr.looseArrayify(Sr.searchPath(t,"x-ethers/mnemonicCiphertext")),f=Sr.looseArrayify(Sr.searchPath(t,"x-ethers/mnemonicCounter")),p=new h.default.Counter(f),g=new h.default.ModeOfOperation.ctr(i,p),v=Sr.searchPath(t,"x-ethers/path")||br.defaultPath,y=Sr.searchPath(t,"x-ethers/locale")||"en",b=c.arrayify(g.decrypt(u));try{var w=br.entropyToMnemonic(b,y),_=br.HDNode.fromMnemonic(w,null,y).derivePath(v);if(_.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=_.mnemonic}catch(t){if(t.code!==l.Logger.errors.INVALID_ARGUMENT||"wordlist"!==t.argument)throw t}}return new m(a)}function y(t,e,r,n,i){return c.arrayify(Ee.pbkdf2(t,e,r,n,i))}function b(t,e,r,n,i){return Promise.resolve(y(t,e,r,n,i))}function w(t,e,r,n,i){var o=Sr.getPassword(e),s=Sr.searchPath(t,"crypto/kdf");if(s&&"string"==typeof s){var a=function(t,e){return d.throwArgumentError("invalid key-derivation function parameters",t,e)};if("scrypt"===s.toLowerCase()){var u=Sr.looseArrayify(Sr.searchPath(t,"crypto/kdfparams/salt")),l=parseInt(Sr.searchPath(t,"crypto/kdfparams/n")),h=parseInt(Sr.searchPath(t,"crypto/kdfparams/r")),c=parseInt(Sr.searchPath(t,"crypto/kdfparams/p"));return l&&h&&c||a("kdf",s),0!=(l&l-1)&&a("N",l),32!==(m=parseInt(Sr.searchPath(t,"crypto/kdfparams/dklen")))&&a("dklen",m),n(o,u,l,h,c,64,i)}if("pbkdf2"===s.toLowerCase()){u=Sr.looseArrayify(Sr.searchPath(t,"crypto/kdfparams/salt"));var f=null,p=Sr.searchPath(t,"crypto/kdfparams/prf");"hmac-sha256"===p?f="sha256":"hmac-sha512"===p?f="sha512":a("prf",p);var m,g=parseInt(Sr.searchPath(t,"crypto/kdfparams/c"));return 32!==(m=parseInt(Sr.searchPath(t,"crypto/kdfparams/dklen")))&&a("dklen",m),r(o,u,g,m,f)}}return d.throwArgumentError("unsupported key-derivation function","kdf",s)}r.KeystoreAccount=m,r.decryptSync=function(t,e){var r=JSON.parse(t);return g(r,w(r,e,y,f.syncScrypt))},r.decrypt=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return[4,w(n=JSON.parse(t),e,b,f.scrypt,r)];case 1:return i=o.sent(),[2,g(n,i)]}}))}))},r.encrypt=function(t,e,r,n){try{if(P.getAddress(t.address)!==dr.computeAddress(t.privateKey))throw new Error("address/privateKey mismatch");if(p(t)){var i=t.mnemonic;if(br.HDNode.fromMnemonic(i.phrase,null,i.locale).derivePath(i.path||br.defaultPath).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(t){return Promise.reject(t)}"function"!=typeof r||n||(n=r,r={}),r||(r={});var o=c.arrayify(t.privateKey),s=Sr.getPassword(e),a=null,u=null,l=null;if(p(t)){var d=t.mnemonic;a=c.arrayify(br.mnemonicToEntropy(d.phrase,d.locale||"en")),u=d.path||br.defaultPath,l=d.locale||"en"}var m=r.client;m||(m="ethers.js");var g=null;g=r.salt?c.arrayify(r.salt):Mr.randomBytes(32);var v=null;if(r.iv){if(16!==(v=c.arrayify(r.iv)).length)throw new Error("invalid iv")}else v=Mr.randomBytes(16);var y=null;if(r.uuid){if(16!==(y=c.arrayify(r.uuid)).length)throw new Error("invalid uuid")}else y=Mr.randomBytes(16);var b=1<<17,w=8,_=1;return r.scrypt&&(r.scrypt.N&&(b=r.scrypt.N),r.scrypt.r&&(w=r.scrypt.r),r.scrypt.p&&(_=r.scrypt.p)),f.scrypt(s,g,b,w,_,64,n).then((function(e){var r=(e=c.arrayify(e)).slice(0,16),n=e.slice(16,32),i=e.slice(32,64),s=new h.default.Counter(v),f=new h.default.ModeOfOperation.ctr(r,s),d=c.arrayify(f.encrypt(o)),p=M.keccak256(c.concat([n,d])),E={address:t.address.substring(2).toLowerCase(),id:Sr.uuidV4(y),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:c.hexlify(v).substring(2)},ciphertext:c.hexlify(d).substring(2),kdf:"scrypt",kdfparams:{salt:c.hexlify(g).substring(2),n:b,dklen:32,p:_,r:w},mac:p.substring(2)}};if(a){var k=Mr.randomBytes(16),S=new h.default.Counter(k),P=new h.default.ModeOfOperation.ctr(i,S),A=c.arrayify(P.encrypt(a)),x=new Date,N=x.getUTCFullYear()+"-"+Sr.zpad(x.getUTCMonth()+1,2)+"-"+Sr.zpad(x.getUTCDate(),2)+"T"+Sr.zpad(x.getUTCHours(),2)+"-"+Sr.zpad(x.getUTCMinutes(),2)+"-"+Sr.zpad(x.getUTCSeconds(),2)+".0Z";E["x-ethers"]={client:m,gethFilename:"UTC--"+N+"--"+E.address,mnemonicCounter:c.hexlify(k).substring(2),mnemonicCiphertext:c.hexlify(A).substring(2),path:u,locale:l,version:"0.1"}}return JSON.stringify(E)}))}}))),Or=(r(Nr),Nr.KeystoreAccount,Nr.decryptSync,Nr.decrypt,Nr.encrypt,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.decryptCrowdsale=Pr.decrypt,e.getJsonWalletAddress=Ar.getJsonWalletAddress,e.isCrowdsaleWallet=Ar.isCrowdsaleWallet,e.isKeystoreWallet=Ar.isKeystoreWallet,e.decryptKeystore=Nr.decrypt,e.decryptKeystoreSync=Nr.decryptSync,e.encryptKeystore=Nr.encrypt,e.decryptJsonWallet=function(t,e,r){if(Ar.isCrowdsaleWallet(t)){r&&r(0);var n=Pr.decrypt(t,e);return r&&r(1),Promise.resolve(n)}return Ar.isKeystoreWallet(t)?Nr.decrypt(t,e,r):Promise.reject(new Error("invalid JSON wallet"))},e.decryptJsonWalletSync=function(t,e){if(Ar.isCrowdsaleWallet(t))return Pr.decrypt(t,e);if(Ar.isKeystoreWallet(t))return Nr.decryptSync(t,e);throw new Error("invalid JSON wallet")}}))),Rr=(r(Or),Or.decryptCrowdsale,Or.getJsonWalletAddress,Or.isCrowdsaleWallet,Or.isKeystoreWallet,Or.decryptKeystore,Or.decryptKeystoreSync,Or.encryptKeystore,Or.decryptJsonWallet,Or.decryptJsonWalletSync,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="wallet/5.0.4"}))),Tr=(r(Rr),Rr.version,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Rr.version);var s=function(t){function e(r,n){var i,s,a=this.constructor;if(o.checkNew(a,e),i=t.call(this)||this,null!=(s=r)&&c.isHexString(s.privateKey,32)&&null!=s.address){var u=new cr.SigningKey(r.privateKey);if(v.defineReadOnly(i,"_signingKey",(function(){return u})),v.defineReadOnly(i,"address",dr.computeAddress(i.publicKey)),i.address!==P.getAddress(r.address)&&o.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(t){var e=t.mnemonic;return e&&e.phrase}(r)){var l=r.mnemonic;v.defineReadOnly(i,"_mnemonic",(function(){return{phrase:l.phrase,path:l.path||br.defaultPath,locale:l.locale||"en"}}));var h=i.mnemonic,f=br.HDNode.fromMnemonic(h.phrase,null,h.locale).derivePath(h.path);dr.computeAddress(f.privateKey)!==i.address&&o.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else v.defineReadOnly(i,"_mnemonic",(function(){return null}))}else{if(cr.SigningKey.isSigningKey(r))"secp256k1"!==r.curve&&o.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),v.defineReadOnly(i,"_signingKey",(function(){return r}));else{var d=new cr.SigningKey(r);v.defineReadOnly(i,"_signingKey",(function(){return d}))}v.defineReadOnly(i,"_mnemonic",(function(){return null})),v.defineReadOnly(i,"address",dr.computeAddress(i.publicKey))}return n&&!Z.Provider.isProvider(n)&&o.throwArgumentError("invalid provider","provider",n),v.defineReadOnly(i,"provider",n||null),i}return i(e,t),Object.defineProperty(e.prototype,"mnemonic",{get:function(){return this._mnemonic()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"privateKey",{get:function(){return this._signingKey().privateKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"publicKey",{get:function(){return this._signingKey().publicKey},enumerable:!0,configurable:!0}),e.prototype.getAddress=function(){return Promise.resolve(this.address)},e.prototype.connect=function(t){return new e(this,t)},e.prototype.signTransaction=function(t){var e=this;return v.resolveProperties(t).then((function(r){null!=r.from&&(P.getAddress(r.from)!==e.address&&o.throwArgumentError("transaction from address mismatch","transaction.from",t.from),delete r.from),r.Txtype="0x01";var n=e._signingKey().signDigest(M.keccak256(dr.serialize(r)));return dr.serialize(r,n)}))},e.prototype.signMessage=function(t){return Promise.resolve(c.joinSignature(this._signingKey().signDigest(q.hashMessage(t))))},e.prototype.encrypt=function(t,e,r){if("function"!=typeof e||r||(r=e,e={}),r&&"function"!=typeof r)throw new Error("invalid callback");return e||(e={}),Or.encryptKeystore(this,t,e,r)},e.createRandom=function(t){var r=Mr.randomBytes(16);t||(t={}),t.extraEntropy&&(r=c.arrayify(c.hexDataSlice(M.keccak256(c.concat([r,t.extraEntropy])),0,16)));var n=br.entropyToMnemonic(r,t.locale);return e.fromMnemonic(n,t.path,t.locale)},e.fromEncryptedJson=function(t,r,n){return Or.decryptJsonWallet(t,r,n).then((function(t){return new e(t)}))},e.fromEncryptedJsonSync=function(t,r){return new e(Or.decryptJsonWalletSync(t,r))},e.fromMnemonic=function(t,r,n){return r||(r=br.defaultPath),new e(br.HDNode.fromMnemonic(t,null,n).derivePath(r))},e}($.Signer);r.Wallet=s,r.verifyMessage=function(t,e){return dr.recoverAddress(q.hashMessage(t),e)}}))),Cr=(r(Tr),Tr.Wallet,Tr.verifyMessage,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="networks/5.0.3"}))),Br=(r(Cr),Cr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(Cr.version);function n(t){var e=function(e,r){null==r&&(r={});var n=[];if(e.InfuraProvider)try{n.push(new e.InfuraProvider(t,r.infura))}catch(t){}if(e.EtherscanProvider)try{n.push(new e.EtherscanProvider(t,r.etherscan))}catch(t){}if(e.AlchemyProvider)try{n.push(new e.AlchemyProvider(t,r.alchemy))}catch(t){}if(e.CloudflareProvider)try{n.push(new e.CloudflareProvider(t))}catch(t){}if(0===n.length)return null;if(e.FallbackProvider){var i=1;return null!=r.quorum?i=r.quorum:"homestead"===t&&(i=2),new e.FallbackProvider(n,i)}return n[0]};return e.renetwork=function(t){return n(t)},e}function i(t,e){var r=function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(t,e):null};return r.renetwork=function(e){return i(t,e)},r}var o={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:n("homestead")},s={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:n("ropsten")},a={chainId:63,name:"classicMordor",_defaultProvider:i("https://www.ethercluster.com/mordor","classicMordor")},u={unspecified:{chainId:0,name:"unspecified"},homestead:o,mainnet:o,morden:{chainId:2,name:"morden"},ropsten:s,testnet:s,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:n("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:n("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:n("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:i("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:a,classicTestnet:a,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:i("https://www.ethercluster.com/kotti","classicKotti")}};e.getNetwork=function(t){if(null==t)return null;if("number"==typeof t){for(var e in u){var n=u[e];if(n.chainId===t)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._defaultProvider||null}}return{chainId:t,name:"unknown"}}if("string"==typeof t){var i=u[t];return null==i?null:{name:i.name,chainId:i.chainId,ensAddress:i.ensAddress,_defaultProvider:i._defaultProvider||null}}var o=u[t.name];if(!o)return"number"!=typeof t.chainId&&r.throwArgumentError("invalid network chainId","network",t),t;0!==t.chainId&&t.chainId!==o.chainId&&r.throwArgumentError("network chainId mismatch","network",t);var s,a=t._defaultProvider||null;return null==a&&o._defaultProvider&&(a=(s=o._defaultProvider)&&"function"==typeof s.renetwork?o._defaultProvider.renetwork(t):o._defaultProvider),{name:t.name,chainId:o.chainId,ensAddress:t.ensAddress||o.ensAddress||null,_defaultProvider:a}}}))),Ir=(r(Br),Br.getNetwork,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.decode=function(t){t=atob(t);for(var e=[],r=0;r<t.length;r++)e.push(t.charCodeAt(r));return c.arrayify(e)},e.encode=function(t){t=c.arrayify(t);for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}}))),Fr=(r(Ir),Ir.decode,Ir.encode,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="web/5.0.7"}))),Lr=(r(Fr),Fr.version,n((function(t,r){var n=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},i=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0}),r.getUrl=function(t,e){return n(this,void 0,void 0,(function(){var r,n,o,s;return i(this,(function(i){switch(i.label){case 0:return null==e&&(e={}),r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0,mode:"cors",cache:"no-cache",credentials:"same-origin",redirect:"follow",referrer:"client"},[4,fetch(t,r)];case 1:return[4,(n=i.sent()).arrayBuffer()];case 2:return o=i.sent(),s={},n.headers.forEach?n.headers.forEach((function(t,e){s[e.toLowerCase()]=t})):n.headers.keys().forEach((function(t){s[t.toLowerCase()]=n.headers.get(t)})),[2,{headers:s,statusCode:n.status,statusMessage:n.statusText,body:c.arrayify(new Uint8Array(o))}]}}))}))}}))),Ur=(r(Lr),Lr.getUrl,n((function(t,r){var n=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},i=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Fr.version);function s(t){return new Promise((function(e){setTimeout(e,t)}))}function a(t,e){if(null==t)return null;if("string"==typeof t)return t;if(c.isBytesLike(t)){if(e&&("text"===e.split("/")[0]||"application/json"===e.split(";")[0].trim()))try{return D.toUtf8String(t)}catch(t){}return c.hexlify(t)}return t}function u(t,e,r){var u="object"==typeof t&&null!=t.throttleLimit?t.throttleLimit:12;o.assertArgument(u>0&&u%1==0,"invalid connection throttle limit","connection.throttleLimit",u);var h="object"==typeof t?t.throttleCallback:null,c="object"==typeof t&&"number"==typeof t.throttleSlotInterval?t.throttleSlotInterval:100;o.assertArgument(c>0&&c%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",c);var f={},d=null,p={method:"GET"},m=!1,g=12e4;if("string"==typeof t)d=t;else if("object"==typeof t){if(null!=t&&null!=t.url||o.throwArgumentError("missing URL","connection.url",t),d=t.url,"number"==typeof t.timeout&&t.timeout>0&&(g=t.timeout),t.headers)for(var v in t.headers)f[v.toLowerCase()]={key:v,value:String(t.headers[v])},["if-none-match","if-modified-since"].indexOf(v.toLowerCase())>=0&&(m=!0);if(null!=t.user&&null!=t.password){"https:"!==d.substring(0,6)&&!0!==t.allowInsecureAuthentication&&o.throwError("basic authentication requires a secure https url",l.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:d,user:t.user,password:"[REDACTED]"});var y=t.user+":"+t.password;f.authorization={key:"Authorization",value:"Basic "+Ir.encode(D.toUtf8Bytes(y))}}}e&&(p.method="POST",p.body=e,null==f["content-type"]&&(f["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==f["content-length"]&&(f["content-length"]={key:"Content-Length",value:String(e.length)}));var b={};Object.keys(f).forEach((function(t){var e=f[t];b[e.key]=e.value})),p.headers=b;var w,_=(w=null,{promise:new Promise((function(t,e){g&&(w=setTimeout((function(){null!=w&&(w=null,e(o.makeError("timeout",l.Logger.errors.TIMEOUT,{requestBody:a(p.body,b["content-type"]),requestMethod:p.method,timeout:g,url:d})))}),g))})),cancel:function(){null!=w&&(clearTimeout(w),w=null)}}),M=function(){return n(this,void 0,void 0,(function(){var t,e,n,f,g,v,y,w;return i(this,(function(i){switch(i.label){case 0:t=0,i.label=1;case 1:if(!(t<u))return[3,19];e=null,i.label=2;case 2:return i.trys.push([2,8,,9]),[4,Lr.getUrl(d,p)];case 3:return 429===(e=i.sent()).statusCode&&t<u?(w=!0,h?[4,h(t,d)]:[3,5]):[3,7];case 4:w=i.sent(),i.label=5;case 5:return w?(0,n=e.headers["retry-after"],[4,s("string"==typeof n&&n.match(/^[1-9][0-9]*$/)?1e3*parseInt(n):c*parseInt(String(Math.random()*Math.pow(2,t))))]):[3,7];case 6:return i.sent(),[3,18];case 7:return[3,9];case 8:return f=i.sent(),null==(e=f.response)&&(_.cancel(),o.throwError("missing response",l.Logger.errors.SERVER_ERROR,{requestBody:a(p.body,b["content-type"]),requestMethod:p.method,serverError:f,url:d})),[3,9];case 9:if(g=e.body,m&&304===e.statusCode?g=null:(e.statusCode<200||e.statusCode>=300)&&(_.cancel(),o.throwError("bad response",l.Logger.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:a(g,e.headers?e.headers["content-type"]:null),requestBody:a(p.body,b["content-type"]),requestMethod:p.method,url:d})),!r)return[3,17];i.label=10;case 10:return i.trys.push([10,12,,17]),[4,r(g,e)];case 11:return v=i.sent(),_.cancel(),[2,v];case 12:return(y=i.sent()).throttleRetry&&t<u?(w=!0,h?[4,h(t,d)]:[3,14]):[3,16];case 13:w=i.sent(),i.label=14;case 14:return w?[4,s(c*parseInt(String(Math.random()*Math.pow(2,t))))]:[3,16];case 15:return i.sent(),[3,18];case 16:return _.cancel(),o.throwError("processing response error",l.Logger.errors.SERVER_ERROR,{body:a(g,e.headers?e.headers["content-type"]:null),error:y,requestBody:a(p.body,b["content-type"]),requestMethod:p.method,url:d}),[3,17];case 17:return _.cancel(),[2,g];case 18:return t++,[3,1];case 19:return[2,o.throwError("failed response",l.Logger.errors.SERVER_ERROR,{requestBody:a(p.body,b["content-type"]),requestMethod:p.method,url:d})]}}))}))}();return Promise.race([_.promise,M])}r._fetchData=u,r.fetchJson=function(t,e,r){var n=null;if(null!=e){n=D.toUtf8Bytes(e);var i="string"==typeof t?{url:t}:v.shallowCopy(t);if(i.headers)0!==Object.keys(i.headers).filter((function(t){return"content-type"===t.toLowerCase()})).length||(i.headers=v.shallowCopy(i.headers),i.headers["content-type"]="application/json");else i.headers={"content-type":"application/json"};t=i}return u(t,n,(function(t,e){var n=null;if(null!=t)try{n=JSON.parse(D.toUtf8String(t))}catch(e){o.throwError("invalid JSON",l.Logger.errors.SERVER_ERROR,{body:t,error:e})}return r&&(n=r(n,e)),n}))},r.poll=function(t,e){return e||(e={}),null==(e=v.shallowCopy(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(r,n){var i=null,o=!1,s=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};e.timeout&&(i=setTimeout((function(){s()&&n(new Error("timeout"))}),e.timeout));var a=e.retryLimit,u=0;!function i(){return t().then((function(t){if(void 0!==t)s()&&r(t);else if(e.oncePoll)e.oncePoll.once("poll",i);else if(e.onceBlock)e.onceBlock.once("block",i);else if(!o){if(++u>a)return void(s()&&n(new Error("retry limit reached")));var l=e.interval*parseInt(String(Math.random()*Math.pow(2,u)));l<e.floor&&(l=e.floor),l>e.ceiling&&(l=e.ceiling),setTimeout(i,l)}return null}),(function(t){s()&&n(t)}))}()}))}}))),jr=(r(Ur),Ur._fetchData,Ur.fetchJson,Ur.poll,"qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Dr={},zr=0;zr<jr.length;zr++){var Hr=jr.charAt(zr);if(void 0!==Dr[Hr])throw new TypeError(Hr+" is ambiguous");Dr[Hr]=zr}function Kr(t){var e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function Wr(t){for(var e=1,r=0;r<t.length;++r){var n=t.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+t+")";e=Kr(e)^n>>5}for(e=Kr(e),r=0;r<t.length;++r){var i=t.charCodeAt(r);e=Kr(e)^31&i}return e}function qr(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),n=t.toUpperCase();if(t!==r&&t!==n)return"Mixed-case string "+t;var i=(t=r).lastIndexOf("1");if(-1===i)return"No separator character for "+t;if(0===i)return"Missing prefix for "+t;var o=t.slice(0,i),s=t.slice(i+1);if(s.length<6)return"Data too short";var a=Wr(o);if("string"==typeof a)return a;for(var u=[],l=0;l<s.length;++l){var h=s.charAt(l),c=Dr[h];if(void 0===c)return"Unknown character "+h;a=Kr(a)^c,l+6>=s.length||u.push(c)}return 1!==a?"Invalid checksum for "+t:{prefix:o,words:u}}function Gr(t,e,r,n){for(var i=0,o=0,s=(1<<r)-1,a=[],u=0;u<t.length;++u)for(i=i<<e|t[u],o+=e;o>=r;)o-=r,a.push(i>>o&s);if(n)o>0&&a.push(i<<r-o&s);else{if(o>=e)return"Excess padding";if(i<<r-o&s)return"Non-zero padding"}return a}var Vr={decodeUnsafe:function(){var t=qr.apply(null,arguments);if("object"==typeof t)return t},decode:function(t){var e=qr.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,e,r){if(r=r||90,t.length+7+e.length>r)throw new TypeError("Exceeds length limit");var n=Wr(t=t.toLowerCase());if("string"==typeof n)throw new Error(n);for(var i=t+"1",o=0;o<e.length;++o){var s=e[o];if(s>>5!=0)throw new Error("Non 5-bit word");n=Kr(n)^s,i+=jr.charAt(s)}for(o=0;o<6;++o)n=Kr(n);for(n^=1,o=0;o<6;++o){i+=jr.charAt(n>>5*(5-o)&31)}return i},toWordsUnsafe:function(t){var e=Gr(t,8,5,!0);if(Array.isArray(e))return e},toWords:function(t){var e=Gr(t,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(t){var e=Gr(t,5,8,!1);if(Array.isArray(e))return e},fromWords:function(t){var e=Gr(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}},Jr=(Vr.decodeUnsafe,Vr.decode,Vr.encode,Vr.toWordsUnsafe,Vr.toWords,Vr.fromWordsUnsafe,Vr.fromWords,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="providers/5.0.9"}))),Zr=(r(Jr),Jr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(Jr.version),n=function(){function t(){var e=this.constructor;r.checkNew(e,t),this.formats=this.getDefaultFormats()}return t.prototype.getDefaultFormats=function(){var e=this,r={},n=this.address.bind(this),i=this.bigNumber.bind(this),o=this.blockTag.bind(this),s=this.data.bind(this),a=this.hash.bind(this),u=this.hex.bind(this),l=this.number.bind(this);return r.transaction={hash:a,blockHash:t.allowNull(a,null),blockNumber:t.allowNull(l,null),transactionIndex:t.allowNull(l,null),confirmations:t.allowNull(l,null),from:n,gasPrice:i,gasLimit:i,to:t.allowNull(n,null),value:i,nonce:l,data:s,r:t.allowNull(this.uint256),s:t.allowNull(this.uint256),v:t.allowNull(l),creates:t.allowNull(n,null),raw:t.allowNull(s)},r.transactionRequest={from:t.allowNull(n),nonce:t.allowNull(l),gasLimit:t.allowNull(i),gasPrice:t.allowNull(i),to:t.allowNull(n),value:t.allowNull(i),data:t.allowNull((function(t){return e.data(t,!0)}))},r.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:a,address:n,topics:t.arrayOf(a),data:s,logIndex:l,blockHash:a},r.receipt={to:t.allowNull(this.address,null),from:t.allowNull(this.address,null),contractAddress:t.allowNull(n,null),transactionIndex:l,root:t.allowNull(a),gasUsed:i,logsBloom:t.allowNull(s),blockHash:a,transactionHash:a,logs:t.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:t.allowNull(l,null),cumulativeGasUsed:i,status:t.allowNull(l)},r.block={hash:a,parentHash:a,number:l,timestamp:l,nonce:t.allowNull(u),difficulty:this.difficulty.bind(this),gasLimit:i,gasUsed:i,miner:n,extraData:s,transactions:t.allowNull(t.arrayOf(a))},r.blockWithTransactions=v.shallowCopy(r.block),r.blockWithTransactions.transactions=t.allowNull(t.arrayOf(this.transactionResponse.bind(this))),r.filter={fromBlock:t.allowNull(o,void 0),toBlock:t.allowNull(o,void 0),blockHash:t.allowNull(a,void 0),address:t.allowNull(n,void 0),topics:t.allowNull(this.topics.bind(this),void 0)},r.filterLog={blockNumber:t.allowNull(l),blockHash:t.allowNull(a),transactionIndex:l,removed:t.allowNull(this.boolean.bind(this)),address:n,data:t.allowFalsish(s,"0x"),topics:t.arrayOf(a),transactionHash:a,logIndex:l},r},t.prototype.number=function(t){return m.BigNumber.from(t).toNumber()},t.prototype.bigNumber=function(t){return m.BigNumber.from(t)},t.prototype.boolean=function(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)},t.prototype.hex=function(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),c.isHexString(t))?t.toLowerCase():r.throwArgumentError("invalid hash","value",t)},t.prototype.data=function(t,e){var r=this.hex(t,e);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+t);return r},t.prototype.address=function(t){return P.getAddress(t)},t.prototype.callAddress=function(t){if(!c.isHexString(t,32))return null;var e=P.getAddress(c.hexDataSlice(t,12));return e===B.AddressZero?null:e},t.prototype.contractAddress=function(t){return P.getContractAddress(t)},t.prototype.blockTag=function(t){if(null==t)return"latest";if("earliest"===t)return"0x0";if("latest"===t||"pending"===t)return t;if("number"==typeof t||c.isHexString(t))return c.hexValue(t);throw new Error("invalid blockTag")},t.prototype.hash=function(t,e){var n=this.hex(t,e);return 32!==c.hexDataLength(n)?r.throwArgumentError("invalid hash","value",t):n},t.prototype.difficulty=function(t){if(null==t)return null;var e=m.BigNumber.from(t);try{return e.toNumber()}catch(t){}return null},t.prototype.uint256=function(t){if(!c.isHexString(t))throw new Error("invalid uint256");return c.hexZeroPad(t,32)},t.prototype._block=function(e,r){return null!=e.author&&null==e.miner&&(e.miner=e.author),t.check(r,e)},t.prototype.block=function(t){return this._block(t,this.formats.block)},t.prototype.blockWithTransactions=function(t){return this._block(t,this.formats.blockWithTransactions)},t.prototype.transactionRequest=function(e){return t.check(this.formats.transactionRequest,e)},t.prototype.transactionResponse=function(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&m.BigNumber.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e));var r=t.check(this.formats.transaction,e);if(null!=e.chainId){var n=e.chainId;c.isHexString(n)&&(n=m.BigNumber.from(n).toNumber()),r.chainId=n}else{null==(n=e.networkId)&&null==r.v&&(n=e.chainId),c.isHexString(n)&&(n=m.BigNumber.from(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.chainId=n}return r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r},t.prototype.transaction=function(t){return dr.parse(t)},t.prototype.receiptLog=function(e){return t.check(this.formats.receiptLog,e)},t.prototype.receipt=function(e){var r=t.check(this.formats.receipt,e);return null!=e.status&&(r.byzantium=!0),r},t.prototype.topics=function(t){var e=this;return Array.isArray(t)?t.map((function(t){return e.topics(t)})):null!=t?this.hash(t,!0):null},t.prototype.filter=function(e){return t.check(this.formats.filter,e)},t.prototype.filterLog=function(e){return t.check(this.formats.filterLog,e)},t.check=function(t,e){var r={};for(var n in t)try{var i=t[n](e[n]);void 0!==i&&(r[n]=i)}catch(t){throw t.checkKey=n,t.checkValue=e[n],t}return r},t.allowNull=function(t,e){return function(r){return null==r?e:t(r)}},t.allowFalsish=function(t,e){return function(r){return r?t(r):e}},t.arrayOf=function(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");var r=[];return e.forEach((function(e){r.push(t(e))})),r}},t}();e.Formatter=n;var i=!1;e.showThrottleMessage=function(){i||(i=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded  (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}}))),Xr=(r(Zr),Zr.Formatter,Zr.showThrottleMessage,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version);function u(t){return null==t?"null":(32!==c.hexDataLength(t)&&a.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function h(t){for(t=t.slice();t.length>0&&null==t[t.length-1];)t.pop();return t.map((function(t){if(Array.isArray(t)){var e={};t.forEach((function(t){e[u(t)]=!0}));var r=Object.keys(e);return r.sort(),r.join("|")}return u(t)})).join("&")}function f(t){if("string"==typeof t){if(t=t.toLowerCase(),32===c.hexDataLength(t))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+h(t);if(Z.ForkEvent.isForkEvent(t))throw a.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+h(t.topics||[])}throw new Error("invalid event - "+t)}function d(){return(new Date).getTime()}var p=["block","network","pending","poll"],g=function(){function t(t,e,r){v.defineReadOnly(this,"tag",t),v.defineReadOnly(this,"listener",e),v.defineReadOnly(this,"once",r)}return Object.defineProperty(t.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hash",{get:function(){var t=this.tag.split(":");return"tx"!==t[0]?null:t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"filter",{get:function(){var t=this.tag.split(":");if("filter"!==t[0])return null;var e,r=t[1],n=""===(e=t[2])?[]:e.split(/&/g).map((function(t){if(""===t)return[];var e=t.split("|").map((function(t){return"null"===t?null:t}));return 1===e.length?e[0]:e})),i={};return n.length>0&&(i.topics=n),r&&"*"!==r&&(i.address=r),i},enumerable:!0,configurable:!0}),t.prototype.pollable=function(){return this.tag.indexOf(":")>=0||p.indexOf(this.tag)>=0},t}();r.Event=g;var y={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function b(t){return c.hexZeroPad(m.BigNumber.from(t).toHexString(),32)}function w(t){return tt.Base58.encode(c.concat([t,c.hexDataSlice(Me.sha256(Me.sha256(t)),0,4)]))}var _=function(){function t(t,e,r){v.defineReadOnly(this,"provider",t),v.defineReadOnly(this,"name",r),v.defineReadOnly(this,"address",t.formatter.address(e))}return t.prototype._fetchBytes=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i,o;return s(this,(function(s){switch(s.label){case 0:return r={to:this.address,data:c.hexConcat([t,q.namehash(this.name),e||"0x"])},[4,this.provider.call(r)];case 1:return"0x"===(n=s.sent())?[2,null]:(i=m.BigNumber.from(c.hexDataSlice(n,0,32)).toNumber(),o=m.BigNumber.from(c.hexDataSlice(n,i,i+32)).toNumber(),[2,c.hexDataSlice(n,i+32,i+32+o)])}}))}))},t.prototype._getAddress=function(t,e){var r=y[String(t)];if(null==r&&a.throwError("unsupported coin type: "+t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress("+t+")"}),"eth"===r.ilk)return this.provider.formatter.address(e);var n=c.arrayify(e);if(null!=r.p2pkh){var i=e.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(i){var o=parseInt(i[1],16);if(i[2].length===2*o&&o>=1&&o<=75)return w(c.concat([[r.p2pkh],"0x"+i[2]]))}}if(null!=r.p2sh){var s=e.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(s){var u=parseInt(s[1],16);if(s[2].length===2*u&&u>=1&&u<=75)return w(c.concat([[r.p2sh],"0x"+s[2]]))}}if(null!=r.prefix){var h=n[1],f=n[0];if(0===f?20!==h&&32!==h&&(f=-1):f=-1,f>=0&&n.length===2+h&&h>=1&&h<=75){var d=Vr.toWords(n.slice(2));return d.unshift(f),Vr.encode(r.prefix,d)}}return null},t.prototype.getAddress=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i;return s(this,(function(o){switch(o.label){case 0:return null==t&&(t=60),60!==t?[3,2]:(e={to:this.address,data:"0x3b3b57de"+q.namehash(this.name).substring(2)},[4,this.provider.call(e)]);case 1:return"0x"===(r=o.sent())||r===B.HashZero?[2,null]:[2,this.provider.formatter.callAddress(r)];case 2:return[4,this._fetchBytes("0xf1cb7e06",b(t))];case 3:return null==(n=o.sent())||"0x"===n?[2,null]:(null==(i=this._getAddress(t,n))&&a.throwError("invalid or unsupported coin data",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress("+t+")",coinType:t,data:n}),[2,i])}}))}))},t.prototype.getContentHash=function(){return o(this,void 0,void 0,(function(){var t,e,r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this._fetchBytes("0xbc1c58d1")];case 1:return null==(t=i.sent())||"0x"===t?[2,null]:(e=t.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/))&&(r=parseInt(e[3],16),e[4].length===2*r)?[2,"ipfs://"+tt.Base58.encode("0x"+e[1])]:(n=t.match(/^0xe40101fa011b20([0-9a-f]*)$/))&&64===n[1].length?[2,"bzz://"+n[1]]:[2,a.throwError("invalid or unsupported content hash data",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:t})]}}))}))},t.prototype.getText=function(t){return o(this,void 0,void 0,(function(){var e,r;return s(this,(function(n){switch(n.label){case 0:return e=D.toUtf8Bytes(t),(e=c.concat([b(64),b(e.length),e])).length%32!=0&&(e=c.concat([e,c.hexZeroPad("0x",32-t.length%32)])),[4,this._fetchBytes("0x59d1d43c",c.hexlify(e))];case 1:return null==(r=n.sent())||"0x"===r?[2,null]:[2,D.toUtf8String(r)]}}))}))},t}();r.Resolver=_;var M=null,E=1,k=function(t){function e(e){var r=this.constructor,n=this;if(a.checkNew(r,Z.Provider),(n=t.call(this)||this)._events=[],n._emitted={block:-2},n.formatter=r.getFormatter(),v.defineReadOnly(n,"anyNetwork","any"===e),n.anyNetwork&&(e=n.detectNetwork()),e instanceof Promise)n._networkPromise=e,e.catch((function(t){})),n._ready().catch((function(t){}));else{var i=v.getStatic(r,"getNetwork")(e);i?(v.defineReadOnly(n,"_network",i),n.emit("network",i,null)):a.throwArgumentError("invalid network","network",e)}return n._maxInternalBlockNumber=-1024,n._lastBlockNumber=-2,n._pollingInterval=4e3,n._fastQueryDate=0,n}return i(e,t),e.prototype._ready=function(){return o(this,void 0,void 0,(function(){var t;return s(this,(function(e){switch(e.label){case 0:if(null!=this._network)return[3,7];if(t=null,!this._networkPromise)return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this._networkPromise];case 2:return t=e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return null!=t?[3,6]:[4,this.detectNetwork()];case 5:t=e.sent(),e.label=6;case 6:t||a.throwError("no network detected",l.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:v.defineReadOnly(this,"_network",t),this.emit("network",t,null)),e.label=7;case 7:return[2,this._network]}}))}))},Object.defineProperty(e.prototype,"ready",{get:function(){var t=this;return Ur.poll((function(){return t._ready().then((function(t){return t}),(function(t){if(t.code!==l.Logger.errors.NETWORK_ERROR||"noNetwork"!==t.event)throw t}))}))},enumerable:!0,configurable:!0}),e.getFormatter=function(){return null==M&&(M=new Zr.Formatter),M},e.getNetwork=function(t){return Br.getNetwork(null==t?"homestead":t)},e.prototype._getInternalBlockNumber=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i,o=this;return s(this,(function(s){switch(s.label){case 0:return[4,this._ready()];case 1:return s.sent(),e=this._internalBlockNumber,t>0&&this._internalBlockNumber?[4,e]:[3,3];case 2:if(r=s.sent(),d()-r.respTime<=t)return[2,r.blockNumber];s.label=3;case 3:return n=d(),i=v.resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(t){return null}),(function(t){return t}))}).then((function(t){var e=t.blockNumber,r=t.networkError;if(r)throw o._internalBlockNumber===i&&(o._internalBlockNumber=null),r;var s=d();return(e=m.BigNumber.from(e).toNumber())<o._maxInternalBlockNumber&&(e=o._maxInternalBlockNumber),o._maxInternalBlockNumber=e,o._setFastBlockNumber(e),{blockNumber:e,reqTime:n,respTime:s}})),this._internalBlockNumber=i,[4,i];case 4:return[2,s.sent().blockNumber]}}))}))},e.prototype.poll=function(){return o(this,void 0,void 0,(function(){var t,e,r,n,i=this;return s(this,(function(o){switch(o.label){case 0:return t=E++,e=[],[4,this._getInternalBlockNumber(100+this.pollingInterval/2)];case 1:if(r=o.sent(),this._setFastBlockNumber(r),this.emit("poll",t,r),r===this._lastBlockNumber)return this.emit("didPoll",t),[2];if(-2===this._emitted.block&&(this._emitted.block=r-1),Math.abs(this._emitted.block-r)>1e3)a.warn("network block skew detected; skipping block events"),this.emit("error",a.makeError("network block skew detected",l.Logger.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(n=this._emitted.block+1;n<=r;n++)this.emit("block",n);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((function(t){if("block"!==t){var e=i._emitted[t];"pending"!==e&&r-e>12&&delete i._emitted[t]}}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((function(t){switch(t.type){case"tx":var n=t.hash,o=i.getTransactionReceipt(n).then((function(t){return t&&null!=t.blockNumber?(i._emitted["t:"+n]=t.blockNumber,i.emit(n,t),null):null})).catch((function(t){i.emit("error",t)}));e.push(o);break;case"filter":var s=t.filter;s.fromBlock=i._lastBlockNumber+1,s.toBlock=r;o=i.getLogs(s).then((function(t){0!==t.length&&t.forEach((function(t){i._emitted["b:"+t.blockHash]=t.blockNumber,i._emitted["t:"+t.transactionHash]=t.blockNumber,i.emit(s,t)}))})).catch((function(t){i.emit("error",t)}));e.push(o)}})),this._lastBlockNumber=r,Promise.all(e).then((function(){i.emit("didPoll",t)})),[2,null]}}))}))},e.prototype.resetEventsBlock=function(t){this._lastBlockNumber=t-1,this.polling&&this.poll()},Object.defineProperty(e.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,a.throwError("provider does not support network detection",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))},e.prototype.getNetwork=function(){return o(this,void 0,void 0,(function(){var t,e,r;return s(this,(function(n){switch(n.label){case 0:return[4,this._ready()];case 1:return t=n.sent(),[4,this.detectNetwork()];case 2:return e=n.sent(),t.chainId===e.chainId?[3,5]:this.anyNetwork?(this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,t),[4,(i=0,new Promise((function(t){setTimeout(t,i)})))]):[3,4];case 3:return n.sent(),[2,this._network];case 4:throw r=a.makeError("underlying network changed",l.Logger.errors.NETWORK_ERROR,{event:"changed",network:t,detectedNetwork:e}),this.emit("error",r),r;case 5:return[2,t]}var i}))}))},Object.defineProperty(e.prototype,"blockNumber",{get:function(){var t=this;return this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(e){t._setFastBlockNumber(e)})),null!=this._fastBlockNumber?this._fastBlockNumber:-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"polling",{get:function(){return null!=this._poller},set:function(t){var e=this;t&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((function(){e.poll(),e._bootstrapPoll=setTimeout((function(){e._poller||e.poll(),e._bootstrapPoll=null}),e.pollingInterval)}),0))):!t&&this._poller&&(clearInterval(this._poller),this._poller=null)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(t){var e=this;if("number"!=typeof t||t<=0||parseInt(String(t))!=t)throw new Error("invalid polling interval");this._pollingInterval=t,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){e.poll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),e.prototype._getFastBlockNumber=function(){var t=this,e=d();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then((function(e){return(null==t._fastBlockNumber||e>t._fastBlockNumber)&&(t._fastBlockNumber=e),t._fastBlockNumber}))),this._fastBlockNumberPromise},e.prototype._setFastBlockNumber=function(t){null!=this._fastBlockNumber&&t<this._fastBlockNumber||(this._fastQueryDate=d(),(null==this._fastBlockNumber||t>this._fastBlockNumber)&&(this._fastBlockNumber=t,this._fastBlockNumberPromise=Promise.resolve(t)))},e.prototype.waitForTransaction=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i=this;return s(this,(function(o){switch(o.label){case 0:return null==e&&(e=1),[4,this.getTransactionReceipt(t)];case 1:return((n=o.sent())?n.confirmations:0)>=e?[2,n]:[2,new Promise((function(n,o){var s=null,u=!1,h=function(r){r.confirmations<e||(s&&clearTimeout(s),u||(u=!0,i.removeListener(t,h),n(r)))};i.on(t,h),"number"==typeof r&&r>0&&(s=setTimeout((function(){u||(s=null,u=!0,i.removeListener(t,h),o(a.makeError("timeout exceeded",l.Logger.errors.TIMEOUT,{timeout:r})))}),r)).unref&&s.unref()}))]}}))}))},e.prototype.getBlockNumber=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,this._getInternalBlockNumber(0)]}))}))},e.prototype.getGasPrice=function(){return o(this,void 0,void 0,(function(){var t,e;return s(this,(function(r){switch(r.label){case 0:return[4,this.getNetwork()];case 1:return r.sent(),e=(t=m.BigNumber).from,[4,this.perform("getGasPrice",{})];case 2:return[2,e.apply(t,[r.sent()])]}}))}))},e.prototype.getBalance=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=o.sent(),i=(n=m.BigNumber).from,[4,this.perform("getBalance",r)];case 3:return[2,i.apply(n,[o.sent()])]}}))}))},e.prototype.getTransactionCount=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=o.sent(),i=(n=m.BigNumber).from,[4,this.perform("getTransactionCount",r)];case 3:return[2,i.apply(n,[o.sent()]).toNumber()]}}))}))},e.prototype.getCode=function(t,e){return o(this,void 0,void 0,(function(){var r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=i.sent(),n=c.hexlify,[4,this.perform("getCode",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},e.prototype.getStorageAt=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(r),position:Promise.resolve(e).then((function(t){return c.hexValue(t)}))})];case 2:return n=o.sent(),i=c.hexlify,[4,this.perform("getStorageAt",n)];case 3:return[2,i.apply(void 0,[o.sent()])]}}))}))},e.prototype._wrapTransaction=function(t,e){var r=this;if(null!=e&&32!==c.hexDataLength(e))throw new Error("invalid response - sendTransaction");var n=t;return null!=e&&t.hash!==e&&a.throwError("Transaction hash mismatch from Provider.sendTransaction.",l.Logger.errors.UNKNOWN_ERROR,{expectedHash:t.hash,returnedHash:e}),n.wait=function(e){return o(r,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:return 0!==e&&(this._emitted["t:"+t.hash]="pending"),[4,this.waitForTransaction(t.hash,e)];case 1:return null==(r=n.sent())&&0===e?[2,null]:(this._emitted["t:"+t.hash]=r.blockNumber,0===r.status&&a.throwError("transaction failed",l.Logger.errors.CALL_EXCEPTION,{transactionHash:t.hash,transaction:t,receipt:r}),[2,r])}}))}))},n},e.prototype.sendTransaction=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,Promise.resolve(t).then((function(t){return c.hexlify(t)}))];case 2:e=o.sent(),r=this.formatter.transaction(t),o.label=3;case 3:return o.trys.push([3,5,,6]),[4,this.perform("sendTransaction",{signedTransaction:e})];case 4:return n=o.sent(),[2,this._wrapTransaction(r,n)];case 5:throw(i=o.sent()).transaction=r,i.transactionHash=r.hash,i;case 6:return[2]}}))}))},e.prototype._getTransactionRequest=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i,o=this;return s(this,(function(s){switch(s.label){case 0:return[4,t];case 1:return e=s.sent(),r={},["from","to"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?o._getAddress(t):null})))})),["gasLimit","gasPrice","value"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?m.BigNumber.from(t):null})))})),["data"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?c.hexlify(t):null})))})),i=(n=this.formatter).transactionRequest,[4,v.resolveProperties(r)];case 2:return[2,i.apply(n,[s.sent()])]}}))}))},e.prototype._getFilter=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i=this;return s(this,(function(o){switch(o.label){case 0:return[4,t];case 1:return t=o.sent(),e={},null!=t.address&&(e.address=this._getAddress(t.address)),["blockHash","topics"].forEach((function(r){null!=t[r]&&(e[r]=t[r])})),["fromBlock","toBlock"].forEach((function(r){null!=t[r]&&(e[r]=i._getBlockTag(t[r]))})),n=(r=this.formatter).filter,[4,v.resolveProperties(e)];case 2:return[2,n.apply(r,[o.sent()])]}}))}))},e.prototype.call=function(t,e){return o(this,void 0,void 0,(function(){var r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(t),blockTag:this._getBlockTag(e)})];case 2:return r=i.sent(),n=c.hexlify,[4,this.perform("call",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},e.prototype.estimateGas=function(t){return o(this,void 0,void 0,(function(){var e,r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(t)})];case 2:return e=i.sent(),n=(r=m.BigNumber).from,[4,this.perform("estimateGas",e)];case 3:return[2,n.apply(r,[i.sent()])]}}))}))},e.prototype._getAddress=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return[4,this.resolveName(t)];case 1:return null==(e=r.sent())&&a.throwError("ENS name not configured",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(t)+")"}),[2,e]}}))}))},e.prototype._getBlock=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i,u,l,h=this;return s(this,(function(f){switch(f.label){case 0:return[4,this.getNetwork()];case 1:return f.sent(),[4,t];case 2:return t=f.sent(),r=-128,n={includeTransactions:!!e},c.isHexString(t,32)?(n.blockHash=t,[3,6]):[3,3];case 3:return f.trys.push([3,5,,6]),i=n,l=(u=this.formatter).blockTag,[4,this._getBlockTag(t)];case 4:return i.blockTag=l.apply(u,[f.sent()]),c.isHexString(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16)),[3,6];case 5:return f.sent(),a.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",t),[3,6];case 6:return[2,Ur.poll((function(){return o(h,void 0,void 0,(function(){var t,i,o,a,u;return s(this,(function(s){switch(s.label){case 0:return[4,this.perform("getBlock",n)];case 1:if(null==(t=s.sent()))return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?[2,null]:[2,void 0];if(!e)return[3,8];i=null,o=0,s.label=2;case 2:return o<t.transactions.length?null!=(a=t.transactions[o]).blockNumber?[3,3]:(a.confirmations=0,[3,6]):[3,7];case 3:return null!=a.confirmations?[3,6]:null!=i?[3,5]:[4,this._getInternalBlockNumber(100+2*this.pollingInterval)];case 4:i=s.sent(),s.label=5;case 5:(u=i-a.blockNumber+1)<=0&&(u=1),a.confirmations=u,s.label=6;case 6:return o++,[3,2];case 7:return[2,this.formatter.blockWithTransactions(t)];case 8:return[2,this.formatter.block(t)]}}))}))}),{oncePoll:this})]}}))}))},e.prototype.getBlock=function(t){return this._getBlock(t,!1)},e.prototype.getBlockWithTransactions=function(t){return this._getBlock(t,!0)},e.prototype.getTransaction=function(t){return o(this,void 0,void 0,(function(){var e,r=this;return s(this,(function(n){switch(n.label){case 0:return[4,this.getNetwork()];case 1:return n.sent(),[4,t];case 2:return t=n.sent(),e={transactionHash:this.formatter.hash(t,!0)},[2,Ur.poll((function(){return o(r,void 0,void 0,(function(){var r,n,i,o;return s(this,(function(s){switch(s.label){case 0:return[4,this.perform("getTransaction",e)];case 1:return null==(r=s.sent())?null==this._emitted["t:"+t]?[2,null]:[2,void 0]:null!=(n=this.formatter.transactionResponse(r)).blockNumber?[3,2]:(n.confirmations=0,[3,4]);case 2:return null!=n.confirmations?[3,4]:[4,this._getInternalBlockNumber(100+2*this.pollingInterval)];case 3:i=s.sent(),(o=i-n.blockNumber+1)<=0&&(o=1),n.confirmations=o,s.label=4;case 4:return[2,this._wrapTransaction(n)]}}))}))}),{oncePoll:this})]}}))}))},e.prototype.getTransactionReceipt=function(t){return o(this,void 0,void 0,(function(){var e,r=this;return s(this,(function(n){switch(n.label){case 0:return[4,this.getNetwork()];case 1:return n.sent(),[4,t];case 2:return t=n.sent(),e={transactionHash:this.formatter.hash(t,!0)},[2,Ur.poll((function(){return o(r,void 0,void 0,(function(){var r,n,i,o;return s(this,(function(s){switch(s.label){case 0:return[4,this.perform("getTransactionReceipt",e)];case 1:return null==(r=s.sent())?null==this._emitted["t:"+t]?[2,null]:[2,void 0]:null==r.blockHash?[2,void 0]:null!=(n=this.formatter.receipt(r)).blockNumber?[3,2]:(n.confirmations=0,[3,4]);case 2:return null!=n.confirmations?[3,4]:[4,this._getInternalBlockNumber(100+2*this.pollingInterval)];case 3:i=s.sent(),(o=i-n.blockNumber+1)<=0&&(o=1),n.confirmations=o,s.label=4;case 4:return[2,n]}}))}))}),{oncePoll:this})]}}))}))},e.prototype.getLogs=function(t){return o(this,void 0,void 0,(function(){var e,r;return s(this,(function(n){switch(n.label){case 0:return[4,this.getNetwork()];case 1:return n.sent(),[4,v.resolveProperties({filter:this._getFilter(t)})];case 2:return e=n.sent(),[4,this.perform("getLogs",e)];case 3:return(r=n.sent()).forEach((function(t){null==t.removed&&(t.removed=!1)})),[2,Zr.Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)]}}))}))},e.prototype.getEtherPrice=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,this.getNetwork()];case 1:return t.sent(),[2,this.perform("getEtherPrice",{})]}}))}))},e.prototype._getBlockTag=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return[4,t];case 1:return"number"==typeof(t=r.sent())&&t<0?(t%1&&a.throwArgumentError("invalid BlockTag","blockTag",t),[4,this._getInternalBlockNumber(100+2*this.pollingInterval)]):[3,3];case 2:return e=r.sent(),(e+=t)<0&&(e=0),[2,this.formatter.blockTag(e)];case 3:return[2,this.formatter.blockTag(t)]}}))}))},e.prototype.getResolver=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return[4,this._getResolver(t)];case 1:return null==(e=r.sent())?[2,null]:[2,new _(this,e,t)]}}))}))},e.prototype._getResolver=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return(e=o.sent()).ensAddress||a.throwError("network does not support ENS",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:e.name}),r={to:e.ensAddress,data:"0x0178b8bf"+q.namehash(t).substring(2)},i=(n=this.formatter).callAddress,[4,this.call(r)];case 2:return[2,i.apply(n,[o.sent()])]}}))}))},e.prototype.resolveName=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return[4,t];case 1:t=r.sent();try{return[2,Promise.resolve(this.formatter.address(t))]}catch(e){if(c.isHexString(t))throw e}return"string"!=typeof t&&a.throwArgumentError("invalid ENS name","name",t),[4,this.getResolver(t)];case 2:return(e=r.sent())?[4,e.getAddress()]:[2,null];case 3:return[2,r.sent()]}}))}))},e.prototype.lookupAddress=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i,o,a;return s(this,(function(s){switch(s.label){case 0:return[4,t];case 1:return t=s.sent(),t=this.formatter.address(t),e=t.substring(2).toLowerCase()+".addr.reverse",[4,this._getResolver(e)];case 2:return(r=s.sent())?(i=c.arrayify,[4,this.call({to:r,data:"0x691f3431"+q.namehash(e).substring(2)})]):[2,null];case 3:return(n=i.apply(void 0,[s.sent()])).length<32||!m.BigNumber.from(n.slice(0,32)).eq(32)||(n=n.slice(32)).length<32?[2,null]:(o=m.BigNumber.from(n.slice(0,32)).toNumber(),n=n.slice(32),o>n.length?[2,null]:(a=D.toUtf8String(n.slice(0,o)),[4,this.resolveName(a)]));case 4:return s.sent()!=t?[2,null]:[2,a]}}))}))},e.prototype.perform=function(t,e){return a.throwError(t+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:t})},e.prototype._startEvent=function(t){this.polling=this._events.filter((function(t){return t.pollable()})).length>0},e.prototype._stopEvent=function(t){this.polling=this._events.filter((function(t){return t.pollable()})).length>0},e.prototype._addEventListener=function(t,e,r){var n=new g(f(t),e,r);return this._events.push(n),this._startEvent(n),this},e.prototype.on=function(t,e){return this._addEventListener(t,e,!1)},e.prototype.once=function(t,e){return this._addEventListener(t,e,!0)},e.prototype.emit=function(t){for(var e=this,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=!1,o=[],s=f(t);return this._events=this._events.filter((function(t){return t.tag!==s||(setTimeout((function(){t.listener.apply(e,r)}),0),i=!0,!t.once||(o.push(t),!1))})),o.forEach((function(t){e._stopEvent(t)})),i},e.prototype.listenerCount=function(t){if(!t)return this._events.length;var e=f(t);return this._events.filter((function(t){return t.tag===e})).length},e.prototype.listeners=function(t){if(null==t)return this._events.map((function(t){return t.listener}));var e=f(t);return this._events.filter((function(t){return t.tag===e})).map((function(t){return t.listener}))},e.prototype.off=function(t,e){var r=this;if(null==e)return this.removeAllListeners(t);var n=[],i=!1,o=f(t);return this._events=this._events.filter((function(t){return t.tag!==o||t.listener!=e||(!!i||(i=!0,n.push(t),!1))})),n.forEach((function(t){r._stopEvent(t)})),this},e.prototype.removeAllListeners=function(t){var e=this,r=[];if(null==t)r=this._events,this._events=[];else{var n=f(t);this._events=this._events.filter((function(t){return t.tag!==n||(r.push(t),!1)}))}return r.forEach((function(t){e._stopEvent(t)})),this},e}(Z.Provider);r.BaseProvider=k}))),$r=(r(Xr),Xr.Event,Xr.Resolver,Xr.BaseProvider,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(t){var n=new l.Logger(Jr.version);r=function(){n.throwError("WebSockets not supported in this environment",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}t.exports=r}))),Qr=(r($r),n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version),u=["call","estimateGas"];function h(t,e,r){var n=e.message;e.code===l.Logger.errors.SERVER_ERROR&&e.error&&"string"==typeof e.error.message?n=e.error.message:"string"==typeof e.body?n=e.body:"string"==typeof e.responseText&&(n=e.responseText),n=(n||"").toLowerCase();var i=r.transaction||r.signedTransaction;throw n.match(/insufficient funds/)&&a.throwError("insufficient funds for intrinsic transaction cost",l.Logger.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:i}),n.match(/nonce too low/)&&a.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{error:e,method:t,transaction:i}),n.match(/replacement transaction underpriced/)&&a.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:i}),u.indexOf(t)>=0&&n.match(/gas required exceeds allowance|always failing transaction|execution reverted/)&&a.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:i}),e}function f(t){return new Promise((function(e){setTimeout(e,t)}))}function d(t){if(t.error){var e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function p(t){return t?t.toLowerCase():t}var g={},y=function(t){function e(r,n,i){var o=this.constructor,s=this;if(a.checkNew(o,e),s=t.call(this)||this,r!==g)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");return v.defineReadOnly(s,"provider",n),null==i&&(i=0),"string"==typeof i?(v.defineReadOnly(s,"_address",s.provider.formatter.address(i)),v.defineReadOnly(s,"_index",null)):"number"==typeof i?(v.defineReadOnly(s,"_index",i),v.defineReadOnly(s,"_address",null)):a.throwArgumentError("invalid address or index","addressOrIndex",i),s}return i(e,t),e.prototype.connect=function(t){return a.throwError("cannot alter JSON-RPC Signer connection",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"connect"})},e.prototype.connectUnchecked=function(){return new b(g,this.provider,this._address||this._index)},e.prototype.getAddress=function(){var t=this;return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((function(e){return e.length<=t._index&&a.throwError("unknown account #"+t._index,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),t.provider.formatter.address(e[t._index])}))},e.prototype.sendUncheckedTransaction=function(t){var e=this;t=v.shallowCopy(t);var r=this.getAddress().then((function(t){return t&&(t=t.toLowerCase()),t}));if(null==t.gasLimit){var n=v.shallowCopy(t);n.from=r,t.gasLimit=this.provider.estimateGas(n)}return v.resolveProperties({tx:v.resolveProperties(t),sender:r}).then((function(r){var n=r.tx,i=r.sender;null!=n.from?n.from.toLowerCase()!==i&&a.throwArgumentError("from address mismatch","transaction",t):n.from=i;var o=e.provider.constructor.hexlifyTransaction(n,{from:!0});return e.provider.send("eth_sendTransaction",[o]).then((function(t){return t}),(function(t){return h("sendTransaction",t,o)}))}))},e.prototype.signTransaction=function(t){return a.throwError("signing transactions is unsupported",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},e.prototype.sendTransaction=function(t){var e=this;return this.sendUncheckedTransaction(t).then((function(t){return Ur.poll((function(){return e.provider.getTransaction(t).then((function(r){if(null!==r)return e.provider._wrapTransaction(r,t)}))}),{onceBlock:e.provider}).catch((function(e){throw e.transactionHash=t,e}))}))},e.prototype.signMessage=function(t){var e=this,r="string"==typeof t?D.toUtf8Bytes(t):t;return this.getAddress().then((function(t){return e.provider.send("eth_sign",[t.toLowerCase(),c.hexlify(r)])}))},e.prototype.unlock=function(t){var e=this.provider;return this.getAddress().then((function(r){return e.send("personal_unlockAccount",[r.toLowerCase(),t,null])}))},e}($.Signer);r.JsonRpcSigner=y;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.sendTransaction=function(t){var e=this;return this.sendUncheckedTransaction(t).then((function(t){return{hash:t,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return e.provider.waitForTransaction(t,r)}}}))},e}(y),w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},_=function(t){function e(r,n){var i=this.constructor,o=this;a.checkNew(i,e);var s=n;return null==s&&(s=new Promise((function(t,e){setTimeout((function(){o.detectNetwork().then((function(e){t(e)}),(function(t){e(t)}))}),0)}))),o=t.call(this,s)||this,r||(r=v.getStatic(o.constructor,"defaultUrl")()),"string"==typeof r?v.defineReadOnly(o,"connection",Object.freeze({url:r})):v.defineReadOnly(o,"connection",Object.freeze(v.shallowCopy(r))),o._nextId=42,o}return i(e,t),e.defaultUrl=function(){return"http://localhost:8545"},e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){var t,e;return s(this,(function(r){switch(r.label){case 0:return[4,f(0)];case 1:r.sent(),t=null,r.label=2;case 2:return r.trys.push([2,4,,9]),[4,this.send("eth_chainId",[])];case 3:return t=r.sent(),[3,9];case 4:r.sent(),r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.send("net_version",[])];case 6:return t=r.sent(),[3,8];case 7:return r.sent(),[3,8];case 8:return[3,9];case 9:if(null!=t){e=v.getStatic(this.constructor,"getNetwork");try{return[2,e(m.BigNumber.from(t).toNumber())]}catch(e){return[2,a.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{chainId:t,event:"invalidNetwork",serverError:e})]}}return[2,a.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})]}}))}))},e.prototype.getSigner=function(t){return new y(g,this,t)},e.prototype.getUncheckedSigner=function(t){return this.getSigner(t).connectUnchecked()},e.prototype.listAccounts=function(){var t=this;return this.send("eth_accounts",[]).then((function(e){return e.map((function(e){return t.formatter.address(e)}))}))},e.prototype.send=function(t,e){var r=this,n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:v.deepCopy(n),provider:this}),Ur.fetchJson(this.connection,JSON.stringify(n),d).then((function(t){return r.emit("debug",{action:"response",request:n,response:t,provider:r}),t}),(function(t){throw r.emit("debug",{action:"response",error:t,request:n,provider:r}),t}))},e.prototype.prepareRequest=function(t,e){switch(t){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[p(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[p(e.address),e.blockTag]];case"getCode":return["eth_getCode",[p(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[p(e.address),e.position,e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[v.getStatic(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[v.getStatic(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=p(e.filter.address)),["eth_getLogs",[e.filter]]}return null},e.prototype.perform=function(t,e){return o(this,void 0,void 0,(function(){var r,n;return s(this,(function(i){switch(i.label){case 0:null==(r=this.prepareRequest(t,e))&&a.throwError(t+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:t}),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.send(r[0],r[1])];case 2:return[2,i.sent()];case 3:return n=i.sent(),[2,h(t,n,e)];case 4:return[2]}}))}))},e.prototype._startEvent=function(e){"pending"===e.tag&&this._startPending(),t.prototype._startEvent.call(this,e)},e.prototype._startPending=function(){if(null==this._pendingFilter){var t=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(r){return function n(){t.send("eth_getFilterChanges",[r]).then((function(r){if(t._pendingFilter!=e)return null;var n=Promise.resolve();return r.forEach((function(e){t._emitted["t:"+e.toLowerCase()]="pending",n=n.then((function(){return t.getTransaction(e).then((function(e){return t.emit("pending",e),null}))}))})),n.then((function(){return f(1e3)}))})).then((function(){if(t._pendingFilter==e)return setTimeout((function(){n()}),0),null;t.send("eth_uninstallFilter",[r])})).catch((function(t){}))}(),r})).catch((function(t){}))}},e.prototype._stopEvent=function(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),t.prototype._stopEvent.call(this,e)},e.hexlifyTransaction=function(t,e){var r=v.shallowCopy(w);if(e)for(var n in e)e[n]&&(r[n]=!0);v.checkProperties(t,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach((function(e){if(null!=t[e]){var r=c.hexValue(t[e]);"gasLimit"===e&&(e="gas"),i[e]=r}})),["from","to","data"].forEach((function(e){null!=t[e]&&(i[e]=c.hexlify(t[e]))})),i},e}(Xr.BaseProvider);r.JsonRpcProvider=_}))),Yr=(r(Qr),Qr.JsonRpcSigner,Qr.JsonRpcProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},a=e&&e.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,"__esModule",{value:!0});var u=a($r),h=new l.Logger(Jr.version),c=1,f=function(t){function e(e,r){var n=this;"any"===r&&h.throwError("WebSocketProvider does not support 'any' network yet",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),(n=t.call(this,e,r)||this)._pollingInterval=-1,v.defineReadOnly(n,"_websocket",new u.default(n.connection.url)),v.defineReadOnly(n,"_requests",{}),v.defineReadOnly(n,"_subs",{}),v.defineReadOnly(n,"_subIds",{}),n._wsReady=!1,n._websocket.onopen=function(){n._wsReady=!0,Object.keys(n._requests).forEach((function(t){n._websocket.send(n._requests[t].payload)}))},n._websocket.onmessage=function(t){var e=t.data,r=JSON.parse(e);if(null!=r.id){var i=String(r.id),o=n._requests[i];if(delete n._requests[i],void 0!==r.result)o.callback(null,r.result);else if(r.error){var s=new Error(r.error.message||"unknown error");v.defineReadOnly(s,"code",r.error.code||null),v.defineReadOnly(s,"response",e),o.callback(s,void 0)}else o.callback(new Error("unknown error"),void 0)}else if("eth_subscription"===r.method){var a=n._subs[r.params.subscription];a&&a.processFunc(r.params.result)}else console.warn("this should not happen")};var i=setInterval((function(){n.emit("poll")}),1e3);return i.unref&&i.unref(),n}return i(e,t),Object.defineProperty(e.prototype,"pollingInterval",{get:function(){return 0},set:function(t){h.throwError("cannot set polling interval on WebSocketProvider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})},enumerable:!0,configurable:!0}),e.prototype.resetEventsBlock=function(t){h.throwError("cannot reset events block on WebSocketProvider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})},e.prototype.poll=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,null]}))}))},Object.defineProperty(e.prototype,"polling",{set:function(t){t&&h.throwError("cannot set polling on WebSocketProvider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})},enumerable:!0,configurable:!0}),e.prototype.send=function(t,e){var r=this,n=c++;return new Promise((function(i,o){var s=JSON.stringify({method:t,params:e,id:n,jsonrpc:"2.0"});r._requests[String(n)]={callback:function(t,e){return t?o(t):i(e)},payload:s},r._wsReady&&r._websocket.send(s)}))},e.defaultUrl=function(){return"ws://localhost:8546"},e.prototype._subscribe=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i,o=this;return s(this,(function(s){switch(s.label){case 0:return null==(n=this._subIds[t])&&(n=Promise.all(e).then((function(t){return o.send("eth_subscribe",t)})),this._subIds[t]=n),[4,n];case 1:return i=s.sent(),this._subs[i]={tag:t,processFunc:r},[2]}}))}))},e.prototype._startEvent=function(t){var e=this;switch(t.type){case"block":this._subscribe("block",["newHeads"],(function(t){var r=m.BigNumber.from(t.number).toNumber();e._emitted.block=r,e.emit("block",r)}));break;case"pending":this._subscribe("pending",["newPendingTransactions"],(function(t){e.emit("pending",t)}));break;case"filter":this._subscribe(t.tag,["logs",this._getFilter(t.filter)],(function(r){null==r.removed&&(r.removed=!1),e.emit(t.filter,e.formatter.filterLog(r))}));break;case"tx":var r=function(t){var r=t.hash;e.getTransactionReceipt(r).then((function(t){t&&e.emit(r,t)}))};r(t),this._subscribe("tx",["newHeads"],(function(t){e._events.filter((function(t){return"tx"===t.type})).forEach(r)}));break;case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",t)}},e.prototype._stopEvent=function(t){var e=this,r=t.tag;if("tx"===t.type){if(this._events.filter((function(t){return"tx"===t.type})).length)return;r="tx"}else if(this.listenerCount(t.event))return;var n=this._subIds[r];n&&(delete this._subIds[r],n.then((function(t){e._subs[t]&&(delete e._subs[t],e.send("eth_unsubscribe",[t]))})))},e.prototype.destroy=function(){return o(this,void 0,void 0,(function(){var t=this;return s(this,(function(e){switch(e.label){case 0:return this._websocket.readyState!==u.default.CONNECTING?[3,2]:[4,new Promise((function(e){t._websocket.onopen=function(){e(!0)},t._websocket.onerror=function(){e(!1)}}))];case 1:e.sent(),e.label=2;case 2:return this._websocket.close(1e3),[2]}}))}))},e}(Qr.JsonRpcProvider);r.WebSocketProvider=f}))),tn=(r(Yr),Yr.WebSocketProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return null!=(e=this.network)?[3,2]:[4,t.prototype.detectNetwork.call(this)];case 1:(e=r.sent())||a.throwError("no network detected",l.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(v.defineReadOnly(this,"_network",e),this.emit("network",e,null)),r.label=2;case 2:return[2,e]}}))}))},e}(Qr.JsonRpcProvider);r.StaticJsonRpcProvider=u;var h=function(t){function e(r,n){var i,o=this.constructor;a.checkAbstract(o,e),r=v.getStatic(o,"getNetwork")(r),n=v.getStatic(o,"getApiKey")(n);var s=v.getStatic(o,"getUrl")(r,n);return i=t.call(this,s,r)||this,"string"==typeof n?v.defineReadOnly(i,"apiKey",n):null!=n&&Object.keys(n).forEach((function(t){v.defineReadOnly(i,t,n[t])})),i}return i(e,t),e.prototype._startPending=function(){a.warn("WARNING: API provider does not support pending filters")},e.prototype.getSigner=function(t){return a.throwError("API provider does not support signing",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})},e.prototype.listAccounts=function(){return Promise.resolve([])},e.getApiKey=function(t){return t},e.getUrl=function(t,e){return a.throwError("not implemented; sub-classes must override getUrl",l.Logger.errors.NOT_IMPLEMENTED,{operation:"getUrl"})},e}(u);r.UrlJsonRpcProvider=h}))),en=(r(tn),tn.StaticJsonRpcProvider,tn.UrlJsonRpcProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Jr.version),s="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC",a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.getWebSocketProvider=function(t,r){var n=new e(t,r),i=n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");return new Yr.WebSocketProvider(i,n.network)},e.getApiKey=function(t){return null==t?s:(t&&"string"!=typeof t&&o.throwArgumentError("invalid apiKey","apiKey",t),t)},e.getUrl=function(t,e){var r=null;switch(t.name){case"homestead":r="eth-mainnet.alchemyapi.io/v2/";break;case"ropsten":r="eth-ropsten.alchemyapi.io/v2/";break;case"rinkeby":r="eth-rinkeby.alchemyapi.io/v2/";break;case"goerli":r="eth-goerli.alchemyapi.io/v2/";break;case"kovan":r="eth-kovan.alchemyapi.io/v2/";break;default:o.throwArgumentError("unsupported network","network",arguments[0])}return{url:"https://"+r+e,throttleCallback:function(t,r){return e===s&&Zr.showThrottleMessage(),Promise.resolve(!0)}}},e}(tn.UrlJsonRpcProvider);r.AlchemyProvider=a}))),rn=(r(en),en.AlchemyProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.getApiKey=function(t){return null!=t&&a.throwArgumentError("apiKey not supported for cloudflare","apiKey",t),null},e.getUrl=function(t,e){var r=null;switch(t.name){case"homestead":r="https://cloudflare-eth.com/";break;default:a.throwArgumentError("unsupported network","network",arguments[0])}return r},e.prototype.perform=function(e,r){return o(this,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return"getBlockNumber"!==e?[3,2]:[4,t.prototype.perform.call(this,"getBlock",{blockTag:"latest"})];case 1:return[2,n.sent().number];case 2:return[2,t.prototype.perform.call(this,e,r)]}}))}))},e}(tn.UrlJsonRpcProvider);r.CloudflareProvider=u}))),nn=(r(rn),rn.CloudflareProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version);function u(t){var e=[];for(var r in t)if(null!=t[r]){var n=c.hexlify(t[r]);({gasLimit:!0,gasPrice:!0,nonce:!0,value:!0})[r]&&(n=c.hexValue(n)),e.push(r+"="+n)}return e.join("&")}function h(t){if(0==t.status&&("No records found"===t.message||"No transactions found"===t.message))return t.result;if(1!=t.status||"OK"!=t.message){var e=new Error("invalid response");throw e.result=JSON.stringify(t),(t.result||"").toLowerCase().indexOf("rate limit")>=0&&(e.throttleRetry=!0),e}return t.result}function f(t){if(t&&0==t.status&&"NOTOK"==t.message&&(t.result||"").toLowerCase().indexOf("rate limit")>=0)throw(e=new Error("throttled response")).result=JSON.stringify(t),e.throttleRetry=!0,e;if("2.0"!=t.jsonrpc)throw(e=new Error("invalid response")).result=JSON.stringify(t),e;if(t.error){var e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function d(t){if("pending"===t)throw new Error("pending not supported");return"latest"===t?t:parseInt(t.substring(2),16)}var p="9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB";function m(t,e,r){var n=e.message;throw e.code===l.Logger.errors.SERVER_ERROR&&(e.error&&"string"==typeof e.error.message?n=e.error.message:"string"==typeof e.body?n=e.body:"string"==typeof e.responseText&&(n=e.responseText)),(n=(n||"").toLowerCase()).match(/insufficient funds/)&&a.throwError("insufficient funds for intrinsic transaction cost",l.Logger.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low/)&&a.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{error:e,method:t,transaction:r}),n.match(/another transaction with same nonce/)&&a.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:r}),n.match(/execution failed due to an exception/)&&a.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",l.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:r}),e}var g=function(t){function e(r,n){var i,o=this.constructor;a.checkNew(o,e);var s="invalid";(i=t.call(this,r)||this).network&&(s=i.network.name);var u=null;switch(s){case"homestead":u="https://api.etherscan.io";break;case"ropsten":u="https://api-ropsten.etherscan.io";break;case"rinkeby":u="https://api-rinkeby.etherscan.io";break;case"kovan":u="https://api-kovan.etherscan.io";break;case"goerli":u="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}return v.defineReadOnly(i,"baseUrl",u),v.defineReadOnly(i,"apiKey",n||p),i}return i(e,t),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,this.network]}))}))},e.prototype.perform=function(e,r){return o(this,void 0,void 0,(function(){var n,i,c,g,y,b,w,_,M,E,k,S=this;return s(this,(function(P){switch(P.label){case 0:switch(n=this.baseUrl,i="",this.apiKey&&(i+="&apikey="+this.apiKey),c=function(t,e){return o(S,void 0,void 0,(function(){var r,n,i=this;return s(this,(function(o){switch(o.label){case 0:return this.emit("debug",{action:"request",request:t,provider:this}),r={url:t,throttleSlotInterval:1e3,throttleCallback:function(t,e){return i.apiKey===p&&Zr.showThrottleMessage(),Promise.resolve(!0)}},[4,Ur.fetchJson(r,null,e||f)];case 1:return n=o.sent(),this.emit("debug",{action:"response",request:t,response:v.deepCopy(n),provider:this}),[2,n]}}))}))},e){case"getBlockNumber":return[3,1];case"getGasPrice":return[3,2];case"getBalance":return[3,3];case"getTransactionCount":return[3,4];case"getCode":return[3,5];case"getStorageAt":return[3,6];case"sendTransaction":return[3,7];case"getBlock":return[3,8];case"getTransaction":return[3,9];case"getTransactionReceipt":return[3,10];case"call":return[3,11];case"estimateGas":return[3,15];case"getLogs":return[3,19];case"getEtherPrice":return[3,26]}return[3,28];case 1:return[2,c(n+="/api?module=proxy&action=eth_blockNumber"+i)];case 2:return[2,c(n+="/api?module=proxy&action=eth_gasPrice"+i)];case 3:return n+="/api?module=account&action=balance&address="+r.address,n+="&tag="+r.blockTag+i,[2,c(n,h)];case 4:return n+="/api?module=proxy&action=eth_getTransactionCount&address="+r.address,n+="&tag="+r.blockTag+i,[2,c(n)];case 5:return n+="/api?module=proxy&action=eth_getCode&address="+r.address,n+="&tag="+r.blockTag+i,[2,c(n)];case 6:return n+="/api?module=proxy&action=eth_getStorageAt&address="+r.address,n+="&position="+r.position,n+="&tag="+r.blockTag+i,[2,c(n)];case 7:return n+="/api?module=proxy&action=eth_sendRawTransaction&hex="+r.signedTransaction,[2,c(n+=i).catch((function(t){return m("sendTransaction",t,r.signedTransaction)}))];case 8:if(r.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?n+="&boolean=true":n+="&boolean=false",[2,c(n+=i)];throw new Error("getBlock by blockHash not implemented");case 9:return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,[2,c(n+=i)];case 10:return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,[2,c(n+=i)];case 11:if((g=u(r.transaction))&&(g="&"+g),n+="/api?module=proxy&action=eth_call"+g,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");n+=i,P.label=12;case 12:return P.trys.push([12,14,,15]),[4,c(n)];case 13:return[2,P.sent()];case 14:return[2,m("call",P.sent(),r.transaction)];case 15:(g=u(r.transaction))&&(g="&"+g),n+="/api?module=proxy&action=eth_estimateGas&"+g,n+=i,P.label=16;case 16:return P.trys.push([16,18,,19]),[4,c(n)];case 17:return[2,P.sent()];case 18:return[2,m("estimateGas",P.sent(),r.transaction)];case 19:return n+="/api?module=logs&action=getLogs",r.filter.fromBlock&&(n+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(n+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(n+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&a.throwError("unsupported topic count",l.Logger.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),1===r.filter.topics.length&&("string"==typeof(y=r.filter.topics[0])&&66===y.length||a.throwError("unsupported topic format",l.Logger.errors.UNSUPPORTED_OPERATION,{topic0:y}),n+="&topic0="+y)),[4,c(n+=i,h)];case 20:b=P.sent(),w={},_=0,P.label=21;case 21:return _<b.length?null!=(M=b[_]).blockHash?[3,24]:null!=w[M.transactionHash]?[3,23]:[4,this.getTransaction(M.transactionHash)]:[3,25];case 22:(E=P.sent())&&(w[M.transactionHash]=E.blockHash),P.label=23;case 23:M.blockHash=w[M.transactionHash],P.label=24;case 24:return _++,[3,21];case 25:return[2,b];case 26:return"homestead"!==this.network.name?[2,0]:(n+="/api?module=stats&action=ethprice",n+=i,k=parseFloat,[4,c(n,h)]);case 27:return[2,k.apply(void 0,[P.sent().ethusd])];case 28:return[3,29];case 29:return[2,t.prototype.perform.call(this,e,r)]}}))}))},e.prototype.getHistory=function(t,e,r){var n=this,i=this.baseUrl,o="";return this.apiKey&&(o+="&apikey="+this.apiKey),null==e&&(e=0),null==r&&(r=99999999),this.resolveName(t).then((function(t){i+="/api?module=account&action=txlist&address="+t,i+="&startblock="+e,i+="&endblock="+r,i+="&sort=asc"+o,n.emit("debug",{action:"request",request:i,provider:n});var s={url:i,throttleSlotInterval:1e3,throttleCallback:function(t,e){return n.apiKey===p&&Zr.showThrottleMessage(),Promise.resolve(!0)}};return Ur.fetchJson(s,null,h).then((function(t){n.emit("debug",{action:"response",request:i,response:v.deepCopy(t),provider:n});var e=[];return t.forEach((function(t){["contractAddress","to"].forEach((function(e){""==t[e]&&delete t[e]})),null==t.creates&&null!=t.contractAddress&&(t.creates=t.contractAddress);var r=n.formatter.transactionResponse(t);t.timeStamp&&(r.timestamp=parseInt(t.timeStamp)),e.push(r)})),e}))}))},e}(Xr.BaseProvider);r.EtherscanProvider=g}))),on=(r(nn),nn.EtherscanProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(r,"__esModule",{value:!0});var a=new l.Logger(Jr.version);function u(){return(new Date).getTime()}function h(t){for(var e=null,r=0;r<t.length;r++){var n=t[r];if(null==n)return null;e?e.name===n.name&&e.chainId===n.chainId&&(e.ensAddress===n.ensAddress||null==e.ensAddress&&null==n.ensAddress)||a.throwArgumentError("provider mismatch","networks",t):e=n}return e}function f(t,e){t=t.slice().sort();var r=Math.floor(t.length/2);if(t.length%2)return t[r];var n=t[r-1],i=t[r];return null!=e&&Math.abs(n-i)>e?null:(n+i)/2}function d(t){if(null===t)return"null";if("number"==typeof t||"boolean"==typeof t)return JSON.stringify(t);if("string"==typeof t)return t;if(m.BigNumber.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map((function(t){return d(t)})));if("object"==typeof t){var e=Object.keys(t);return e.sort(),"{"+e.map((function(e){var r=t[e];return r="function"==typeof r?"[function]":d(r),JSON.stringify(e)+":"+r})).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}var p=1;function g(t){var e=null,r=null,n=new Promise((function(n){e=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(e,t)}));return{cancel:e,getPromise:function(){return n},wait:function(t){return n=n.then(t)}}}var y=[l.Logger.errors.CALL_EXCEPTION,l.Logger.errors.INSUFFICIENT_FUNDS,l.Logger.errors.NONCE_EXPIRED,l.Logger.errors.REPLACEMENT_UNDERPRICED,l.Logger.errors.UNPREDICTABLE_GAS_LIMIT],b=["address","args","errorArgs","errorSignature","method","transaction"];function w(t,e){var r={weight:t.weight};return Object.defineProperty(r,"provider",{get:function(){return t.provider}}),t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function _(t,e,r){var n=d;switch(e){case"getBlockNumber":return function(e){var r=e.map((function(t){return t.result})),n=f(e.map((function(t){return t.result})),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=t._highestBlockNumber&&(t._highestBlockNumber=n),t._highestBlockNumber};case"getGasPrice":return function(t){var e=t.map((function(t){return t.result}));return e.sort(),e[Math.floor(e.length/2)]};case"getEtherPrice":return function(t){return f(t.map((function(t){return t.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(t){return null==t?null:((t=v.shallowCopy(t)).confirmations=-1,d(t))};break;case"getBlock":n=r.includeTransactions?function(t){return null==t?null:((t=v.shallowCopy(t)).transactions=t.transactions.map((function(t){return(t=v.shallowCopy(t)).confirmations=-1,t})),d(t))}:function(t){return null==t?null:d(t)};break;default:throw new Error("unknown method: "+e)}return function(t,e){return function(r){var n={};r.forEach((function(e){var r=t(e.result);n[r]||(n[r]={count:0,result:e.result}),n[r].count++}));for(var i=Object.keys(n),o=0;o<i.length;o++){var s=n[i[o]];if(s.count>=e)return s.result}}}(n,t.quorum)}function M(t,e){return o(this,void 0,void 0,(function(){var r;return s(this,(function(n){return null!=(r=t.provider).blockNumber&&r.blockNumber>=e||-1===e?[2,r]:[2,Ur.poll((function(){return new Promise((function(n,i){setTimeout((function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)}),0)}))}),{oncePoll:r})]}))}))}var E=function(t){function e(r,n){var i=this.constructor,o=this;a.checkNew(i,e),0===r.length&&a.throwArgumentError("missing providers","providers",r);var s=r.map((function(t,e){if(Z.Provider.isProvider(t))return Object.freeze({provider:t,weight:1,stallTimeout:750,priority:1});var r=v.shallowCopy(t);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);var n=r.weight;return(n%1||n>512||n<1)&&a.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+e+"].weight",n),Object.freeze(r)})),u=s.reduce((function(t,e){return t+e.weight}),0);null==n?n=u/2:n>u&&a.throwArgumentError("quorum will always fail; larger than total weight","quorum",n);var l=h(s.map((function(t){return t.provider.network})));return null==l&&(l=new Promise((function(t,e){setTimeout((function(){o.detectNetwork().then(t,e)}),0)}))),o=t.call(this,l)||this,v.defineReadOnly(o,"providerConfigs",Object.freeze(s)),v.defineReadOnly(o,"quorum",n),o._highestBlockNumber=-1,o}return i(e,t),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(t){return t.provider.getNetwork()})))];case 1:return[2,h(t.sent())]}}))}))},e.prototype.perform=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i,h,f,d,m,E,k,S,P,A=this;return s(this,(function(x){switch(x.label){case 0:return"sendTransaction"!==t?[3,2]:[4,Promise.all(this.providerConfigs.map((function(t){return t.provider.sendTransaction(e.signedTransaction).then((function(t){return t.hash}),(function(t){return t}))})))];case 1:for(r=x.sent(),n=0;n<r.length;n++)if("string"==typeof(i=r[n]))return[2,i];throw r[0];case 2:return-1!==this._highestBlockNumber||"getBlockNumber"===t?[3,4]:[4,this.getBlockNumber()];case 3:x.sent(),x.label=4;case 4:h=_(this,t,e),(f=Mr.shuffled(this.providerConfigs.map(v.shallowCopy))).sort((function(t,e){return t.priority-e.priority})),d=this._highestBlockNumber,m=0,E=!0,k=function(){var r,n,i,_,k,P,x;return s(this,(function(N){switch(N.label){case 0:for(r=u(),n=f.filter((function(t){return t.runner&&r-t.start<t.stallTimeout})).reduce((function(t,e){return t+e.weight}),0),i=function(){var r=f[m++],i=p++;r.start=u(),r.staller=g(r.stallTimeout),r.staller.wait((function(){r.staller=null})),r.runner=function(t,e,r,n){return o(this,void 0,void 0,(function(){var i,o;return s(this,(function(s){switch(s.label){case 0:switch(i=t.provider,r){case"getBlockNumber":case"getGasPrice":return[3,1];case"getEtherPrice":return[3,2];case"getBalance":case"getTransactionCount":case"getCode":return[3,3];case"getStorageAt":return[3,6];case"getBlock":return[3,9];case"call":case"estimateGas":return[3,12];case"getTransaction":case"getTransactionReceipt":return[3,15];case"getLogs":return[3,16]}return[3,19];case 1:return[2,i[r]()];case 2:return i.getEtherPrice?[2,i.getEtherPrice()]:[3,19];case 3:return n.blockTag&&c.isHexString(n.blockTag)?[4,M(t,e)]:[3,5];case 4:i=s.sent(),s.label=5;case 5:return[2,i[r](n.address,n.blockTag||"latest")];case 6:return n.blockTag&&c.isHexString(n.blockTag)?[4,M(t,e)]:[3,8];case 7:i=s.sent(),s.label=8;case 8:return[2,i.getStorageAt(n.address,n.position,n.blockTag||"latest")];case 9:return n.blockTag&&c.isHexString(n.blockTag)?[4,M(t,e)]:[3,11];case 10:i=s.sent(),s.label=11;case 11:return[2,i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash)];case 12:return n.blockTag&&c.isHexString(n.blockTag)?[4,M(t,e)]:[3,14];case 13:i=s.sent(),s.label=14;case 14:return[2,i[r](n.transaction)];case 15:return[2,i[r](n.transactionHash)];case 16:return(o=n.filter).fromBlock&&c.isHexString(o.fromBlock)||o.toBlock&&c.isHexString(o.toBlock)?[4,M(t,e)]:[3,18];case 17:i=s.sent(),s.label=18;case 18:return[2,i.getLogs(o)];case 19:return[2,a.throwError("unknown method error",l.Logger.errors.UNKNOWN_ERROR,{method:r,params:n})]}}))}))}(r,d,t,e).then((function(n){r.done=!0,r.result=n,A.listenerCount("debug")&&A.emit("debug",{action:"request",rid:i,backend:w(r,u()),request:{method:t,params:v.deepCopy(e)},provider:A})}),(function(n){r.done=!0,r.error=n,A.listenerCount("debug")&&A.emit("debug",{action:"request",rid:i,backend:w(r,u()),request:{method:t,params:v.deepCopy(e)},provider:A})})),S.listenerCount("debug")&&S.emit("debug",{action:"request",rid:i,backend:w(r,null),request:{method:t,params:v.deepCopy(e)},provider:S}),n+=r.weight};n<S.quorum&&m<f.length;)i();return _=[],f.forEach((function(t){!t.done&&t.runner&&(_.push(t.runner),t.staller&&_.push(t.staller.getPromise()))})),_.length?[4,Promise.race(_)]:[3,2];case 1:N.sent(),N.label=2;case 2:return(k=f.filter((function(t){return t.done&&null==t.error}))).length>=S.quorum?void 0!==(P=h(k))?(f.forEach((function(t){t.staller&&t.staller.cancel(),t.cancelled=!0})),[2,{value:P}]):E?[3,4]:[4,g(100).getPromise()]:[3,5];case 3:N.sent(),N.label=4;case 4:E=!1,N.label=5;case 5:return x=f.reduce((function(t,e){if(!e.done||null==e.error)return t;var r=e.error.code;return y.indexOf(r)>=0&&(t[r]||(t[r]={error:e.error,weight:0}),t[r].weight+=e.weight),t}),{}),Object.keys(x).forEach((function(t){var e=x[t];if(!(e.weight<A.quorum)){f.forEach((function(t){t.staller&&t.staller.cancel(),t.cancelled=!0}));var r=e.error,n={};b.forEach((function(t){null!=r[t]&&(n[t]=r[t])})),a.throwError(r.reason||r.message,t,n)}})),0===f.filter((function(t){return!t.done})).length?[2,"break"]:[2]}}))},S=this,x.label=5;case 5:return[5,k()];case 6:return"object"==typeof(P=x.sent())?[2,P.value]:"break"===P?[3,7]:[3,5];case 7:return f.forEach((function(t){t.staller&&t.staller.cancel(),t.cancelled=!0})),[2,a.throwError("failed to meet quorum",l.Logger.errors.SERVER_ERROR,{method:t,params:e,results:f.map((function(t){return w(t)})),provider:this})]}}))}))},e}(Xr.BaseProvider);r.FallbackProvider=E}))),sn=(r(on),on.FallbackProvider,null),an=n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Jr.version),s="84842078b09946638c03157f83405213",a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.getWebSocketProvider=function(t,r){var n=new e(t,r).connection;n.password&&o.throwError("INFURA WebSocket project secrets unsupported",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});var i=n.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");return new Yr.WebSocketProvider(i,t)},e.getApiKey=function(t){var e={apiKey:s,projectId:s,projectSecret:null};return null==t||("string"==typeof t?e.projectId=t:null!=t.projectSecret?(o.assertArgument("string"==typeof t.projectId,"projectSecret requires a projectId","projectId",t.projectId),o.assertArgument("string"==typeof t.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),e.projectId=t.projectId,e.projectSecret=t.projectSecret):t.projectId&&(e.projectId=t.projectId),e.apiKey=e.projectId),e},e.getUrl=function(t,e){var r=null;switch(t?t.name:"unknown"){case"homestead":r="mainnet.infura.io";break;case"ropsten":r="ropsten.infura.io";break;case"rinkeby":r="rinkeby.infura.io";break;case"kovan":r="kovan.infura.io";break;case"goerli":r="goerli.infura.io";break;default:o.throwError("unsupported network",l.Logger.errors.INVALID_ARGUMENT,{argument:"network",value:t})}var n={url:"https://"+r+"/v3/"+e.projectId,throttleCallback:function(t,r){return e.projectId===s&&Zr.showThrottleMessage(),Promise.resolve(!0)}};return null!=e.projectSecret&&(n.user="",n.password=e.projectSecret),n},e}(tn.UrlJsonRpcProvider);r.InfuraProvider=a})),un=(r(an),an.InfuraProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Jr.version),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.getApiKey=function(t){return t&&"string"!=typeof t&&o.throwArgumentError("invalid apiKey","apiKey",t),t||"ETHERS_JS_SHARED"},e.getUrl=function(t,e){o.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");var r=null;switch(t.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:o.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+e},e}(tn.UrlJsonRpcProvider);r.NodesmithProvider=s}))),ln=(r(un),un.NodesmithProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(Jr.version),s=1;function a(t,e){return function(r,n){"eth_sign"==r&&t.isMetaMask&&(r="personal_sign",n=[n[1],n[0]]);var i={method:r,params:n,id:s++,jsonrpc:"2.0"};return new Promise((function(t,r){e(i,(function(e,n){if(e)return r(e);if(n.error){var i=new Error(n.error.message);return i.code=n.error.code,i.data=n.error.data,r(i)}t(n.result)}))}))}}var u=function(t){function e(r,n){var i,s=this.constructor;o.checkNew(s,e),null==r&&o.throwArgumentError("missing provider","provider",r);var u=null,l=null,h=null;return"function"==typeof r?(u="unknown:",l=r):(!(u=r.host||r.path||"")&&r.isMetaMask&&(u="metamask"),h=r,r.request?(""===u&&(u="eip-1193:"),l=function(t){return function(e,r){return null==r&&(r=[]),"eth_sign"==e&&t.isMetaMask&&(e="personal_sign",r=[r[1],r[0]]),t.request({method:e,params:r})}}(r)):r.sendAsync?l=a(r,r.sendAsync.bind(r)):r.send?l=a(r,r.send.bind(r)):o.throwArgumentError("unsupported provider","provider",r),u||(u="unknown:")),i=t.call(this,u,n)||this,v.defineReadOnly(i,"jsonRpcFetchFunc",l),v.defineReadOnly(i,"provider",h),i}return i(e,t),e.prototype.send=function(t,e){return this.jsonRpcFetchFunc(t,e)},e}(Qr.JsonRpcProvider);r.Web3Provider=u}))),hn=(r(ln),ln.Web3Provider,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Provider=Z.Provider,e.getNetwork=Br.getNetwork,e.BaseProvider=Xr.BaseProvider,e.Resolver=Xr.Resolver,e.AlchemyProvider=en.AlchemyProvider,e.CloudflareProvider=rn.CloudflareProvider,e.EtherscanProvider=nn.EtherscanProvider,e.FallbackProvider=on.FallbackProvider,e.IpcProvider=sn,e.InfuraProvider=an.InfuraProvider,e.JsonRpcProvider=Qr.JsonRpcProvider,e.JsonRpcSigner=Qr.JsonRpcSigner,e.NodesmithProvider=un.NodesmithProvider,e.StaticJsonRpcProvider=tn.StaticJsonRpcProvider,e.UrlJsonRpcProvider=tn.UrlJsonRpcProvider,e.Web3Provider=ln.Web3Provider,e.WebSocketProvider=Yr.WebSocketProvider,e.Formatter=Zr.Formatter;var r=new l.Logger(Jr.version);e.getDefaultProvider=function(t,e){if(null==t&&(t="homestead"),"string"==typeof t){var n=t.match(/^(ws|http)s?:/i);if(n)switch(n[1]){case"http":return new Qr.JsonRpcProvider(t);case"ws":return new Yr.WebSocketProvider(t);default:r.throwArgumentError("unsupported URL scheme","network",t)}}var i=Br.getNetwork(t);return i&&i._defaultProvider||r.throwError("unsupported getDefaultProvider network",l.Logger.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),i._defaultProvider({FallbackProvider:on.FallbackProvider,AlchemyProvider:en.AlchemyProvider,CloudflareProvider:rn.CloudflareProvider,EtherscanProvider:nn.EtherscanProvider,InfuraProvider:an.InfuraProvider,JsonRpcProvider:Qr.JsonRpcProvider,NodesmithProvider:un.NodesmithProvider,Web3Provider:ln.Web3Provider,IpcProvider:sn},e)}}))),cn=(r(hn),hn.Provider,hn.getNetwork,hn.BaseProvider,hn.Resolver,hn.AlchemyProvider,hn.CloudflareProvider,hn.EtherscanProvider,hn.FallbackProvider,hn.IpcProvider,hn.InfuraProvider,hn.JsonRpcProvider,hn.JsonRpcSigner,hn.NodesmithProvider,hn.StaticJsonRpcProvider,hn.UrlJsonRpcProvider,hn.Web3Provider,hn.WebSocketProvider,hn.Formatter,hn.getDefaultProvider,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new RegExp("^bytes([0-9]+)$"),n=new RegExp("^(u?int)([0-9]*)$"),i=new RegExp("^(.*)\\[([0-9]*)\\]$");function o(t,e,s){switch(t){case"address":return s?c.zeroPad(e,32):c.arrayify(e);case"string":return D.toUtf8Bytes(e);case"bytes":return c.arrayify(e);case"bool":return e=e?"0x01":"0x00",s?c.zeroPad(e,32):c.arrayify(e)}var a=t.match(n);if(a){var u=parseInt(a[2]||"256");if(a[2]&&String(u)!==a[2]||u%8!=0||0===u||u>256)throw new Error("invalid number type - "+t);return s&&(u=256),e=m.BigNumber.from(e).toTwos(u),c.zeroPad(e,u/8)}if(a=t.match(r)){u=parseInt(a[1]);if(String(u)!==a[1]||0===u||u>32)throw new Error("invalid bytes type - "+t);if(c.arrayify(e).byteLength!==u)throw new Error("invalid value for "+t);return s?c.arrayify((e+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):e}if((a=t.match(i))&&Array.isArray(e)){var l=a[1];if(parseInt(a[2]||String(e.length))!=e.length)throw new Error("invalid value for "+t);var h=[];return e.forEach((function(t){h.push(o(l,t,!0))})),c.concat(h)}throw new Error("invalid type - "+t)}function s(t,e){if(t.length!=e.length)throw new Error("type/value count mismatch");var r=[];return t.forEach((function(t,n){r.push(o(t,e[n]))})),c.hexlify(c.concat(r))}e.pack=s,e.keccak256=function(t,e){return M.keccak256(s(t,e))},e.sha256=function(t,e){return Me.sha256(s(t,e))}}))),fn=(r(cn),cn.pack,cn.keccak256,cn.sha256,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="units/5.0.4"}))),dn=(r(fn),fn.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(fn.version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function i(t,e){if("string"==typeof e){var r=n.indexOf(e);-1!==r&&(e=3*r)}return m.formatFixed(t,null!=e?e:18)}function o(t,e){if("string"==typeof e){var r=n.indexOf(e);-1!==r&&(e=3*r)}return m.parseFixed(t,null!=e?e:18)}e.commify=function(t){var e=String(t).split(".");(e.length>2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||"."===t||"-."===t)&&r.throwArgumentError("invalid value","value",t);var n=e[0],i="";for("-"===n.substring(0,1)&&(i="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");var o="";for(2===e.length&&(o="."+(e[1]||"0"));o.length>2&&"0"===o[o.length-1];)o=o.substring(0,o.length-1);for(var s=[];n.length;){if(n.length<=3){s.unshift(n);break}var a=n.length-3;s.unshift(n.substring(a)),n=n.substring(0,a)}return i+s.join(",")+o},e.formatUnits=i,e.parseUnits=o,e.formatEther=function(t){return i(t,18)},e.parseEther=function(t){return o(t,18)}}))),pn=(r(dn),dn.commify,dn.formatUnits,dn.parseUnits,dn.formatEther,dn.parseEther,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0}),r.AbiCoder=V.AbiCoder,r.checkResultErrors=V.checkResultErrors,r.defaultAbiCoder=V.defaultAbiCoder,r.EventFragment=V.EventFragment,r.FormatTypes=V.FormatTypes,r.Fragment=V.Fragment,r.FunctionFragment=V.FunctionFragment,r.Indexed=V.Indexed,r.Interface=V.Interface,r.LogDescription=V.LogDescription,r.ParamType=V.ParamType,r.TransactionDescription=V.TransactionDescription,r.getAddress=P.getAddress,r.getCreate2Address=P.getCreate2Address,r.getContractAddress=P.getContractAddress,r.getIcapAddress=P.getIcapAddress,r.isAddress=P.isAddress;var i=n(Ir);r.base64=i,r.base58=tt.Base58,r.arrayify=c.arrayify,r.concat=c.concat,r.hexDataSlice=c.hexDataSlice,r.hexDataLength=c.hexDataLength,r.hexlify=c.hexlify,r.hexStripZeros=c.hexStripZeros,r.hexValue=c.hexValue,r.hexZeroPad=c.hexZeroPad,r.isBytes=c.isBytes,r.isBytesLike=c.isBytesLike,r.isHexString=c.isHexString,r.joinSignature=c.joinSignature,r.zeroPad=c.zeroPad,r.splitSignature=c.splitSignature,r.stripZeros=c.stripZeros,r.hashMessage=q.hashMessage,r.id=q.id,r.isValidName=q.isValidName,r.namehash=q.namehash,r.defaultPath=br.defaultPath,r.entropyToMnemonic=br.entropyToMnemonic,r.HDNode=br.HDNode,r.isValidMnemonic=br.isValidMnemonic,r.mnemonicToEntropy=br.mnemonicToEntropy,r.mnemonicToSeed=br.mnemonicToSeed,r.getJsonWalletAddress=Or.getJsonWalletAddress,r.keccak256=M.keccak256,r.Logger=l.Logger,r.computeHmac=Me.computeHmac,r.ripemd160=Me.ripemd160,r.sha256=Me.sha256,r.sha512=Me.sha512,r.solidityKeccak256=cn.keccak256,r.solidityPack=cn.pack,r.soliditySha256=cn.sha256,r.randomBytes=Mr.randomBytes,r.shuffled=Mr.shuffled,r.checkProperties=v.checkProperties,r.deepCopy=v.deepCopy,r.defineReadOnly=v.defineReadOnly,r.getStatic=v.getStatic,r.resolveProperties=v.resolveProperties,r.shallowCopy=v.shallowCopy;var o=n(k);r.RLP=o,r.computePublicKey=cr.computePublicKey,r.recoverPublicKey=cr.recoverPublicKey,r.SigningKey=cr.SigningKey,r.formatBytes32String=D.formatBytes32String,r.nameprep=D.nameprep,r.parseBytes32String=D.parseBytes32String,r._toEscapedUtf8String=D._toEscapedUtf8String,r.toUtf8Bytes=D.toUtf8Bytes,r.toUtf8CodePoints=D.toUtf8CodePoints,r.toUtf8String=D.toUtf8String,r.Utf8ErrorFuncs=D.Utf8ErrorFuncs,r.computeAddress=dr.computeAddress,r.parseTransaction=dr.parse,r.recoverAddress=dr.recoverAddress,r.serializeTransaction=dr.serialize,r.commify=dn.commify,r.formatEther=dn.formatEther,r.parseEther=dn.parseEther,r.formatUnits=dn.formatUnits,r.parseUnits=dn.parseUnits,r.verifyMessage=Tr.verifyMessage,r._fetchData=Ur._fetchData,r.fetchJson=Ur.fetchJson,r.poll=Ur.poll;var s=Me;r.SupportedAlgorithm=s.SupportedAlgorithm;var a=D;r.UnicodeNormalizationForm=a.UnicodeNormalizationForm,r.Utf8ErrorReason=a.Utf8ErrorReason}))),mn=(r(pn),pn.AbiCoder,pn.checkResultErrors,pn.defaultAbiCoder,pn.EventFragment,pn.FormatTypes,pn.Fragment,pn.FunctionFragment,pn.Indexed,pn.Interface,pn.LogDescription,pn.ParamType,pn.TransactionDescription,pn.getAddress,pn.getCreate2Address,pn.getContractAddress,pn.getIcapAddress,pn.isAddress,pn.base64,pn.base58,pn.arrayify,pn.concat,pn.hexDataSlice,pn.hexDataLength,pn.hexlify,pn.hexStripZeros,pn.hexValue,pn.hexZeroPad,pn.isBytes,pn.isBytesLike,pn.isHexString,pn.joinSignature,pn.zeroPad,pn.splitSignature,pn.stripZeros,pn.hashMessage,pn.id,pn.isValidName,pn.namehash,pn.defaultPath,pn.entropyToMnemonic,pn.HDNode,pn.isValidMnemonic,pn.mnemonicToEntropy,pn.mnemonicToSeed,pn.getJsonWalletAddress,pn.keccak256,pn.Logger,pn.computeHmac,pn.ripemd160,pn.sha256,pn.sha512,pn.solidityKeccak256,pn.solidityPack,pn.soliditySha256,pn.randomBytes,pn.shuffled,pn.checkProperties,pn.deepCopy,pn.defineReadOnly,pn.getStatic,pn.resolveProperties,pn.shallowCopy,pn.RLP,pn.computePublicKey,pn.recoverPublicKey,pn.SigningKey,pn.formatBytes32String,pn.nameprep,pn.parseBytes32String,pn._toEscapedUtf8String,pn.toUtf8Bytes,pn.toUtf8CodePoints,pn.toUtf8String,pn.Utf8ErrorFuncs,pn.computeAddress,pn.parseTransaction,pn.recoverAddress,pn.serializeTransaction,pn.commify,pn.formatEther,pn.parseEther,pn.formatUnits,pn.parseUnits,pn.verifyMessage,pn._fetchData,pn.fetchJson,pn.poll,pn.SupportedAlgorithm,pn.UnicodeNormalizationForm,pn.Utf8ErrorReason,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="ethers/5.0.15"}))),gn=(r(mn),mn.version,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0}),r.Contract=Y.Contract,r.ContractFactory=Y.ContractFactory,r.BigNumber=m.BigNumber,r.FixedNumber=m.FixedNumber,r.Signer=$.Signer,r.VoidSigner=$.VoidSigner,r.Wallet=Tr.Wallet;var i=n(B);r.constants=i;var o=n(hn);r.providers=o;var s=hn;r.getDefaultProvider=s.getDefaultProvider,r.Wordlist=vr.Wordlist,r.wordlists=vr.wordlists;var a=n(pn);r.utils=a,r.errors=l.ErrorCode,r.version=mn.version;var u=new l.Logger(mn.version);r.logger=u}))),vn=(r(gn),gn.Contract,gn.ContractFactory,gn.BigNumber,gn.FixedNumber,gn.Signer,gn.VoidSigner,gn.Wallet,gn.constants,gn.providers,gn.getDefaultProvider,gn.Wordlist,gn.wordlists,gn.utils,gn.errors,gn.version,gn.logger,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var i=n(gn);r.ethers=i;try{var o=window;null==o._ethers&&(o._ethers=i)}catch(t){}var s=gn;r.Signer=s.Signer,r.Wallet=s.Wallet,r.VoidSigner=s.VoidSigner,r.getDefaultProvider=s.getDefaultProvider,r.providers=s.providers,r.Contract=s.Contract,r.ContractFactory=s.ContractFactory,r.BigNumber=s.BigNumber,r.FixedNumber=s.FixedNumber,r.constants=s.constants,r.errors=s.errors,r.logger=s.logger,r.utils=s.utils,r.wordlists=s.wordlists,r.version=s.version,r.Wordlist=s.Wordlist}))),yn=r(vn),bn=vn.ethers,wn=vn.Signer,_n=vn.Wallet,Mn=vn.VoidSigner,En=vn.getDefaultProvider,kn=vn.providers,Sn=vn.Contract,Pn=vn.ContractFactory,An=vn.BigNumber,xn=vn.FixedNumber,Nn=vn.constants,On=vn.errors,Rn=vn.logger,Tn=vn.utils,Cn=vn.wordlists,Bn=vn.version,In=vn.Wordlist;t.BigNumber=An,t.Contract=Sn,t.ContractFactory=Pn,t.FixedNumber=xn,t.Signer=wn,t.VoidSigner=Mn,t.Wallet=_n,t.Wordlist=In,t.constants=Nn,t.default=yn,t.errors=On,t.ethers=bn,t.getDefaultProvider=En,t.logger=Rn,t.providers=kn,t.utils=Tn,t.version=Bn,t.wordlists=Cn,Object.defineProperty(t,"__esModule",{value:!0})}));
  