@depay/widgets 11.2.0 → 11.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -180,4 +180,4 @@ function KP(){return KP=Object.assign?Object.assign.bind():function(t){for(var e
180
180
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
181
181
  * MIT Licence
182
182
  */
183
- var HR,GR,ZR=9e15,VR=1e9,JR="0123456789abcdef",qR="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",XR="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",KR={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ZR,maxE:ZR,crypto:!1},$R=!0,tU="[DecimalError] ",eU=tU+"Invalid argument: ",nU=tU+"Precision limit exceeded",rU=tU+"crypto unavailable",iU="[object Decimal]",oU=Math.floor,aU=Math.pow,sU=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,uU=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,cU=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lU=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hU=1e7,dU=7,fU=qR.length-1,pU=XR.length-1,mU={toStringTag:iU};function gU(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",(n=dU-r.length)&&(o+=NU(n)),o+=r;a=t[e],(n=dU-(r=a+"").length)&&(o+=NU(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yU(t,e,n){if(t!==~~t||t<e||t>n)throw Error(eU+t)}function vU(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=dU,i=0):(i=Math.ceil((e+1)/dU),e%=dU),o=aU(10,dU-e),s=t[i]%o|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==aU(10,e-2)-1||(s==o/2||0==s)&&0==(t[i+1]/o/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==aU(10,e-3)-1,a}function bU(t,e,n){for(var r,i,o=[0],a=0,s=t.length;a<s;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=JR.indexOf(t.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}mU.absoluteValue=mU.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),MU(t)},mU.ceil=function(){return MU(new this.constructor(this),this.e+1,2)},mU.clampedTo=mU.clamp=function(t,e){var n=this,r=n.constructor;if(t=new r(t),e=new r(e),!t.s||!e.s)return new r(NaN);if(t.gt(e))throw Error(eU+e);return n.cmp(t)<0?t:n.cmp(e)>0?e:new r(n)},mU.comparedTo=mU.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,u=o.s,c=t.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==t.e)return o.e>t.e^u<0?1:-1;for(e=0,n=(r=a.length)<(i=s.length)?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},mU.cosine=mU.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?i=(1/PU(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");t.precision+=n,e=zU(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(2==GR||3==GR?n.neg():n,t,e,!0)):new r(1):new r(NaN)},mU.cubeRoot=mU.cbrt=function(){var t,e,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for($R=!1,(o=l.s*aU(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=gU(l.d),(o=((t=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=aU(n,1/3),t=oU((t+1)/3)-(t%3==(t<0?-1:2)),(r=new h(n=o==1/0?"5e"+t:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+t)).s=l.s),a=(t=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=wU(c.plus(l).times(s),c.plus(u),a+2,1),gU(s.d).slice(0,a)===(n=gU(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(MU(r,t+1,1),e=!r.times(r).times(r).eq(l));break}if(!i&&(MU(s,t+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return $R=!0,MU(r,t,h.rounding,e)},mU.decimalPlaces=mU.dp=function(){var t,e=this.d,n=NaN;if(e){if(n=((t=e.length-1)-oU(this.e/dU))*dU,t=e[t])for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},mU.dividedBy=mU.div=function(t){return wU(this,new this.constructor(t))},mU.dividedToIntegerBy=mU.divToInt=function(t){var e=this.constructor;return MU(wU(this,new e(t),0,1,1),e.precision,e.rounding)},mU.equals=mU.eq=function(t){return 0===this.cmp(t)},mU.floor=function(){return MU(new this.constructor(this),this.e+1,3)},mU.greaterThan=mU.gt=function(t){return this.cmp(t)>0},mU.greaterThanOrEqualTo=mU.gte=function(t){var e=this.cmp(t);return 1==e||0===e},mU.hyperbolicCosine=mU.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?e=(1/PU(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=zU(a,1,o.times(e),new a(1),!0);for(var u,c=t,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return MU(o,a.precision=n,a.rounding=r,!0)},mU.hyperbolicSine=mU.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=zU(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(r))>16?16:0|t,i=zU(o,2,i=i.times(1/PU(5,t)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=e,o.rounding=n,MU(i,e,n,!0)},mU.hyperbolicTangent=mU.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,wU(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},mU.inverseCosine=mU.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?e.isNeg()?xU(n,i,o):new n(0):new n(NaN):e.isZero()?xU(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=xU(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))},mU.inverseHyperbolicCosine=mU.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,$R=!1,n=n.times(n).minus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},mU.inverseHyperbolicSine=mU.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,$R=!1,n=n.times(n).plus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln())},mU.inverseHyperbolicTangent=mU.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?MU(new o(i),t,e,!0):(o.precision=n=r-i.e,i=wU(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},mU.inverseSine=mU.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==e?0===e?((t=xU(o,n+4,r).times(.5)).s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},mU.inverseTangent=mU.atan=function(){var t,e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=pU)return(a=xU(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=pU)return(a=xU(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,t=n=Math.min(28,s/dU+2|0);t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for($R=!1,e=Math.ceil(s/dU),r=1,u=c.times(c),a=new l(c),i=c;-1!==t;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[e])for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),$R=!0,MU(a,l.precision=h,l.rounding=d,!0)},mU.isFinite=function(){return!!this.d},mU.isInteger=mU.isInt=function(){return!!this.d&&oU(this.e/dU)>this.d.length-2},mU.isNaN=function(){return!this.s},mU.isNegative=mU.isNeg=function(){return this.s<0},mU.isPositive=mU.isPos=function(){return this.s>0},mU.isZero=function(){return!!this.d&&0===this.d[0]},mU.lessThan=mU.lt=function(t){return this.cmp(t)<0},mU.lessThanOrEqualTo=mU.lte=function(t){return this.cmp(t)<1},mU.logarithm=mU.log=function(t){var e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==t)t=new l(10),e=!0;else{if(n=(t=new l(t)).d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if($R=!1,a=CU(c,s=h+5),r=e?AU(l,s+10):CU(t,s),vU((u=wU(a,r,s,1)).d,i=h,d))do{if(a=CU(c,s+=10),r=e?AU(l,s+10):CU(t,s),u=wU(a,r,s,1),!o){+gU(u.d).slice(i+1,i+15)+1==1e14&&(u=MU(u,h+1,0));break}}while(vU(u.d,i+=10,d));return $R=!0,MU(u,h,d)},mU.minus=mU.sub=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return f.s&&t.s?f.d?t.s=-t.s:t=new p(t.d||f.s!==t.s?f:NaN):t=new p(NaN),t;if(f.s!=t.s)return t.s=-t.s,f.plus(t);if(c=f.d,d=t.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!c[0])return new p(3===u?-0:0);t=new p(f)}return $R?MU(t,s,u):t}if(n=oU(t.e/dU),l=oU(f.e/dU),c=c.slice(),o=l-n){for((h=o<0)?(e=c,o=-o,a=d.length):(e=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/dU),a)+2)&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(e=c,c=d,d=e,t.s=-t.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=hU-1;--c[i],c[r]+=hU}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(t.d=c,t.e=LU(c,n),$R?MU(t,s,u):t):new p(3===u?-0:0)},mU.modulo=mU.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?MU(new r(n),r.precision,r.rounding):($R=!1,9==r.modulo?(e=wU(n,t.abs(),0,3,1)).s*=t.s:e=wU(n,t,0,r.modulo,1),e=e.times(t),$R=!0,n.minus(e))},mU.naturalExponential=mU.exp=function(){return jU(this)},mU.naturalLogarithm=mU.ln=function(){return CU(this)},mU.negated=mU.neg=function(){var t=new this.constructor(this);return t.s=-t.s,MU(t)},mU.plus=mU.add=function(t){var e,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(t=new d(t),!h.d||!t.d)return h.s&&t.s?h.d||(t=new d(t.d||h.s===t.s?h:NaN)):t=new d(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.minus(t);if(c=h.d,l=t.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(t=new d(h)),$R?MU(t,s,u):t;if(o=oU(h.e/dU),r=oU(t.e/dU),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/dU))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),e=0;i;)e=(c[--i]=c[i]+l[i]+e)/hU|0,c[i]%=hU;for(e&&(c.unshift(e),++r),a=c.length;0==c[--a];)c.pop();return t.d=c,t.e=LU(c,r),$R?MU(t,s,u):t},mU.precision=mU.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(eU+t);return n.d?(e=EU(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},mU.round=function(){var t=this,e=t.constructor;return MU(new e(t),t.e+1,e.rounding)},mU.sine=mU.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:zU(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:0|n,e=e.times(1/PU(5,n)),e=zU(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(GR>2?n.neg():n,t,e,!0)):new r(NaN)},mU.squareRoot=mU.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for($R=!1,0==(c=Math.sqrt(+a))||c==1/0?(((e=gU(s)).length+u)%2==0&&(e+="0"),c=Math.sqrt(e),u=oU((u+1)/2)-(u<0||u%2),r=new l(e=c==1/0?"5e"+u:(e=c.toExponential()).slice(0,e.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(wU(a,o,n+2,1)).times(.5),gU(o.d).slice(0,n)===(e=gU(r.d)).slice(0,n)){if("9999"!=(e=e.slice(n-3,n+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(MU(r,u+1,1),t=!r.times(r).eq(a));break}if(!i&&(MU(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return $R=!0,MU(r,u,l.rounding,t)},mU.tangent=mU.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,(n=n.sin()).s=1,n=wU(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,MU(2==GR||4==GR?n.neg():n,t,e,!0)):new r(NaN)},mU.times=mU.mul=function(t){var e,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(t=new h(t)).d;if(t.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!t.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*t.s:t.s/0);for(n=oU(l.e/dU)+oU(t.e/dU),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+e,o[i--]=s%hU|0,e=s/hU|0;o[i]=(o[i]+e)%hU|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=LU(o,n),$R?MU(t,h.precision,h.rounding):t},mU.toBinary=function(t,e){return RU(this,2,t,e)},mU.toDecimalPlaces=mU.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(yU(t,0,VR),void 0===e?e=r.rounding:yU(e,0,8),MU(n,t+n.e+1,e))},mU.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,!0):(yU(t,0,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t+1,e),!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return void 0===t?n=kU(i):(yU(t,0,VR),void 0===e?e=o.rounding:yU(e,0,8),n=kU(r=MU(new o(i),t+i.e+1,e),!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},mU.toFraction=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,m=f.constructor;if(!p)return new m(f);if(c=n=new m(1),r=u=new m(0),a=(o=(e=new m(r)).e=EU(p)-f.e-1)%dU,e.d[0]=aU(10,a<0?dU+a:a),null==t)t=o>0?e:c;else{if(!(s=new m(t)).isInt()||s.lt(c))throw Error(eU+s);t=s.gt(e)?o>0?e:c:s}for($R=!1,s=new m(gU(p)),l=m.precision,m.precision=o=p.length*dU*2;h=wU(s,e,0,1,1),1!=(i=n.plus(h.times(r))).cmp(t);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=e,e=s.minus(h.times(i)),s=i;return i=wU(t.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=wU(c,r,o,1).minus(f).abs().cmp(wU(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],m.precision=l,$R=!0,d},mU.toHexadecimal=mU.toHex=function(t,e){return RU(this,16,t,e)},mU.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:yU(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?($R=!1,n=wU(n,t,0,e,1).times(t),$R=!0,MU(n)):(t.s=n.s,n=t),n},mU.toNumber=function(){return+this},mU.toOctal=function(t,e){return RU(this,8,t,e)},mU.toPower=mU.pow=function(t){var e,n,r,i,o,a,s=this,u=s.constructor,c=+(t=new u(t));if(!(s.d&&t.d&&s.d[0]&&t.d[0]))return new u(aU(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,t.eq(1))return MU(s,r,o);if((e=oU(t.e/dU))>=t.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=SU(u,s,n,r),t.s<0?new u(1).div(i):MU(i,r,o);if((a=s.s)<0){if(e<t.d.length-1)return new u(NaN);if(0==(1&t.d[e])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(e=0!=(n=aU(+s,c))&&isFinite(n)?new u(n+"").e:oU(c*(Math.log("0."+gU(s.d))/Math.LN10+s.e+1)))>u.maxE+1||e<u.minE-1?new u(e>0?a/0:0):($R=!1,u.rounding=s.s=1,n=Math.min(12,(e+"").length),(i=jU(t.times(CU(s,r+n)),r)).d&&vU((i=MU(i,r+5,1)).d,r,o)&&(e=r+10,+gU((i=MU(jU(t.times(CU(s,e+n)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=MU(i,r+1,0))),i.s=a,$R=!0,u.rounding=o,MU(i,r,o))},mU.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yU(t,1,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t,e),t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toSignificantDigits=mU.toSD=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(yU(t,1,VR),void 0===e?e=n.rounding:yU(e,0,8)),MU(new n(this),t,e)},mU.toString=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},mU.truncated=mU.trunc=function(){return MU(new this.constructor(this),this.e+1,1)},mU.valueOf=mU.toJSON=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var wU=function(){function t(t,e,n){var r,i=0,o=t.length;for(t=t.slice();o--;)r=t[o]*e+i,t[o]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]<e[n]?1:0,t[n]=i*r+t[n]-e[n];for(;!t[0]&&t.length>1;)t.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I=r.constructor,T=r.s==i.s?1:-1,j=r.d,C=i.d;if(!(j&&j[0]&&C&&C[0]))return new I(r.s&&i.s&&(j?!C||j[0]!=C[0]:C)?j&&0==j[0]||!C?0*T:T/0:NaN);for(u?(f=1,l=r.e-i.e):(u=hU,f=dU,l=oU(r.e/f)-oU(i.e/f)),N=C.length,x=j.length,v=(y=new I(T)).d=[],h=0;C[h]==(j[h]||0);h++);if(C[h]>(j[h]||0)&&l--,null==o?(k=o=I.precision,a=I.rounding):k=s?o+(r.e-i.e)+1:o,k<0)v.push(1),p=!0;else{if(k=k/f+2|0,h=0,1==N){for(d=0,C=C[0],k++;(h<x||d)&&k--;h++)L=d*u+(j[h]||0),v[h]=L/C|0,d=L%C|0;p=d||h<x}else{for((d=u/(C[0]+1)|0)>1&&(C=t(C,d,u),j=t(j,d,u),N=C.length,x=j.length),A=N,w=(b=j.slice(0,N)).length;w<N;)b[w++]=0;(S=C.slice()).unshift(0),E=C[0],C[1]>=u/2&&++E;do{d=0,(c=e(C,b,N,w))<0?(M=b[0],N!=w&&(M=M*u+(b[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=e(m=t(C,d,u),b,g=m.length,w=b.length))&&(d--,n(m,N<g?S:C,g,u))):(0==d&&(c=d=1),m=C.slice()),(g=m.length)<w&&m.unshift(0),n(b,m,w,u),-1==c&&(c=e(C,b,N,w=b.length))<1&&(d++,n(b,N<w?S:C,w,u)),w=b.length):0===c&&(d++,b=[0]),v[h++]=d,c&&b[0]?b[w++]=j[A]||0:(b=[j[A]],w=1)}while((A++<x||void 0!==b[0])&&k--);p=void 0!==b[0]}v[0]||v.shift()}if(1==f)y.e=l,HR=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;y.e=h+l*f-1,MU(y,s?o+y.e+1:o,a,p)}return y}}();function MU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor;t:if(null!=e){if(!(h=t.d))return t;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=e-i)<0)o+=dU,a=e,u=(l=h[d=0])/aU(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/dU))>=(s=h.length)){if(!r)break t;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=dU)-dU+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=dU)-dU+i)<0?0:l/aU(10,i-a-1)%10|0}if(r=r||e<0||void 0!==h[d+1]||(a<0?l:l%aU(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(t.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/aU(10,i-a):0:h[d-1])%10&1||n==(t.s<0?8:7)),e<1||!h[0])return h.length=0,c?(e-=t.e+1,h[0]=aU(10,(dU-e%dU)%dU),t.e=-e||0):h[0]=t.e=0,t;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=aU(10,dU-o),h[d]=a>0?(l/aU(10,i-a)%aU(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,h[0]==hU&&(h[0]=1));break}if(h[d]+=s,h[d]!=hU)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return $R&&(t.e>f.maxE?(t.d=null,t.e=NaN):t.e<f.minE&&(t.e=0,t.d=[0])),t}function kU(t,e,n){if(!t.isFinite())return DU(t);var r,i=t.e,o=gU(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+NU(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+NU(-i-1)+o,n&&(r=n-a)>0&&(o+=NU(r))):i>=a?(o+=NU(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+NU(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=NU(r))),o}function LU(t,e){var n=t[0];for(e*=dU;n>=10;n/=10)e++;return e}function AU(t,e,n){if(e>fU)throw $R=!0,n&&(t.precision=n),Error(nU);return MU(new t(qR),e,1,!0)}function xU(t,e,n){if(e>pU)throw Error(nU);return MU(new t(XR),e,n,!0)}function EU(t){var e=t.length-1,n=e*dU+1;if(e=t[e]){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function NU(t){for(var e="";t--;)e+="0";return e}function SU(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/dU+4);for($R=!1;;){if(n%2&&UU((o=o.times(e)).d,a)&&(i=!0),0===(n=oU(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}UU((e=e.times(e)).d,a)}return $R=!0,o}function IU(t){return 1&t.d[t.d.length-1]}function TU(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;){if(!(r=new t(e[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function jU(t,e){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=t.constructor,f=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?($R=!1,u=p):u=e,s=new d(.03125);t.e>-2;)t=t.times(s),h+=5;for(u+=r=Math.log(aU(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=MU(o.times(t),u,1),n=n.times(++l),gU((s=a.plus(wU(o,n,u,1))).d).slice(0,u)===gU(a.d).slice(0,u)){for(i=h;i--;)a=MU(a.times(a),u,1);if(null!=e)return d.precision=p,a;if(!(c<3&&vU(a.d,u-r,f,c)))return MU(a,d.precision=p,f,$R=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function CU(t,e){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=t,m=p.d,g=p.constructor,y=g.rounding,v=g.precision;if(p.s<0||!m||!m[0]||!p.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=p.s?NaN:m?0:p);if(null==e?($R=!1,l=v):l=e,g.precision=l+=10,r=(n=gU(m)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=AU(g,l+2,v).times(o+""),p=CU(new g(r+"."+n.slice(1)),l-10).plus(c),g.precision=v,null==e?MU(p,v,y,$R=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=gU((p=p.times(t)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new g("0."+n),o++):p=new g(r+"."+n.slice(1)),h=p,u=a=p=wU(p.minus(1),p.plus(1),l,1),d=MU(p.times(p),l,1),i=3;;){if(a=MU(a.times(d),l,1),gU((c=u.plus(wU(a,new g(i),l,1))).d).slice(0,l)===gU(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(AU(g,l+2,v).times(o+""))),u=wU(u,new g(f),l,1),null!=e)return g.precision=v,u;if(!vU(u.d,l-10,y,s))return MU(u,g.precision=v,y,$R=!0);g.precision=l+=10,c=a=p=wU(h.minus(1),h.plus(1),l,1),d=MU(p.times(p),l,1),i=s=1}u=c,i+=2}}function DU(t){return String(t.s*t.s/0)}function OU(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i)){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%dU,n<0&&(r+=dU),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=dU;r<i;)t.d.push(+e.slice(r,r+=dU));e=e.slice(r),r=dU-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),$R&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function _U(t,e){var n,r,i,o,a,s,u,c,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lU.test(e))return OU(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(uU.test(e))n=16,e=e.toLowerCase();else if(sU.test(e))n=2;else{if(!cU.test(e))throw Error(eU+e);n=8}for((o=e.search(/p/i))>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),a=(o=e.indexOf("."))>=0,r=t.constructor,a&&(o=(s=(e=e.replace(".","")).length)-o,i=SU(r,new r(n),o,2*o)),o=l=(c=bU(e,n,hU)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*t.s):(t.e=LU(c,l),t.d=c,$R=!1,a&&(t=wU(t,i,4*s)),u&&(t=t.times(Math.abs(u)<54?aU(2,u):NQ.pow(2,u))),$R=!0,t)}function zU(t,e,n,r,i){var o,a,s,u,c=t.precision,l=Math.ceil(c/dU);for($R=!1,u=n.times(n),s=new t(r);;){if(a=wU(s.times(u),new t(e++*e++),c,1),s=i?r.plus(a):r.minus(a),r=wU(a.times(u),new t(e++*e++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return $R=!0,a.d.length=l+1,a}function PU(t,e){for(var n=t;--e;)n*=t;return n}function BU(t,e){var n,r=e.s<0,i=xU(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return GR=r?4:1,e;if((n=e.divToInt(i)).isZero())GR=r?3:2;else{if((e=e.minus(n.times(i))).lte(o))return GR=IU(n)?r?2:3:r?4:1,e;GR=IU(n)?r?1:4:r?3:2}return e.minus(i).abs()}function RU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor,p=void 0!==n;if(p?(yU(n,1,VR),void 0===r?r=f.rounding:yU(r,0,8)):(n=f.precision,r=f.rounding),t.isFinite()){for(p?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,(a=(l=kU(t)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=bU(kU(d),10,i),d.e=d.d.length),o=u=(h=bU(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((t=new f(t)).d=h,t.e=o,h=(t=wU(t,d,n,r,0,i)).d,o=t.e,c=HR),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(t.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(t.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=JR.charAt(h[a]);if(p){if(u>1)if(16==e||8==e){for(a=16==e?4:3,--u;u%a;u++)l+="0";for(u=(h=bU(l,i,e)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=JR.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==e?"0x":2==e?"0b":8==e?"0o":"")+l}else l=DU(t);return t.s<0?"-"+l:l}function UU(t,e){if(t.length>e)return t.length=e,!0}function QU(t){return new this(t).abs()}function WU(t){return new this(t).acos()}function FU(t){return new this(t).acosh()}function YU(t,e){return new this(t).plus(e)}function HU(t){return new this(t).asin()}function GU(t){return new this(t).asinh()}function ZU(t){return new this(t).atan()}function VU(t){return new this(t).atanh()}function JU(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?xU(this,r,i):new this(0)).s=t.s:!t.d||e.isZero()?(n=xU(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,n=this.atan(wU(t,e,o,1)),e=xU(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(wU(t,e,o,1)):(n=xU(this,o,1).times(e.s>0?.25:.75)).s=t.s:n=new this(NaN),n}function qU(t){return new this(t).cbrt()}function XU(t){return MU(t=new this(t),t.e+1,2)}function KU(t,e,n){return new this(t).clamp(e,n)}function $U(t){if(!t||"object"!=typeof t)throw Error(tU+"Object expected");var e,n,r,i=!0===t.defaults,o=["precision",1,VR,"rounding",0,8,"toExpNeg",-ZR,0,"toExpPos",0,ZR,"maxE",0,ZR,"minE",-ZR,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!(oU(r)===r&&r>=o[e+1]&&r<=o[e+2]))throw Error(eU+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(eU+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(rU);this[n]=!0}else this[n]=!1}return this}function tQ(t){return new this(t).cos()}function eQ(t){return new this(t).cosh()}function nQ(t,e){return new this(t).div(e)}function rQ(t){return new this(t).exp()}function iQ(t){return MU(t=new this(t),t.e+1,3)}function oQ(){var t,e,n=new this(0);for($R=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return $R=!0,new this(1/0);n=e}return $R=!0,n.sqrt()}function aQ(t){return t instanceof NQ||t&&t.toStringTag===iU||!1}function sQ(t){return new this(t).ln()}function uQ(t,e){return new this(t).log(e)}function cQ(t){return new this(t).log(2)}function lQ(t){return new this(t).log(10)}function hQ(){return TU(this,arguments,"lt")}function dQ(){return TU(this,arguments,"gt")}function fQ(t,e){return new this(t).mod(e)}function pQ(t,e){return new this(t).mul(e)}function mQ(t,e){return new this(t).pow(e)}function gQ(t){var e,n,r,i,o=0,a=new this(1),s=[];if(void 0===t?t=this.precision:yU(t,1,VR),r=Math.ceil(t/dU),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(rU);for(e=crypto.randomBytes(r*=4);o<r;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(r=s[--o],t%=dU,r&&t&&(i=aU(10,dU-t),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=dU)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<dU&&(n-=dU-r)}return a.e=n,a.d=s,a}function yQ(t){return MU(t=new this(t),t.e+1,this.rounding)}function vQ(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function bQ(t){return new this(t).sin()}function wQ(t){return new this(t).sinh()}function MQ(t){return new this(t).sqrt()}function kQ(t,e){return new this(t).sub(e)}function LQ(){var t=0,e=arguments,n=new this(e[t]);for($R=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return $R=!0,MU(n,this.precision,this.rounding)}function AQ(t){return new this(t).tan()}function xQ(t){return new this(t).tanh()}function EQ(t){return MU(t=new this(t),t.e+1,1)}mU[Symbol.for("nodejs.util.inspect.custom")]=mU.toString,mU[Symbol.toStringTag]="Decimal";var NQ=mU.constructor=function t(e){var n,r,i;function o(t){var e,n,r,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,aQ(t))return i.s=t.s,void($R?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(r=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,n=t;n>=10;n/=10)e++;return void($R?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):OU(i,t.toString())}if("string"!==r)throw Error(eU+t);return 45===(n=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===n&&(t=t.slice(1)),i.s=1),lU.test(t)?OU(i,t):_U(i,t)}if(o.prototype=mU,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=$U,o.clone=t,o.isDecimal=aQ,o.abs=QU,o.acos=WU,o.acosh=FU,o.add=YU,o.asin=HU,o.asinh=GU,o.atan=ZU,o.atanh=VU,o.atan2=JU,o.cbrt=qU,o.ceil=XU,o.clamp=KU,o.cos=tQ,o.cosh=eQ,o.div=nQ,o.exp=rQ,o.floor=iQ,o.hypot=oQ,o.ln=sQ,o.log=uQ,o.log10=lQ,o.log2=cQ,o.max=hQ,o.min=dQ,o.mod=fQ,o.mul=pQ,o.pow=mQ,o.random=gQ,o.round=yQ,o.sign=vQ,o.sin=bQ,o.sinh=wQ,o.sqrt=MQ,o.sub=kQ,o.sum=LQ,o.tan=AQ,o.tanh=xQ,o.trunc=EQ,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)e.hasOwnProperty(r=i[n++])||(e[r]=this[r]);return o.config(e),o}(KR);qR=new NQ(qR),XR=new NQ(XR);const SQ=eL([Kk("mint"),Kk("vault"),Kk("authority"),nL("emissionsPerSecondX64"),nL("growthGlobalX64")]),IQ=eL([oL("anchorDiscriminator"),Kk("whirlpoolsConfig"),Uk(aL(),1,"whirlpoolBump"),rL("tickSpacing"),Uk(aL(),2,"tickSpacingSeed"),rL("feeRate"),rL("protocolFeeRate"),nL("liquidity"),nL("sqrtPrice"),Jk("tickCurrentIndex"),oL("protocolFeeOwedA"),oL("protocolFeeOwedB"),Kk("tokenMintA"),Kk("tokenVaultA"),nL("feeGrowthGlobalA"),Kk("tokenMintB"),Kk("tokenVaultB"),nL("feeGrowthGlobalB"),oL("rewardLastUpdatedTimestamp"),Uk(SQ,3,"rewardInfos")]),TQ=eL([Zk("initialized"),Vk("liquidityNet"),nL("liquidityGross"),nL("feeGrowthOutsideA"),nL("feeGrowthOutsideB"),Uk(nL(),3,"reward_growths_outside")]),jQ=eL([oL("anchorDiscriminator"),Jk("startTickIndex"),Uk(TQ,88,"ticks"),Kk("whirlpool")]);var CQ={blockchain:"solana",name:"orca",alternativeNames:[],label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",router:{v1:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:IQ}},slippage:!0};function DQ(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class OQ{constructor({tokenIn:t,tokenOut:e,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,exchange:s,getTransaction:u}){this.tokenIn=t,this.tokenOut=e,this.path=n,this.amountIn=DQ([r,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOutMin=DQ([a,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOut=DQ([o,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountInMax=DQ([i,"optionalAccess",t=>t.toString,"call",t=>t()]),this.exchange=s,this.getTransaction=u}}let _Q=["ethereum","bsc","polygon","solana","fantom","velas"];_Q.evm=["ethereum","bsc","polygon","fantom","velas"],_Q.solana=["solana"];const zQ=async({exchange:t,fixedPath:e,amountIn:n,amountOut:r})=>{let i=n.add(n.mul(100*parseFloat("0.5")).div(1e4));if(!_Q.evm.includes(t.blockchain))return i;const o=await CL({blockchain:t.blockchain,method:"latestBlockNumber"});let a=[];for(var s=0;s<=2;s++)a.push(o-s);const u=await Promise.all(a.map((async n=>{let{amountIn:i}=await t.getAmounts({path:e,amountOut:r,block:n});return i})));if(!u[0]||!u[1]||!u[2])return i;let c;if(u[0].gt(u[1])&&u[1].gt(u[2])){const t=u[0].sub(u[1]),e=u[1].sub(u[2]),n=t.add(e).div(2);if(c=u[0].add(n),c.gt(i))return c}else if(!u[0].eq(u[1])&&!u[1].eq(u[2])){const t=u[0].sub(u[1]).abs(),e=u[1].sub(u[2]).abs();let n,r;if(n=t.lt(e)?t:e,r=u[0].gt(u[1])&&u[0].gt(u[2])?u[0]:u[1].gt(u[2])&&u[1].gt(u[0])?u[1]:u[2],c=r.add(n),c.gt(i))return c}return i},PQ=async({exchange:t,fixedPath:e,amounts:n,tokenIn:r,tokenOut:i,amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amountInInput:c,amountOutInput:l,amountInMaxInput:h,amountOutMinInput:d})=>{if(d||l){if(_Q.evm.includes(t.blockchain))o=a=await zQ({exchange:t,fixedPath:e,amountIn:o,amountOut:d||s});else if(_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!=o){let i=zQ({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>r.push(t))),i}}))),r.push(n[n.length-1]),o=a=(n=r)[0]}}else if((h||c)&&_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!==o&&o<e.length-1)r.unshift(n[o]);else if(o===e.length-1){let i=(async({exchange:t,fixedPath:e,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>(r.unshift(t),t))),i}}))),r.push(n[0]),s=u=(n=r.slice().reverse())[n.length-1]}return{amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amounts:n}},BQ=t=>t.match("0x")?ln(t):t;let RQ=async({amount:t,blockchain:e,address:n})=>await YR.BigNumber({amount:t,blockchain:e,address:n}),UQ=async({blockchain:t,exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await RQ({amount:o,blockchain:t,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await RQ({amount:s,blockchain:t,address:r})),i&&"number"==typeof i&&(u.amountIn=await RQ({amount:i,blockchain:t,address:n})),a&&"number"==typeof a&&(u.amountInMax=await RQ({amount:a,blockchain:t,address:n})),u};class QQ{constructor({name:t,blockchain:e,alternativeNames:n,label:r,logo:i,router:o,factory:a,wrapper:s,pair:u,market:c,findPath:l,pathExists:h,getAmounts:d,getTransaction:f,slippage:p}){this.name=t,this.blockchain=e,this.alternativeNames=n,this.label=r,this.logo=i,this.router=o,this.factory=a,this.wrapper=s,this.pair=u,this.market=c,this.findPath=l,this.pathExists=h,this.getAmounts=d,this.getTransaction=f,this.slippage=p}async route({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}){return t===e?Promise.resolve():((({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s})=>{if(void 0!==a)throw"You cannot not set amountOutMax! Only amountInMax or amountOutMin!";if(void 0!==s)throw"You cannot not set amountInMin! Only amountInMax or amountOutMin!";if(void 0!==r&&void 0!==n)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==i&&void 0!==o)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==n&&void 0!==i)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==r&&void 0!==o)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}),await(({exchange:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,findPath:s,getAmounts:u,getTransaction:c,slippage:l})=>{if(e=BQ(e),n=BQ(n),[r,i,o,a].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([r,i,o,a].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async h=>{let{path:d,fixedPath:f}=await s({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a});if(void 0===d||0==d.length)return h();let p,[m,g,y,v]=[r,i,o,a];if(({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await u({path:d,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a})),[r,o,i,a].every((t=>null==t)))return h();l&&({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await PQ({exchange:t,fixedPath:f,amounts:p,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v})),h(new OQ({tokenIn:e,tokenOut:n,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,exchange:t,getTransaction:async({from:e})=>await c({exchange:t,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v,fromAddress:e})}))}))})({...await UQ({blockchain:this.blockchain,exchange:this,tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o}),findPath:this.findPath,getAmounts:this.getAmounts,getTransaction:this.getTransaction,slippage:this.slippage}))}}const WQ="79226673515401279992447579055",FQ="4295048016",YQ=t=>-t;class HQ{static priceToSqrtPriceX64(t,e,n){return r=t.mul(NQ.pow(10,n-e)).sqrt(),new Hk(r.mul(NQ.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(t,e,n){return(r=t,new NQ(r.toString()).mul(NQ.pow(2,-64))).pow(2).mul(NQ.pow(10,e-n));var r}static tickIndexToSqrtPriceX64(t){return new Hk(t>0?function(t){let e;e=new Hk(0!=(1&t)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&t)&&(e=GQ(e.mul(new Hk("79236085330515764027303304731")),96,256));0!=(4&t)&&(e=GQ(e.mul(new Hk("79244008939048815603706035061")),96,256));0!=(8&t)&&(e=GQ(e.mul(new Hk("79259858533276714757314932305")),96,256));0!=(16&t)&&(e=GQ(e.mul(new Hk("79291567232598584799939703904")),96,256));0!=(32&t)&&(e=GQ(e.mul(new Hk("79355022692464371645785046466")),96,256));0!=(64&t)&&(e=GQ(e.mul(new Hk("79482085999252804386437311141")),96,256));0!=(128&t)&&(e=GQ(e.mul(new Hk("79736823300114093921829183326")),96,256));0!=(256&t)&&(e=GQ(e.mul(new Hk("80248749790819932309965073892")),96,256));0!=(512&t)&&(e=GQ(e.mul(new Hk("81282483887344747381513967011")),96,256));0!=(1024&t)&&(e=GQ(e.mul(new Hk("83390072131320151908154831281")),96,256));0!=(2048&t)&&(e=GQ(e.mul(new Hk("87770609709833776024991924138")),96,256));0!=(4096&t)&&(e=GQ(e.mul(new Hk("97234110755111693312479820773")),96,256));0!=(8192&t)&&(e=GQ(e.mul(new Hk("119332217159966728226237229890")),96,256));0!=(16384&t)&&(e=GQ(e.mul(new Hk("179736315981702064433883588727")),96,256));0!=(32768&t)&&(e=GQ(e.mul(new Hk("407748233172238350107850275304")),96,256));0!=(65536&t)&&(e=GQ(e.mul(new Hk("2098478828474011932436660412517")),96,256));0!=(131072&t)&&(e=GQ(e.mul(new Hk("55581415166113811149459800483533")),96,256));0!=(262144&t)&&(e=GQ(e.mul(new Hk("38992368544603139932233054999993551")),96,256));return GQ(e,32,256)}(t):function(t){let e,n=Math.abs(t);e=new Hk(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(e=GQ(e.mul(new Hk("18444899583751176498")),64,256));0!=(4&n)&&(e=GQ(e.mul(new Hk("18443055278223354162")),64,256));0!=(8&n)&&(e=GQ(e.mul(new Hk("18439367220385604838")),64,256));0!=(16&n)&&(e=GQ(e.mul(new Hk("18431993317065449817")),64,256));0!=(32&n)&&(e=GQ(e.mul(new Hk("18417254355718160513")),64,256));0!=(64&n)&&(e=GQ(e.mul(new Hk("18387811781193591352")),64,256));0!=(128&n)&&(e=GQ(e.mul(new Hk("18329067761203520168")),64,256));0!=(256&n)&&(e=GQ(e.mul(new Hk("18212142134806087854")),64,256));0!=(512&n)&&(e=GQ(e.mul(new Hk("17980523815641551639")),64,256));0!=(1024&n)&&(e=GQ(e.mul(new Hk("17526086738831147013")),64,256));0!=(2048&n)&&(e=GQ(e.mul(new Hk("16651378430235024244")),64,256));0!=(4096&n)&&(e=GQ(e.mul(new Hk("15030750278693429944")),64,256));0!=(8192&n)&&(e=GQ(e.mul(new Hk("12247334978882834399")),64,256));0!=(16384&n)&&(e=GQ(e.mul(new Hk("8131365268884726200")),64,256));0!=(32768&n)&&(e=GQ(e.mul(new Hk("3584323654723342297")),64,256));0!=(65536&n)&&(e=GQ(e.mul(new Hk("696457651847595233")),64,256));0!=(131072&n)&&(e=GQ(e.mul(new Hk("26294789957452057")),64,256));0!=(262144&n)&&(e=GQ(e.mul(new Hk("37481735321082")),64,256));return e}(t))}static sqrtPriceX64ToTickIndex(t){if(t.gt(new Hk(WQ))||t.lt(new Hk(FQ)))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const e=t.bitLength()-1,n=function(t,e,n){let r=t.toTwos(n).shln(e);return r.imaskn(n+1),r.fromTwos(n)}(new Hk(e-64),32,128);let r=new Hk("8000000000000000","hex"),i=0,o=new Hk(0),a=e>=64?t.shrn(e-63):t.shln(63-e);for(;r.gt(new Hk(0))&&i<14;){a=a.mul(a);let t=a.shrn(127);a=a.shrn(63+t.toNumber()),o=o.add(r.mul(t)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new Hk("59543866431248")),c=GQ(u.sub(new Hk("184467440737095516")),64,128).toNumber(),l=GQ(u.add(new Hk("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HQ.tickIndexToSqrtPriceX64(l).lte(t)?l:c}static tickIndexToPrice(t,e,n){return HQ.sqrtPriceX64ToPrice(HQ.tickIndexToSqrtPriceX64(t),e,n)}static priceToTickIndex(t,e,n){return HQ.sqrtPriceX64ToTickIndex(HQ.priceToSqrtPriceX64(t,e,n))}static priceToInitializableTickIndex(t,e,n,r){return((t,e)=>t-t%e)(HQ.priceToTickIndex(t,e,n),r)}static invertPrice(t,e,n){const r=HQ.priceToTickIndex(t,e,n),i=YQ(r);return HQ.tickIndexToPrice(i,n,e)}static invertSqrtPriceX64(t){const e=HQ.sqrtPriceX64ToTickIndex(t),n=YQ(e);return HQ.tickIndexToSqrtPriceX64(n)}}function GQ(t,e,n){let r=t.toTwos(n).shrn(e);return r.imaskn(n-e+1),r.fromTwos(n-e)}const ZQ=new Hk(1e4),VQ=new Hk(1e6),JQ=new Hk(0),qQ=new Hk(1),XQ=new Hk(2),KQ=XQ.pow(new Hk(64)).sub(qQ);class $Q extends Hk{toBuffer(){const t=super.toArray().reverse(),e=buffer.Buffer.from(t);if(8===e.length)return e;assert__default.default(e.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return e.copy(n),n}static fromBuffer(t){return assert__default.default(8===t.length,`Invalid buffer length: ${t.length}`),new $Q([...t].reverse().map((t=>`00${t.toString(16)}`.slice(-2))).join(""),16)}}class tW{static mul(t,e,n){const r=t.mul(e);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!1,r)}static mulDivRoundUp(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!0,r)}static mulDivRoundUpIf(t,e,n,r,i){if(n.eq(JQ))throw new Error("mulDiv denominator is zero");const o=this.mul(t,e,i),a=o.div(n);return r&&o.mod(n).gt(JQ)?a.add(qQ):a}static checked_mul_shift_right(t,e,n){return this.checked_mul_shift_right_round_up_if(t,e,!1,n)}static checked_mul_shift_right_round_up_if(t,e,n,r){if(t.eq(JQ)||e.eq(JQ))return JQ;const i=this.mul(t,e,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new Hk(2).pow(new Hk(64)));const a=n&&o.and(KQ).gt(JQ);if(a&&o.eq(KQ))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(qQ):o}static isOverLimit(t,e){const n=XQ.pow(new Hk(e)).sub(qQ);return t.gt(n)}static divRoundUp(t,e){return this.divRoundUpIf(t,e,!0)}static divRoundUpIf(t,e,n){if(e.eq(JQ))throw new Error("divRoundUpIf - divide by zero");let r=t.div(e);return n&&t.mod(e).gt(JQ)?r.add(qQ):r}}const eW=(t,e,n)=>{const r=HQ.tickIndexToSqrtPriceX64(t);return{nextTickPrice:r,nextSqrtPriceLimit:n?Hk.max(e,r):Hk.min(e,r)}},nW=(t,e)=>t.gt(e)?[e,t]:[t,e],rW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JQ)?c.add(qQ):c;if(h.gt(KQ))throw new Error("Results larger than U64");return h},iW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i);return tW.checked_mul_shift_right_round_up_if(n,a,r,128)},oW=(t,e,n,r,i)=>r===i?((t,e,n,r)=>{if(n.eq(JQ))return t;let i=tW.mul(t,n,256),o=tW.mul(e,t,256).shln(64);if(tW.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=e.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tW.divRoundUp(o,s);if(u.lt(new Hk(FQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new Hk(WQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(t,e,n,r):((t,e,n,r)=>{let i=n.shln(64),o=tW.divRoundUpIf(i,e,!r);return r?t.add(o):t.sub(o)})(t,e,n,r),aW=(t,e,n,r,i)=>i===r?rW(t,e,n,r):iW(t,e,n,r),sW=(t,e,n,r,i,o,a)=>{let s=aW(r,i,n,o,a),u=t;if(o){u=tW.mulDiv(t,VQ.sub(new Hk(e)),VQ,128)}let c=u.gte(s)?i:oW(r,n,u,o,a),l=c.eq(i),h=((t,e,n,r,i)=>i===r?iW(t,e,n,!r):rW(t,e,n,!r))(r,c,n,o,a);l||(s=aW(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(t)&&(p=t),o&&!l)d=t.sub(f);else{const t=new Hk(e);d=tW.mulDivRoundUp(f,t,VQ.sub(t),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},uW=(t,e,n)=>n?e.sub(t):e.add(t),cW=(t,e,n,r,i)=>{let o=r,a=i,s=t;if(e>0){let t=((t,e)=>t.mul(new $Q(e).div(ZQ)))(s,e);s=s.sub(t),o=o.add(r)}if(n.gt(JQ)){const t=s.shln(64).div(n);a=a.add(t)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},lW=443636,hW=-443636,dW=88,fW=(t,e,n)=>{const r=(Math.floor(t/e/dW)+n)*e*dW,i=dW*e;if(r<hW-(hW%i+i))throw`startTickIndex is too small - - ${r}`;if(r>lW)throw`startTickIndex is too large - ${r}`;return r},pW=async({pool:t,freshWhirlpoolData:e,aToB:n})=>{const r=await(async({aToB:t,pool:e,tickSpacing:n,tickCurrentIndex:r})=>{const i=t?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=fW(r+i,n,o)}catch(t){return a}const u=(await Av.findProgramAddress([Yk.from("tick_array"),new Av(e.toString()).toBuffer(),Yk.from(s.toString())],new Av(CQ.router.v1.address)))[0];a.push(u),o=t?o-1:o+1}return a})({aToB:n,pool:t,tickSpacing:e.tickSpacing,tickCurrentIndex:e.tickCurrentIndex});return await Promise.all(r.map((async(t,e)=>{let n;try{n=await CL({blockchain:"solana",address:t.toString(),api:jQ,cache:10})}catch(t){}return{address:t,data:n}})))};class mW{static fromTickIndex(t,e){const n=Math.floor(Math.floor(t/e)/dW);let r=Math.floor(t%(e*dW)/e);return r<0&&(r=dW+r),new mW(n,r,e)}constructor(t,e,n){if(e>=dW)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(e<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=t,this.offsetIndex=e,this.tickSpacing=n}toTickIndex(){return this.arrayIndex*dW*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class gW{constructor(t,e,n){if(!t[0]||!t[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const e of t){if(!e||!e.data)break;this.sequence.push({address:e.address,data:e.data})}this.tickArrays=t,this.tickSpacing=e,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=mW.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(t){const e=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,t+e)}getNumOfTouchedArrays(){return this.touchedArrays.filter((t=>!!t)).length}getTouchedArrays(t){let e=this.touchedArrays.reduce(((t,e,n)=>(e&&t.push(this.sequence[n].address),t)),[]);if(0===e.length)return[];const n=t-e.length;return n>0&&(e=e.concat(Array(n).fill(e[e.length-1]))),e}getTick(t){const e=mW.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(e,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(e.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,t))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[e.offsetIndex]}findNextInitializedTickIndex(t){const e=this.aToB?t:t+this.tickSpacing;let n=mW.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const t=this.getTick(n.toTickIndex());if(t.initialized)return{nextIndex:n.toTickIndex(),nextTickData:t};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,lW),hW),nextTickData:null}}getLocalArrayIndex(t,e){return e?this.startArrayIndex-t:t-this.startArrayIndex}isArrayIndexInBounds(t,e){const n=this.getLocalArrayIndex(t.arrayIndex,e),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(t,e){const n=t+this.tickSpacing*dW;return e>=t&&e<n}}const yW=async({account:t,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await CL({blockchain:"solana",address:t.pubkey.toString(),api:CQ.router.v1.api,cache:10}),s=n.tokenMintA.toString()===e,u=await pW({pool:t.pubkey,freshWhirlpoolData:n,aToB:s}),c=new gW(u,n.tickSpacing,s),l=new Hk(s?FQ:WQ),h=!(!r&&!i),d=(({tokenAmount:t,aToB:e,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=t,s=JQ,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JQ;const d=n.feeRate,f=n.protocolFeeRate;let p=new $Q(0),m=e?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JQ)&&!i.eq(u);){let{nextIndex:t}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:g}=eW(t,i,e);const y=sW(a,d,c,u,g,o,e);h=h.add(y.feeAmount),o?(a=a.sub(y.amountIn),a=a.sub(y.feeAmount),s=s.add(y.amountOut)):(a=a.sub(y.amountOut),s=s.add(y.amountIn),s=s.add(y.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:b}=cW(y.feeAmount,f,c,p,m);if(p=v,m=b,y.nextPrice.eq(n)){const n=r.getTick(t);n.initialized&&(c=uW(n.liquidityNet,c,e)),l=e?t-1:t}else l=HQ.sqrtPriceX64ToTickIndex(y.nextPrice);u=y.nextPrice}return s})({tokenAmount:new Hk((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(t){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let vW=async(t,e)=>await CL(`solana://${CQ.router.v1.address}/getProgramAccounts`,{params:{filters:[{dataSize:CQ.router.v1.api.span},{memcmp:{offset:8,bytes:"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ"}},{memcmp:{offset:101,bytes:t}},{memcmp:{offset:181,bytes:e}}]},api:CQ.router.v1.api,cache:86400,cacheKey:["whirlpool",t.toString(),e.toString()].join("-")}),bW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await vW(t,e);return 0===a.length&&(a=await vW(e,t)),a=a.filter((t=>t.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await yW({account:a,tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(t){return[]}},wW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await bW({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(t=>t.reduce(((t,e)=>bt.from(e.price).gt(bt.from(t.price))?e:t)))(a):(t=>t.reduce(((t,e)=>bt.from(e.price).lt(bt.from(t.price))?e:t)))(a),s};function MW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const kW=L.solana;let LW=t=>{if(!t)return;let e=t.map(((e,n)=>e===kW.currency.address&&t[n+1]!=kW.wrapped.address&&t[n-1]!=kW.wrapped.address?kW.wrapped.address:e));return e[0]==kW.currency.address&&e[1]==kW.wrapped.address?e.splice(0,1):e[e.length-1]==kW.currency.address&&e[e.length-2]==kW.wrapped.address&&e.splice(e.length-1,1),e},AW=async({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=t.length&&(t=LW(t),(await bW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xW=async({path:t,amountIn:e,amountInMax:n})=>{let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[2],amountIn:e?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==t.length)return r},EW=async({path:t,amountOut:e,amountOutMin:n})=>{t=t.slice().reverse();let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[0],amountOut:e,amountOutMin:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[2],tokenOut:t[1],amountOut:e?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==t.length)return r.slice().reverse()};const NW=L.solana,SW=new Hk("14449647541112719096"),IW=new Hk("16635068063392030915"),TW=async({instructions:t,owner:e,token:n,account:r})=>{let i;try{i=!!await CL({blockchain:"solana",address:r.toString()})}catch(t){}i||t.push(await YR.solana.createAssociatedTokenAccountInstruction({token:n,owner:e,payer:e}))},jW=async({fromAddress:t,poolOne:e,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(d.toString()),isWritable:!0,isSigner:!1},{pubkey:n[0].address,isWritable:!0,isSigner:!1},{pubkey:n[1].address,isWritable:!0,isSigner:!1},{pubkey:n[2].address,isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(s.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],CW=({amount:t,otherAmountThreshold:e,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]),u=Yk.alloc(s.span),s.encode({anchorDiscriminator:IW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},DW=async({fromAddress:t,pool:e,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:a[0].address,isWritable:!0,isSigner:!1},{pubkey:a[1].address,isWritable:!0,isSigner:!1},{pubkey:a[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],OW=({amount:t,otherAmountThreshold:e,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]),a=Yk.alloc(o.span),o.encode({anchorDiscriminator:SW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _W=new QQ(Object.assign(CQ,{findPath:async({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([t,e].includes(kW.currency.address)&&[t,e].includes(kW.wrapped.address))return{path:void 0,fixedPath:void 0};let a,s,u,c;return await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,e]:t!=kW.wrapped.address&&t!=kW.currency.address&&await AW({path:[t,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&e!=kW.wrapped.address&&e!=kW.currency.address&&await AW({path:[e,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,kW.wrapped.address,e]:!kW.stables.usd.includes(t)&&(s=(await Promise.all(kW.stables.usd.map((async e=>await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?e:void 0)))).filter(Boolean))&&!kW.stables.usd.includes(e)&&(u=(await Promise.all(kW.stables.usd.map((async t=>await AW({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&(c=s.filter((t=>u.includes(t)))[0])&&(a=[t,c,e]),MW([a,"optionalAccess",t=>t.length])&&a[0]==kW.currency.address?a.splice(1,0,kW.wrapped.address):MW([a,"optionalAccess",t=>t.length])&&a[a.length-1]==kW.currency.address&&a.splice(a.length-1,0,kW.wrapped.address),{path:a,fixedPath:LW(a)}},pathExists:AW,getAmounts:async({path:t,tokenIn:e,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(t=LW(t),r){if(s=await EW({path:t,amountOut:r,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xW({path:t,amountIn:i,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await EW({path:t,amountOutMin:a,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xW({path:t,amountInMax:o,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({exchange:t,path:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o,amounts:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:"solana"},f=[];const p=LW(e);if(p.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const m=p[0],g=3==p.length?p[1]:void 0,y=p[p.length-1];let v;2==p.length?v=[await wW({tokenIn:m,tokenOut:y,amountIn:s||c,amountOut:u||l})]:s||c?(v=[await wW({tokenIn:m,tokenOut:g,amountIn:s||c})],v.push(await wW({tokenIn:g,tokenOut:y,amountIn:v[0].price}))):(v=[await wW({tokenIn:g,tokenOut:y,amountOut:u||l})],v.unshift(await wW({tokenIn:m,tokenOut:g,amountOut:v[0].price})));let b,w=e[0]===NW.currency.address&&p[0]===NW.wrapped.address,M=e[e.length-1]===NW.currency.address&&p[p.length-1]===NW.wrapped.address;const k=await EL("solana");if(w||M){const t=await k.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span),e=LM.generate();b=e.publicKey.toString();const r=w?new Hk(n.toString()).add(new Hk(t)):new Hk(t);let i=bb.createAccount({fromPubkey:new Av(h),newAccountPubkey:new Av(b),programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[e],f.push(i),f.push(YR.solana.initializeAccountInstruction({account:b,token:NW.wrapped.address,owner:h}))}if(1===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:d}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await DW({fromAddress:h,pool:v[0].pubkey,tokenAccountA:v[0].aToB?c:d,tokenVaultA:v[0].data.tokenVaultA,tokenAccountB:v[0].aToB?d:c,tokenVaultB:v[0].data.tokenVaultB,tickArrays:v[0].tickArrays}),data:OW({amount:a,otherAmountThreshold:u,sqrtPriceLimit:v[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:v[0].aToB})}))}else if(2===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=p[1],g=new Av(await YR.solana.findProgramAddress({owner:h,token:d}));await TW({instructions:f,owner:h,token:d,account:g});let k=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:k}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await jW({fromAddress:h,poolOne:v[0].pubkey,tickArraysOne:v[0].tickArrays,tokenAccountOneA:v[0].aToB?c:g,tokenVaultOneA:v[0].data.tokenVaultA,tokenAccountOneB:v[0].aToB?g:c,tokenVaultOneB:v[0].data.tokenVaultB,poolTwo:v[1].pubkey,tickArraysTwo:v[1].tickArrays,tokenAccountTwoA:v[1].aToB?g:k,tokenVaultTwoA:v[1].data.tokenVaultA,tokenAccountTwoB:v[1].aToB?k:g,tokenVaultTwoB:v[1].data.tokenVaultB}),data:CW({amount:a,otherAmountThreshold:u,amountSpecifiedIsInput:e,aToBOne:v[0].aToB,aToBTwo:v[1].aToB,sqrtPriceLimitOne:v[0].sqrtPriceLimit,sqrtPriceLimitTwo:v[1].sqrtPriceLimit})}))}return(w||M)&&f.push(YR.solana.closeAccountInstruction({account:b,owner:h})),d.instructions=f,d}}));function zW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const PW=(t,e,n)=>{if(!n)return;let r=n.map(((e,r)=>e===t.currency.address&&n[r+1]!=t.wrapped.address&&n[r-1]!=t.wrapped.address?t.wrapped.address:e));return r[0]==t.currency.address&&r[1]==t.wrapped.address?r.splice(0,1):r[r.length-1]==t.currency.address&&r[r.length-2]==t.wrapped.address&&r.splice(r.length-1,1),r},BW=({reserves:t,min:e,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?t[0].gte(Qc(e.toString(),o)):i.toLowerCase()==n.toLowerCase()&&t[1].gte(Qc(e.toString(),o)),RW=async(t,e,n)=>{if(1==PW(t,0,n).length)return!1;try{let r=await CL({blockchain:t.name,address:e.factory.address,method:"getPair",api:e.factory.api,cache:36e5,params:PW(t,0,n)});if(!r||r==t.zero)return!1;let[i,o,a]=await Promise.all([CL({blockchain:t.name,address:r,method:"getReserves",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token0",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token1",api:e.pair.api,cache:36e5})]);if(n.includes(t.wrapped.address))return BW({min:1,token:t.wrapped.address,decimals:t.currency.decimals,reserves:i,token0:o,token1:a});if(n.find((e=>t.stables.usd.includes(e)))){let e=n.find((e=>t.stables.usd.includes(e))),r=new YR({blockchain:t.name,address:e}),s=await r.decimals();return BW({min:1e3,token:e,decimals:s,reserves:i,token0:o,token1:a})}return!0}catch(t){return!1}};let UW=(t,e,{path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsOut",api:e.router.api,params:{amountIn:r,path:PW(t,0,n)}}).then((t=>{i(t[t.length-1])})).catch((()=>i()))})),QW=(t,e,{path:n,amountOut:r,block:i})=>new Promise((o=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsIn",api:e.router.api,params:{amountOut:r,path:PW(t,0,n)},block:i}).then((t=>o(t[0]))).catch((()=>o()))}));var WW={findPath:async(t,e,{tokenIn:n,tokenOut:r})=>{if([n,r].includes(t.currency.address)&&[n,r].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let i;if(await RW(t,e,[n,r]))i=[n,r];else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&r!=t.wrapped.address&&await RW(t,e,[r,t.wrapped.address]))i=[n,t.wrapped.address,r];else if(!t.stables.usd.includes(n)&&(await Promise.all(t.stables.usd.map((r=>RW(t,e,[n,r]))))).filter(Boolean).length&&r!=t.wrapped.address&&await RW(t,e,[t.wrapped.address,r])){let o=(await Promise.all(t.stables.usd.map((async r=>await RW(t,e,[n,r])?r:void 0)))).find(Boolean);i=[n,o,t.wrapped.address,r]}else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&!t.stables.usd.includes(r)&&(await Promise.all(t.stables.usd.map((n=>RW(t,e,[n,r]))))).filter(Boolean).length){let o=(await Promise.all(t.stables.usd.map((async n=>await RW(t,e,[n,r])?n:void 0)))).find(Boolean);i=[n,t.wrapped.address,o,r]}return zW([i,"optionalAccess",t=>t.length])&&i[0]==t.currency.address?i.splice(1,0,t.wrapped.address):zW([i,"optionalAccess",t=>t.length])&&i[i.length-1]==t.currency.address&&i.splice(i.length-1,0,t.wrapped.address),{path:i,fixedPath:PW(t,0,i)}},pathExists:RW,getAmounts:async(t,e,{path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await UW(t,e,{path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await UW(t,e,{path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.router.address,api:e.router.api};return n[0]===t.currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===t.currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PW(t,0,n),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const FW=L.bsc,YW={blockchain:"bsc",name:"pancakeswap",alternativeNames:["pancake"],label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:WW.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var HW=new QQ(Object.assign(YW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(FW,YW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(FW,YW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(FW,YW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(FW,YW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const GW=L.polygon,ZW={blockchain:"polygon",name:"quickswap",alternativeNames:[],label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:WW.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var VW=new QQ(Object.assign(ZW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(GW,ZW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(GW,ZW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(GW,ZW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(GW,ZW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const JW=L.fantom,qW={blockchain:"fantom",name:"spookyswap",alternativeNames:[],label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:WW.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var XW=new QQ(Object.assign(qW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(JW,qW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(JW,qW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(JW,qW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(JW,qW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const KW=L.ethereum,$W={blockchain:"ethereum",name:"uniswap_v2",alternativeNames:[],label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:WW.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var tF=new QQ(Object.assign($W,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(KW,$W,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(KW,$W,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(KW,$W,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(KW,$W,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const eF=L.velas,nF={blockchain:"velas",name:"wagyuswap",alternativeNames:[],label:"WagyuSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NC45MSAxMzAuMjYiPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxwYXRoIGQ9Ik0xMTcuMjgsOTYuNDVjMCwyNC42Mi0yMS4yNCw0NC42LTQ3LjQ1LDQ0LjZzLTQ3LjQ2LTIwLTQ3LjQ2LTQ0LjZjMC0zLjE5LDAtMTkuODUsNy40My0zMy40NSw3LjA4LTEzLDE5LjUyLTIxLjY5LDE5LjUyLTIxLjY5cy4xNywzLjgxLjY2LDcuODJhMjQuMSwyNC4xLDAsMCwwLDEsNGMuMDYtMy40NCwxLjM2LTExLjcsNi41Ny0yMS42Myw2LTExLjQ2LDE3LTIwLjcyLDE3LTIwLjcyYTEwOC41MSwxMDguNTEsMCwwLDAsLjMsMTYuOTFjLjg1LDcuNzIsNC4xNSwxNC45MSw1LjA3LDE1LjU5YTI1LjgyLDI1LjgyLDAsMCwxLC44Ni00Ljg1LDE3LjM0LDE3LjM0LDAsMCwxLDIuNTctNC42NWMuMi0uOC40Miw2LjE1LDIuODcsMTAuNDQsNS43LDEwLDIwLjE0LDIzLjEsMjMuNTEsMjhBNDIuNDQsNDIuNDQsMCwwLDEsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNjYTQwNGYiLz48cGF0aCBkPSJNNzMsMTM1LjU5Yy0yNi4yMSwwLTQ3LjQ1LTIwLTQ3LjQ1LTQ0LjYsMC0zLjA2LDAtMTguMzksNi40Ny0zMS42My0uNzYsMS4xNi0xLjQ4LDIuMzUtMi4xNSwzLjYtNy40NywxMy42NC03LjQ3LDMwLjMtNy40NywzMy40OSwwLDI0LjYyLDIxLjI0LDQ0LjYsNDcuNDYsNDQuNiwxOS4yOCwwLDM1Ljg3LTEwLjgsNDMuMy0yNi4zMUE0OC4yNSw0OC4yNSwwLDAsMSw3MywxMzUuNTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iIzkyMzg0YiIvPjxwYXRoIGQ9Ik01MCw0OS4yNmEyMy4wNiwyMy4wNiwwLDAsMCwxLDRDNTEsNDkuOTQsNTIuNSw0MS40OCw1Ny4xOSwzMi4xYy0uODYsMS4zNy0yLDMuNTMtMi43Niw1QTY1LDY1LDAsMCwwLDQ5Ljg3LDQ4QzQ5LjkyLDQ4LjQzLDUwLDQ4Ljg0LDUwLDQ5LjI2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiM5MjM4NGIiLz48cGF0aCBkPSJNNzguNDQsODIuNmMtOS4yOCwxMS4zNC0yMi4zLDE4LjA2LTE5LjEyLDIxLjE3LDMuMzQsMy4yNywyMy4wOSwxMy45MiwzOC4zLTEuNzEsOC04LjI0LDcuMzMtMjEuMTgsMi44Ni0yOS4wNiwwLDAsMi43LTcuOCwyLjU3LTguMzYtLjQ3LTEuOS0xMC0xMi0xMS4zMy0xMi42MkE4Ny4yMyw4Ny4yMywwLDAsMSw4OSw2NC43MUM4Ny43LDY4LjU1LDgzLjkyLDc1Ljg5LDc4LjQ0LDgyLjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iI2VjZDBjZiIvPjxwYXRoIGQ9Ik04My43OSw4Ny4xM2MtNiw3LjMtMTMuNzksMTIuMjUtMTEuNDcsMTMuOTRzMTAuNzYsNiwyMC41OS00YzcuMzItNy41MSw0LjIzLTE3LjQzLDEuOS0xOS4xMlM4OC44LDgxLDgzLjc5LDg3LjEzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNkYWIyYjUiLz48cGF0aCBkPSJNODYuMTMsOTEuMzVjLTIuNDMsMy4zNi0zLjQzLDYuNzUtMi4zMiw3LjU3czQtMS4yMyw2LjQ1LTQuNTgsMy40NC02Ljc0LDIuMzMtNy41N1M4OC41Niw4OCw4Ni4xMyw5MS4zNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMi4zNyAtMTAuNzkpIiBmaWxsPSIjYzk5NDljIi8+PHBhdGggZD0iTTg2LjIyLDQ0LjI0YTE1LjQzLDE1LjQzLDAsMCwxLTEtMi4wNkE2My4xOSw2My4xOSwwLDAsMSw2OC44LDU4LjY1QzYwLjYxLDY0LjM2LDU2LDY4LjYsNTMuNzUsODEsNTIuNTQsODcuNDYsMzUsNzcuNzQsMjkuMzIsODZjLTIuNDEsMy41Mi0yLjI1LDcuMDktMy41OCw5LjMxLjQzLDEwLjE4LDcuNDQsMjAsNy40NCwyMC0xLjE5LTEuNzItLjM3LTEyLDMuNjQtMTguNzQsMy44My02LjQ1LDE3LjEyLTYuOSwyMy4yOS0xMy43NkM2Ni41Nyw3NS43LDY2LjM2LDY5LjM4LDcxLDYzLjY5YzYuNS04LDE1LTE1LjEzLDE5LjcyLTEyLjg2QTU2LjQ0LDU2LjQ0LDAsMCwxLDg2LjIyLDQ0LjI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48cGF0aCBkPSJNMTE3LjI4LDk2LjQ1Yy0uNDMsMy0zLjY4LDkuMzEtNy44OCwxMC4yOS03LjY3LDEuNzctMTAuNzktMy0xNS42NywyYTI5LjgyLDI5LjgyLDAsMCwxLTI5LjY2LDcuMTFjLTkuNDMtMi45NC0yMC4xOCw2LjQzLTI3LDQuMzksNS4yOSw2Ljg2LDE3LjUzLDEyLDE4LjkyLDEyLjQyLTEtMS4xNi00LjA4LTUuODQtMS4xMi03LjM3LDUuNjQtMi45MSwxNCwyLjc1LDIwLjA4LDEuMDYsNy4yMS0yLDEwLjI5LTgsMTQuMS0xMC4zNSwxLjktMS4xOSwxMi05LjMxLDI0LjExLTEuNDZBNDIuMDYsNDIuMDYsMCwwLDAsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48L2c+PC9zdmc+",router:{address:"0x3D1c58B6d4501E34DF37Cf0f664A58059a188F00",api:WW.ROUTER},factory:{address:"0x69f3212344a38b35844cce4864c2af9c717f35e3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var rF=new QQ(Object.assign(nF,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(eF,nF,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(eF,nF,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(eF,nF,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(eF,nF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));var iF={findPath:async(t,{tokenIn:e,tokenOut:n})=>{if(![e,n].includes(t.currency.address)||![e,n].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let r=[e,n];return{path:r,fixedPath:r}},pathExists:async(t,e)=>!(e.length<=1)&&(!(e.length>=3)&&(e.includes(t.currency.address)&&e.includes(t.wrapped.address))),getAmounts:async({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.wrapper.address,api:e.wrapper.api};return n[0]===t.currency.address&&n[1]===t.wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===t.wrapped.address&&n[1]===t.currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const oF=L.bsc,aF={blockchain:"bsc",name:"wbnb",alternativeNames:[],label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",wrapper:{address:oF.wrapped.address,api:iF.WETH},slippage:!1};var sF=new QQ(Object.assign(aF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(oF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(oF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(oF,aF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const uF=L.ethereum,cF={blockchain:"ethereum",name:"weth",alternativeNames:[],label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:uF.wrapped.address,api:iF.WETH},slippage:!1};var lF=new QQ(Object.assign(cF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(uF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(uF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(uF,cF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const hF=L.fantom,dF={blockchain:"fantom",name:"wftm",alternativeNames:[],label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:hF.wrapped.address,api:iF.WETH},slippage:!1};var fF=new QQ(Object.assign(dF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(hF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(hF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(hF,dF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const pF=L.polygon,mF={blockchain:"polygon",name:"wmatic",alternativeNames:[],label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",wrapper:{address:pF.wrapped.address,api:iF.WETH},slippage:!1};var gF=new QQ(Object.assign(mF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(pF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(pF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(pF,mF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const yF=L.velas,vF={blockchain:"velas",name:"wvlx",alternativeNames:[],label:"Wrapped Velas",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMwMDM3QzE7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=",wrapper:{address:yF.wrapped.address,api:iF.WETH},slippage:!1};let bF={ethereum:[tF,lF],bsc:[HW,sF],polygon:[VW,gF],solana:[_W],fantom:[XW,fF],velas:[rF,new QQ(Object.assign(vF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(yF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(yF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(yF,vF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}))]},wF=({blockchain:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})=>Promise.all(bF[t].map((t=>t.route({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})))).then((t=>t.filter(Boolean)));var MF=kx.createContext(),kF=kx.createContext(),LF=function(t){var e=Ex(t).sort((function(t,e){if("0"==t.fromBalance||"0"==t.fromAmount)return-1;if("0"==e.fromBalance||"0"==e.fromAmount)return 1;var n=bt.from(t.fromBalance).div(bt.from(t.fromAmount)),r=bt.from(e.fromBalance).div(bt.from(e.fromAmount));return n.lt(r)?-1:r.lt(n)?1:0}));return e[e.length-1]};function AF(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function xF(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?AF(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):AF(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var EF=function(t){var e=function(t){return!t.every((function(t){return void 0!==t.amount||void 0!==t.fromAmount}))},r=kx.useContext(KB),i=r.amount;r.toAmount;var o,a=r.recover,s=QA(kx.useState(null==a&&e(t.accept)),2),u=s[0],c=s[1],l=kx.useContext(sR).account,h=kx.useContext(kF),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=kx.useContext(xB).setError,m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.fix:null),1)[0],b=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.currency:null),1)[0];u&&(o="object"==n(i)&&i.start&&i.start?i.start:"object"==n(i)&&i.fix?i.fix:1);var w=QA(kx.useState(o),2),M=w[0],k=w[1],A=QA(kx.useState(),2),x=A[0],E=A[1],N=QA(kx.useState(),2),S=N[0],I=N[1];kx.useEffect((function(){a||c(e(t.accept))}),[t.accept,a]);var T=kx.useCallback(pR.debounce((function(e){e.account,function(e){var n=e.amount,r=e.conversionRate,o=e.fixedCurrencyConversionRate;return new Promise((function(e,a){i&&i.token?e(t.accept.map((function(){return n}))):Promise.all(t.accept.map((function(t){return v?L[t.blockchain].stables.usd[0]==t.token?1/o*v:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/o*v,tokenOut:t.token,fromAddress:l,toAddress:l}):L[t.blockchain].stables.usd[0]==t.token?1/r*n:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/r*n,tokenOut:t.token,fromAddress:l,toAddress:l})}))).then((function(n){Promise.all(n.map((function(e,n){return"number"==typeof e?e:null==e[0]?void 0:YR.readable({blockchain:t.accept[n].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){y(t.accept.map((function(t,n){if(null!=e[n])return xF(xF({},t),{},{amount:lR(e[n])})})).filter((function(t){return!!t})))})).catch(p)}),500),[]);return kx.useEffect((function(){a||u&&l&&d&&(!v||f)&&T({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f})}),[u,l,d,v,f,M,a]),kx.useEffect((function(){u&&x?x.fromToken.readable(x.fromBalance).then((function(t){if(i&&i.token)wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:x.toToken.address,amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]?YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:x.toToken.address}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e-1):lR(e-1))})).catch(p):YR.readable({amount:x.fromBalance,blockchain:x.blockchain,address:x.fromToken.address}).then(I)})).catch(p);else if(x.fromToken.address==L[x.blockchain].stables.usd[0]){var e=parseFloat(new NQ(t).mul(d).toString());I(e>10?Math.round(e-1):e-1)}else wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:L[x.blockchain].stables.usd[0],amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]&&YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:L[x.blockchain].stables.usd[0]}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e):lR(e))})).catch(p)})).catch(p)})).catch(p):I(100)}),[l,x]),kx.createElement(MF.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:b,acceptWithAmount:g,amount:M,setAmount:k,setMaxRoute:E,maxAmount:S}},t.children)},NF=function(t){kx.useContext(xB).setError;var e=kx.useContext(KB),r=e.amount,i=e.currency,o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),c=u[0],l=u[1];return kx.useEffect((function(){"object"==n(r)&&r.currency&&tR.fromUSD({amount:1,code:r.currency}).then((function(t){return l(t.amount)})),tR.fromUSD({amount:1,code:i}).then((function(t){return s(t.amount)})).catch(s(1))}),[]),kx.createElement(kF.Provider,{value:{conversionRate:a,fixedCurrencyConversionRate:c}},t.children)},SF=kx.createContext(),IF=kx.createContext();const TF=({assets:t,blockchain:e,options:n})=>n.only?t.filter((t=>(n.only[e]||[]).find((e=>e.toLowerCase()==t.address.toLowerCase())))):n.exclude?t.filter((t=>(n.exclude[e]||[]).find((e=>e.toLowerCase()!=t.address.toLowerCase())))):t;var jF=async t=>{void 0===t&&(t={accounts:{}});let e=Promise.all(Object.keys(t.accounts).map((e=>new Promise(((n,r)=>{const i=t.accounts[e],o=new AbortController;setTimeout((()=>o.abort()),1e4),fetch(`https://public.depay.com/accounts/${e}/${i}/assets`,{signal:o.signal}).catch((t=>{console.log(t),n([])})).then((t=>{if(t&&t.ok)return t.json();n([])})).then((async r=>{if(r&&r.length)return await(async({address:t,options:e,assets:n,blockchain:r})=>{if(e.only&&e.only[r]&&!e.only[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(e.exclude&&e.exclude[r]&&e.exclude[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(!n.find((t=>t.address.toLowerCase()==L[r].currency.address.toLowerCase()))){let e=await CL({blockchain:r,address:t,method:"balance"},{cache:3e4});n=[{name:L[r].currency.name,symbol:L[r].currency.symbol,address:L[r].currency.address,type:"NATIVE",blockchain:r,balance:e.toString()},...n]}return n})({address:i,options:t,assets:TF({assets:r,blockchain:e,options:t}).map((t=>Object.assign(t,{blockchain:e}))),blockchain:e});n([])})).then(n).catch((t=>{console.log(t),n([])}))}))))).then((t=>t.flat()));return e};const CF=(t,e)=>Object.assign({},{address:t.address,symbol:t.symbol,name:t.name,decimals:t.decimals,type:t.type,blockchain:t.blockchain},{balance:e.toString()}),DF=({assets:t,asset:e})=>!!t.find((t=>t.blockchain==e.blockchain&&t.address.toLowerCase()==e.address.toLowerCase())),OF=({options:t,address:e,blockchain:n})=>!(!(t&&t.only&&t.only[n])||t.only[n].find((t=>t.toLowerCase()==e.toLowerCase())))||!!(t&&t.exclude&&t.exclude[n]&&t.exclude[n].find((t=>t.toLowerCase()==e.toLowerCase())));const _F=t=>(t.params.path=t.params.path.filter(((e,n,r)=>(1!=n||e!=L[t.blockchain].wrapped.address||r[0]!=L[t.blockchain].currency.address)&&(n!=r.length-2||e!=L[t.blockchain].wrapped.address||r[r.length-1]!=L[t.blockchain].currency.address))),t);var zF={ethereum:{payment:{address:"0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9"},weth:{wrap:{address:"0xF4cc97D00dD0639c3e383D7CafB3d815616cbB2C"},unwrap:{address:"0xcA575c6C5305e8127F3D376bb22776eAD370De4a"}},uniswap_v2:{address:"0xe04b08Dfc6CaA0F4Ec523a3Ae283Ece7efE00019",prepareTransaction:_F},paymentWithEvent:{address:"0xD8fBC10787b019fE4059Eb5AA5fB11a5862229EF"},paymentFee:{address:"0x874Cb669D7BFff79d4A6A30F4ea52c5e413BD6A7"},paymentFeeWithEvent:{address:"0x981cAd45c768d56136FDBb2C5E115F33D971bE6C"}},bsc:{payment:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11"},wbnb:{wrap:{address:"0xf361888459a4C863a8498ee344C2688C9196Be51"},unwrap:{address:"0x65693291C20271f5e5030261766D1D6b3AC9d44E"}},pancakeswap:{address:"0xAC3Ec4e420DD78bA86d932501E1f3867dbbfb77B",prepareTransaction:_F},paymentWithEvent:{address:"0x1869E236c03eE67B9FfEd3aCA139f4AeBA79Dc21"},paymentFee:{address:"0xae33f10AD57A38113f74FCdc1ffA6B1eC47B94E3"},paymentFeeWithEvent:{address:"0xF1a05D715AaBFA380543719F7bA8754d0331c5A9"}},polygon:{payment:{address:"0x78C0F1c712A9AA2004C1F401A7307d8bCB62abBd"},wmatic:{wrap:{address:"0x8B62F604499c1204573664447D445690E0A0011b"},unwrap:{address:"0x2fd0a07a4F73285d0eBa8176426BF9B8c0121206"}},quickswap:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",prepareTransaction:_F},paymentWithEvent:{address:"0xfAD2F276D464EAdB71435127BA2c2e9dDefb93a4"},paymentFee:{address:"0xd625c7087E940b2A91ed8bD8db45cB24D3526B56"},paymentFeeWithEvent:{address:"0xBC56ED8E32b64a33f64Ed7A5fF9EACdFC117e07a"}}},PF={...zF},BF={ethereum:{address:"0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},bsc:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},polygon:{address:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},RF={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new Hk("8445995362644372894"),layout:eL([oL("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new Hk("2482112285991870004"),layout:eL([oL("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new Hk("16156440424245087"),layout:eL([oL("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new Hk("6497164560834983274"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeToken:{anchorDiscriminator:new Hk("13483873682232752277"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwap:{anchorDiscriminator:new Hk("9797248061404332986"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new Hk("13662217913752830165"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new Hk("15695720599845325801"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new Hk("15074061855608091530"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])}}}},UF={...BF,...RF};var QF=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},WF="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ke?ke:"undefined"!=typeof self?self:{},FF="object"==typeof WF&&WF&&WF.Object===Object&&WF,YF="object"==typeof self&&self&&self.Object===Object&&self,HF=FF||YF||Function("return this")(),GF=function(){return HF.Date.now()},ZF=/\s/;var VF=function(t){for(var e=t.length;e--&&ZF.test(t.charAt(e)););return e},JF=/^\s+/;var qF=function(t){return t?t.slice(0,VF(t)+1).replace(JF,""):t},XF=HF.Symbol,KF=Object.prototype,$F=KF.hasOwnProperty,tY=KF.toString,eY=XF?XF.toStringTag:void 0;var nY=function(t){var e=$F.call(t,eY),n=t[eY];try{t[eY]=void 0;var r=!0}catch(t){}var i=tY.call(t);return r&&(e?t[eY]=n:delete t[eY]),i},rY=Object.prototype.toString;var iY=function(t){return rY.call(t)},oY=XF?XF.toStringTag:void 0;var aY=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":oY&&oY in Object(t)?nY(t):iY(t)};var sY=function(t){return null!=t&&"object"==typeof t};var uY=function(t){return"symbol"==typeof t||sY(t)&&"[object Symbol]"==aY(t)},cY=/^[-+]0x[0-9a-f]+$/i,lY=/^0b[01]+$/i,hY=/^0o[0-7]+$/i,dY=parseInt;var fY=function(t){if("number"==typeof t)return t;if(uY(t))return NaN;if(QF(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=QF(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=qF(t);var n=lY.test(t);return n||hY.test(t)?dY(t.slice(2),n?2:8):cY.test(t)?NaN:+t},pY=Math.max,mY=Math.min;var gY=function(t,e,n){var r,i,o,a,s,u,c=0,l=!1,h=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=r,o=i;return r=i=void 0,c=e,a=t.apply(o,n)}function p(t){var n=t-u;return void 0===u||n>=e||n<0||h&&t-c>=o}function m(){var t=GF();if(p(t))return g(t);s=setTimeout(m,function(t){var n=e-(t-u);return h?mY(n,o-(t-c)):n}(t))}function g(t){return s=void 0,d&&r?f(t):(r=i=void 0,a)}function y(){var t=GF(),n=p(t);if(r=arguments,i=this,u=t,n){if(void 0===s)return function(t){return c=t,s=setTimeout(m,e),l?f(t):a}(u);if(h)return clearTimeout(s),s=setTimeout(m,e),f(u)}return void 0===s&&(s=setTimeout(m,e)),a}return e=fY(e)||0,QF(n)&&(l=!!n.leading,o=(h="maxWait"in n)?pY(fY(n.maxWait)||0,e):o,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0},y.flush=function(){return void 0===s?a:g(GF())},y};var yY=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return QF(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),gY(t,e,{leading:r,maxWait:e,trailing:i})};let vY,bY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?t.toAddress:t.toToken.address:BF[t.blockchain].address,wY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:YR[t.blockchain].DEFAULT:BF[t.blockchain].api,MY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:"transfer":"route",kY=({paymentRoute:t,exchangeRoute:e,event:n})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:[t.toAddress,t.toAmount]:{path:LY({paymentRoute:t,exchangeRoute:e}),amounts:AY({paymentRoute:t,exchangeRoute:e}),addresses:xY({paymentRoute:t}),plugins:EY({paymentRoute:t,exchangeRoute:e,event:n}),data:[]},LY=({paymentRoute:t,exchangeRoute:e})=>e?e.path:[t.toToken.address],AY=({paymentRoute:t,exchangeRoute:e})=>{let n;n=e?e&&e.exchange.wrapper?[t.fromAmount,t.toAmount]:[t.fromAmount,t.toAmount,Math.round(Date.now()/1e3)+1800]:[t.fromAmount,t.toAmount],t.fee&&(n[4]=t.feeAmount);for(var r=0;r<n.length;r++)null==n[r]&&(n[r]="0");return n},xY=({paymentRoute:t})=>t.fee?[t.fromAddress,t.fee.receiver,t.toAddress]:[t.fromAddress,t.toAddress],EY=({paymentRoute:t,exchangeRoute:e,event:n})=>{let r=[];return e&&(t.exchangePlugin=zF[t.blockchain][e.exchange.name],t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].currency.address?r.push(t.exchangePlugin.wrap.address):t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].wrapped.address?r.push(t.exchangePlugin.unwrap.address):r.push(t.exchangePlugin.address)),("ifSwapped"!=n||t.directTransfer)&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address)?r.push(zF[t.blockchain].payment.address):r.push(zF[t.blockchain].paymentWithEvent.address),t.fee&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address?r.push(zF[t.blockchain].paymentFee.address):r.push(zF[t.blockchain].paymentFeeWithEvent.address)),r},NY=({paymentRoute:t})=>t.fromToken.address==L[t.blockchain].currency.address?t.directTransfer?t.toAmount.toString():t.fromAmount.toString():bt.from("0").toString(),SY=()=>vY||(vY="object"==typeof ke?ke:window,vY);const IY=()=>(void 0===SY()._Web3ClientConfiguration&&(SY()._Web3ClientConfiguration={}),SY()._Web3ClientConfiguration);class TY extends Dc{constructor(t,e,n,r){super(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[]}detectNetwork(){return Promise.resolve(L.findByName(this._network).id)}requestChunk(t,e){const n=t.map((t=>t.request));return Pu(e,JSON.stringify(n)).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r.result)}))})).catch((e=>{if(e&&"SERVER_ERROR"==e.code){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(t,this._endpoint)}else t.forEach((t=>{t.reject(e)}))}))}send(t,e){const n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t,this._endpoint))))}),IY().batchInterval||10)),i}}const jY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),CY=(t,e)=>{void 0===jY()[t]&&(jY()[t]=[]);const n=jY()[t].indexOf(e);n>-1&&jY()[t].splice(n,1),jY()[t].unshift(e)},DY=async(t,e,n=!0)=>{let r;jY()[t]=e.map(((r,i)=>new TY(r,t,e,(()=>{1===jY()[t].length?DY(t,e,n):jY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=jY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=jY()[t][o]}CY(t,r)};var OY=async t=>{let e=jY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},_Y=async t=>{let e=jY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};class zY extends kM{constructor(t,e,n,r){super(t),this._provider=new kM(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}requestChunk(t){const e=t.map((t=>t.request)),n=e=>{if(e&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>e.toString().match(t)))){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new kM(this._endpoint),this.requestChunk(t)}else t.forEach((t=>{t.reject(e)}))};try{return this._provider._rpcBatchRequest(e).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r)}))})).catch(n)}catch(t){return n(t)}}_rpcRequestReplacement(t,e){const n={methodName:t,args:e};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t))))}),IY().batchInterval||10)),i}}const PY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),BY=(t,e)=>{void 0===PY()[t]&&(PY()[t]=[]);const n=PY()[t].indexOf(e);n>-1&&PY()[t].splice(n,1),PY()[t].unshift(e)},RY=async(t,e,n=!0)=>{let r;PY()[t]=e.map(((r,i)=>new zY(r,t,e,(()=>{1===PY()[t].length?RY(t,e,n):PY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=PY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=PY()[t][o]}BY(t,r)};var UY=async t=>{let e=PY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},QY=async t=>{let e=PY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};let WY=["ethereum","bsc","polygon","solana","fantom","velas"];WY.evm=["ethereum","bsc","polygon","fantom","velas"],WY.solana=["solana"];let FY=()=>(null==SY()._Web3ClientCacheStore&&(SY()._Web3ClientCacheStore={}),SY()._Web3ClientCacheStore),YY=()=>(null==SY()._Web3ClientPromiseStore&&(SY()._Web3ClientPromiseStore={}),SY()._Web3ClientPromiseStore),HY=function({key:t}){YY()[t]=void 0},GY=function({call:t,key:e,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:t}){return YY()[t]}({key:e=JSON.stringify(e)});if(a)return a.then(r).catch(i);(function({key:t,promise:e}){return YY()[t]=e,e})({key:e,promise:new Promise(((a,s)=>0===n?t().then((t=>{r(t),a(t)})).catch((t=>{i(t),s(t)})):(o=function({key:t,expires:e}){let n=FY()[t];if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([n,"optionalAccess",t=>t.expiresAt])>Date.now())return n.value}({key:e,expires:n}),o?(r(o),a(o),o):void t().then((t=>{t&&function({key:t,value:e,expires:n}){FY()[t]={expiresAt:Date.now()+n,value:e}}({key:e,value:t,expires:n}),r(t),a(t)})).catch((t=>{i(t),s(t)})))))}).then((()=>{HY({key:e})})).catch((()=>{HY({key:e})}))}))};const ZY=async t=>{if(WY.evm.includes(t))return await OY(t);if(WY.solana.includes(t))return await UY(t);throw"Unknown blockchain: "+t};const VY=({address:t,api:e,method:n,params:r,provider:i,block:o})=>{let a=new wu(t,e,i),s=(({contract:t,method:e,params:n})=>t.interface.fragments.find((t=>t.name==e)).inputs.map(((t,e)=>Array.isArray(n)?n[e]:n[t.name])))({contract:a,method:n,params:r});return a[n](...s,{blockTag:o})},JY=({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a})=>n?VY({address:e,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:t,provider:e})=>e.getBalance(t))({address:e,provider:a}):"transactionCount"===r?(({address:t,provider:e})=>e.getTransactionCount(t))({address:e,provider:a}):void 0;const qY=async({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=Gk),await(async({address:t,api:e,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new Av(t));if(a&&a.data)return e.decode(a.data)})({address:e,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new Av(e),i).then((t=>n?t.map((t=>(t.data=n.decode(t.account.data),t))):t));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new Av(e));if("latestBlockNumber"===r)return await a.getSlot();if("balance"===r)return await(({address:t,provider:e})=>e.getBalance(new Av(t)))({address:e,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>u.toString().match(t)))){let u=s[s.indexOf(a)+1]||s[0];return qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const XY=async function(t,e){const{blockchain:n,address:r,method:i}=(t=>{if("object"==typeof t)return t;let e=t.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==e.groups.part2?e.groups.part1.match(/\d/)?{blockchain:e.groups.blockchain,address:e.groups.part1}:{blockchain:e.groups.blockchain,method:e.groups.part1}:{blockchain:e.groups.blockchain,address:e.groups.part1,method:e.groups.part2}})(t),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof t?t:e)||{};return await GY({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(WY.evm.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||IY().strategy||"failover",a=a||IY().timeout||void 0,"fastest"===s)return Promise.race((await _Y(t)).map((s=>{const u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});if(a){const t=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a)));return Promise.race([u,t])}return u})));{const s=await OY(t),u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(WY.solana.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||IY().strategy||"failover",a=a||IY().timeout||void 0;const u=await QY(t);if("fastest"===s)return Promise.race(u.map((s=>{const u=new Promise((a=>{qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s}).then(a)})),c=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a||1e4)));return Promise.race([u,c])})));{const s=await UY(t),c=qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})};let KY;const $Y=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=e.fromToken.address===L.solana.currency.address?new Hk(e.fromAmount):new Hk("0"),r=await ZY("solana"),i=new Hk(await r.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),o=e.fromAddress,a=n.add(i);return[bb.createAccount({fromPubkey:new Av(o),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:a}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:o})]},tH=async({wSolEscrowAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),i=await fH();return[bb.createAccount({fromPubkey:new Av(e.fromAddress),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:i.toString()})]},eH=({paymentRoute:t})=>{let e=[...t.exchangeRoutes[0].path];return e.indexOf(L.solana.currency.address)>-1&&e.splice(e.indexOf(L.solana.currency.address),1),e.indexOf(t.fromToken.address)>-1&&e.splice(e.indexOf(t.fromToken.address),1),e.indexOf(t.toToken.address)>-1&&e.splice(e.indexOf(t.toToken.address),1),2===e.length&&e[0]===L.solana.wrapped.address?e[1]:e[0]},nH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:eH({paymentRoute:t}),owner:t.fromAddress}),rH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||yH(t.exchangeRoutes[0].path).length<=2)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:await nH({paymentRoute:t}),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});return e?void 0:YR.solana.createAssociatedTokenAccountInstruction({token:eH({paymentRoute:t}),owner:t.fromAddress,payer:t.fromAddress})},iH=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(t)return YR.solana.closeAccountInstruction({account:t.publicKey.toString(),owner:e.fromAddress})},oH=async({from:t})=>{let e=[Yk.from("payments"),new Av(t).toBuffer()],[n]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},aH=async({from:t})=>{let e=(await oH({from:t})).toString();return await XY({blockchain:"solana",address:e,api:eL([oL("anchorDiscriminator"),oL("nonce")]),cache:1e3})},sH=async({from:t})=>{if(await aH({from:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t}),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createPaymentsAccount.layout.span);return RF.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:RF.solana.api.createPaymentsAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},uH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.fromToken.address,owner:t.fromAddress}),cH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.toAddress}),lH=async({paymentRoute:t})=>{if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.toAddress}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.toAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.toAddress),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.toAddress}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.toAddress,payer:t.fromAddress})}},hH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.fee.receiver}),dH=async({paymentRoute:t})=>{if(t.fee){if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.fee.receiver}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.feeAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.fee.receiver),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.fee.receiver}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.fee.receiver,payer:t.fromAddress})}}},fH=async()=>{let t=[Yk.from("escrow_sol")],[e,n]=await Av.findProgramAddress(t,new Av(RF.solana.address));return e},pH=async({paymentRoute:t})=>{let e=[Yk.from("escrow"),new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address).toBuffer()],[n,r]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},mH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address===L.solana.currency.address)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await pH({paymentRoute:t})).toString(),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});if(e)return;const n=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await pH({paymentRoute:t}),isSigner:!1,isWritable:!0}],r=Yk.alloc(RF.solana.api.createEscrowTokenAccount.layout.span);return RF.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowTokenAccount.anchorDiscriminator},r),new Zv({keys:n,programId:new Av(RF.solana.address),data:r})},gH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address!=L.solana.currency.address)return;if(await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await fH()).toString(),api:eL([oL("amount"),Kk("owner")]),cache:1e3}))({paymentRoute:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createEscrowSolAccount.layout.span);return RF.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},yH=t=>t.filter((t=>t!==L.solana.currency.address)),vH=()=>(KY=Math.ceil((new Date).getTime()/1e3)+600,KY),bH=async({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n})=>{const r=await aH({from:t.fromAddress}),i=(({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return"routeSol";if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address!==L.solana.currency.address&&0===t.exchangeRoutes.length)return"routeToken";if(t.exchangeRoutes.length>0&&2===yH(t.exchangeRoutes[0].path).length)return t.toToken.address===L.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(t.exchangeRoutes.length>0&&yH(t.exchangeRoutes[0].path).length>2)return t.toToken.address===L.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:t});switch(i){case"routeSol":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=new Av(t.toAddress),r=t.fee?new Av(t.fee.receiver):n,i=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0}],o=Yk.alloc(RF.solana.api.routeSol.layout.span);return RF.solana.api.routeSol.layout.encode({anchorDiscriminator:RF.solana.api.routeSol.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},o),new Zv({keys:i,programId:new Av(RF.solana.address),data:o})})({paymentRoute:t,paymentsAccountData:r});case"routeToken":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=await uH({paymentRoute:t}),r=await cH({paymentRoute:t}),i=t.fee?await hH({paymentRoute:t}):r,o=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(n),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0}],a=Yk.alloc(RF.solana.api.routeToken.layout.span);return RF.solana.api.routeToken.layout.encode({anchorDiscriminator:RF.solana.api.routeToken.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},a),new Zv({keys:o,programId:new Av(RF.solana.address),data:a})})({paymentRoute:t,paymentsAccountData:r});case"routeOrcaSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=n?n.publicKey:await uH({paymentRoute:t}),i=await cH({paymentRoute:t}),o=t.fee?await hH({paymentRoute:t}):i,a=await pH({paymentRoute:t}),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(s.data),c=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},s.keys[2],s.keys[4],s.keys[6],s.keys[7],s.keys[8],s.keys[9],s.keys[10],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0},{pubkey:new Av(o),isSigner:!1,isWritable:!0}],l=Yk.alloc(RF.solana.api.routeOrcaSwap.layout.span);return RF.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:u.amount,sqrtPriceLimit:u.sqrtPriceLimit,amountSpecifiedIsInput:u.amountSpecifiedIsInput,aToB:u.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},l),new Zv({keys:c,programId:new Av(RF.solana.address),data:l})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=await uH({paymentRoute:t}),i=n.publicKey,o=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(o.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},o.keys[2],o.keys[4],o.keys[6],o.keys[7],o.keys[8],o.keys[9],o.keys[10],{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaSwapSolOut.layout.span);return RF.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,sqrtPriceLimit:a.sqrtPriceLimit,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToB:a.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=new Av(await cH({paymentRoute:t})),i=t.fee?new Av(await hH({paymentRoute:t})):r,o=await pH({paymentRoute:t}),a=new Av(await nH({paymentRoute:t})),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=n?n.publicKey:new Av(await uH({paymentRoute:t})),c=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(s.data),l=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},s.keys[2],s.keys[3],{pubkey:u,isSigner:!1,isWritable:!0},s.keys[5],s.keys[7],{pubkey:a,isSigner:!1,isWritable:!0},s.keys[9],s.keys[11],s.keys[12],s.keys[13],s.keys[14],s.keys[15],s.keys[16],s.keys[17],s.keys[18],s.keys[19],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],h=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwap.layout.span);return RF.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:c.amount,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToBOne:c.aToBOne,aToBTwo:c.aToBTwo,sqrtPriceLimitOne:c.sqrtPriceLimitOne,sqrtPriceLimitTwo:c.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},h),new Zv({keys:l,programId:new Av(RF.solana.address),data:h})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=new Av(await nH({paymentRoute:t})),i=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),o=new Av(await uH({paymentRoute:t})),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(i.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},i.keys[2],i.keys[3],i.keys[5],i.keys[7],{pubkey:r,isSigner:!1,isWritable:!0},i.keys[9],i.keys[11],i.keys[12],i.keys[13],i.keys[14],i.keys[15],i.keys[16],i.keys[17],i.keys[18],i.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToBOne:a.aToBOne,aToBTwo:a.aToBTwo,sqrtPriceLimitOne:a.sqrtPriceLimitOne,sqrtPriceLimitTwo:a.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n})}},wH=async({paymentRoute:t})=>{const e=await(async({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address!==L.solana.currency.address)return LM.generate()})({paymentRoute:t}),n=await(async({paymentRoute:t})=>{if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return LM.generate()})({paymentRoute:t});let r=(await Promise.all([sH({from:t.fromAddress}),$Y({paymentRoute:t,wSolSenderAccountKeypair:e}),rH({paymentRoute:t}),lH({paymentRoute:t}),dH({paymentRoute:t}),gH({paymentRoute:t}),tH({paymentRoute:t,wSolEscrowAccountKeypair:n}),mH({paymentRoute:t}),bH({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n}),iH({paymentRoute:t,wSolSenderAccountKeypair:e})])).filter(Boolean).flat();const i={blockchain:t.blockchain,instructions:r,signers:[e,n].filter(Boolean),alts:[RF.solana.alt]};return i.deadline=KY,i};let MH=["ethereum","bsc","polygon","solana"];MH.evm=["ethereum","bsc","polygon"],MH.solana=["solana"];const kH=({paymentRoute:t,event:e,fee:n})=>{if(MH.evm.includes(t.blockchain))return(async({paymentRoute:t,event:e})=>{let n=t.exchangeRoutes[0],r={blockchain:t.blockchain,to:bY({paymentRoute:t}),api:wY({paymentRoute:t}),method:MY({paymentRoute:t}),params:kY({paymentRoute:t,exchangeRoute:n,event:e}),value:NY({paymentRoute:t})};return n&&t.exchangePlugin&&t.exchangePlugin.prepareTransaction&&(r=t.exchangePlugin.prepareTransaction(r)),r})({paymentRoute:t,event:e,fee:n});if(MH.solana.includes(t.blockchain))return wH({paymentRoute:t,event:e,fee:n});throw"Blockchain not supported!"};function LH(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class AH{constructor({blockchain:t,fromAddress:e,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,approvalTransaction:p,directTransfer:m,event:g}){this.blockchain=t,this.fromAddress=e,this.fromToken=n,this.fromAmount=LH([r||s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=LH([s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.approvalRequired=f,this.approvalTransaction=p,this.directTransfer=m,this.event=g,this.getTransaction=async()=>await kH({paymentRoute:this,event:g})}}function xH({assets:t,blacklist:e,accept:n,from:r,event:i}){return Promise.resolve(NH({assets:t,blacklist:e})).then((t=>function({assets:t,accept:e,from:n,event:r}){return Promise.all(t.map((async t=>{let i=e.filter((e=>e.blockchain==t.blockchain)),o=new YR(t);return Promise.all(i.map((async e=>{if(e.token&&e.amount){let i=e.blockchain,a=t.decimals,s=new YR({blockchain:i,address:e.token}),u=await s.decimals(),c=(await s.BigNumber(e.amount)).toString();return new AH({blockchain:i,fromToken:o,fromDecimals:a,toToken:s,toAmount:c,toDecimals:u,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}if(e.fromToken&&e.fromAmount&&o.address.toLowerCase()==e.fromToken.toLowerCase()){let i=e.blockchain,a=(await o.BigNumber(e.fromAmount)).toString(),s=t.decimals,u=new YR({blockchain:i,address:e.toToken}),c=await u.decimals();return new AH({blockchain:i,fromToken:o,fromDecimals:s,fromAmount:a,toToken:u,toDecimals:c,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}})))}))).then((t=>t.flat().filter((t=>t))))}({assets:t,accept:n,from:r,event:i}))).then((t=>DH({routes:t}))).then(SH).then(IH).then(TH).then(jH).then((t=>PH({routes:t}))).then(CH).then(UH).then(BH).then((t=>t.map((t=>new AH(t)))))}function EH({accept:t,from:e,whitelist:n,blacklist:r,event:i,update:o}){if(t.some((t=>t&&t.fee&&"string"==typeof t.fee.amount&&t.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(a,s)=>{let u,c=[];if(n)for(const t in n)(n[t]||[]).forEach((e=>{c.push({blockchain:t,address:e})}));else t.forEach((t=>{c.push({blockchain:t.blockchain,address:t.token||t.toToken})}));o&&(u=yY((async({assets:t,blacklist:e,accept:n,from:r,event:i})=>{o.callback(await xH({assets:t,blacklist:e,accept:n,from:r,event:i}))}),o.every));let l=[];const h=await(async t=>{void 0===t&&(t={accounts:{},priority:[]});let e=[],n=[];n=n.concat((t.priority||[]).map((n=>new Promise((async(r,i)=>{try{let i=new YR(n),o=Object.assign({},n,{name:await i.name(),symbol:await i.symbol(),decimals:await i.decimals(),balance:(await i.balance(t.accounts[n.blockchain])).toString()});if("0"!=o.balance){if(DF({assets:e,asset:n}))return r();e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)}else r()}catch(t){r()}})))));let r=[];for(var i in t.accounts)L.findByName(i).tokens.forEach((e=>{OF({options:t,address:e.address,blockchain:i})||r.push(Object.assign({},e,{blockchain:i}))}));if(n=n.concat(r.map((n=>new Promise(((r,i)=>{new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()}))}))))),null==t.only||Object.keys(t.only).every((t=>0==t.length))){let r=await jF(t);n=n.concat(r.map((n=>new Promise(((r,i)=>new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()})))))))}return await Promise.all(n),e})({accounts:e,priority:c,only:n,exclude:r,drip:n=>{o&&(l.push(n),u({assets:l,blacklist:r,accept:t,from:e,event:i}))}});a(await xH({assets:h,blacklist:r,accept:t,from:e,event:i}))}))}let NH=({assets:t,blacklist:e})=>null==e?t:t.filter((t=>null==e[t.blockchain]||!e[t.blockchain].find((e=>e.toLowerCase()==t.address.toLowerCase())))),SH=async t=>await Promise.all(t.map((t=>t.directTransfer?[]:t.toToken&&t.toAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountOutMin:t.toAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):t.fromToken&&t.fromAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountIn:t.fromAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):void 0))).then((e=>t.map(((t,n)=>(t.exchangeRoutes=e[n],t))))),IH=t=>t.filter((t=>0===t.exchangeRoutes.length||("solana"===t.blockchain||null!=PF[t.blockchain][t.exchangeRoutes[0].exchange.name]))),TH=t=>t.filter((t=>0!=t.exchangeRoutes.length||t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase())),jH=async t=>t.filter((t=>t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?bt.from(t.fromBalance).gte(bt.from(t.toAmount)):t.fromAmount&&t.toAmount?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountInMax)):t.exchangeRoutes[0]&&t.exchangeRoutes[0].amountIn?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountIn)):void 0)),CH=t=>Promise.all(t.map((t=>"solana"===t.blockchain?Promise.resolve(L.solana.maxInt):t.fromToken.allowance(t.fromAddress,UF[t.blockchain].address)))).then((e=>(t.map(((n,r)=>{n.directTransfer||n.fromToken.address.toLowerCase()==L[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?t[r].approvalRequired=!1:(t[r].approvalRequired=bt.from(n.fromAmount).gte(bt.from(e[r])),t[r].approvalRequired&&(t[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:YR[n.blockchain].DEFAULT,method:"approve",params:[UF[n.blockchain].address,L[n.blockchain].maxInt]}))})),t))),DH=({routes:t})=>t.map((t=>(MH.evm.includes(t.blockchain)?t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()&&null==t.fee:"solana"===t.blockchain&&(t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()),t))),OH=({paymentRoute:t,exchangeRoute:e})=>{let n,r,i;return e?(e&&e.exchange.wrapper,n=e.amountIn.toString(),r=_H({amount:e.amountOutMin.toString(),paymentRoute:t})):(n=t.fromAmount,r=_H({amount:t.fromAmount,paymentRoute:t})),t.fee&&(i=zH({paymentRoute:t})),{fromAmount:n,toAmount:r,feeAmount:i}},_H=({amount:t,paymentRoute:e})=>{if(e.fee){let n=zH({paymentRoute:e});return bt.from(t).sub(n).toString()}return t},zH=({paymentRoute:t})=>{if("string"==typeof t.fee.amount&&t.fee.amount.match("%"))return bt.from(t.toAmount).mul(10*parseFloat(t.fee.amount)).div(1e3).toString();if("string"==typeof t.fee.amount)return t.fee.amount;if("number"==typeof t.fee.amount)return Qc(t.fee.amount.toString(),t.toDecimals).toString();throw"Unknown fee amount type!"},PH=({routes:t})=>t.map((t=>{if(MH.evm.includes(t.blockchain))if(t.directTransfer&&!t.fee)t.fromAmount=t.toAmount;else{let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}else if(MH.solana.includes(t.blockchain)){let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}return t})),BH=t=>t.filter(((e,n)=>null==t.find(((t,r)=>e.fromToken.address==t.fromToken.address&&(e.fromToken.blockchain==t.fromToken.blockchain&&(!(!t.directTransfer||e.directTransfer)||(!(!bt.from(t.fromAmount).lt(bt.from(e.fromAmount))||e.directTransfer)||(t.fromAmount==e.fromAmount&&r<n||void 0)))))))),RH=t=>{switch(t){case"solana":return 10;case"polygon":return 30;case"bsc":return 70;case"ethereum":return 99;default:return 100}},UH=t=>t.sort(((t,e)=>RH(t.fromToken.blockchain)<RH(e.fromToken.blockchain)?-1:RH(e.fromToken.blockchain)<RH(t.fromToken.blockchain)?1:t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()||t.approvalRequired&&!e.approvalRequired?1:e.approvalRequired&&!t.approvalRequired||JSON.stringify([t.fromToken.address.toLowerCase(),t.toToken.address.toLowerCase()].sort())==JSON.stringify([L[t.blockchain].currency.address.toLowerCase(),L[t.blockchain].wrapped.address.toLowerCase()].sort())?-1:JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([L[e.blockchain].currency.address.toLowerCase(),L[e.blockchain].wrapped.address.toLowerCase()].sort())?1:t.fromToken.address.toLowerCase()==L[t.blockchain].currency.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==L[e.blockchain].currency.address.toLowerCase()?1:0));function QH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function WH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?QH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):QH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var FH=function(t){var e="object"==n(t.receiver)?t.receiver.address:t.receiver,r="object"==n(t.receiver)?t.receiver:void 0;return WH(WH({},t),{},{toAddress:e,toContract:r})},YH=function(t,e){var n={};return t.forEach((function(t){n[t.blockchain]=e})),n},HH=function(t){var e=t.accept,n=t.account,r=t.whitelist,i=t.blacklist,o=t.fee;return EH({accept:e.map(FH),from:YH(e,n),whitelist:r,blacklist:i,event:"ifRoutedAndNative",fee:o})};function GH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ZH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?GH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):GH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var VH=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),l=u[0],h=u[1],d=QA(kx.useState(!1),2),f=d[0],p=d[1],m=QA(kx.useState(0),2),g=m[0],y=m[1],v=kx.useContext(sR).account,b=kx.useContext(Ax).updatable,w=kx.useContext(KB).recover,M=function(){var n=e(c.mark((function n(r){return c.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:0==r.length?(i([]),t.setMaxRoute&&t.setMaxRoute(null)):x(r).then(function(){var n=e(c.mark((function e(n){var r,o;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===l?(r=n[0],h(r)):(o=n[n.findIndex((function(t){return t.fromToken.address==l.fromToken.address&&t.blockchain==l.blockchain}))],o?l.fromAmount!=o.fromAmount?s(o):l.approvalRequired!=o.approvalRequired&&h(o):h(n[0])),i(n),t.setMaxRoute&&t.setMaxRoute(LF(n));case 3:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}());case 1:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}(),k=function(){var n=e(c.mark((function e(n){var r;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.allRoutes,n.selectedRoute,0!=n.updatable&&t.accept&&v){e.next=3;break}return e.abrupt("return");case 3:return r=setTimeout((function(){p(!0)}),4e3),e.next=6,HH(Object.assign({},t,{account:v})).then((function(t){clearInterval(r),M(t)}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}(),L=function(t,e){t.fromAmount=e.toString()},A=function(){var t=e(c.mark((function t(e,n){var r,i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.directTransfer){t.next=2;break}return t.abrupt("return",e);case 2:return t.next=4,e.fromToken.readable(n||e.fromAmount);case 4:return r=t.sent,t.next=7,e.fromToken.BigNumber(lR(r));case 7:return i=t.sent,L(e,i),t.abrupt("return",e);case 10:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),x=function(){var t=e(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Promise.all(e.map((function(t){return A(t)}))));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=e(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:h(ZH({},a)),s(null);case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),N=function(){return k({allRoutes:r,selectedRoute:l,updatable:b})};return kx.useEffect((function(){var t=setTimeout((function(){y(g+1),k({allRoutes:r,selectedRoute:l,updatable:b})}),15e3);return function(){return clearTimeout(t)}}),[g,r,l,b]),kx.useEffect((function(){v&&t.accept&&null==w&&N()}),[v,t.accept]),kx.createElement(IF.Provider,{value:{selectedRoute:l,setSelectedRoute:h,refreshPaymentRoutes:N,allRoutes:r,setAllRoutes:i,slowRouting:f,updatedRouteWithNewPrice:a,updateRouteWithNewPrice:E}},t.children)},JH=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.acceptWithAmount,i=e.setMaxRoute,o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){n?r&&s(r):s(t.accept)}),[n,r]),kx.createElement(SF.Provider,{value:{}},kx.createElement(VH,{accept:a,whitelist:t.whitelist,blacklist:t.blacklist,event:t.event,setMaxRoute:i,fee:t.fee,container:t.container,document:t.document},t.children))},qH=function(){var t=kx.useContext(Pz).navigate;return kx.useContext(Lx).close,kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:yB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No Payment Option Found"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},kx.createElement("strong",{className:"FontSizeM"},"Please check if you have connected the correct wallet and top up if necessary.")),kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("button",{onClick:function(){return t("PaymentOptions")},className:"Link FontSizeM",title:"Check which payment options are available"},"Check available payment options"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"})})},XH=kx.createContext();let KH=["ethereum","bsc","polygon","solana","fantom","velas"];KH.evm=["ethereum","bsc","polygon","fantom","velas"],KH.solana=["solana"];const $H=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],tG=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];let eG=function(t){const[e,n]=kx.useState(),[r,i]=kx.useState(),o=t.blockchain.toLowerCase(),a=L.findByName(o).currency.address,s=t.address,u=t.id,c=new Date,l=["react-token-image",o,s,[c.getFullYear(),c.getMonth(),c.getDate()].join("-")].join("-"),h=t=>{localStorage.setItem(l,t),n(t)};kx.useEffect((()=>{const t=localStorage.getItem(l);if(t&&t.length)return h(t);a.toLowerCase()==s.toLowerCase()?h(L.findByName(o).logo):KH.evm.includes(o)?(i("repository"),h(f({blockchain:o,address:s}))):"solana"===o&&(i("metaplex"),d({blockchain:o,address:s}).then((t=>{h(t)})))}),[o,s]);const d=({blockchain:t,address:e})=>new Promise((async(n,r)=>{try{let r=new Av(e),i=new Av(YR.solana.METADATA_ACCOUNT),o=[Yk.from("metadata"),i.toBuffer(),r.toBuffer()],a=(await Av.findProgramAddress(o,i))[0],s=await CL({blockchain:t,address:a.toString(),api:YR.solana.METADATA_LAYOUT,cache:864e5});if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([s,"optionalAccess",t=>t.data,"optionalAccess",t=>t.uri])){const t=s.data.uri.replace(new RegExp("\0","g"),"");t&&t.length?await fetch(t).then((t=>t.json())).then((t=>{t&&t.image?n(t.image):n("")})).catch((()=>n(""))):n("")}else n("")}catch(t){n("")}})),f=({blockchain:t,address:e})=>["ethereum","bsc","polygon","fantom","solana"].includes(t)?`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${p(t)}/assets/${e}/logo.png`:"velas"==t?`https://raw.githubusercontent.com/wagyuswapapp/assets/master/blockchains/velas/assets/${e.toLowerCase()}/logo.png`:void 0,p=t=>{switch(t){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";default:throw"DePayReactTokenImage: Unknown blockchain"}},m=()=>{i("unknown"),h("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=")},g=t=>{t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),fetch(t).then((t=>{if(t.ok)return t.json();m()})).then((t=>{if(t){let e=t.image;e?(e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),i("meta"),h(e)):m()}})).catch(m)};return null==e?null:kx.createElement("img",{className:t.className,src:e,onError:t=>{"metaplex"==r?(i("repository"),h(f({blockchain:o,address:s}))):"repository"==r?(i("depay"),h(`https://integrate.depay.com/tokens/${o}/${s}/image`)):"depay"==r&&KH.evm.includes(o)?u?CL({blockchain:o,address:s,api:tG,method:"uri",params:[u]}).then((t=>{t=t.match("0x{id}")?t.replace("0x{id}",u):t,g(t)})).catch(m):CL({blockchain:o,address:s,api:$H,method:"tokenURI",params:[1]}).then(g).catch(m):m()},__self:this,__source:{fileName:"/Users/sebastian/Work/DePay/react-token-image/src/index.js",lineNumber:179}})};function nG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function rG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?nG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var iG=function(){var t=kx.useContext(KB).accept;kx.useContext(Lx).close;var e=kx.useContext(Pz).navigate,n=QA(kx.useState(),2),r=n[0],i=n[1];return kx.useEffect((function(){Promise.all(t.map((function(t){var e=new YR({blockchain:t.blockchain,address:t.token});return Promise.all([Promise.resolve(t),e.symbol(),e.name()])}))).then((function(t){return t.map((function(t){return rG(rG({},t[0]),{},{symbol:t[1],name:t[2]})}))})).then(i)}),[]),r?kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},r&&r.map((function(t,e){return kx.createElement("div",{className:"Card",key:e},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.blockchain,address:t.token}),kx.createElement("img",{className:"BlockchainLogo small "+L[t.blockchain].name,src:L[t.blockchain].logo,alt:L[t.blockchain].label,title:L[t.blockchain].label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenSymbolCell"},t.symbol)),kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},"on ",L[t.blockchain].label))))))})))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return e("back")}},kx.createElement("span",{className:"FontSizeM"},"❮")," Go back"))}):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},oG=kx.createContext(),aG=kx.createContext(),sG=function(t){var n=kx.useContext(xB).setError,r=kx.useContext(KB),i=r.sent,o=r.succeeded,a=r.failed,s=r.recover,u=r.before,l=kx.useContext(IF),h=l.selectedRoute,d=l.refreshPaymentRoutes,f=kx.useContext(Lx),p=f.open,m=f.close,g=f.setClosable,y=kx.useContext(IF).allRoutes,v=kx.useContext(Ax).setUpdatable,b=kx.useContext(nR),w=b.navigate,M=b.set,k=kx.useContext(sR).wallet,A=kx.useContext(oG),x=A.release,E=A.synchronousTracking,N=A.asynchronousTracking,S=A.trackingInitialized,I=A.initializeTracking,T=A.preTrack,j=kx.useContext(aG),C=j.foundTransaction,D=j.initializeTracking,O=QA(kx.useState(),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=QA(kx.useState(),2),Q=U[0],W=U[1],F=QA(kx.useState("initialized"),2),Y=F[0],H=F[1],G=function(t){0!=E||0!=N&&1!=S||g(!0),H("success"),o&&setTimeout((function(){return o(t)}),200)},Z=function(t,e){0!=N&&1!=S||g(!0),M(["PaymentFailed"]),H("failed"),a&&a(t,e)},V=function(){var t=e(c.mark((function t(){var e,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=_.route,t.next=3,k.account();case 3:return t.t1=t.sent,t.t2={from:t.t1},t.next=7,t.t0.getTransaction.call(t.t0,t.t2);case 7:if(e=t.sent,!u){t.next=14;break}return t.next=11,u(e);case 11:if(!1!==t.sent){t.next=14;break}return t.abrupt("return");case 14:return g(!1),H("paying"),v(!1),t.next=19,CL({blockchain:e.blockchain,method:"latestBlockNumber"});case 19:return n=t.sent,t.next=22,T(n,_.route,e).then((function(){k.sendTransaction(Object.assign({},e,{sent:function(t){D(t,n),i&&i(t)},succeeded:G,failed:Z})).then((function(t){R(t),I(t,n,_.route)})).catch((function(t){console.log("error",t),H("initialized"),g(!0),v(!0),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork")}))})).catch((function(t){console.log(t),H("initialized"),g(!0),v(!0),w("PreTrackingFailed")}));case 22:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();return kx.useEffect((function(){x&&H("success")}),[x]),kx.useEffect((function(){N&&S&&("success"==Y||"failed"==Y)&&g(!0)}),[S,Y]),kx.useEffect((function(){if(s){g(!1),v(!1),H("paying"),R({blockchain:s.blockchain,id:s.transaction,url:L.findByName(s.blockchain).explorerUrlFor({transaction:{id:s.transaction}})});var t=new YR({blockchain:s.blockchain,address:s.token});Promise.all([t.name(),t.symbol()]).then((function(t){var e=QA(t,2),n=e[0],r=e[1];z({blockchain:s.blockchain,token:s.token,name:n,symbol:r.toUpperCase(),amount:s.amount})})).catch(n)}}),[s]),kx.useEffect((function(){var t;C&&C.id&&C.status&&(C.id!=B.id&&(t=Object.assign({},B,{id:C.id,url:L.findByName(B.blockchain).explorerUrlFor({transaction:C})}),R(t)),"success"==C.status?G(t||B):"failed"==C.status&&Z(t||B))}),[C,B]),kx.useEffect((function(){if(h){var t=h.fromToken;Promise.all([t.name(),t.symbol(),t.readable(h.fromAmount)]).then((function(e){var n=QA(e,3),r=n[0],i=n[1],o=n[2];z({blockchain:h.blockchain,route:h,token:t.address,name:r,symbol:i.toUpperCase(),amount:o})})).catch(n)}else z(void 0)}),[h]),kx.useEffect((function(){y&&0==y.length?v(!1):y&&y.length>0&&v(!0)}),[y]),y instanceof Array&&0==y.length?kx.createElement(Uz,{open:p,close:m,start:"NoPaymentOptionFound",container:t.container,document:t.document,dialogs:{NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null)}}):kx.createElement(XH.Provider,{value:{payment:_,paymentState:Y,pay:V,transaction:B,approve:function(){g(!1),v(!1),H("approving"),k.sendTransaction(Object.assign({},_.route.approvalTransaction,{succeeded:function(){v(!0),g(!0),d().then((function(){H("initialized")}))}})).then((function(t){W(t)})).catch((function(t){console.log("error",t),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork"),H("initialized"),g(!0)}))},approvalTransaction:Q}},t.children)},uG=kx.createContext(),cG=function(t){var e=kx.useContext(Pz).navigate;kx.useContext(xB).setError,kx.useContext(sR).account;var r=kx.useContext(MF),i=r.amount,o=r.setAmount,a=r.maxAmount;kx.useContext(uG).displayedPaymentValue;var s=QA(kx.useState(i),2),u=s[0],c=s[1],l=kx.useContext(KB),h=l.currencyCode,d=l.amount,f=kx.useContext(IF);f.allRoutes;var p=f.setSelectedRoute,m="object"==n(d)&&d.min?d.min:1,g="object"==n(d)&&d.step?d.step:1,y=null!=d&&d.token?null:h,v=function(t){Number.isNaN(t)||c(t)},b=function(t){return g&&(t=parseFloat(new NQ(Math.floor(new NQ(t).div(g))).mul(g).toString())),t},w=function(t){return t=b(t),a&&(t=Math.max(m,Math.min(t,a))),t=b(t)};return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,y))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("input",{max:a?parseFloat(a):null,min:m,step:g,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(u),onChange:function(t){v(t.target.value)},onBlur:function(t){var e;e=t.target.value,c(w(e))}})),a&&kx.createElement("div",{style:{height:"40px"}},kx.createElement("div",{className:"FontSizeS"},hR(b(a)),kx.createElement("div",null,kx.createElement("button",{className:"TextButton",onClick:function(){v(w(a))}},"(Max)"))))))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){var t=w(parseFloat(u));t!=i&&(p(void 0),o(t)),e("back")}},"Done"))})},lG=function(t){var e=kx.useContext(uG).paymentValue;return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=e&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,e.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},hG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(IF),r=n.allRoutes,i=n.setSelectedRoute,o=kx.useContext(uG).displayedPaymentValue,a=kx.useContext(Pz).navigate,s=QA(kx.useState([]),2),u=s[0],c=s[1],l=QA(kx.useState([]),2),h=l[0],d=l[1];return kx.useEffect((function(){null!=r&&Promise.all(r.map((function(t){return t.exchangeRoutes[0],t.fromToken,Promise.all([t.fromToken.name(),t.fromToken.symbol(),t.fromToken.decimals(),t.fromToken.readable(t.fromAmount)])}))).then((function(t){c(r.map((function(e,n){return{name:t[n][0],symbol:t[n][1].toUpperCase(),decimals:t[n][2],amount:t[n][3],route:e}})))})).catch(e)}),[r]),kx.useEffect((function(){d(u.map((function(t,e){var n=L.findByName(t.route.blockchain);return kx.createElement("div",{key:e,className:"Card",title:"Select ".concat(t.symbol," as payment"),onClick:function(){i(t.route),a("back")}},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.route.blockchain,address:t.route.fromToken.address}),kx.createElement("img",{className:"BlockchainLogo small "+n.name,src:n.logo,alt:n.label,title:n.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},t.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)))),kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,hR(lR(parseFloat(t.route.fromBalance.toString())/Math.pow(10,t.decimals),"down")))))))})))}),[u]),0==u.length||0==h.length?kx.createElement(lG,null):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=o&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,o.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},h)),footer:kx.createElement("div",null)})},dG=function(){var t=kx.useContext(Lx).close,e=kx.useContext(XH).transaction;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),e&&kx.createElement("div",{className:"PaddingTopS"},kx.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==e?void 0:e.url,target:"_blank",rel:"noopener noreferrer"},"View on explorer")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){return t()}},"Try again"))})},fG=function(){return kx.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},kx.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},pG=function(t){return kx.createElement("svg",{className:"Checkmark Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},mG=function(t){return kx.createElement("svg",{className:"DigitalWalletIcon Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),kx.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),kx.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),kx.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},gG={ethereum:13,bsc:4,polygon:3,solana:.5},yG=function(t){return kx.createElement("div",{className:"LoadingText"},t.children,kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."))},vG=function(){var t=kx.useContext(MF);t.amount,t.amountsMissing;var e=kx.useContext(oG),n=e.synchronousTracking,r=e.asynchronousTracking,i=e.trackingInitialized,o=e.release,a=e.forwardTo,s=e.confirmationsRequired,u=e.confirmationsPassed,c=kx.useContext(XH),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,m=c.approvalTransaction,g=kx.useContext(uG).paymentValueLoss,y=kx.useContext(IF),v=y.updatedRouteWithNewPrice,b=y.updateRouteWithNewPrice;kx.useContext(Pz).navigate;var w=kx.useContext(Lx).close,M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(0),2),x=A[0],E=A[1];kx.useEffect((function(){if(s){var t=setInterval((function(){E(x+1)}),1e3);return function(){clearInterval(t)}}}),[s,x]),kx.useEffect((function(){u&&L(function(t,e,n){return(e-n)*gG[t]}(l.blockchain,s,u)-x)}),[u,x]),kx.useEffect((function(){u&&E(0)}),[u]);return kx.createElement("div",null,g&&kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Payment would lose ",g,"% of its value!"))),null==l.route||!l.route.approvalRequired||l.route.directTransfer||v?null:g?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary",onClick:p,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:null==m?void 0:m.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Approving"))):void 0,"paying"==h&&null==f?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",{className:"Card transparent disabled small"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(mG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Confirm transaction in your wallet"))))):"success"==h?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",null,kx.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),0==n&&0==r||r&&i?null:r&&0==i?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Payment validated"))))):kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Validating payment",s&&k>0&&kx.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",k,"s"))))))):void 0,v?kx.createElement("div",null,kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Price updated!"))),kx.createElement("button",{className:"ButtonPrimary",onClick:function(){b()}},"Reload")):g?kx.createElement("div",null,kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Pay")):"initialized"!=h&&"approving"!=h||!l.route?"paying"==h?kx.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Paying")):"success"==h?1==n?o?a?kx.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Continue"):kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Close"):void 0:kx.createElement("button",{className:["ButtonPrimary",l.route.approvalRequired&&!l.route.directTransfer?"disabled":""].join(" "),onClick:function(){l.route.approvalRequired&&!l.route.directTransfer||d()}},"Pay"))},bG=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.fixedAmount,i=kx.useContext(IF),o=i.slowRouting,a=i.selectedRoute,s=kx.useContext(KB).title;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},s||"Payment")),alternativeHeaderAction:t.alternativeHeaderAction,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&kx.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},kx.createElement("strong",null,"Loading payment options...")))})},wG=function(t){var e=kx.useContext(KB),n=e.currencyCode,r=e.recover,i=e.amount,o=e.currency,a=e.title,s=kx.useContext(XH),u=s.payment,c=s.paymentState,l=kx.useContext(MF),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,m=kx.useContext(sR).disconnect,g=kx.useContext(uG),y=g.paymentValue,v=g.displayedPaymentValue,b=kx.useContext(Pz).navigate,w=QA(kx.useState(!1),2),M=w[0],k=w[1],A=null!=i&&i.token?null:n,x=kx.createElement("span",{className:"DropDownWrapper"},kx.createElement("button",{type:"button",onClick:function(){return k(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},kx.createElement(rP,null)),M&&kx.createElement(nP,{hide:function(){return k(!1)},items:[{label:"Disconnect wallet",action:m}]}));if(null==u||null==r&&null==y)return kx.createElement(bG,{alternativeHeaderAction:x});var E=L.findByName(u.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:x,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&b("ChangeAmount")}},kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},A&&kx.createElement("div",{className:"TokenAmountRow"},new tR({amount:h.toFixed(2),code:n}).toString()),!A&&kx.createElement("div",{className:"TokenAmountRow"},h)))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&b("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:u.name},kx.createElement(eG,{blockchain:u.blockchain,address:u.token}),kx.createElement("img",{className:"BlockchainLogo small "+E.name,src:E.logo,alt:E.label,title:E.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},d&&!p&&kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},u.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(u.amount))),v!="".concat(u.symbol," ").concat(hR(u.amount))&&!(d&&!p)&&!1!==o&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},v))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},MG=function(){kx.useContext(XH).transaction;var t=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t("back")}},"Try again"))})},kG=function(){var t=kx.useContext(oG).continueTryTracking;kx.useContext(XH).transaction;var e=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t(),e("back")}},"Try again"))})},LG=function(t){var e=kx.useContext(XH).payment,n=kx.useContext(sR).wallet,r=kx.useContext(Pz).navigate,i=QA(kx.useState(!1),2);i[0],i[1];var o=L.findByName(e.route.blockchain);return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:o.logo})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(e.blockchain),r("back")}},"Switch Network"))})},AG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator,o=kx.useContext(sR).account,a=QA(kx.useState(),2),s=a[0],u=a[1];return kx.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),kx.createElement(Uz,{setNavigator:function(t){u(t),i(t)},open:n,close:r,start:"PaymentOverview",container:t.container,document:t.document,dialogs:{PaymentOverview:kx.createElement(wG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null),TrackingFailed:kx.createElement(kG,null),PreTrackingFailed:kx.createElement(MG,null)}})},xG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,r=[Yk.from("payments"),new Av(n).toBuffer()],t.next=4,Av.findProgramAddress(r,new Av("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=t.sent,o=QA(i,1),a=o[0],t.abrupt("return",a);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),EG=function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,t.next=3,xG({account:n});case 3:return r=t.sent.toString(),t.next=6,CL({blockchain:"solana",address:r,api:eL([oL("anchorDiscriminator"),oL("nonce")])});case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),NG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.blockchain,r=e.transaction,i=e.account,o=e.wallet,n||(n=r.blockchain),!Nx.evm.includes(n)){t.next=13;break}if(!r||null==r||!r.nonce){t.next=7;break}return t.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){t.next=11;break}return t.next=10,o.transactionCount({blockchain:n,address:i});case 10:return t.abrupt("return",t.sent.toString());case 11:t.next=22;break;case 13:if(!Nx.solana.includes(n)){t.next=22;break}return t.next=16,EG({account:i});case 16:if(!(s=t.sent)){t.next=21;break}return t.abrupt("return",s.nonce.toString());case 21:return t.abrupt("return","0");case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),SG=function(t){kx.useContext(xB).errorCallback;var n=kx.useContext(KB),r=n.track,i=n.validated;n.failed;var o=n.integration,a=n.link,s=n.type,u=kx.useContext(sR),l=u.account,h=u.wallet,d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState(),2),b=v[0],w=v[1],M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(),2);A[0],A[1];var x=QA(kx.useState(),2),E=x[0],N=x[1],S=QA(kx.useState(!1),2),I=S[0],T=S[1],j=QA(kx.useState(!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],C=QA(kx.useState(!(!r||1!=r.async)),1)[0],D=QA(kx.useState(!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],O=QA(kx.useState(!1),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=kx.useContext(Lx).setClosable,Q=kx.useContext(nR),W=Q.navigate,F=Q.set,Y=function n(r){var o=new WebSocket("wss://integrate.depay.com/cable");o.onopen=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=r.blockchain,t.t2=r.from,t.next=5,NG({transaction:r,account:l,wallet:h});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"PaymentChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),n={command:"subscribe",identifier:t.t5},o.send(JSON.stringify(n));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),o.onclose=function(t){t&&1e3==t.code||n(r)},o.onmessage=function(e){var n=JSON.parse(e.data);if("ping"!==n.type&&n.message){var r="success"==n.message.status;i&&setTimeout((function(){return i(r,n.message)}),200),n.message.release?(o.close(1e3),r?(z(!0),U(!0),R(n.message.forward_to),n.message.forward_to&&setTimeout((function(){t.document.location.href=n.message.forward_to}),200)):0==r&&(U(!0),F(["PaymentFailed"]))):n.message.confirmations&&(y(n.message.confirmations.required),w(n.message.confirmations.passed))}},o.onerror=function(t){console.log("WebSocket Error: "+t)}},H=function(t,e,n,i){(i=parseInt(i||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){Z(t,e,n,i+1)}),3e3):W("TrackingFailed")},G=function(t){if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(t){if(200==t.status||201==t.status)return t;throw t}));if(r.method)return r.method(t);throw"No tracking defined!"},Z=function(){var t=e(c.mark((function t(e,n,r,i){var o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=G,t.t1=e.blockchain,t.t2=e.id,t.t3=e.from,t.next=6,NG({transaction:e,account:l,wallet:h});case 6:t.t4=t.sent,t.t5=n.toString(),t.t6=r.fromToken.address,t.t7=r.fromAmount.toString(),t.t8=r.fromDecimals,t.t9=r.toToken.address,t.t10=r.toAmount.toString(),t.t11=r.toDecimals,t.t12=null==r||null===(o=r.feeAmount)||void 0===o?void 0:o.toString(),t.t13=e.deadline,t.t14={blockchain:t.t1,transaction:t.t2,sender:t.t3,nonce:t.t4,after_block:t.t5,from_token:t.t6,from_amount:t.t7,from_decimals:t.t8,to_token:t.t9,to_amount:t.t10,to_decimals:t.t11,fee_amount:t.t12,deadline:t.t13},(0,t.t0)(t.t14).then((function(t){T(!0)})).catch((function(t){H(e,n,r,i)}));case 18:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}(),V=function(){var n=e(c.mark((function e(n,o,a,s,u){var d,f;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=7,NG({transaction:o,account:l,wallet:h});case 7:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,d={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},f=function(e){e&&(e&&e.forward_to?(U(!0),R(e.forward_to),setTimeout((function(){t.document.location.href=e.forward_to}),200)):U(!0),clearInterval(u),i&&i(!0,e),z(!0))},r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(t){return 200==t.status||201==t.status?t.json().catch((function(){U(!0)})):void 0})).then(f):r.poll.method&&r.poll.method(d).then(f);case 13:case"end":return e.stop()}}),e)})));return function(t,e,r,i,o){return n.apply(this,arguments)}}();kx.useEffect((function(){if(D&&j){var t=setInterval((function(){return V(D,f,k,E,t)}),5e3);return function(){clearInterval(t)}}}),[D,f,k,E]);var J=function(){var t=e(c.mark((function t(e,n,r,i){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.blockchain,t.t4=e.id,t.t5=e.from,t.next=8,NG({transaction:e,account:l,wallet:h});case 8:t.t6=t.sent,t.t7=r.toAddress,t.t8=r.toToken.address,t.t9=Uc(r.toAmount,r.toDecimals),t.t10=n.toString(),t.t11=e.id,t.t12={sender_id:e.from,sender_token_id:r.fromToken.address,sender_amount:Uc(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},t.t13=r.fee?Uc(r.feeAmount,r.toDecimals):null,t.t14=r.fee?r.fee.receiver:null,t.t15=e.deadline,t.t16={blockchain:t.t3,transaction:t.t4,sender:t.t5,nonce:t.t6,receiver:t.t7,token:t.t8,amount:t.t9,confirmations:1,after_block:t.t10,uuid:t.t11,payload:t.t12,fee_amount:t.t13,fee_receiver:t.t14,deadline:t.t15},t.t17=t.t2.stringify.call(t.t2,t.t16),t.t18={headers:t.t1,method:"POST",body:t.t17},(0,t.t0)("https://public.depay.com/payments",t.t18).then((function(t){200==t.status||201==t.status||setTimeout((function(){J(e,n,r,i+1)}),3e3)})).catch((function(t){setTimeout((function(){J(e,n,r,i+1)}),3e3)}));case 22:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}();return kx.createElement(oG.Provider,{value:{synchronousTracking:j,asynchronousTracking:C,initializeTracking:function(t,e,n){J(t,e,n,1),(j||r&&1==r.async)&&Z(t,e,n),0!=j&&(p(t),L(e),N(n),Y(t))},preTrack:function(t,n,i){return j||C?new Promise(function(){var o=e(c.mark((function e(o,a){var s,u;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=n.blockchain,e.t1=l,e.next=4,NG({blockchain:n.blockchain,account:l,wallet:h});case 4:if(e.t2=e.sent,e.t3=t.toString(),e.t4=n.fromToken.address,e.t5=n.fromAmount.toString(),e.t6=n.fromDecimals,e.t7=n.toToken.address,e.t8=n.toAmount.toString(),e.t9=n.toDecimals,e.t10=null==n||null===(s=n.feeAmount)||void 0===s?void 0:s.toString(),e.t11=i.deadline,u={blockchain:e.t0,sender:e.t1,nonce:e.t2,after_block:e.t3,from_token:e.t4,from_amount:e.t5,from_decimals:e.t6,to_token:e.t7,to_amount:e.t8,to_decimals:e.t9,fee_amount:e.t10,deadline:e.t11},!r.endpoint){e.next=19;break}return e.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(t){return 200==t.status||201==t.status?o():a("PRETRACKING REQUEST FAILED")})));case 19:r.method?r.method(u).then(o).catch(a):a("No tracking defined!");case 20:case"end":return e.stop()}}),e)})));return function(t,e){return o.apply(this,arguments)}}()):Promise.resolve()},trackingInitialized:I,continueTryTracking:function(){H(f,k,E,1)},release:_,forwardTo:B,confirmationsRequired:g,confirmationsPassed:b}},t.children)},IG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(sR).account,r=kx.useContext(Ax).updatable,i=kx.useContext(KB),o=i.amount,a=i.currencyCode,s=kx.useContext(MF).amount,u=kx.useContext(XH).payment,c=QA(kx.useState(),2),l=c[0],h=c[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=kx.useContext(KB).currency,b=QA(kx.useState(0),2),w=b[0],M=b[1],k=function(t){var r=t.updatable,i=t.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),y(null),Promise.all([Promise.all(L[i.route.blockchain].stables.usd.map((function(t){return wF({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:t,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):wF({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?bt.from(i.route.toAmount).add(bt.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(t){var e,n=QA(t,2),r=n[0],o=n[1][0];if(o){var a=bt.from(o.amountOut),s=bt.from(i.route.fromAmount),u=100-a.mul(bt.from("100")).div(s).abs().toString();y(u>=10?u:null)}if(L[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=L[i.route.blockchain].tokens.find((function(t){return t.address===i.route.fromToken.address})).decimals;e=Uc(i.route.fromAmount.toString(),c)}else{var l=r.map((function(t){return t?t[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(t){var e=L[i.route.blockchain].tokens.find((function(e){return e.address===t.tokenOut})).decimals;return parseFloat(Uc(t.amountOut,e))})),f=d.reduce((function(t,e){return t+e}))/d.length,p=d.filter((function(t){return t<f+.1*f&&t>f-.1*f}));e=p.length?p.reduce((function(t,e){return t+e}))/p.length:d.reduce((function(t,e){return t+e}))/d.length}tR.fromUSD({amount:e,code:v}).then(h)})).catch(e))};return kx.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new tR({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),kx.useEffect((function(){n&&u&&k({updatable:r,payment:u})}),[u,n]),kx.useEffect((function(){var t=setTimeout((function(){M(w+1),k({updatable:r})}),15e3);return function(){return clearTimeout(t)}}),[w,r]),kx.createElement(uG.Provider,{value:{paymentValue:l,paymentValueLoss:g,displayedPaymentValue:f}},t.children)},TG=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],jG=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(!1),2),l=u[0],h=u[1];kx.useContext(xB).errorCallback;var d=kx.useContext(KB).recover,f=kx.useContext(sR),p=f.account,m=f.wallet;kx.useEffect((function(){if(l){var t=function(){fetch("https://public.depay.com/transactions/".concat(r.blockchain,"/").concat(r.from,"/").concat(r.nonce)).then((function(t){200==t.status&&t.json().then((function(t){"pending"!=t.status&&(s({id:t.external_id,status:t.status}),h(!1))}))}))},e=setInterval(t,5e3);return t(),function(){clearInterval(e)}}}),[l]);var g=function(){var t=e(c.mark((function t(e,n,r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r>3)){t.next=3;break}return console.log("TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!"),t.abrupt("return");case 3:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.id,t.t4=n.toString(),t.t5=e.blockchain,t.t6=e.from,t.next=12,NG({transaction:e,wallet:m,account:p});case 12:t.t7=t.sent,t.t8={id:t.t3,after_block:t.t4,blockchain:t.t5,sender:t.t6,nonce:t.t7},t.t9=t.t2.stringify.call(t.t2,t.t8),t.t10={method:"POST",headers:t.t1,body:t.t9},(0,t.t0)("https://public.depay.com/transactions",t.t10).then((function(t){200==t.status||201==t.status?console.log("TRANSACTION TRACKING INITIALIZED"):(console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3))})).catch((function(t){console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3)}));case 17:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}(),y=function t(n){var r=new WebSocket("wss://integrate.depay.com/cable");r.onopen=function(){var t=e(c.mark((function t(e){var i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=n.blockchain,t.t2=n.from,t.next=5,NG({transaction:n,wallet:m,account:p});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"TransactionChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),i={command:"subscribe",identifier:t.t5},r.send(JSON.stringify(i));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||t(n)},r.onmessage=function(t){var e=JSON.parse(t.data);"ping"!==e.type&&e.message&&e.message.status&&"pending"!=e.message.status&&(s(e.message),r.close(1e3))},r.onerror=function(t){console.log("WebSocket Error: "+t)}},v=function(t,e){Nx.evm.includes(t.blockchain)&&(i(t),null==d&&g(t,e,1),y(t),h(!0))};return kx.useEffect((function(){d&&v({blockchain:d.blockchain,id:d.transaction,from:d.sender,nonce:d.nonce},d.afterBlock)}),[d]),kx.createElement(aG.Provider,{value:{initializeTracking:v,foundTransaction:a}},t.children)},CG=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.accept,!e.recover){t.next=3;break}return t.abrupt("return");case 3:n.forEach((function(t){if(void 0===t.blockchain)throw"You need to set the blockchain your want to receive the payment on!";if(!Nx.includes(t.blockchain))throw"You need to set a supported blockchain!";if(void 0===t.token&&void 0===t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===t.token&&void 0!==t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===t.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),DG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.accept,r=e.amount,i=e.sent,o=e.succeeded,a=e.validated,s=e.failed,u=e.error,l=e.critical,h=e.style,d=e.whitelist,f=e.blacklist,p=e.providers,m=e.currency,g=e.connected,y=e.closed,v=e.track,b=e.recover,w=e.closable,M=e.integration,k=e.link,L=e.container,A=e.before,x=e.wallet,E=e.title,N=e.action,S=e.document,JB(),m&&!TG.includes(m.toLowerCase())&&(m=!1),t.prev=3,t.next=6,CG({accept:n,recover:b});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),I=VB({style:h,container:L,document:wB(S),closed:y},(function(t){return function(e){return kx.createElement(TB,{errorCallback:u,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"payment",before:A,amount:r,accept:n,currency:m,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:d,blacklist:f,providers:p,track:v,recover:b,integration:M,link:k,wallet:x,title:E,action:N}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:w},kx.createElement(mR,{document:S,container:e,connected:g,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:n},kx.createElement(JH,{accept:n,whitelist:d,blacklist:f,event:event,container:e,document:S},kx.createElement(jG,null,kx.createElement(SG,{document:wB(S)},kx.createElement(sG,{container:e,document:S},kx.createElement(IG,null,kx.createElement(AG,{document:S,container:e}),kx.createElement(Xz,null))))))))))))))}})),t.abrupt("return",{unmount:I});case 11:t.prev=11,t.t0=t.catch(3),console.log("critical error",t.t0),null!=l&&l(t.t0);case 15:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e){return t.apply(this,arguments)}}();DG.preload=function(t){var e=t.account,n=t.accept,r=t.whitelist,i=t.blacklist;t.event,HH({account:e,accept:n,whitelist:r,blacklist:i})};var OG=kx.createContext(),_G=kx.createContext(),zG=function(t){var e=kx.useContext(XH).payment,n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){e&&Promise.all([e.route.toToken.symbol(),e.route.toToken.readable(e.route.toAmount)]).then((function(t){var n=QA(t,2),r=n[0],o=n[1];i({address:e.route.toToken.address,symbol:r}),s(o)}))}),[e]),kx.createElement(_G.Provider,{value:{toToken:r,toTokenReadableAmount:a}},t.children)},PG=function(t){var e=kx.useContext(MF),n=e.acceptWithAmount,r=e.setMaxRoute,i=kx.useContext(KB).sell,o=kx.useContext(KB).blacklist;for(var a in null==o&&(o={}),i){var s=i[a];o[a]instanceof Array?o[a].push(s):o[a]=[s]}return kx.createElement(OG.Provider,{value:{}},kx.createElement(VH,{accept:n,blacklist:o,setMaxRoute:r},kx.createElement(sG,{container:t.container,document:t.document},kx.createElement(IG,null,kx.createElement(zG,null,t.children)))))},BG=function(t){return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},RG=function(t){kx.useContext(MF).amount;var e,n=kx.useContext(KB),r=n.tokenImage,i=n.amount,o=kx.useContext(uG),a=o.paymentValue,s=o.displayedPaymentValue,u=kx.useContext(XH),c=u.payment,l=u.paymentState,h=kx.useContext(Pz).navigate,d=kx.useContext(_G),f=d.toToken,p=d.toTokenReadableAmount,m=QA(kx.useState(),2),g=m[0],y=m[1];if(kx.useEffect((function(){if(a&&(null==i||1!=i.token)&&p){var t=a.amount/parseFloat(p),e=new tR({amount:t,code:a.code}).toString();e!=new tR({amount:0,code:a.code}).toString()&&y(e)}}),[a,p]),null==f||null==p||null==c||null==a)return kx.createElement(BG,null);e=r?kx.createElement("img",{src:r}):kx.createElement(eG,{blockchain:c.route.blockchain,address:f.address});var v=L.findByName(c.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:["Card","initialized"!=l||i&&i.fix?"disabled":""].join(" "),title:"initialized"==l?"Change amount":void 0,onClick:function(){"initialized"==l&&(i&&i.fix||h("ChangeAmount"))}},kx.createElement("div",{className:"CardImage",title:c.name},e,kx.createElement("img",{className:"BlockchainLogo small "+v.name,src:v.logo,alt:v.label,title:v.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},f.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(p)))),g&&kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,g," per token")))),kx.createElement("div",{className:"CardAction"},(!i||!i.fix)&&kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==l?"":"disabled"].join(" "),title:"initialized"==l?"Change payment":void 0,onClick:function(){"initialized"==l&&h("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:c.name},kx.createElement(eG,{blockchain:c.route.blockchain,address:c.token})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},c.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(c.amount))),i&&i.fix&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},s))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},UG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator;return kx.createElement(Uz,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:t.container,document:t.document,dialogs:{SaleOverview:kx.createElement(RG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null)}})},QG=function(){var t=e(c.mark((function t(e){var r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("object"==n(r=e.sell)){t.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(r).length){t.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(r).length){t.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),WG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.amount,r=e.sell,i=e.sent,o=e.succeeded,a=e.failed,s=e.error,u=e.critical,l=e.style,h=e.blacklist,d=e.providers,f=e.currency,p=e.connected,m=e.closed,g=e.tokenImage,y=e.closable,v=e.integration,b=e.wallet,w=e.document,JB(),t.prev=2,t.next=5,QG({sell:r});case 5:return M=Object.keys(r).map((function(t){return{blockchain:t,token:r[t]}})),k=VB({style:l,document:wB(w),closed:m},(function(t){return function(e){return kx.createElement(TB,{errorCallback:s,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"sale",tokenImage:g,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:h,providers:d,integration:v,wallet:b}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:y},kx.createElement(mR,{container:e,connected:p,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:M},kx.createElement(jG,null,kx.createElement(SG,{document:wB(w)},kx.createElement(PG,{container:e,document:w},kx.createElement(UG,{document:w,container:e}),kx.createElement(Xz,null))))))))))))}})),t.abrupt("return",{unmount:k});case 10:t.prev=10,t.t0=t.catch(2),console.log("critical error",t.t0),null!=u&&u(t.t0);case 14:case"end":return t.stop()}}),t,null,[[2,10]])})));return function(e){return t.apply(this,arguments)}}();function FG(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===t)return t;var n="";return n+=t.slice(0,e+2),n+="...",n+=t.slice(t.length-e,t.length)}var YG=function(t){var e,n,r,i,o;return o=Math.floor(t/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,e=Math.floor(n/30),n%=30,{year:Math.floor(e/12),month:e%=12,day:n,hour:r,minute:i,second:o}};function HG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function GG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?HG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):HG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ZG=function(t){var e,n,r=kx.useContext(Kz),i=r.selection;r.setSelection;var o,a,s=kx.useContext(Lx).setOpen,u=kx.useContext(Pz).navigate;i.nft.createdAt&&(o=[(o=YG(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" ")),i.nft.holders&&(a=i.nft.holders>1e6?"Millions":i.nft.holders>1e5?"Hundreds of Thousands":i.nft.holders>2e3?"Thousands":i.nft.holders>100?"Hundreds":"Only a Few!!!");var c=(null===(e=i.nft)||void 0===e?void 0:e.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==c)return u("SelectBlockchain"),null;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&kx.createElement("img",{src:i.nft.image})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i.nft.address,href:L.findByName(c).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},FG(i.nft.address,6))))),i.nft.id&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Token ID")),kx.createElement("td",null,kx.createElement("div",null,i.nft.id))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,L.findByName(c).label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),o&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,o))),a&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,a))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){s(!1),t.resolve(GG(GG({},i.nft),{},{blockchain:c})),setTimeout(t.unmount,300)}},"Confirm"))})},VG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjMuMjUwODg5bW0iIGhlaWdodD0iNjMuMjUwODg5bW0iIHZpZXdCb3g9IjAgMCA2My4yNTA4ODYgNjMuMjUwODg4Ij4KICA8ZyBmaWxsPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC42MzI1KSI+CiAgICA8cGF0aCBmaWxsPSIjMjA4MWUyIiBkPSJNMTAwIDUwYzAgMjcuNjEyNy0yMi4zODczIDUwLTUwIDUwUzAgNzcuNjEyNyAwIDUwIDIyLjM4NzMgMCA1MCAwYzI3LjYxODUgMCA1MCAyMi4zODczIDUwIDUweiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTI0LjY2NzkgNTEuNjgwMS4yMTU3LS4zMzkxIDEzLjAwNy0yMC4zNDc4Yy4xOTAxLS4yOTc5LjYzNy0uMjY3MS43ODA4LjA1NjUgMi4xNzMgNC44Njk5IDQuMDQ4IDEwLjkyNjUgMy4xNjk2IDE0LjY5NzEtLjM3NSAxLjU1MTQtMS40MDI0IDMuNjUyNC0yLjU1ODMgNS41OTQyLS4xNDg5LjI4MjYtLjMxMzMuNTYtLjQ4OC44MjcxLS4wODIyLjEyMzMtLjIyMDkuMTk1Mi0uMzY5OS4xOTUySDI1LjA0OGMtLjM1OTYgMC0uNTcwMi0uMzkwNC0uMzgwMS0uNjgzMnoiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik04Mi42NDQ0IDU1LjQ2MXYzLjIyMDljMCAuMTg0OS0uMTEzLjM0OTMtLjI3NzQuNDIxMi0xLjAwNjguNDMxNS00LjQ1MzggMi4wMTM3LTUuODg3IDQuMDA2OS0zLjY1NzYgNS4wOTA4LTYuNDUyMSAxMi4zNy0xMi42OTg4IDEyLjM3SDM3LjcyMUMyOC40ODQ3IDc1LjQ4IDIxIDY3Ljk2OTcgMjEgNTguNzAyNHYtLjI5NzljMC0uMjQ2Ni4yMDAzLS40NDY5LjQ0NjktLjQ0NjloMTQuNTI3NmMuMjg3NiAwIC40OTgyLjI2NzEuNDcyNi41NDk2LS4xMDI4Ljk0NTIuMDcxOSAxLjkxMS41MTg4IDIuNzg5NC44NjMgMS43NTE4IDIuNjUwNyAyLjg0NiA0LjU4MjIgMi44NDZINDguNzR2LTUuNjE0OGgtNy4xMDk3Yy0uMzY0NyAwLS41ODA0LS40MjEzLS4zNjk4LS43MTkyLjA3Ny0uMTE4Mi4xNjQ0LS4yNDE0LjI1NjgtLjM4MDEuNjczLS45NTU1IDEuNjMzNi0yLjQ0MDEgMi41ODkxLTQuMTMwMi42NTI0LTEuMTQwNCAxLjI4NDItMi4zNTc5IDEuNzkyOC0zLjU4MDUuMTAyOC0uMjIwOS4xODQ5LS40NDcuMjY3MS0uNjY3OS4xMzg3LS4zOTA0LjI4MjYtLjc1NTEuMzg1My0xLjExOTguMTAyOC0uMzA4My4xODQ5LS42MzE5LjI2NzEtLjkzNS4yNDE1LTEuMDM3Ny4zNDQyLTIuMTM3LjM0NDItMy4yNzc0IDAtLjQ0NjktLjAyMDUtLjkxNDQtLjA2MTYtMS4zNjEzLS4wMjA2LS40ODgtLjA4MjItLjk3NjEtLjE0MzktMS40NjQxLS4wNDExLS40MzE1LS4xMTgxLS44NTc5LS4yMDAzLTEuMzA0OC0uMTAyNy0uNjUyNC0uMjQ2Ni0xLjI5OTYtLjQxMS0xLjk1MjFsLS4wNTY1LS4yNDY1Yy0uMTIzMy0uNDQ3LS4yMjYtLjg3MzMtLjM2OTgtMS4zMjAyLS40MDU5LTEuNDAyNS0uODczMy0yLjc2ODktMS4zNjY1LTQuMDQ4LS4xNzk4LS41MDg2LS4zODUzLS45OTY2LS41OTA4LTEuNDg0Ni0uMzAzLS43MzQ2LS42MTEzLTEuNDAyNC0uODkzOC0yLjAzNDMtLjE0MzgtLjI4NzctLjI2NzEtLjU0OTctLjM5MDQtLjgxNjgtLjEzODctLjMwMzEtLjI4MjUtLjYwNjItLjQyNjQtLjg5MzgtLjEwMjctLjIyMDktLjIyMDktLjQyNjQtLjMwMzEtLjYzMTlsLS44Nzg0LTEuNjIzM2MtLjEyMzMtLjIyMDkuMDgyMi0uNDgyOS4zMjM2LS40MTYxbDUuNDk2NyAxLjQ4OTdoLjAxNTRjLjAxMDIgMCAuMDE1NC4wMDUyLjAyMDUuMDA1MmwuNzI0My4yMDAzLjc5NjMuMjI2MS4yOTI4LjA4MjF2LTMuMjY3MUM0OC43NCAyMS4yNzkxIDUwLjAwMzcgMjAgNTEuNTY1NCAyMGMuNzgwOCAwIDEuNDg5Ny4zMTg1IDEuOTk4My44MzczLjUwODUuNTE4OS44MjcgMS4yMjc4LjgyNyAyLjAxODl2NC44NDk0bC41ODU3LjE2NDNjLjA0NjIuMDE1NS4wOTI0LjAzNi4xMzM1LjA2NjguMTQzOS4xMDc5LjM0OTMuMjY3MS42MTEzLjQ2MjQuMjA1NS4xNjQzLjQyNjQuMzY0Ny42OTM1LjU3MDIuNTI5MS40MjYzIDEuMTYxLjk3NiAxLjg1NDUgMS42MDc5LjE4NDkuMTU5Mi4zNjQ3LjMyMzYuNTI5MS40ODguODkzOS44MzIyIDEuODk1NiAxLjgwODIgMi44NTExIDIuODg3LjI2NzEuMzAzMS41MjkxLjYxMTMuNzk2Mi45MzQ5LjI2NzEuMzI4OC41NDk3LjY1MjQuNzk2Mi45NzYxLjMyMzcuNDMxNS42NzMuODc4NC45NzYxIDEuMzQ1OS4xNDM4LjIyMDkuMzA4Mi40NDY5LjQ0NjkuNjY3OC4zOTA0LjU5MDcuNzM0NiAxLjIwMjEgMS4wNjM0IDEuODEzNC4xMzg3LjI4MjUuMjgyNS41OTA3LjQwNTguODkzOC4zNjQ3LjgxNjguNjUyNCAxLjY0OS44MzczIDIuNDgxMi4wNTY1LjE3OTguMDk3Ni4zNzUuMTE4Mi41NDk3di4wNDExYy4wNjE2LjI0NjUuMDgyMi41MDg1LjEwMjcuNzc1Ni4wODIyLjg1MjguMDQxMSAxLjcwNTUtLjE0MzggMi41NjM0LS4wNzcxLjM2NDgtLjE3OTguNzA4OS0uMzAzMSAxLjA3MzctLjEyMzMuMzQ5My0uMjQ2Ni43MTQtLjQwNTggMS4wNTgyLS4zMDgyLjcxNC0uNjczIDEuNDI4MS0xLjEwNDUgMi4wOTU5LS4xMzg3LjI0NjYtLjMwMzEuNTA4Ni0uNDY3NS43NTUyLS4xNzk4LjI2MTktLjM2NDcuNTA4NS0uNTI5MS43NS0uMjI2LjMwODItLjQ2NzQuNjMxOC0uNzE0LjkxOTUtLjIyMDkuMzAzMS0uNDQ2OS42MDYyLS42OTM1Ljg3MzMtLjM0NDIuNDA1OC0uNjczLjc5MTEtMS4wMTcyIDEuMTYxLS4yMDU0LjI0MTQtLjQyNjMuNDg4LS42NTI0LjcwODktLjIyMDguMjQ2NS0uNDQ2OS40Njc0LS42NTI0LjY3MjktLjM0NDEuMzQ0Mi0uNjMxOC42MTEzLS44NzMzLjgzMjJsLS41NjUuNTE4OWMtLjA4MjIuMDcxOS0uMTkwMS4xMTMtLjMwMzEuMTEzaC00LjM3Njh2NS42MTQ4aDUuNTA2OWMxLjIzMjkgMCAyLjQwNDItLjQzNjcgMy4zNDk0LTEuMjM4MS4zMjM2LS4yODI1IDEuNzM2My0xLjUwNTEgMy40MDU4LTMuMzQ5My4wNTY1LS4wNjE3LjEyODUtLjEwNzkuMjEwNy0uMTI4NGwxNS4yMTA3LTQuMzk3M2MuMjgyNi0uMDgyMi41NzAyLjEzMzUuNTcwMi40MzE1eiIvPgogIDwvZz4KPC9zdmc+",JG=function(t){var n,r,i,o,a,s,u=kx.useContext(Pz).navigate,l=kx.useContext(Kz),h=l.selection,d=l.setSelection,f=QA(kx.useState(""),2),p=f[0],m=f[1],g=QA(kx.useState(""),2),y=g[0],v=g[1],b=QA(kx.useState(""),2),w=b[0],M=b[1],k=QA(kx.useState(""),2),A=k[0],x=k[1],E=QA(kx.useState(!1),2),N=E[0],S=E[1];return kx.useEffect((function(){var t,n,r=(null==h||null===(t=h.blockchain)||void 0===t?void 0:t.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain),i=function(){var t=e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r){t.next=10;break}return t.prev=1,t.next=4,CL({blockchain:r,address:h.nft.address,method:"balanceOf",api:YR[r][1155],params:["0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02","1"]});case 4:e=t.sent,t.next=9;break;case 7:t.prev=7,t.t0=t.catch(1);case 9:e&&S(!0);case 10:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(){return t.apply(this,arguments)}}();i()}),[h.blockchain]),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG}))))),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTBlockchain"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Select Blockchain"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("div",{className:"Card small",onClick:function(){return u("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:null===(n=L.findByName((null==h||null===(r=h.blockchain)||void 0===r?void 0:r.name)||(null==h?void 0:h.blockchain)||(null==h||null===(i=h.collection)||void 0===i?void 0:i.blockchain)))||void 0===n?void 0:n.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},null===(o=L.findByName((null==h||null===(a=h.blockchain)||void 0===a?void 0:a.name)||(null==h?void 0:h.blockchain)||(null==h||null===(s=h.collection)||void 0===s?void 0:s.blockchain)))||void 0===o?void 0:o.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))))),N&&kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:p,onChange:function(t){return m(t.target.value)},className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter NFT Name"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:A,onChange:function(t){return x(t.target.value)},placeholder:"CryptoPunks",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Image URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:y,onChange:function(t){return v(t.target.value)},placeholder:"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Link URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:w,onChange:function(t){return M(t.target.value)},placeholder:"https://opensea.io/collection/cryptopunks",className:"Search"})))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:["ButtonPrimary",y.length&&w.length&&A.length&&(!N||p.length)?"":"disabled"].join(" "),onClick:function(){y.length&&w.length&&A.length&&(!N||p.length)&&function(){var e,n,r=(null==h||null===(e=h.blockchain)||void 0===e?void 0:e.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain);d(Object.assign(t.selection,{nft:{blockchain:r,id:p,image:y,name:A,link:w,address:h.nft.address,type:N?"1155":"721"}})),u("ConfirmNFTSelection")}()}},"Continue"))})},qG={ethereum:"ethereum",matic:"polygon,"},XG=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz).setSelection,m=function(e){p(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},g=function(t){return new Promise((function(e,n){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(t)).then((function(t){if(200!=t.status)return e();t.json().then((function(t){return e(t.assets?t.assets[0]:void 0)})).catch((function(){return e()}))})).catch((function(){return e()}))}))},y=kx.useCallback(pR.debounce((function(n){fetch("https://api.opensea.io/api/v1/asset_contract/".concat(n)).then((function(i){200==i.status?i.json().then(function(){var i=e(c.mark((function e(i){var o,s,u,h,d,y,v,b,w,M;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("non-fungible"!=i.asset_contract_type){e.next=8;break}return e.next=3,g(n);case 3:(h=e.sent)&&(s=null!=h&&h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,u=null==h||null===(d=h.collection)||void 0===d||null===(y=d.stats)||void 0===y?void 0:y.num_owners),o={blockchain:s,holders:u,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"721"},e.next=22;break;case 8:if("semi-fungible"!=i.asset_contract_type){e.next=21;break}if("OPENSTORE"!=i.symbol||"OpenSea Collection"!=i.name){e.next=13;break}o={id:null,address:ln(i.address),type:"1155"},e.next=19;break;case 13:return e.next=15,g(n);case 15:w=e.sent,M=null!=w&&w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,null==w||null===(v=w.collection)||void 0===v||null===(b=v.stats)||void 0===b||b.num_owners,o={blockchain:M,id:null,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"1155"};case 19:e.next=22;break;case 21:i.address&&(o={address:ln(i.address)});case 22:o&&(null==o.type?(p(Object.assign(t.selection,{nft:o,blockchain:o.blockchain||"polygon"})),r("EnterNFTDataForOpenSea"),a("")):null!==o.id?(m(o),f([o]),r("ConfirmNFTSelection")):(p(Object.assign(t.selection,{nft:o})),r("SelectNFTIdOnOpenSea"),a(""))),l(!1);case 24:case"end":return e.stop()}}),e)})));return function(t){return i.apply(this,arguments)}}()).catch((function(){l(!1)})):l(!1)})).catch((function(){l(!1)}))}),500),[]);return n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return m(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterContractAddress"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter contract address"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterContractAddress",name:"DePayWidgetsEnterContractAddress",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?y(e):l(!1)},className:"Search",autoFocus:!0,placeholder:"0x495f947276749ce646f68ac8c248420045cb7b5e"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})};function KG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $G(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?KG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):KG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var tZ={ethereum:"ethereum",matic:"polygon,"},eZ=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz),m=p.selection,g=p.setSelection,y=function(e){g(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},v=kx.useCallback(pR.debounce((function(t){fetch("https://api.opensea.io/api/v1/asset/".concat(m.nft.address,"/").concat(t)).then((function(t){if(200!=t.status)return resolve();t.json().then(function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=null!=e&&e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,r=$G($G({},m.nft),{},{blockchain:n,id:e.token_id,image:e.image_url,name:e.name,link:e.permalink}),f([r]),y(r),l(!1);case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(){l(!1)}))})).catch((function(){l(!1)}))}),500),[]);return kx.useEffect((function(){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(m.nft.address)).then((function(t){if(200!=t.status)return resolve();t.json().then((function(t){if(t.assets.length<=6){var e=t.assets.map((function(t){var e=null!=t&&t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0;return $G($G({},m.nft),{},{blockchain:e,id:t.token_id,image:t.image_url,name:t.name,link:t.permalink})}));f(e),1==e.length&&y(e[0])}}))}))}),[]),n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return y(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterCollectionId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterCollectionId",name:"DePayWidgetsEnterCollectionId",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?v(e):l(!1)},className:"Search",placeholder:"35347623114821255323888368639026081793120226253597860997754787918389704654849"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})},nZ=function(t){var e=kx.useContext(Pz).navigate,n=[{name:"OpenSea",navigate:"SelectNFTContractOnOpenSea",logo:VG}].map((function(t,n){return kx.createElement("div",{key:n,className:"Card Row",onClick:function(){return function(t){e(t.navigate)}(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.logo})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:t.name},kx.createElement("span",{className:"CardText"},t.name)),kx.createElement("div",{className:"CardTokenName PaddingTopXS"},kx.createElement(fG,null))))}));return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select NFT")),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Choose which marketplace"))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},n)})},rZ=function(t){kx.useContext(KB).what;var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(Kz),o=i.selection;i.setSelection;var a=QA(kx.useState(),2);a[0];var s,u=a[1];return s="SelectMarketplace",kx.createElement(Uz,{open:n,close:r,start:s,container:t.container,document:t.document,setNavigator:function(t){u(t)},dialogs:{SelectMarketplace:kx.createElement(nZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTContractOnOpenSea:kx.createElement(XG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTIdOnOpenSea:kx.createElement(eZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),EnterNFTDataForOpenSea:kx.createElement(JG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmNFTSelection:kx.createElement(ZG,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},iZ=function(t){var e=kx.useContext(Kz).selection,n=kx.useContext(Lx).setOpen,r=e.token,i=r.address||r.external_id,o=r.logo||r.image,a=L.findByName(r.blockchain),s=r.first_transfer?YG(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},o&&kx.createElement("img",{src:o}),!o&&kx.createElement(eG,{blockchain:r.blockchain,address:i})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},FG(i,8))))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,a.label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Symbol")),kx.createElement("td",null,kx.createElement("div",null,r.symbol))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("div",null,r.name))),s&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,s))),u&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,u))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),t.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(t.unmount,300)}},"Confirm"))})},oZ=function(t){var n=kx.useContext(Pz).navigate,r=kx.useContext(Lx).setOpen,i=kx.useContext(Kz).setSelection,o=QA(kx.useState(!1),2),a=o[0],s=o[1],u=QA(kx.useState(""),2),l=u[0],h=u[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(!1),2),g=m[0],y=m[1],v=QA(kx.useState([]),2),b=v[0],w=v[1],M=QA(kx.useState(),2);M[0],M[1];var k=kx.useRef(),A=function(e){var n=L.findByName(e);p(n),i(Object.assign(t.selection,{blockchain:n,token:void 0})),w(n.tokens)};kx.useEffect((function(){e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,BA();case 2:(e=t.sent[0])?e.connectedTo().then((function(t){var e=L.findByName(t);window._depay_token_selection_selected_blockchain?A(window._depay_token_selection_selected_blockchain):t&&t.length&&e&&e.tokens&&e.tokens.length?A(t):A("ethereum")})).catch((function(){return A("ethereum")})):A("ethereum");case 4:case"end":return t.stop()}}),t)})))()}),[]),kx.useEffect((function(){t.selection.blockchain&&(p(t.selection.blockchain),w(t.selection.blockchain.tokens),k.current&&(k.current.value="",k.current.focus()))}),[t.selection,t.selection.blockchain]);var x,E=kx.useCallback(pR.debounce((function(t,e){fetch("https://public.depay.com/tokens/search?blockchain=".concat(e,"&term=").concat(t)).then((function(t){200==t.status?t.json().then((function(t){w(t),s(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return x=a?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:b.map((function(e,o){return kx.createElement("div",{key:"".concat(o,"-").concat(e.address),className:"Card Row",onClick:function(){return function(e){e.address&&e.address.match("0x")&&(e.address=ln(e.address)),e.external_id&&e.external_id.match("0x")&&(e.external_id=ln(e.external_id)),f.tokens.find((function(t){return t.address==(e.address||e.external_id)}))?(r(!1),t.resolve({blockchain:f.name,address:e.address||e.external_id,logo:e.logo||e.image,name:e.name,symbol:e.symbol,decimals:e.decimals,routable:!0}),setTimeout(t.unmount,300)):(i(Object.assign(t.selection,{token:e})),n("ConfirmTokenSelection"))}(e)}},kx.createElement("div",{className:"CardImage"},e.logo&&kx.createElement("img",{src:e.logo}),e.image&&kx.createElement("img",{src:e.image}),!(e.logo||e.image)&&kx.createElement(eG,{blockchain:e.blockchain,address:e.external_id||e.address})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:e.symbol},kx.createElement("span",{className:"CardText"},e.symbol)),kx.createElement("div",{className:"CardTokenName",title:e.name},kx.createElement("span",{className:"CardText"},e.name))))})),null==f?null:kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS"},kx.createElement("div",{className:"Card small",onClick:function(){n("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:f.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},f.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("input",{value:l,onBlur:function(){return y(!1)},onChange:function(t){y(!1),s(!0);var e=t.target.value;if(h(e),e.match(/^0x/)){var n;w([]);try{n=new YR({blockchain:f.name,address:e})}catch(t){}if(null==n)return void s(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(f.name,"/").concat(e)).then((function(t){if(200==t.status)return t.json()}))]).then((function(t){var n=QA(t,4),r=n[0],i=n[1],o=n[2],a=n[3];w([{name:r,symbol:i,decimals:o,address:e,blockchain:f.name,routable:!!a}]),s(!1)}))}else e&&e.length?(w([]),E(e,f.name)):(w(f.tokens),s(!1))},className:"Search",autoFocus:!0,placeholder:"Search name or paste address",ref:k}),g&&kx.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},kx.createElement("div",{className:"Tooltip"},kx.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},x),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},kx.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),k.current&&(k.current.value="",k.current.focus())}},"Token missing? Add it.")))})},aZ=function(t){kx.useContext(KB).what;var e,n=kx.useContext(Lx),r=n.open,i=n.close,o=kx.useContext(Kz).selection;return e="SelectToken",kx.createElement(Uz,{open:r,close:i,start:e,container:t.container,document:t.document,dialogs:{SelectToken:kx.createElement(oZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmTokenSelection:kx.createElement(iZ,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},sZ={Connect:function(t){var r,i,o;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(a){return kx.createElement(TB,{errorCallback:i,container:a,unmount:t},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,kx.createElement(bB,{document:o,container:a,resolve:e,reject:n,autoClose:!0}),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Login:function(t){var r,i,o,a,s,u,l;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.message,s=t.endpoint,u=t.recover,l=t.wallet),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{message:a,endpoint:s||"/login",recoverSignature:u,wallet:l}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(mR,{container:n,unmount:t},kx.createElement(cR,{document:o,container:n,resolve:function(n){var r=n.account,i=n.wallet;t(),e({account:r,wallet:i})}}),kx.createElement(Xz,null))))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Payment:DG,Sale:WG,Select:function(t){var r,i,o,a,s;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.what),null==a?s='"what" needs to be configured!':["token","nft"].indexOf(a)<0&&(s='Unknown "what" configured: '.concat(a,"!")),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{error:s,errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{what:a}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,"token"==a&&kx.createElement(aZ,{document:o,container:n,unmount:t,resolve:e}),"nft"==a&&kx.createElement(rZ,{document:o,container:n,unmount:t,resolve:e})),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Loading:aR};export{sZ as default};
183
+ var HR,GR,ZR=9e15,VR=1e9,JR="0123456789abcdef",qR="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",XR="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",KR={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ZR,maxE:ZR,crypto:!1},$R=!0,tU="[DecimalError] ",eU=tU+"Invalid argument: ",nU=tU+"Precision limit exceeded",rU=tU+"crypto unavailable",iU="[object Decimal]",oU=Math.floor,aU=Math.pow,sU=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,uU=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,cU=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lU=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hU=1e7,dU=7,fU=qR.length-1,pU=XR.length-1,mU={toStringTag:iU};function gU(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",(n=dU-r.length)&&(o+=NU(n)),o+=r;a=t[e],(n=dU-(r=a+"").length)&&(o+=NU(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yU(t,e,n){if(t!==~~t||t<e||t>n)throw Error(eU+t)}function vU(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=dU,i=0):(i=Math.ceil((e+1)/dU),e%=dU),o=aU(10,dU-e),s=t[i]%o|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==aU(10,e-2)-1||(s==o/2||0==s)&&0==(t[i+1]/o/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==aU(10,e-3)-1,a}function bU(t,e,n){for(var r,i,o=[0],a=0,s=t.length;a<s;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=JR.indexOf(t.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}mU.absoluteValue=mU.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),MU(t)},mU.ceil=function(){return MU(new this.constructor(this),this.e+1,2)},mU.clampedTo=mU.clamp=function(t,e){var n=this,r=n.constructor;if(t=new r(t),e=new r(e),!t.s||!e.s)return new r(NaN);if(t.gt(e))throw Error(eU+e);return n.cmp(t)<0?t:n.cmp(e)>0?e:new r(n)},mU.comparedTo=mU.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,u=o.s,c=t.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==t.e)return o.e>t.e^u<0?1:-1;for(e=0,n=(r=a.length)<(i=s.length)?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},mU.cosine=mU.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?i=(1/PU(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");t.precision+=n,e=zU(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(2==GR||3==GR?n.neg():n,t,e,!0)):new r(1):new r(NaN)},mU.cubeRoot=mU.cbrt=function(){var t,e,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for($R=!1,(o=l.s*aU(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=gU(l.d),(o=((t=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=aU(n,1/3),t=oU((t+1)/3)-(t%3==(t<0?-1:2)),(r=new h(n=o==1/0?"5e"+t:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+t)).s=l.s),a=(t=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=wU(c.plus(l).times(s),c.plus(u),a+2,1),gU(s.d).slice(0,a)===(n=gU(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(MU(r,t+1,1),e=!r.times(r).times(r).eq(l));break}if(!i&&(MU(s,t+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return $R=!0,MU(r,t,h.rounding,e)},mU.decimalPlaces=mU.dp=function(){var t,e=this.d,n=NaN;if(e){if(n=((t=e.length-1)-oU(this.e/dU))*dU,t=e[t])for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},mU.dividedBy=mU.div=function(t){return wU(this,new this.constructor(t))},mU.dividedToIntegerBy=mU.divToInt=function(t){var e=this.constructor;return MU(wU(this,new e(t),0,1,1),e.precision,e.rounding)},mU.equals=mU.eq=function(t){return 0===this.cmp(t)},mU.floor=function(){return MU(new this.constructor(this),this.e+1,3)},mU.greaterThan=mU.gt=function(t){return this.cmp(t)>0},mU.greaterThanOrEqualTo=mU.gte=function(t){var e=this.cmp(t);return 1==e||0===e},mU.hyperbolicCosine=mU.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?e=(1/PU(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=zU(a,1,o.times(e),new a(1),!0);for(var u,c=t,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return MU(o,a.precision=n,a.rounding=r,!0)},mU.hyperbolicSine=mU.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=zU(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(r))>16?16:0|t,i=zU(o,2,i=i.times(1/PU(5,t)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=e,o.rounding=n,MU(i,e,n,!0)},mU.hyperbolicTangent=mU.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,wU(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},mU.inverseCosine=mU.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?e.isNeg()?xU(n,i,o):new n(0):new n(NaN):e.isZero()?xU(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=xU(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))},mU.inverseHyperbolicCosine=mU.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,$R=!1,n=n.times(n).minus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},mU.inverseHyperbolicSine=mU.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,$R=!1,n=n.times(n).plus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln())},mU.inverseHyperbolicTangent=mU.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?MU(new o(i),t,e,!0):(o.precision=n=r-i.e,i=wU(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},mU.inverseSine=mU.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==e?0===e?((t=xU(o,n+4,r).times(.5)).s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},mU.inverseTangent=mU.atan=function(){var t,e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=pU)return(a=xU(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=pU)return(a=xU(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,t=n=Math.min(28,s/dU+2|0);t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for($R=!1,e=Math.ceil(s/dU),r=1,u=c.times(c),a=new l(c),i=c;-1!==t;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[e])for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),$R=!0,MU(a,l.precision=h,l.rounding=d,!0)},mU.isFinite=function(){return!!this.d},mU.isInteger=mU.isInt=function(){return!!this.d&&oU(this.e/dU)>this.d.length-2},mU.isNaN=function(){return!this.s},mU.isNegative=mU.isNeg=function(){return this.s<0},mU.isPositive=mU.isPos=function(){return this.s>0},mU.isZero=function(){return!!this.d&&0===this.d[0]},mU.lessThan=mU.lt=function(t){return this.cmp(t)<0},mU.lessThanOrEqualTo=mU.lte=function(t){return this.cmp(t)<1},mU.logarithm=mU.log=function(t){var e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==t)t=new l(10),e=!0;else{if(n=(t=new l(t)).d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if($R=!1,a=CU(c,s=h+5),r=e?AU(l,s+10):CU(t,s),vU((u=wU(a,r,s,1)).d,i=h,d))do{if(a=CU(c,s+=10),r=e?AU(l,s+10):CU(t,s),u=wU(a,r,s,1),!o){+gU(u.d).slice(i+1,i+15)+1==1e14&&(u=MU(u,h+1,0));break}}while(vU(u.d,i+=10,d));return $R=!0,MU(u,h,d)},mU.minus=mU.sub=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return f.s&&t.s?f.d?t.s=-t.s:t=new p(t.d||f.s!==t.s?f:NaN):t=new p(NaN),t;if(f.s!=t.s)return t.s=-t.s,f.plus(t);if(c=f.d,d=t.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!c[0])return new p(3===u?-0:0);t=new p(f)}return $R?MU(t,s,u):t}if(n=oU(t.e/dU),l=oU(f.e/dU),c=c.slice(),o=l-n){for((h=o<0)?(e=c,o=-o,a=d.length):(e=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/dU),a)+2)&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(e=c,c=d,d=e,t.s=-t.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=hU-1;--c[i],c[r]+=hU}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(t.d=c,t.e=LU(c,n),$R?MU(t,s,u):t):new p(3===u?-0:0)},mU.modulo=mU.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?MU(new r(n),r.precision,r.rounding):($R=!1,9==r.modulo?(e=wU(n,t.abs(),0,3,1)).s*=t.s:e=wU(n,t,0,r.modulo,1),e=e.times(t),$R=!0,n.minus(e))},mU.naturalExponential=mU.exp=function(){return jU(this)},mU.naturalLogarithm=mU.ln=function(){return CU(this)},mU.negated=mU.neg=function(){var t=new this.constructor(this);return t.s=-t.s,MU(t)},mU.plus=mU.add=function(t){var e,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(t=new d(t),!h.d||!t.d)return h.s&&t.s?h.d||(t=new d(t.d||h.s===t.s?h:NaN)):t=new d(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.minus(t);if(c=h.d,l=t.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(t=new d(h)),$R?MU(t,s,u):t;if(o=oU(h.e/dU),r=oU(t.e/dU),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/dU))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),e=0;i;)e=(c[--i]=c[i]+l[i]+e)/hU|0,c[i]%=hU;for(e&&(c.unshift(e),++r),a=c.length;0==c[--a];)c.pop();return t.d=c,t.e=LU(c,r),$R?MU(t,s,u):t},mU.precision=mU.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(eU+t);return n.d?(e=EU(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},mU.round=function(){var t=this,e=t.constructor;return MU(new e(t),t.e+1,e.rounding)},mU.sine=mU.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:zU(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:0|n,e=e.times(1/PU(5,n)),e=zU(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(GR>2?n.neg():n,t,e,!0)):new r(NaN)},mU.squareRoot=mU.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for($R=!1,0==(c=Math.sqrt(+a))||c==1/0?(((e=gU(s)).length+u)%2==0&&(e+="0"),c=Math.sqrt(e),u=oU((u+1)/2)-(u<0||u%2),r=new l(e=c==1/0?"5e"+u:(e=c.toExponential()).slice(0,e.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(wU(a,o,n+2,1)).times(.5),gU(o.d).slice(0,n)===(e=gU(r.d)).slice(0,n)){if("9999"!=(e=e.slice(n-3,n+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(MU(r,u+1,1),t=!r.times(r).eq(a));break}if(!i&&(MU(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return $R=!0,MU(r,u,l.rounding,t)},mU.tangent=mU.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,(n=n.sin()).s=1,n=wU(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,MU(2==GR||4==GR?n.neg():n,t,e,!0)):new r(NaN)},mU.times=mU.mul=function(t){var e,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(t=new h(t)).d;if(t.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!t.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*t.s:t.s/0);for(n=oU(l.e/dU)+oU(t.e/dU),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+e,o[i--]=s%hU|0,e=s/hU|0;o[i]=(o[i]+e)%hU|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=LU(o,n),$R?MU(t,h.precision,h.rounding):t},mU.toBinary=function(t,e){return RU(this,2,t,e)},mU.toDecimalPlaces=mU.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(yU(t,0,VR),void 0===e?e=r.rounding:yU(e,0,8),MU(n,t+n.e+1,e))},mU.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,!0):(yU(t,0,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t+1,e),!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return void 0===t?n=kU(i):(yU(t,0,VR),void 0===e?e=o.rounding:yU(e,0,8),n=kU(r=MU(new o(i),t+i.e+1,e),!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},mU.toFraction=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,m=f.constructor;if(!p)return new m(f);if(c=n=new m(1),r=u=new m(0),a=(o=(e=new m(r)).e=EU(p)-f.e-1)%dU,e.d[0]=aU(10,a<0?dU+a:a),null==t)t=o>0?e:c;else{if(!(s=new m(t)).isInt()||s.lt(c))throw Error(eU+s);t=s.gt(e)?o>0?e:c:s}for($R=!1,s=new m(gU(p)),l=m.precision,m.precision=o=p.length*dU*2;h=wU(s,e,0,1,1),1!=(i=n.plus(h.times(r))).cmp(t);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=e,e=s.minus(h.times(i)),s=i;return i=wU(t.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=wU(c,r,o,1).minus(f).abs().cmp(wU(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],m.precision=l,$R=!0,d},mU.toHexadecimal=mU.toHex=function(t,e){return RU(this,16,t,e)},mU.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:yU(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?($R=!1,n=wU(n,t,0,e,1).times(t),$R=!0,MU(n)):(t.s=n.s,n=t),n},mU.toNumber=function(){return+this},mU.toOctal=function(t,e){return RU(this,8,t,e)},mU.toPower=mU.pow=function(t){var e,n,r,i,o,a,s=this,u=s.constructor,c=+(t=new u(t));if(!(s.d&&t.d&&s.d[0]&&t.d[0]))return new u(aU(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,t.eq(1))return MU(s,r,o);if((e=oU(t.e/dU))>=t.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=SU(u,s,n,r),t.s<0?new u(1).div(i):MU(i,r,o);if((a=s.s)<0){if(e<t.d.length-1)return new u(NaN);if(0==(1&t.d[e])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(e=0!=(n=aU(+s,c))&&isFinite(n)?new u(n+"").e:oU(c*(Math.log("0."+gU(s.d))/Math.LN10+s.e+1)))>u.maxE+1||e<u.minE-1?new u(e>0?a/0:0):($R=!1,u.rounding=s.s=1,n=Math.min(12,(e+"").length),(i=jU(t.times(CU(s,r+n)),r)).d&&vU((i=MU(i,r+5,1)).d,r,o)&&(e=r+10,+gU((i=MU(jU(t.times(CU(s,e+n)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=MU(i,r+1,0))),i.s=a,$R=!0,u.rounding=o,MU(i,r,o))},mU.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yU(t,1,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t,e),t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toSignificantDigits=mU.toSD=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(yU(t,1,VR),void 0===e?e=n.rounding:yU(e,0,8)),MU(new n(this),t,e)},mU.toString=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},mU.truncated=mU.trunc=function(){return MU(new this.constructor(this),this.e+1,1)},mU.valueOf=mU.toJSON=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var wU=function(){function t(t,e,n){var r,i=0,o=t.length;for(t=t.slice();o--;)r=t[o]*e+i,t[o]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]<e[n]?1:0,t[n]=i*r+t[n]-e[n];for(;!t[0]&&t.length>1;)t.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I=r.constructor,T=r.s==i.s?1:-1,j=r.d,C=i.d;if(!(j&&j[0]&&C&&C[0]))return new I(r.s&&i.s&&(j?!C||j[0]!=C[0]:C)?j&&0==j[0]||!C?0*T:T/0:NaN);for(u?(f=1,l=r.e-i.e):(u=hU,f=dU,l=oU(r.e/f)-oU(i.e/f)),N=C.length,x=j.length,v=(y=new I(T)).d=[],h=0;C[h]==(j[h]||0);h++);if(C[h]>(j[h]||0)&&l--,null==o?(k=o=I.precision,a=I.rounding):k=s?o+(r.e-i.e)+1:o,k<0)v.push(1),p=!0;else{if(k=k/f+2|0,h=0,1==N){for(d=0,C=C[0],k++;(h<x||d)&&k--;h++)L=d*u+(j[h]||0),v[h]=L/C|0,d=L%C|0;p=d||h<x}else{for((d=u/(C[0]+1)|0)>1&&(C=t(C,d,u),j=t(j,d,u),N=C.length,x=j.length),A=N,w=(b=j.slice(0,N)).length;w<N;)b[w++]=0;(S=C.slice()).unshift(0),E=C[0],C[1]>=u/2&&++E;do{d=0,(c=e(C,b,N,w))<0?(M=b[0],N!=w&&(M=M*u+(b[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=e(m=t(C,d,u),b,g=m.length,w=b.length))&&(d--,n(m,N<g?S:C,g,u))):(0==d&&(c=d=1),m=C.slice()),(g=m.length)<w&&m.unshift(0),n(b,m,w,u),-1==c&&(c=e(C,b,N,w=b.length))<1&&(d++,n(b,N<w?S:C,w,u)),w=b.length):0===c&&(d++,b=[0]),v[h++]=d,c&&b[0]?b[w++]=j[A]||0:(b=[j[A]],w=1)}while((A++<x||void 0!==b[0])&&k--);p=void 0!==b[0]}v[0]||v.shift()}if(1==f)y.e=l,HR=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;y.e=h+l*f-1,MU(y,s?o+y.e+1:o,a,p)}return y}}();function MU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor;t:if(null!=e){if(!(h=t.d))return t;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=e-i)<0)o+=dU,a=e,u=(l=h[d=0])/aU(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/dU))>=(s=h.length)){if(!r)break t;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=dU)-dU+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=dU)-dU+i)<0?0:l/aU(10,i-a-1)%10|0}if(r=r||e<0||void 0!==h[d+1]||(a<0?l:l%aU(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(t.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/aU(10,i-a):0:h[d-1])%10&1||n==(t.s<0?8:7)),e<1||!h[0])return h.length=0,c?(e-=t.e+1,h[0]=aU(10,(dU-e%dU)%dU),t.e=-e||0):h[0]=t.e=0,t;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=aU(10,dU-o),h[d]=a>0?(l/aU(10,i-a)%aU(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,h[0]==hU&&(h[0]=1));break}if(h[d]+=s,h[d]!=hU)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return $R&&(t.e>f.maxE?(t.d=null,t.e=NaN):t.e<f.minE&&(t.e=0,t.d=[0])),t}function kU(t,e,n){if(!t.isFinite())return DU(t);var r,i=t.e,o=gU(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+NU(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+NU(-i-1)+o,n&&(r=n-a)>0&&(o+=NU(r))):i>=a?(o+=NU(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+NU(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=NU(r))),o}function LU(t,e){var n=t[0];for(e*=dU;n>=10;n/=10)e++;return e}function AU(t,e,n){if(e>fU)throw $R=!0,n&&(t.precision=n),Error(nU);return MU(new t(qR),e,1,!0)}function xU(t,e,n){if(e>pU)throw Error(nU);return MU(new t(XR),e,n,!0)}function EU(t){var e=t.length-1,n=e*dU+1;if(e=t[e]){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function NU(t){for(var e="";t--;)e+="0";return e}function SU(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/dU+4);for($R=!1;;){if(n%2&&UU((o=o.times(e)).d,a)&&(i=!0),0===(n=oU(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}UU((e=e.times(e)).d,a)}return $R=!0,o}function IU(t){return 1&t.d[t.d.length-1]}function TU(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;){if(!(r=new t(e[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function jU(t,e){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=t.constructor,f=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?($R=!1,u=p):u=e,s=new d(.03125);t.e>-2;)t=t.times(s),h+=5;for(u+=r=Math.log(aU(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=MU(o.times(t),u,1),n=n.times(++l),gU((s=a.plus(wU(o,n,u,1))).d).slice(0,u)===gU(a.d).slice(0,u)){for(i=h;i--;)a=MU(a.times(a),u,1);if(null!=e)return d.precision=p,a;if(!(c<3&&vU(a.d,u-r,f,c)))return MU(a,d.precision=p,f,$R=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function CU(t,e){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=t,m=p.d,g=p.constructor,y=g.rounding,v=g.precision;if(p.s<0||!m||!m[0]||!p.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=p.s?NaN:m?0:p);if(null==e?($R=!1,l=v):l=e,g.precision=l+=10,r=(n=gU(m)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=AU(g,l+2,v).times(o+""),p=CU(new g(r+"."+n.slice(1)),l-10).plus(c),g.precision=v,null==e?MU(p,v,y,$R=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=gU((p=p.times(t)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new g("0."+n),o++):p=new g(r+"."+n.slice(1)),h=p,u=a=p=wU(p.minus(1),p.plus(1),l,1),d=MU(p.times(p),l,1),i=3;;){if(a=MU(a.times(d),l,1),gU((c=u.plus(wU(a,new g(i),l,1))).d).slice(0,l)===gU(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(AU(g,l+2,v).times(o+""))),u=wU(u,new g(f),l,1),null!=e)return g.precision=v,u;if(!vU(u.d,l-10,y,s))return MU(u,g.precision=v,y,$R=!0);g.precision=l+=10,c=a=p=wU(h.minus(1),h.plus(1),l,1),d=MU(p.times(p),l,1),i=s=1}u=c,i+=2}}function DU(t){return String(t.s*t.s/0)}function OU(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i)){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%dU,n<0&&(r+=dU),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=dU;r<i;)t.d.push(+e.slice(r,r+=dU));e=e.slice(r),r=dU-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),$R&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function _U(t,e){var n,r,i,o,a,s,u,c,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lU.test(e))return OU(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(uU.test(e))n=16,e=e.toLowerCase();else if(sU.test(e))n=2;else{if(!cU.test(e))throw Error(eU+e);n=8}for((o=e.search(/p/i))>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),a=(o=e.indexOf("."))>=0,r=t.constructor,a&&(o=(s=(e=e.replace(".","")).length)-o,i=SU(r,new r(n),o,2*o)),o=l=(c=bU(e,n,hU)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*t.s):(t.e=LU(c,l),t.d=c,$R=!1,a&&(t=wU(t,i,4*s)),u&&(t=t.times(Math.abs(u)<54?aU(2,u):NQ.pow(2,u))),$R=!0,t)}function zU(t,e,n,r,i){var o,a,s,u,c=t.precision,l=Math.ceil(c/dU);for($R=!1,u=n.times(n),s=new t(r);;){if(a=wU(s.times(u),new t(e++*e++),c,1),s=i?r.plus(a):r.minus(a),r=wU(a.times(u),new t(e++*e++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return $R=!0,a.d.length=l+1,a}function PU(t,e){for(var n=t;--e;)n*=t;return n}function BU(t,e){var n,r=e.s<0,i=xU(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return GR=r?4:1,e;if((n=e.divToInt(i)).isZero())GR=r?3:2;else{if((e=e.minus(n.times(i))).lte(o))return GR=IU(n)?r?2:3:r?4:1,e;GR=IU(n)?r?1:4:r?3:2}return e.minus(i).abs()}function RU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor,p=void 0!==n;if(p?(yU(n,1,VR),void 0===r?r=f.rounding:yU(r,0,8)):(n=f.precision,r=f.rounding),t.isFinite()){for(p?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,(a=(l=kU(t)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=bU(kU(d),10,i),d.e=d.d.length),o=u=(h=bU(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((t=new f(t)).d=h,t.e=o,h=(t=wU(t,d,n,r,0,i)).d,o=t.e,c=HR),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(t.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(t.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=JR.charAt(h[a]);if(p){if(u>1)if(16==e||8==e){for(a=16==e?4:3,--u;u%a;u++)l+="0";for(u=(h=bU(l,i,e)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=JR.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==e?"0x":2==e?"0b":8==e?"0o":"")+l}else l=DU(t);return t.s<0?"-"+l:l}function UU(t,e){if(t.length>e)return t.length=e,!0}function QU(t){return new this(t).abs()}function WU(t){return new this(t).acos()}function FU(t){return new this(t).acosh()}function YU(t,e){return new this(t).plus(e)}function HU(t){return new this(t).asin()}function GU(t){return new this(t).asinh()}function ZU(t){return new this(t).atan()}function VU(t){return new this(t).atanh()}function JU(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?xU(this,r,i):new this(0)).s=t.s:!t.d||e.isZero()?(n=xU(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,n=this.atan(wU(t,e,o,1)),e=xU(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(wU(t,e,o,1)):(n=xU(this,o,1).times(e.s>0?.25:.75)).s=t.s:n=new this(NaN),n}function qU(t){return new this(t).cbrt()}function XU(t){return MU(t=new this(t),t.e+1,2)}function KU(t,e,n){return new this(t).clamp(e,n)}function $U(t){if(!t||"object"!=typeof t)throw Error(tU+"Object expected");var e,n,r,i=!0===t.defaults,o=["precision",1,VR,"rounding",0,8,"toExpNeg",-ZR,0,"toExpPos",0,ZR,"maxE",0,ZR,"minE",-ZR,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!(oU(r)===r&&r>=o[e+1]&&r<=o[e+2]))throw Error(eU+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(eU+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(rU);this[n]=!0}else this[n]=!1}return this}function tQ(t){return new this(t).cos()}function eQ(t){return new this(t).cosh()}function nQ(t,e){return new this(t).div(e)}function rQ(t){return new this(t).exp()}function iQ(t){return MU(t=new this(t),t.e+1,3)}function oQ(){var t,e,n=new this(0);for($R=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return $R=!0,new this(1/0);n=e}return $R=!0,n.sqrt()}function aQ(t){return t instanceof NQ||t&&t.toStringTag===iU||!1}function sQ(t){return new this(t).ln()}function uQ(t,e){return new this(t).log(e)}function cQ(t){return new this(t).log(2)}function lQ(t){return new this(t).log(10)}function hQ(){return TU(this,arguments,"lt")}function dQ(){return TU(this,arguments,"gt")}function fQ(t,e){return new this(t).mod(e)}function pQ(t,e){return new this(t).mul(e)}function mQ(t,e){return new this(t).pow(e)}function gQ(t){var e,n,r,i,o=0,a=new this(1),s=[];if(void 0===t?t=this.precision:yU(t,1,VR),r=Math.ceil(t/dU),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(rU);for(e=crypto.randomBytes(r*=4);o<r;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(r=s[--o],t%=dU,r&&t&&(i=aU(10,dU-t),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=dU)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<dU&&(n-=dU-r)}return a.e=n,a.d=s,a}function yQ(t){return MU(t=new this(t),t.e+1,this.rounding)}function vQ(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function bQ(t){return new this(t).sin()}function wQ(t){return new this(t).sinh()}function MQ(t){return new this(t).sqrt()}function kQ(t,e){return new this(t).sub(e)}function LQ(){var t=0,e=arguments,n=new this(e[t]);for($R=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return $R=!0,MU(n,this.precision,this.rounding)}function AQ(t){return new this(t).tan()}function xQ(t){return new this(t).tanh()}function EQ(t){return MU(t=new this(t),t.e+1,1)}mU[Symbol.for("nodejs.util.inspect.custom")]=mU.toString,mU[Symbol.toStringTag]="Decimal";var NQ=mU.constructor=function t(e){var n,r,i;function o(t){var e,n,r,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,aQ(t))return i.s=t.s,void($R?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(r=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,n=t;n>=10;n/=10)e++;return void($R?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):OU(i,t.toString())}if("string"!==r)throw Error(eU+t);return 45===(n=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===n&&(t=t.slice(1)),i.s=1),lU.test(t)?OU(i,t):_U(i,t)}if(o.prototype=mU,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=$U,o.clone=t,o.isDecimal=aQ,o.abs=QU,o.acos=WU,o.acosh=FU,o.add=YU,o.asin=HU,o.asinh=GU,o.atan=ZU,o.atanh=VU,o.atan2=JU,o.cbrt=qU,o.ceil=XU,o.clamp=KU,o.cos=tQ,o.cosh=eQ,o.div=nQ,o.exp=rQ,o.floor=iQ,o.hypot=oQ,o.ln=sQ,o.log=uQ,o.log10=lQ,o.log2=cQ,o.max=hQ,o.min=dQ,o.mod=fQ,o.mul=pQ,o.pow=mQ,o.random=gQ,o.round=yQ,o.sign=vQ,o.sin=bQ,o.sinh=wQ,o.sqrt=MQ,o.sub=kQ,o.sum=LQ,o.tan=AQ,o.tanh=xQ,o.trunc=EQ,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)e.hasOwnProperty(r=i[n++])||(e[r]=this[r]);return o.config(e),o}(KR);qR=new NQ(qR),XR=new NQ(XR);const SQ=eL([Kk("mint"),Kk("vault"),Kk("authority"),nL("emissionsPerSecondX64"),nL("growthGlobalX64")]),IQ=eL([oL("anchorDiscriminator"),Kk("whirlpoolsConfig"),Uk(aL(),1,"whirlpoolBump"),rL("tickSpacing"),Uk(aL(),2,"tickSpacingSeed"),rL("feeRate"),rL("protocolFeeRate"),nL("liquidity"),nL("sqrtPrice"),Jk("tickCurrentIndex"),oL("protocolFeeOwedA"),oL("protocolFeeOwedB"),Kk("tokenMintA"),Kk("tokenVaultA"),nL("feeGrowthGlobalA"),Kk("tokenMintB"),Kk("tokenVaultB"),nL("feeGrowthGlobalB"),oL("rewardLastUpdatedTimestamp"),Uk(SQ,3,"rewardInfos")]),TQ=eL([Zk("initialized"),Vk("liquidityNet"),nL("liquidityGross"),nL("feeGrowthOutsideA"),nL("feeGrowthOutsideB"),Uk(nL(),3,"reward_growths_outside")]),jQ=eL([oL("anchorDiscriminator"),Jk("startTickIndex"),Uk(TQ,88,"ticks"),Kk("whirlpool")]);var CQ={blockchain:"solana",name:"orca",alternativeNames:[],label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",router:{v1:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:IQ}},slippage:!0};function DQ(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class OQ{constructor({tokenIn:t,tokenOut:e,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,exchange:s,getTransaction:u}){this.tokenIn=t,this.tokenOut=e,this.path=n,this.amountIn=DQ([r,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOutMin=DQ([a,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOut=DQ([o,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountInMax=DQ([i,"optionalAccess",t=>t.toString,"call",t=>t()]),this.exchange=s,this.getTransaction=u}}let _Q=["ethereum","bsc","polygon","solana","fantom","velas"];_Q.evm=["ethereum","bsc","polygon","fantom","velas"],_Q.solana=["solana"];const zQ=async({exchange:t,fixedPath:e,amountIn:n,amountOut:r})=>{let i=n.add(n.mul(100*parseFloat("0.5")).div(1e4));if(!_Q.evm.includes(t.blockchain))return i;const o=await CL({blockchain:t.blockchain,method:"latestBlockNumber"});let a=[];for(var s=0;s<=2;s++)a.push(o-s);const u=await Promise.all(a.map((async n=>{let{amountIn:i}=await t.getAmounts({path:e,amountOut:r,block:n});return i})));if(!u[0]||!u[1]||!u[2])return i;let c;if(u[0].gt(u[1])&&u[1].gt(u[2])){const t=u[0].sub(u[1]),e=u[1].sub(u[2]),n=t.add(e).div(2);if(c=u[0].add(n),c.gt(i))return c}else if(!u[0].eq(u[1])&&!u[1].eq(u[2])){const t=u[0].sub(u[1]).abs(),e=u[1].sub(u[2]).abs();let n,r;if(n=t.lt(e)?t:e,r=u[0].gt(u[1])&&u[0].gt(u[2])?u[0]:u[1].gt(u[2])&&u[1].gt(u[0])?u[1]:u[2],c=r.add(n),c.gt(i))return c}return i},PQ=async({exchange:t,fixedPath:e,amounts:n,tokenIn:r,tokenOut:i,amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amountInInput:c,amountOutInput:l,amountInMaxInput:h,amountOutMinInput:d})=>{if(d||l){if(_Q.evm.includes(t.blockchain))o=a=await zQ({exchange:t,fixedPath:e,amountIn:o,amountOut:d||s});else if(_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!=o){let i=zQ({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>r.push(t))),i}}))),r.push(n[n.length-1]),o=a=(n=r)[0]}}else if((h||c)&&_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!==o&&o<e.length-1)r.unshift(n[o]);else if(o===e.length-1){let i=(async({exchange:t,fixedPath:e,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>(r.unshift(t),t))),i}}))),r.push(n[0]),s=u=(n=r.slice().reverse())[n.length-1]}return{amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amounts:n}},BQ=t=>t.match("0x")?ln(t):t;let RQ=async({amount:t,blockchain:e,address:n})=>await YR.BigNumber({amount:t,blockchain:e,address:n}),UQ=async({blockchain:t,exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await RQ({amount:o,blockchain:t,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await RQ({amount:s,blockchain:t,address:r})),i&&"number"==typeof i&&(u.amountIn=await RQ({amount:i,blockchain:t,address:n})),a&&"number"==typeof a&&(u.amountInMax=await RQ({amount:a,blockchain:t,address:n})),u};class QQ{constructor({name:t,blockchain:e,alternativeNames:n,label:r,logo:i,router:o,factory:a,wrapper:s,pair:u,market:c,findPath:l,pathExists:h,getAmounts:d,getTransaction:f,slippage:p}){this.name=t,this.blockchain=e,this.alternativeNames=n,this.label=r,this.logo=i,this.router=o,this.factory=a,this.wrapper=s,this.pair=u,this.market=c,this.findPath=l,this.pathExists=h,this.getAmounts=d,this.getTransaction=f,this.slippage=p}async route({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}){return t===e?Promise.resolve():((({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s})=>{if(void 0!==a)throw"You cannot not set amountOutMax! Only amountInMax or amountOutMin!";if(void 0!==s)throw"You cannot not set amountInMin! Only amountInMax or amountOutMin!";if(void 0!==r&&void 0!==n)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==i&&void 0!==o)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==n&&void 0!==i)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==r&&void 0!==o)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}),await(({exchange:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,findPath:s,getAmounts:u,getTransaction:c,slippage:l})=>{if(e=BQ(e),n=BQ(n),[r,i,o,a].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([r,i,o,a].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async h=>{let{path:d,fixedPath:f}=await s({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a});if(void 0===d||0==d.length)return h();let p,[m,g,y,v]=[r,i,o,a];if(({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await u({path:d,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a})),[r,o,i,a].every((t=>null==t)))return h();l&&({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await PQ({exchange:t,fixedPath:f,amounts:p,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v})),h(new OQ({tokenIn:e,tokenOut:n,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,exchange:t,getTransaction:async({from:e})=>await c({exchange:t,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v,fromAddress:e})}))}))})({...await UQ({blockchain:this.blockchain,exchange:this,tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o}),findPath:this.findPath,getAmounts:this.getAmounts,getTransaction:this.getTransaction,slippage:this.slippage}))}}const WQ="79226673515401279992447579055",FQ="4295048016",YQ=t=>-t;class HQ{static priceToSqrtPriceX64(t,e,n){return r=t.mul(NQ.pow(10,n-e)).sqrt(),new Hk(r.mul(NQ.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(t,e,n){return(r=t,new NQ(r.toString()).mul(NQ.pow(2,-64))).pow(2).mul(NQ.pow(10,e-n));var r}static tickIndexToSqrtPriceX64(t){return new Hk(t>0?function(t){let e;e=new Hk(0!=(1&t)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&t)&&(e=GQ(e.mul(new Hk("79236085330515764027303304731")),96,256));0!=(4&t)&&(e=GQ(e.mul(new Hk("79244008939048815603706035061")),96,256));0!=(8&t)&&(e=GQ(e.mul(new Hk("79259858533276714757314932305")),96,256));0!=(16&t)&&(e=GQ(e.mul(new Hk("79291567232598584799939703904")),96,256));0!=(32&t)&&(e=GQ(e.mul(new Hk("79355022692464371645785046466")),96,256));0!=(64&t)&&(e=GQ(e.mul(new Hk("79482085999252804386437311141")),96,256));0!=(128&t)&&(e=GQ(e.mul(new Hk("79736823300114093921829183326")),96,256));0!=(256&t)&&(e=GQ(e.mul(new Hk("80248749790819932309965073892")),96,256));0!=(512&t)&&(e=GQ(e.mul(new Hk("81282483887344747381513967011")),96,256));0!=(1024&t)&&(e=GQ(e.mul(new Hk("83390072131320151908154831281")),96,256));0!=(2048&t)&&(e=GQ(e.mul(new Hk("87770609709833776024991924138")),96,256));0!=(4096&t)&&(e=GQ(e.mul(new Hk("97234110755111693312479820773")),96,256));0!=(8192&t)&&(e=GQ(e.mul(new Hk("119332217159966728226237229890")),96,256));0!=(16384&t)&&(e=GQ(e.mul(new Hk("179736315981702064433883588727")),96,256));0!=(32768&t)&&(e=GQ(e.mul(new Hk("407748233172238350107850275304")),96,256));0!=(65536&t)&&(e=GQ(e.mul(new Hk("2098478828474011932436660412517")),96,256));0!=(131072&t)&&(e=GQ(e.mul(new Hk("55581415166113811149459800483533")),96,256));0!=(262144&t)&&(e=GQ(e.mul(new Hk("38992368544603139932233054999993551")),96,256));return GQ(e,32,256)}(t):function(t){let e,n=Math.abs(t);e=new Hk(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(e=GQ(e.mul(new Hk("18444899583751176498")),64,256));0!=(4&n)&&(e=GQ(e.mul(new Hk("18443055278223354162")),64,256));0!=(8&n)&&(e=GQ(e.mul(new Hk("18439367220385604838")),64,256));0!=(16&n)&&(e=GQ(e.mul(new Hk("18431993317065449817")),64,256));0!=(32&n)&&(e=GQ(e.mul(new Hk("18417254355718160513")),64,256));0!=(64&n)&&(e=GQ(e.mul(new Hk("18387811781193591352")),64,256));0!=(128&n)&&(e=GQ(e.mul(new Hk("18329067761203520168")),64,256));0!=(256&n)&&(e=GQ(e.mul(new Hk("18212142134806087854")),64,256));0!=(512&n)&&(e=GQ(e.mul(new Hk("17980523815641551639")),64,256));0!=(1024&n)&&(e=GQ(e.mul(new Hk("17526086738831147013")),64,256));0!=(2048&n)&&(e=GQ(e.mul(new Hk("16651378430235024244")),64,256));0!=(4096&n)&&(e=GQ(e.mul(new Hk("15030750278693429944")),64,256));0!=(8192&n)&&(e=GQ(e.mul(new Hk("12247334978882834399")),64,256));0!=(16384&n)&&(e=GQ(e.mul(new Hk("8131365268884726200")),64,256));0!=(32768&n)&&(e=GQ(e.mul(new Hk("3584323654723342297")),64,256));0!=(65536&n)&&(e=GQ(e.mul(new Hk("696457651847595233")),64,256));0!=(131072&n)&&(e=GQ(e.mul(new Hk("26294789957452057")),64,256));0!=(262144&n)&&(e=GQ(e.mul(new Hk("37481735321082")),64,256));return e}(t))}static sqrtPriceX64ToTickIndex(t){if(t.gt(new Hk(WQ))||t.lt(new Hk(FQ)))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const e=t.bitLength()-1,n=function(t,e,n){let r=t.toTwos(n).shln(e);return r.imaskn(n+1),r.fromTwos(n)}(new Hk(e-64),32,128);let r=new Hk("8000000000000000","hex"),i=0,o=new Hk(0),a=e>=64?t.shrn(e-63):t.shln(63-e);for(;r.gt(new Hk(0))&&i<14;){a=a.mul(a);let t=a.shrn(127);a=a.shrn(63+t.toNumber()),o=o.add(r.mul(t)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new Hk("59543866431248")),c=GQ(u.sub(new Hk("184467440737095516")),64,128).toNumber(),l=GQ(u.add(new Hk("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HQ.tickIndexToSqrtPriceX64(l).lte(t)?l:c}static tickIndexToPrice(t,e,n){return HQ.sqrtPriceX64ToPrice(HQ.tickIndexToSqrtPriceX64(t),e,n)}static priceToTickIndex(t,e,n){return HQ.sqrtPriceX64ToTickIndex(HQ.priceToSqrtPriceX64(t,e,n))}static priceToInitializableTickIndex(t,e,n,r){return((t,e)=>t-t%e)(HQ.priceToTickIndex(t,e,n),r)}static invertPrice(t,e,n){const r=HQ.priceToTickIndex(t,e,n),i=YQ(r);return HQ.tickIndexToPrice(i,n,e)}static invertSqrtPriceX64(t){const e=HQ.sqrtPriceX64ToTickIndex(t),n=YQ(e);return HQ.tickIndexToSqrtPriceX64(n)}}function GQ(t,e,n){let r=t.toTwos(n).shrn(e);return r.imaskn(n-e+1),r.fromTwos(n-e)}const ZQ=new Hk(1e4),VQ=new Hk(1e6),JQ=new Hk(0),qQ=new Hk(1),XQ=new Hk(2),KQ=XQ.pow(new Hk(64)).sub(qQ);class $Q extends Hk{toBuffer(){const t=super.toArray().reverse(),e=buffer.Buffer.from(t);if(8===e.length)return e;assert__default.default(e.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return e.copy(n),n}static fromBuffer(t){return assert__default.default(8===t.length,`Invalid buffer length: ${t.length}`),new $Q([...t].reverse().map((t=>`00${t.toString(16)}`.slice(-2))).join(""),16)}}class tW{static mul(t,e,n){const r=t.mul(e);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!1,r)}static mulDivRoundUp(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!0,r)}static mulDivRoundUpIf(t,e,n,r,i){if(n.eq(JQ))throw new Error("mulDiv denominator is zero");const o=this.mul(t,e,i),a=o.div(n);return r&&o.mod(n).gt(JQ)?a.add(qQ):a}static checked_mul_shift_right(t,e,n){return this.checked_mul_shift_right_round_up_if(t,e,!1,n)}static checked_mul_shift_right_round_up_if(t,e,n,r){if(t.eq(JQ)||e.eq(JQ))return JQ;const i=this.mul(t,e,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new Hk(2).pow(new Hk(64)));const a=n&&o.and(KQ).gt(JQ);if(a&&o.eq(KQ))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(qQ):o}static isOverLimit(t,e){const n=XQ.pow(new Hk(e)).sub(qQ);return t.gt(n)}static divRoundUp(t,e){return this.divRoundUpIf(t,e,!0)}static divRoundUpIf(t,e,n){if(e.eq(JQ))throw new Error("divRoundUpIf - divide by zero");let r=t.div(e);return n&&t.mod(e).gt(JQ)?r.add(qQ):r}}const eW=(t,e,n)=>{const r=HQ.tickIndexToSqrtPriceX64(t);return{nextTickPrice:r,nextSqrtPriceLimit:n?Hk.max(e,r):Hk.min(e,r)}},nW=(t,e)=>t.gt(e)?[e,t]:[t,e],rW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JQ)?c.add(qQ):c;if(h.gt(KQ))throw new Error("Results larger than U64");return h},iW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i);return tW.checked_mul_shift_right_round_up_if(n,a,r,128)},oW=(t,e,n,r,i)=>r===i?((t,e,n,r)=>{if(n.eq(JQ))return t;let i=tW.mul(t,n,256),o=tW.mul(e,t,256).shln(64);if(tW.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=e.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tW.divRoundUp(o,s);if(u.lt(new Hk(FQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new Hk(WQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(t,e,n,r):((t,e,n,r)=>{let i=n.shln(64),o=tW.divRoundUpIf(i,e,!r);return r?t.add(o):t.sub(o)})(t,e,n,r),aW=(t,e,n,r,i)=>i===r?rW(t,e,n,r):iW(t,e,n,r),sW=(t,e,n,r,i,o,a)=>{let s=aW(r,i,n,o,a),u=t;if(o){u=tW.mulDiv(t,VQ.sub(new Hk(e)),VQ,128)}let c=u.gte(s)?i:oW(r,n,u,o,a),l=c.eq(i),h=((t,e,n,r,i)=>i===r?iW(t,e,n,!r):rW(t,e,n,!r))(r,c,n,o,a);l||(s=aW(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(t)&&(p=t),o&&!l)d=t.sub(f);else{const t=new Hk(e);d=tW.mulDivRoundUp(f,t,VQ.sub(t),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},uW=(t,e,n)=>n?e.sub(t):e.add(t),cW=(t,e,n,r,i)=>{let o=r,a=i,s=t;if(e>0){let t=((t,e)=>t.mul(new $Q(e).div(ZQ)))(s,e);s=s.sub(t),o=o.add(r)}if(n.gt(JQ)){const t=s.shln(64).div(n);a=a.add(t)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},lW=443636,hW=-443636,dW=88,fW=(t,e,n)=>{const r=(Math.floor(t/e/dW)+n)*e*dW,i=dW*e;if(r<hW-(hW%i+i))throw`startTickIndex is too small - - ${r}`;if(r>lW)throw`startTickIndex is too large - ${r}`;return r},pW=async({pool:t,freshWhirlpoolData:e,aToB:n})=>{const r=await(async({aToB:t,pool:e,tickSpacing:n,tickCurrentIndex:r})=>{const i=t?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=fW(r+i,n,o)}catch(t){return a}const u=(await Av.findProgramAddress([Yk.from("tick_array"),new Av(e.toString()).toBuffer(),Yk.from(s.toString())],new Av(CQ.router.v1.address)))[0];a.push(u),o=t?o-1:o+1}return a})({aToB:n,pool:t,tickSpacing:e.tickSpacing,tickCurrentIndex:e.tickCurrentIndex});return await Promise.all(r.map((async(t,e)=>{let n;try{n=await CL({blockchain:"solana",address:t.toString(),api:jQ,cache:10})}catch(t){}return{address:t,data:n}})))};class mW{static fromTickIndex(t,e){const n=Math.floor(Math.floor(t/e)/dW);let r=Math.floor(t%(e*dW)/e);return r<0&&(r=dW+r),new mW(n,r,e)}constructor(t,e,n){if(e>=dW)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(e<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=t,this.offsetIndex=e,this.tickSpacing=n}toTickIndex(){return this.arrayIndex*dW*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class gW{constructor(t,e,n){if(!t[0]||!t[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const e of t){if(!e||!e.data)break;this.sequence.push({address:e.address,data:e.data})}this.tickArrays=t,this.tickSpacing=e,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=mW.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(t){const e=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,t+e)}getNumOfTouchedArrays(){return this.touchedArrays.filter((t=>!!t)).length}getTouchedArrays(t){let e=this.touchedArrays.reduce(((t,e,n)=>(e&&t.push(this.sequence[n].address),t)),[]);if(0===e.length)return[];const n=t-e.length;return n>0&&(e=e.concat(Array(n).fill(e[e.length-1]))),e}getTick(t){const e=mW.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(e,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(e.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,t))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[e.offsetIndex]}findNextInitializedTickIndex(t){const e=this.aToB?t:t+this.tickSpacing;let n=mW.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const t=this.getTick(n.toTickIndex());if(t.initialized)return{nextIndex:n.toTickIndex(),nextTickData:t};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,lW),hW),nextTickData:null}}getLocalArrayIndex(t,e){return e?this.startArrayIndex-t:t-this.startArrayIndex}isArrayIndexInBounds(t,e){const n=this.getLocalArrayIndex(t.arrayIndex,e),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(t,e){const n=t+this.tickSpacing*dW;return e>=t&&e<n}}const yW=async({account:t,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await CL({blockchain:"solana",address:t.pubkey.toString(),api:CQ.router.v1.api,cache:10}),s=n.tokenMintA.toString()===e,u=await pW({pool:t.pubkey,freshWhirlpoolData:n,aToB:s}),c=new gW(u,n.tickSpacing,s),l=new Hk(s?FQ:WQ),h=!(!r&&!i),d=(({tokenAmount:t,aToB:e,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=t,s=JQ,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JQ;const d=n.feeRate,f=n.protocolFeeRate;let p=new $Q(0),m=e?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JQ)&&!i.eq(u);){let{nextIndex:t}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:g}=eW(t,i,e);const y=sW(a,d,c,u,g,o,e);h=h.add(y.feeAmount),o?(a=a.sub(y.amountIn),a=a.sub(y.feeAmount),s=s.add(y.amountOut)):(a=a.sub(y.amountOut),s=s.add(y.amountIn),s=s.add(y.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:b}=cW(y.feeAmount,f,c,p,m);if(p=v,m=b,y.nextPrice.eq(n)){const n=r.getTick(t);n.initialized&&(c=uW(n.liquidityNet,c,e)),l=e?t-1:t}else l=HQ.sqrtPriceX64ToTickIndex(y.nextPrice);u=y.nextPrice}return s})({tokenAmount:new Hk((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(t){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let vW=async(t,e)=>await CL(`solana://${CQ.router.v1.address}/getProgramAccounts`,{params:{filters:[{dataSize:CQ.router.v1.api.span},{memcmp:{offset:8,bytes:"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ"}},{memcmp:{offset:101,bytes:t}},{memcmp:{offset:181,bytes:e}}]},api:CQ.router.v1.api,cache:86400,cacheKey:["whirlpool",t.toString(),e.toString()].join("-")}),bW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await vW(t,e);return 0===a.length&&(a=await vW(e,t)),a=a.filter((t=>t.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await yW({account:a,tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(t){return[]}},wW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await bW({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(t=>t.reduce(((t,e)=>bt.from(e.price).gt(bt.from(t.price))?e:t)))(a):(t=>t.reduce(((t,e)=>bt.from(e.price).lt(bt.from(t.price))?e:t)))(a),s};function MW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const kW=L.solana;let LW=t=>{if(!t)return;let e=t.map(((e,n)=>e===kW.currency.address&&t[n+1]!=kW.wrapped.address&&t[n-1]!=kW.wrapped.address?kW.wrapped.address:e));return e[0]==kW.currency.address&&e[1]==kW.wrapped.address?e.splice(0,1):e[e.length-1]==kW.currency.address&&e[e.length-2]==kW.wrapped.address&&e.splice(e.length-1,1),e},AW=async({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=t.length&&(t=LW(t),(await bW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xW=async({path:t,amountIn:e,amountInMax:n})=>{let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[2],amountIn:e?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==t.length)return r},EW=async({path:t,amountOut:e,amountOutMin:n})=>{t=t.slice().reverse();let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[0],amountOut:e,amountOutMin:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[2],tokenOut:t[1],amountOut:e?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==t.length)return r.slice().reverse()};const NW=L.solana,SW=new Hk("14449647541112719096"),IW=new Hk("16635068063392030915"),TW=async({instructions:t,owner:e,token:n,account:r})=>{let i;try{i=!!await CL({blockchain:"solana",address:r.toString()})}catch(t){}i||t.push(await YR.solana.createAssociatedTokenAccountInstruction({token:n,owner:e,payer:e}))},jW=async({fromAddress:t,poolOne:e,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(d.toString()),isWritable:!0,isSigner:!1},{pubkey:n[0].address,isWritable:!0,isSigner:!1},{pubkey:n[1].address,isWritable:!0,isSigner:!1},{pubkey:n[2].address,isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(s.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],CW=({amount:t,otherAmountThreshold:e,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]),u=Yk.alloc(s.span),s.encode({anchorDiscriminator:IW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},DW=async({fromAddress:t,pool:e,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:a[0].address,isWritable:!0,isSigner:!1},{pubkey:a[1].address,isWritable:!0,isSigner:!1},{pubkey:a[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],OW=({amount:t,otherAmountThreshold:e,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]),a=Yk.alloc(o.span),o.encode({anchorDiscriminator:SW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _W=new QQ(Object.assign(CQ,{findPath:async({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([t,e].includes(kW.currency.address)&&[t,e].includes(kW.wrapped.address))return{path:void 0,fixedPath:void 0};let a,s,u,c;return await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,e]:t!=kW.wrapped.address&&t!=kW.currency.address&&await AW({path:[t,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&e!=kW.wrapped.address&&e!=kW.currency.address&&await AW({path:[e,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,kW.wrapped.address,e]:!kW.stables.usd.includes(t)&&(s=(await Promise.all(kW.stables.usd.map((async e=>await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?e:void 0)))).filter(Boolean))&&!kW.stables.usd.includes(e)&&(u=(await Promise.all(kW.stables.usd.map((async t=>await AW({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&(c=s.filter((t=>u.includes(t)))[0])&&(a=[t,c,e]),MW([a,"optionalAccess",t=>t.length])&&a[0]==kW.currency.address?a.splice(1,0,kW.wrapped.address):MW([a,"optionalAccess",t=>t.length])&&a[a.length-1]==kW.currency.address&&a.splice(a.length-1,0,kW.wrapped.address),{path:a,fixedPath:LW(a)}},pathExists:AW,getAmounts:async({path:t,tokenIn:e,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(t=LW(t),r){if(s=await EW({path:t,amountOut:r,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xW({path:t,amountIn:i,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await EW({path:t,amountOutMin:a,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xW({path:t,amountInMax:o,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({exchange:t,path:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o,amounts:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:"solana"},f=[];const p=LW(e);if(p.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const m=p[0],g=3==p.length?p[1]:void 0,y=p[p.length-1];let v;2==p.length?v=[await wW({tokenIn:m,tokenOut:y,amountIn:s||c,amountOut:u||l})]:s||c?(v=[await wW({tokenIn:m,tokenOut:g,amountIn:s||c})],v.push(await wW({tokenIn:g,tokenOut:y,amountIn:v[0].price}))):(v=[await wW({tokenIn:g,tokenOut:y,amountOut:u||l})],v.unshift(await wW({tokenIn:m,tokenOut:g,amountOut:v[0].price})));let b,w=e[0]===NW.currency.address&&p[0]===NW.wrapped.address,M=e[e.length-1]===NW.currency.address&&p[p.length-1]===NW.wrapped.address;const k=await EL("solana");if(w||M){const t=await k.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span),e=LM.generate();b=e.publicKey.toString();const r=w?new Hk(n.toString()).add(new Hk(t)):new Hk(t);let i=bb.createAccount({fromPubkey:new Av(h),newAccountPubkey:new Av(b),programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[e],f.push(i),f.push(YR.solana.initializeAccountInstruction({account:b,token:NW.wrapped.address,owner:h}))}if(1===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:d}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await DW({fromAddress:h,pool:v[0].pubkey,tokenAccountA:v[0].aToB?c:d,tokenVaultA:v[0].data.tokenVaultA,tokenAccountB:v[0].aToB?d:c,tokenVaultB:v[0].data.tokenVaultB,tickArrays:v[0].tickArrays}),data:OW({amount:a,otherAmountThreshold:u,sqrtPriceLimit:v[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:v[0].aToB})}))}else if(2===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=p[1],g=new Av(await YR.solana.findProgramAddress({owner:h,token:d}));await TW({instructions:f,owner:h,token:d,account:g});let k=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:k}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await jW({fromAddress:h,poolOne:v[0].pubkey,tickArraysOne:v[0].tickArrays,tokenAccountOneA:v[0].aToB?c:g,tokenVaultOneA:v[0].data.tokenVaultA,tokenAccountOneB:v[0].aToB?g:c,tokenVaultOneB:v[0].data.tokenVaultB,poolTwo:v[1].pubkey,tickArraysTwo:v[1].tickArrays,tokenAccountTwoA:v[1].aToB?g:k,tokenVaultTwoA:v[1].data.tokenVaultA,tokenAccountTwoB:v[1].aToB?k:g,tokenVaultTwoB:v[1].data.tokenVaultB}),data:CW({amount:a,otherAmountThreshold:u,amountSpecifiedIsInput:e,aToBOne:v[0].aToB,aToBTwo:v[1].aToB,sqrtPriceLimitOne:v[0].sqrtPriceLimit,sqrtPriceLimitTwo:v[1].sqrtPriceLimit})}))}return(w||M)&&f.push(YR.solana.closeAccountInstruction({account:b,owner:h})),d.instructions=f,d}}));function zW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const PW=(t,e,n)=>{if(!n)return;let r=n.map(((e,r)=>e===t.currency.address&&n[r+1]!=t.wrapped.address&&n[r-1]!=t.wrapped.address?t.wrapped.address:e));return r[0]==t.currency.address&&r[1]==t.wrapped.address?r.splice(0,1):r[r.length-1]==t.currency.address&&r[r.length-2]==t.wrapped.address&&r.splice(r.length-1,1),r},BW=({reserves:t,min:e,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?t[0].gte(Qc(e.toString(),o)):i.toLowerCase()==n.toLowerCase()&&t[1].gte(Qc(e.toString(),o)),RW=async(t,e,n)=>{if(1==PW(t,0,n).length)return!1;try{let r=await CL({blockchain:t.name,address:e.factory.address,method:"getPair",api:e.factory.api,cache:36e5,params:PW(t,0,n)});if(!r||r==t.zero)return!1;let[i,o,a]=await Promise.all([CL({blockchain:t.name,address:r,method:"getReserves",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token0",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token1",api:e.pair.api,cache:36e5})]);if(n.includes(t.wrapped.address))return BW({min:1,token:t.wrapped.address,decimals:t.currency.decimals,reserves:i,token0:o,token1:a});if(n.find((e=>t.stables.usd.includes(e)))){let e=n.find((e=>t.stables.usd.includes(e))),r=new YR({blockchain:t.name,address:e}),s=await r.decimals();return BW({min:1e3,token:e,decimals:s,reserves:i,token0:o,token1:a})}return!0}catch(t){return!1}};let UW=(t,e,{path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsOut",api:e.router.api,params:{amountIn:r,path:PW(t,0,n)}}).then((t=>{i(t[t.length-1])})).catch((()=>i()))})),QW=(t,e,{path:n,amountOut:r,block:i})=>new Promise((o=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsIn",api:e.router.api,params:{amountOut:r,path:PW(t,0,n)},block:i}).then((t=>o(t[0]))).catch((()=>o()))}));var WW={findPath:async(t,e,{tokenIn:n,tokenOut:r})=>{if([n,r].includes(t.currency.address)&&[n,r].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let i;if(await RW(t,e,[n,r]))i=[n,r];else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&r!=t.wrapped.address&&await RW(t,e,[r,t.wrapped.address]))i=[n,t.wrapped.address,r];else if(!t.stables.usd.includes(n)&&(await Promise.all(t.stables.usd.map((r=>RW(t,e,[n,r]))))).filter(Boolean).length&&r!=t.wrapped.address&&await RW(t,e,[t.wrapped.address,r])){let o=(await Promise.all(t.stables.usd.map((async r=>await RW(t,e,[n,r])?r:void 0)))).find(Boolean);i=[n,o,t.wrapped.address,r]}else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&!t.stables.usd.includes(r)&&(await Promise.all(t.stables.usd.map((n=>RW(t,e,[n,r]))))).filter(Boolean).length){let o=(await Promise.all(t.stables.usd.map((async n=>await RW(t,e,[n,r])?n:void 0)))).find(Boolean);i=[n,t.wrapped.address,o,r]}return zW([i,"optionalAccess",t=>t.length])&&i[0]==t.currency.address?i.splice(1,0,t.wrapped.address):zW([i,"optionalAccess",t=>t.length])&&i[i.length-1]==t.currency.address&&i.splice(i.length-1,0,t.wrapped.address),{path:i,fixedPath:PW(t,0,i)}},pathExists:RW,getAmounts:async(t,e,{path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await UW(t,e,{path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await UW(t,e,{path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.router.address,api:e.router.api};return n[0]===t.currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===t.currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PW(t,0,n),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const FW=L.bsc,YW={blockchain:"bsc",name:"pancakeswap",alternativeNames:["pancake"],label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:WW.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var HW=new QQ(Object.assign(YW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(FW,YW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(FW,YW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(FW,YW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(FW,YW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const GW=L.polygon,ZW={blockchain:"polygon",name:"quickswap",alternativeNames:[],label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:WW.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var VW=new QQ(Object.assign(ZW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(GW,ZW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(GW,ZW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(GW,ZW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(GW,ZW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const JW=L.fantom,qW={blockchain:"fantom",name:"spookyswap",alternativeNames:[],label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:WW.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var XW=new QQ(Object.assign(qW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(JW,qW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(JW,qW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(JW,qW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(JW,qW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const KW=L.ethereum,$W={blockchain:"ethereum",name:"uniswap_v2",alternativeNames:[],label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:WW.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var tF=new QQ(Object.assign($W,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(KW,$W,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(KW,$W,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(KW,$W,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(KW,$W,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const eF=L.velas,nF={blockchain:"velas",name:"wagyuswap",alternativeNames:[],label:"WagyuSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NC45MSAxMzAuMjYiPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxwYXRoIGQ9Ik0xMTcuMjgsOTYuNDVjMCwyNC42Mi0yMS4yNCw0NC42LTQ3LjQ1LDQ0LjZzLTQ3LjQ2LTIwLTQ3LjQ2LTQ0LjZjMC0zLjE5LDAtMTkuODUsNy40My0zMy40NSw3LjA4LTEzLDE5LjUyLTIxLjY5LDE5LjUyLTIxLjY5cy4xNywzLjgxLjY2LDcuODJhMjQuMSwyNC4xLDAsMCwwLDEsNGMuMDYtMy40NCwxLjM2LTExLjcsNi41Ny0yMS42Myw2LTExLjQ2LDE3LTIwLjcyLDE3LTIwLjcyYTEwOC41MSwxMDguNTEsMCwwLDAsLjMsMTYuOTFjLjg1LDcuNzIsNC4xNSwxNC45MSw1LjA3LDE1LjU5YTI1LjgyLDI1LjgyLDAsMCwxLC44Ni00Ljg1LDE3LjM0LDE3LjM0LDAsMCwxLDIuNTctNC42NWMuMi0uOC40Miw2LjE1LDIuODcsMTAuNDQsNS43LDEwLDIwLjE0LDIzLjEsMjMuNTEsMjhBNDIuNDQsNDIuNDQsMCwwLDEsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNjYTQwNGYiLz48cGF0aCBkPSJNNzMsMTM1LjU5Yy0yNi4yMSwwLTQ3LjQ1LTIwLTQ3LjQ1LTQ0LjYsMC0zLjA2LDAtMTguMzksNi40Ny0zMS42My0uNzYsMS4xNi0xLjQ4LDIuMzUtMi4xNSwzLjYtNy40NywxMy42NC03LjQ3LDMwLjMtNy40NywzMy40OSwwLDI0LjYyLDIxLjI0LDQ0LjYsNDcuNDYsNDQuNiwxOS4yOCwwLDM1Ljg3LTEwLjgsNDMuMy0yNi4zMUE0OC4yNSw0OC4yNSwwLDAsMSw3MywxMzUuNTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iIzkyMzg0YiIvPjxwYXRoIGQ9Ik01MCw0OS4yNmEyMy4wNiwyMy4wNiwwLDAsMCwxLDRDNTEsNDkuOTQsNTIuNSw0MS40OCw1Ny4xOSwzMi4xYy0uODYsMS4zNy0yLDMuNTMtMi43Niw1QTY1LDY1LDAsMCwwLDQ5Ljg3LDQ4QzQ5LjkyLDQ4LjQzLDUwLDQ4Ljg0LDUwLDQ5LjI2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiM5MjM4NGIiLz48cGF0aCBkPSJNNzguNDQsODIuNmMtOS4yOCwxMS4zNC0yMi4zLDE4LjA2LTE5LjEyLDIxLjE3LDMuMzQsMy4yNywyMy4wOSwxMy45MiwzOC4zLTEuNzEsOC04LjI0LDcuMzMtMjEuMTgsMi44Ni0yOS4wNiwwLDAsMi43LTcuOCwyLjU3LTguMzYtLjQ3LTEuOS0xMC0xMi0xMS4zMy0xMi42MkE4Ny4yMyw4Ny4yMywwLDAsMSw4OSw2NC43MUM4Ny43LDY4LjU1LDgzLjkyLDc1Ljg5LDc4LjQ0LDgyLjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iI2VjZDBjZiIvPjxwYXRoIGQ9Ik04My43OSw4Ny4xM2MtNiw3LjMtMTMuNzksMTIuMjUtMTEuNDcsMTMuOTRzMTAuNzYsNiwyMC41OS00YzcuMzItNy41MSw0LjIzLTE3LjQzLDEuOS0xOS4xMlM4OC44LDgxLDgzLjc5LDg3LjEzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNkYWIyYjUiLz48cGF0aCBkPSJNODYuMTMsOTEuMzVjLTIuNDMsMy4zNi0zLjQzLDYuNzUtMi4zMiw3LjU3czQtMS4yMyw2LjQ1LTQuNTgsMy40NC02Ljc0LDIuMzMtNy41N1M4OC41Niw4OCw4Ni4xMyw5MS4zNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMi4zNyAtMTAuNzkpIiBmaWxsPSIjYzk5NDljIi8+PHBhdGggZD0iTTg2LjIyLDQ0LjI0YTE1LjQzLDE1LjQzLDAsMCwxLTEtMi4wNkE2My4xOSw2My4xOSwwLDAsMSw2OC44LDU4LjY1QzYwLjYxLDY0LjM2LDU2LDY4LjYsNTMuNzUsODEsNTIuNTQsODcuNDYsMzUsNzcuNzQsMjkuMzIsODZjLTIuNDEsMy41Mi0yLjI1LDcuMDktMy41OCw5LjMxLjQzLDEwLjE4LDcuNDQsMjAsNy40NCwyMC0xLjE5LTEuNzItLjM3LTEyLDMuNjQtMTguNzQsMy44My02LjQ1LDE3LjEyLTYuOSwyMy4yOS0xMy43NkM2Ni41Nyw3NS43LDY2LjM2LDY5LjM4LDcxLDYzLjY5YzYuNS04LDE1LTE1LjEzLDE5LjcyLTEyLjg2QTU2LjQ0LDU2LjQ0LDAsMCwxLDg2LjIyLDQ0LjI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48cGF0aCBkPSJNMTE3LjI4LDk2LjQ1Yy0uNDMsMy0zLjY4LDkuMzEtNy44OCwxMC4yOS03LjY3LDEuNzctMTAuNzktMy0xNS42NywyYTI5LjgyLDI5LjgyLDAsMCwxLTI5LjY2LDcuMTFjLTkuNDMtMi45NC0yMC4xOCw2LjQzLTI3LDQuMzksNS4yOSw2Ljg2LDE3LjUzLDEyLDE4LjkyLDEyLjQyLTEtMS4xNi00LjA4LTUuODQtMS4xMi03LjM3LDUuNjQtMi45MSwxNCwyLjc1LDIwLjA4LDEuMDYsNy4yMS0yLDEwLjI5LTgsMTQuMS0xMC4zNSwxLjktMS4xOSwxMi05LjMxLDI0LjExLTEuNDZBNDIuMDYsNDIuMDYsMCwwLDAsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48L2c+PC9zdmc+",router:{address:"0x3D1c58B6d4501E34DF37Cf0f664A58059a188F00",api:WW.ROUTER},factory:{address:"0x69f3212344a38b35844cce4864c2af9c717f35e3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var rF=new QQ(Object.assign(nF,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(eF,nF,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(eF,nF,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(eF,nF,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(eF,nF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));var iF={findPath:async(t,{tokenIn:e,tokenOut:n})=>{if(![e,n].includes(t.currency.address)||![e,n].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let r=[e,n];return{path:r,fixedPath:r}},pathExists:async(t,e)=>!(e.length<=1)&&(!(e.length>=3)&&(e.includes(t.currency.address)&&e.includes(t.wrapped.address))),getAmounts:async({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.wrapper.address,api:e.wrapper.api};return n[0]===t.currency.address&&n[1]===t.wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===t.wrapped.address&&n[1]===t.currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const oF=L.bsc,aF={blockchain:"bsc",name:"wbnb",alternativeNames:[],label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",wrapper:{address:oF.wrapped.address,api:iF.WETH},slippage:!1};var sF=new QQ(Object.assign(aF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(oF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(oF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(oF,aF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const uF=L.ethereum,cF={blockchain:"ethereum",name:"weth",alternativeNames:[],label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:uF.wrapped.address,api:iF.WETH},slippage:!1};var lF=new QQ(Object.assign(cF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(uF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(uF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(uF,cF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const hF=L.fantom,dF={blockchain:"fantom",name:"wftm",alternativeNames:[],label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:hF.wrapped.address,api:iF.WETH},slippage:!1};var fF=new QQ(Object.assign(dF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(hF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(hF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(hF,dF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const pF=L.polygon,mF={blockchain:"polygon",name:"wmatic",alternativeNames:[],label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",wrapper:{address:pF.wrapped.address,api:iF.WETH},slippage:!1};var gF=new QQ(Object.assign(mF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(pF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(pF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(pF,mF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const yF=L.velas,vF={blockchain:"velas",name:"wvlx",alternativeNames:[],label:"Wrapped Velas",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMwMDM3QzE7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=",wrapper:{address:yF.wrapped.address,api:iF.WETH},slippage:!1};let bF={ethereum:[tF,lF],bsc:[HW,sF],polygon:[VW,gF],solana:[_W],fantom:[XW,fF],velas:[rF,new QQ(Object.assign(vF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(yF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(yF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(yF,vF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}))]},wF=({blockchain:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})=>Promise.all(bF[t].map((t=>t.route({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})))).then((t=>t.filter(Boolean)));var MF=kx.createContext(),kF=kx.createContext(),LF=function(t){var e=Ex(t).sort((function(t,e){if("0"==t.fromBalance||"0"==t.fromAmount)return-1;if("0"==e.fromBalance||"0"==e.fromAmount)return 1;var n=bt.from(t.fromBalance).div(bt.from(t.fromAmount)),r=bt.from(e.fromBalance).div(bt.from(e.fromAmount));return n.lt(r)?-1:r.lt(n)?1:0}));return e[e.length-1]};function AF(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function xF(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?AF(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):AF(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var EF=function(t){var e=function(t){return!t.every((function(t){return void 0!==t.amount||void 0!==t.fromAmount}))},r=kx.useContext(KB),i=r.amount;r.toAmount;var o,a=r.recover,s=QA(kx.useState(null==a&&e(t.accept)),2),u=s[0],c=s[1],l=kx.useContext(sR).account,h=kx.useContext(kF),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=kx.useContext(xB).setError,m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.fix:null),1)[0],b=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.currency:null),1)[0];u&&(o="object"==n(i)&&i.start&&i.start?i.start:"object"==n(i)&&i.fix?i.fix:1);var w=QA(kx.useState(o),2),M=w[0],k=w[1],A=QA(kx.useState(),2),x=A[0],E=A[1],N=QA(kx.useState(),2),S=N[0],I=N[1];kx.useEffect((function(){a||c(e(t.accept))}),[t.accept,a]);var T=kx.useCallback(pR.debounce((function(e){e.account,function(e){var n=e.amount,r=e.conversionRate,o=e.fixedCurrencyConversionRate;return new Promise((function(e,a){i&&i.token?e(t.accept.map((function(){return n}))):Promise.all(t.accept.map((function(t){return v?L[t.blockchain].stables.usd[0]==t.token?1/o*v:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/o*v,tokenOut:t.token,fromAddress:l,toAddress:l}):L[t.blockchain].stables.usd[0]==t.token?1/r*n:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/r*n,tokenOut:t.token,fromAddress:l,toAddress:l})}))).then((function(n){Promise.all(n.map((function(e,n){return"number"==typeof e?e:null==e[0]?void 0:YR.readable({blockchain:t.accept[n].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){y(t.accept.map((function(t,n){if(null!=e[n])return xF(xF({},t),{},{amount:lR(e[n])})})).filter((function(t){return!!t})))})).catch(p)}),500),[]);return kx.useEffect((function(){a||u&&l&&d&&(!v||f)&&T({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f})}),[u,l,d,v,f,M,a]),kx.useEffect((function(){u&&x?x.fromToken.readable(x.fromBalance).then((function(t){if(i&&i.token)wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:x.toToken.address,amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]?YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:x.toToken.address}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e-1):lR(e-1))})).catch(p):YR.readable({amount:x.fromBalance,blockchain:x.blockchain,address:x.fromToken.address}).then(I)})).catch(p);else if(x.fromToken.address==L[x.blockchain].stables.usd[0]){var e=parseFloat(new NQ(t).mul(d).toString());I(e>10?Math.round(e-1):e-1)}else wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:L[x.blockchain].stables.usd[0],amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]&&YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:L[x.blockchain].stables.usd[0]}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e):lR(e))})).catch(p)})).catch(p)})).catch(p):I(100)}),[l,x]),kx.createElement(MF.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:b,acceptWithAmount:g,amount:M,setAmount:k,setMaxRoute:E,maxAmount:S}},t.children)},NF=function(t){kx.useContext(xB).setError;var e=kx.useContext(KB),r=e.amount,i=e.currency,o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),c=u[0],l=u[1];return kx.useEffect((function(){"object"==n(r)&&r.currency&&tR.fromUSD({amount:1,code:r.currency}).then((function(t){return l(t.amount)})),tR.fromUSD({amount:1,code:i}).then((function(t){return s(t.amount)})).catch(s(1))}),[]),kx.createElement(kF.Provider,{value:{conversionRate:a,fixedCurrencyConversionRate:c}},t.children)},SF=kx.createContext(),IF=kx.createContext();const TF=({assets:t,blockchain:e,options:n})=>n.only?t.filter((t=>(n.only[e]||[]).find((e=>e.toLowerCase()==t.address.toLowerCase())))):n.exclude?t.filter((t=>(n.exclude[e]||[]).find((e=>e.toLowerCase()!=t.address.toLowerCase())))):t;var jF=async t=>{void 0===t&&(t={accounts:{}});let e=Promise.all(Object.keys(t.accounts).map((e=>new Promise(((n,r)=>{const i=t.accounts[e],o=new AbortController;setTimeout((()=>o.abort()),1e4),fetch(`https://public.depay.com/accounts/${e}/${i}/assets`,{signal:o.signal}).catch((t=>{console.log(t),n([])})).then((t=>{if(t&&t.ok)return t.json();n([])})).then((async r=>{if(r&&r.length)return await(async({address:t,options:e,assets:n,blockchain:r})=>{if(e.only&&e.only[r]&&!e.only[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(e.exclude&&e.exclude[r]&&e.exclude[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(!n.find((t=>t.address.toLowerCase()==L[r].currency.address.toLowerCase()))){let e=await CL({blockchain:r,address:t,method:"balance"},{cache:3e4});n=[{name:L[r].currency.name,symbol:L[r].currency.symbol,address:L[r].currency.address,type:"NATIVE",blockchain:r,balance:e.toString()},...n]}return n})({address:i,options:t,assets:TF({assets:r,blockchain:e,options:t}).map((t=>Object.assign(t,{blockchain:e}))),blockchain:e});n([])})).then(n).catch((t=>{console.log(t),n([])}))}))))).then((t=>t.flat()));return e};const CF=(t,e)=>Object.assign({},{address:t.address,symbol:t.symbol,name:t.name,decimals:t.decimals,type:t.type,blockchain:t.blockchain},{balance:e.toString()}),DF=({assets:t,asset:e})=>!!t.find((t=>t.blockchain==e.blockchain&&t.address.toLowerCase()==e.address.toLowerCase())),OF=({options:t,address:e,blockchain:n})=>!(!(t&&t.only&&t.only[n])||t.only[n].find((t=>t.toLowerCase()==e.toLowerCase())))||!!(t&&t.exclude&&t.exclude[n]&&t.exclude[n].find((t=>t.toLowerCase()==e.toLowerCase())));const _F=t=>(t.params.path=t.params.path.filter(((e,n,r)=>(1!=n||e!=L[t.blockchain].wrapped.address||r[0]!=L[t.blockchain].currency.address)&&(n!=r.length-2||e!=L[t.blockchain].wrapped.address||r[r.length-1]!=L[t.blockchain].currency.address))),t);var zF={ethereum:{payment:{address:"0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9"},weth:{wrap:{address:"0xF4cc97D00dD0639c3e383D7CafB3d815616cbB2C"},unwrap:{address:"0xcA575c6C5305e8127F3D376bb22776eAD370De4a"}},uniswap_v2:{address:"0xe04b08Dfc6CaA0F4Ec523a3Ae283Ece7efE00019",prepareTransaction:_F},paymentWithEvent:{address:"0xD8fBC10787b019fE4059Eb5AA5fB11a5862229EF"},paymentFee:{address:"0x874Cb669D7BFff79d4A6A30F4ea52c5e413BD6A7"},paymentFeeWithEvent:{address:"0x981cAd45c768d56136FDBb2C5E115F33D971bE6C"}},bsc:{payment:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11"},wbnb:{wrap:{address:"0xf361888459a4C863a8498ee344C2688C9196Be51"},unwrap:{address:"0x65693291C20271f5e5030261766D1D6b3AC9d44E"}},pancakeswap:{address:"0xAC3Ec4e420DD78bA86d932501E1f3867dbbfb77B",prepareTransaction:_F},paymentWithEvent:{address:"0x1869E236c03eE67B9FfEd3aCA139f4AeBA79Dc21"},paymentFee:{address:"0xae33f10AD57A38113f74FCdc1ffA6B1eC47B94E3"},paymentFeeWithEvent:{address:"0xF1a05D715AaBFA380543719F7bA8754d0331c5A9"}},polygon:{payment:{address:"0x78C0F1c712A9AA2004C1F401A7307d8bCB62abBd"},wmatic:{wrap:{address:"0x8B62F604499c1204573664447D445690E0A0011b"},unwrap:{address:"0x2fd0a07a4F73285d0eBa8176426BF9B8c0121206"}},quickswap:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",prepareTransaction:_F},paymentWithEvent:{address:"0xfAD2F276D464EAdB71435127BA2c2e9dDefb93a4"},paymentFee:{address:"0xd625c7087E940b2A91ed8bD8db45cB24D3526B56"},paymentFeeWithEvent:{address:"0xBC56ED8E32b64a33f64Ed7A5fF9EACdFC117e07a"}}},PF={...zF},BF={ethereum:{address:"0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},bsc:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},polygon:{address:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},RF={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new Hk("8445995362644372894"),layout:eL([oL("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new Hk("2482112285991870004"),layout:eL([oL("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new Hk("16156440424245087"),layout:eL([oL("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new Hk("6497164560834983274"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeToken:{anchorDiscriminator:new Hk("13483873682232752277"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwap:{anchorDiscriminator:new Hk("9797248061404332986"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new Hk("13662217913752830165"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new Hk("15695720599845325801"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new Hk("15074061855608091530"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])}}}},UF={...BF,...RF};var QF=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},WF="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ke?ke:"undefined"!=typeof self?self:{},FF="object"==typeof WF&&WF&&WF.Object===Object&&WF,YF="object"==typeof self&&self&&self.Object===Object&&self,HF=FF||YF||Function("return this")(),GF=function(){return HF.Date.now()},ZF=/\s/;var VF=function(t){for(var e=t.length;e--&&ZF.test(t.charAt(e)););return e},JF=/^\s+/;var qF=function(t){return t?t.slice(0,VF(t)+1).replace(JF,""):t},XF=HF.Symbol,KF=Object.prototype,$F=KF.hasOwnProperty,tY=KF.toString,eY=XF?XF.toStringTag:void 0;var nY=function(t){var e=$F.call(t,eY),n=t[eY];try{t[eY]=void 0;var r=!0}catch(t){}var i=tY.call(t);return r&&(e?t[eY]=n:delete t[eY]),i},rY=Object.prototype.toString;var iY=function(t){return rY.call(t)},oY=XF?XF.toStringTag:void 0;var aY=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":oY&&oY in Object(t)?nY(t):iY(t)};var sY=function(t){return null!=t&&"object"==typeof t};var uY=function(t){return"symbol"==typeof t||sY(t)&&"[object Symbol]"==aY(t)},cY=/^[-+]0x[0-9a-f]+$/i,lY=/^0b[01]+$/i,hY=/^0o[0-7]+$/i,dY=parseInt;var fY=function(t){if("number"==typeof t)return t;if(uY(t))return NaN;if(QF(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=QF(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=qF(t);var n=lY.test(t);return n||hY.test(t)?dY(t.slice(2),n?2:8):cY.test(t)?NaN:+t},pY=Math.max,mY=Math.min;var gY=function(t,e,n){var r,i,o,a,s,u,c=0,l=!1,h=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=r,o=i;return r=i=void 0,c=e,a=t.apply(o,n)}function p(t){var n=t-u;return void 0===u||n>=e||n<0||h&&t-c>=o}function m(){var t=GF();if(p(t))return g(t);s=setTimeout(m,function(t){var n=e-(t-u);return h?mY(n,o-(t-c)):n}(t))}function g(t){return s=void 0,d&&r?f(t):(r=i=void 0,a)}function y(){var t=GF(),n=p(t);if(r=arguments,i=this,u=t,n){if(void 0===s)return function(t){return c=t,s=setTimeout(m,e),l?f(t):a}(u);if(h)return clearTimeout(s),s=setTimeout(m,e),f(u)}return void 0===s&&(s=setTimeout(m,e)),a}return e=fY(e)||0,QF(n)&&(l=!!n.leading,o=(h="maxWait"in n)?pY(fY(n.maxWait)||0,e):o,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0},y.flush=function(){return void 0===s?a:g(GF())},y};var yY=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return QF(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),gY(t,e,{leading:r,maxWait:e,trailing:i})};let vY,bY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?t.toAddress:t.toToken.address:BF[t.blockchain].address,wY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:YR[t.blockchain].DEFAULT:BF[t.blockchain].api,MY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:"transfer":"route",kY=({paymentRoute:t,exchangeRoute:e,event:n})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:[t.toAddress,t.toAmount]:{path:LY({paymentRoute:t,exchangeRoute:e}),amounts:AY({paymentRoute:t,exchangeRoute:e}),addresses:xY({paymentRoute:t}),plugins:EY({paymentRoute:t,exchangeRoute:e,event:n}),data:[]},LY=({paymentRoute:t,exchangeRoute:e})=>e?e.path:[t.toToken.address],AY=({paymentRoute:t,exchangeRoute:e})=>{let n;n=e?e&&e.exchange.wrapper?[t.fromAmount,t.toAmount]:[t.fromAmount,t.toAmount,Math.round(Date.now()/1e3)+1800]:[t.fromAmount,t.toAmount],t.fee&&(n[4]=t.feeAmount);for(var r=0;r<n.length;r++)null==n[r]&&(n[r]="0");return n},xY=({paymentRoute:t})=>t.fee?[t.fromAddress,t.fee.receiver,t.toAddress]:[t.fromAddress,t.toAddress],EY=({paymentRoute:t,exchangeRoute:e,event:n})=>{let r=[];return e&&(t.exchangePlugin=zF[t.blockchain][e.exchange.name],t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].currency.address?r.push(t.exchangePlugin.wrap.address):t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].wrapped.address?r.push(t.exchangePlugin.unwrap.address):r.push(t.exchangePlugin.address)),("ifSwapped"!=n||t.directTransfer)&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address)?r.push(zF[t.blockchain].payment.address):r.push(zF[t.blockchain].paymentWithEvent.address),t.fee&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address?r.push(zF[t.blockchain].paymentFee.address):r.push(zF[t.blockchain].paymentFeeWithEvent.address)),r},NY=({paymentRoute:t})=>t.fromToken.address==L[t.blockchain].currency.address?t.directTransfer?t.toAmount.toString():t.fromAmount.toString():bt.from("0").toString(),SY=()=>vY||(vY="object"==typeof ke?ke:window,vY);const IY=()=>(void 0===SY()._Web3ClientConfiguration&&(SY()._Web3ClientConfiguration={}),SY()._Web3ClientConfiguration);class TY extends Dc{constructor(t,e,n,r){super(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[]}detectNetwork(){return Promise.resolve(L.findByName(this._network).id)}requestChunk(t,e){const n=t.map((t=>t.request));return Pu(e,JSON.stringify(n)).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r.result)}))})).catch((e=>{if(e&&"SERVER_ERROR"==e.code){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(t,this._endpoint)}else t.forEach((t=>{t.reject(e)}))}))}send(t,e){const n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t,this._endpoint))))}),IY().batchInterval||10)),i}}const jY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),CY=(t,e)=>{void 0===jY()[t]&&(jY()[t]=[]);const n=jY()[t].indexOf(e);n>-1&&jY()[t].splice(n,1),jY()[t].unshift(e)},DY=async(t,e,n=!0)=>{let r;jY()[t]=e.map(((r,i)=>new TY(r,t,e,(()=>{1===jY()[t].length?DY(t,e,n):jY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=jY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=jY()[t][o]}CY(t,r)};var OY=async t=>{let e=jY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},_Y=async t=>{let e=jY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};class zY extends kM{constructor(t,e,n,r){super(t),this._provider=new kM(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}requestChunk(t){const e=t.map((t=>t.request)),n=e=>{if(e&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>e.toString().match(t)))){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new kM(this._endpoint),this.requestChunk(t)}else t.forEach((t=>{t.reject(e)}))};try{return this._provider._rpcBatchRequest(e).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r)}))})).catch(n)}catch(t){return n(t)}}_rpcRequestReplacement(t,e){const n={methodName:t,args:e};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t))))}),IY().batchInterval||10)),i}}const PY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),BY=(t,e)=>{void 0===PY()[t]&&(PY()[t]=[]);const n=PY()[t].indexOf(e);n>-1&&PY()[t].splice(n,1),PY()[t].unshift(e)},RY=async(t,e,n=!0)=>{let r;PY()[t]=e.map(((r,i)=>new zY(r,t,e,(()=>{1===PY()[t].length?RY(t,e,n):PY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=PY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=PY()[t][o]}BY(t,r)};var UY=async t=>{let e=PY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},QY=async t=>{let e=PY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};let WY=["ethereum","bsc","polygon","solana","fantom","velas"];WY.evm=["ethereum","bsc","polygon","fantom","velas"],WY.solana=["solana"];let FY=()=>(null==SY()._Web3ClientCacheStore&&(SY()._Web3ClientCacheStore={}),SY()._Web3ClientCacheStore),YY=()=>(null==SY()._Web3ClientPromiseStore&&(SY()._Web3ClientPromiseStore={}),SY()._Web3ClientPromiseStore),HY=function({key:t}){YY()[t]=void 0},GY=function({call:t,key:e,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:t}){return YY()[t]}({key:e=JSON.stringify(e)});if(a)return a.then(r).catch(i);(function({key:t,promise:e}){return YY()[t]=e,e})({key:e,promise:new Promise(((a,s)=>0===n?t().then((t=>{r(t),a(t)})).catch((t=>{i(t),s(t)})):(o=function({key:t,expires:e}){let n=FY()[t];if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([n,"optionalAccess",t=>t.expiresAt])>Date.now())return n.value}({key:e,expires:n}),o?(r(o),a(o),o):void t().then((t=>{t&&function({key:t,value:e,expires:n}){FY()[t]={expiresAt:Date.now()+n,value:e}}({key:e,value:t,expires:n}),r(t),a(t)})).catch((t=>{i(t),s(t)})))))}).then((()=>{HY({key:e})})).catch((()=>{HY({key:e})}))}))};const ZY=async t=>{if(WY.evm.includes(t))return await OY(t);if(WY.solana.includes(t))return await UY(t);throw"Unknown blockchain: "+t};const VY=({address:t,api:e,method:n,params:r,provider:i,block:o})=>{let a=new wu(t,e,i),s=(({contract:t,method:e,params:n})=>t.interface.fragments.find((t=>t.name==e)).inputs.map(((t,e)=>Array.isArray(n)?n[e]:n[t.name])))({contract:a,method:n,params:r});return a[n](...s,{blockTag:o})},JY=({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a})=>n?VY({address:e,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:t,provider:e})=>e.getBalance(t))({address:e,provider:a}):"transactionCount"===r?(({address:t,provider:e})=>e.getTransactionCount(t))({address:e,provider:a}):void 0;const qY=async({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=Gk),await(async({address:t,api:e,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new Av(t));if(a&&a.data)return e.decode(a.data)})({address:e,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new Av(e),i).then((t=>n?t.map((t=>(t.data=n.decode(t.account.data),t))):t));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new Av(e));if("latestBlockNumber"===r)return await a.getSlot();if("balance"===r)return await(({address:t,provider:e})=>e.getBalance(new Av(t)))({address:e,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>u.toString().match(t)))){let u=s[s.indexOf(a)+1]||s[0];return qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const XY=async function(t,e){const{blockchain:n,address:r,method:i}=(t=>{if("object"==typeof t)return t;let e=t.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==e.groups.part2?e.groups.part1.match(/\d/)?{blockchain:e.groups.blockchain,address:e.groups.part1}:{blockchain:e.groups.blockchain,method:e.groups.part1}:{blockchain:e.groups.blockchain,address:e.groups.part1,method:e.groups.part2}})(t),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof t?t:e)||{};return await GY({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(WY.evm.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||IY().strategy||"failover",a=a||IY().timeout||void 0,"fastest"===s)return Promise.race((await _Y(t)).map((s=>{const u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});if(a){const t=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a)));return Promise.race([u,t])}return u})));{const s=await OY(t),u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(WY.solana.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||IY().strategy||"failover",a=a||IY().timeout||void 0;const u=await QY(t);if("fastest"===s)return Promise.race(u.map((s=>{const u=new Promise((a=>{qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s}).then(a)})),c=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a||1e4)));return Promise.race([u,c])})));{const s=await UY(t),c=qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})};let KY;const $Y=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=e.fromToken.address===L.solana.currency.address?new Hk(e.fromAmount):new Hk("0"),r=await ZY("solana"),i=new Hk(await r.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),o=e.fromAddress,a=n.add(i);return[bb.createAccount({fromPubkey:new Av(o),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:a}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:o})]},tH=async({wSolEscrowAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),i=await fH();return[bb.createAccount({fromPubkey:new Av(e.fromAddress),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:i.toString()})]},eH=({paymentRoute:t})=>{let e=[...t.exchangeRoutes[0].path];return e.indexOf(L.solana.currency.address)>-1&&e.splice(e.indexOf(L.solana.currency.address),1),e.indexOf(t.fromToken.address)>-1&&e.splice(e.indexOf(t.fromToken.address),1),e.indexOf(t.toToken.address)>-1&&e.splice(e.indexOf(t.toToken.address),1),2===e.length&&e[0]===L.solana.wrapped.address?e[1]:e[0]},nH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:eH({paymentRoute:t}),owner:t.fromAddress}),rH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||yH(t.exchangeRoutes[0].path).length<=2)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:await nH({paymentRoute:t}),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});return e?void 0:YR.solana.createAssociatedTokenAccountInstruction({token:eH({paymentRoute:t}),owner:t.fromAddress,payer:t.fromAddress})},iH=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(t)return YR.solana.closeAccountInstruction({account:t.publicKey.toString(),owner:e.fromAddress})},oH=async({from:t})=>{let e=[Yk.from("payments"),new Av(t).toBuffer()],[n]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},aH=async({from:t})=>{let e=(await oH({from:t})).toString();return await XY({blockchain:"solana",address:e,api:eL([oL("anchorDiscriminator"),oL("nonce")]),cache:1e3})},sH=async({from:t})=>{if(await aH({from:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t}),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createPaymentsAccount.layout.span);return RF.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:RF.solana.api.createPaymentsAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},uH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.fromToken.address,owner:t.fromAddress}),cH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.toAddress}),lH=async({paymentRoute:t})=>{if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.toAddress}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.toAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.toAddress),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.toAddress}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.toAddress,payer:t.fromAddress})}},hH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.fee.receiver}),dH=async({paymentRoute:t})=>{if(t.fee){if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.fee.receiver}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.feeAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.fee.receiver),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.fee.receiver}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.fee.receiver,payer:t.fromAddress})}}},fH=async()=>{let t=[Yk.from("escrow_sol")],[e,n]=await Av.findProgramAddress(t,new Av(RF.solana.address));return e},pH=async({paymentRoute:t})=>{let e=[Yk.from("escrow"),new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address).toBuffer()],[n,r]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},mH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address===L.solana.currency.address)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await pH({paymentRoute:t})).toString(),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});if(e)return;const n=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await pH({paymentRoute:t}),isSigner:!1,isWritable:!0}],r=Yk.alloc(RF.solana.api.createEscrowTokenAccount.layout.span);return RF.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowTokenAccount.anchorDiscriminator},r),new Zv({keys:n,programId:new Av(RF.solana.address),data:r})},gH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address!=L.solana.currency.address)return;if(await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await fH()).toString(),api:eL([oL("amount"),Kk("owner")]),cache:1e3}))({paymentRoute:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createEscrowSolAccount.layout.span);return RF.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},yH=t=>t.filter((t=>t!==L.solana.currency.address)),vH=()=>(KY=Math.ceil((new Date).getTime()/1e3)+600,KY),bH=async({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n})=>{const r=await aH({from:t.fromAddress}),i=(({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return"routeSol";if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address!==L.solana.currency.address&&0===t.exchangeRoutes.length)return"routeToken";if(t.exchangeRoutes.length>0&&2===yH(t.exchangeRoutes[0].path).length)return t.toToken.address===L.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(t.exchangeRoutes.length>0&&yH(t.exchangeRoutes[0].path).length>2)return t.toToken.address===L.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:t});switch(i){case"routeSol":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=new Av(t.toAddress),r=t.fee?new Av(t.fee.receiver):n,i=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0}],o=Yk.alloc(RF.solana.api.routeSol.layout.span);return RF.solana.api.routeSol.layout.encode({anchorDiscriminator:RF.solana.api.routeSol.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},o),new Zv({keys:i,programId:new Av(RF.solana.address),data:o})})({paymentRoute:t,paymentsAccountData:r});case"routeToken":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=await uH({paymentRoute:t}),r=await cH({paymentRoute:t}),i=t.fee?await hH({paymentRoute:t}):r,o=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(n),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0}],a=Yk.alloc(RF.solana.api.routeToken.layout.span);return RF.solana.api.routeToken.layout.encode({anchorDiscriminator:RF.solana.api.routeToken.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},a),new Zv({keys:o,programId:new Av(RF.solana.address),data:a})})({paymentRoute:t,paymentsAccountData:r});case"routeOrcaSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=n?n.publicKey:await uH({paymentRoute:t}),i=await cH({paymentRoute:t}),o=t.fee?await hH({paymentRoute:t}):i,a=await pH({paymentRoute:t}),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(s.data),c=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},s.keys[2],s.keys[4],s.keys[6],s.keys[7],s.keys[8],s.keys[9],s.keys[10],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0},{pubkey:new Av(o),isSigner:!1,isWritable:!0}],l=Yk.alloc(RF.solana.api.routeOrcaSwap.layout.span);return RF.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:u.amount,sqrtPriceLimit:u.sqrtPriceLimit,amountSpecifiedIsInput:u.amountSpecifiedIsInput,aToB:u.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},l),new Zv({keys:c,programId:new Av(RF.solana.address),data:l})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=await uH({paymentRoute:t}),i=n.publicKey,o=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(o.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},o.keys[2],o.keys[4],o.keys[6],o.keys[7],o.keys[8],o.keys[9],o.keys[10],{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaSwapSolOut.layout.span);return RF.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,sqrtPriceLimit:a.sqrtPriceLimit,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToB:a.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=new Av(await cH({paymentRoute:t})),i=t.fee?new Av(await hH({paymentRoute:t})):r,o=await pH({paymentRoute:t}),a=new Av(await nH({paymentRoute:t})),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=n?n.publicKey:new Av(await uH({paymentRoute:t})),c=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(s.data),l=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},s.keys[2],s.keys[3],{pubkey:u,isSigner:!1,isWritable:!0},s.keys[5],s.keys[7],{pubkey:a,isSigner:!1,isWritable:!0},s.keys[9],s.keys[11],s.keys[12],s.keys[13],s.keys[14],s.keys[15],s.keys[16],s.keys[17],s.keys[18],s.keys[19],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],h=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwap.layout.span);return RF.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:c.amount,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToBOne:c.aToBOne,aToBTwo:c.aToBTwo,sqrtPriceLimitOne:c.sqrtPriceLimitOne,sqrtPriceLimitTwo:c.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},h),new Zv({keys:l,programId:new Av(RF.solana.address),data:h})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=new Av(await nH({paymentRoute:t})),i=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),o=new Av(await uH({paymentRoute:t})),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(i.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},i.keys[2],i.keys[3],i.keys[5],i.keys[7],{pubkey:r,isSigner:!1,isWritable:!0},i.keys[9],i.keys[11],i.keys[12],i.keys[13],i.keys[14],i.keys[15],i.keys[16],i.keys[17],i.keys[18],i.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToBOne:a.aToBOne,aToBTwo:a.aToBTwo,sqrtPriceLimitOne:a.sqrtPriceLimitOne,sqrtPriceLimitTwo:a.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n})}},wH=async({paymentRoute:t})=>{const e=await(async({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address!==L.solana.currency.address)return LM.generate()})({paymentRoute:t}),n=await(async({paymentRoute:t})=>{if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return LM.generate()})({paymentRoute:t});let r=(await Promise.all([sH({from:t.fromAddress}),$Y({paymentRoute:t,wSolSenderAccountKeypair:e}),rH({paymentRoute:t}),lH({paymentRoute:t}),dH({paymentRoute:t}),gH({paymentRoute:t}),tH({paymentRoute:t,wSolEscrowAccountKeypair:n}),mH({paymentRoute:t}),bH({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n}),iH({paymentRoute:t,wSolSenderAccountKeypair:e})])).filter(Boolean).flat();const i={blockchain:t.blockchain,instructions:r,signers:[e,n].filter(Boolean),alts:[RF.solana.alt]};return i.deadline=KY,i};let MH=["ethereum","bsc","polygon","solana"];MH.evm=["ethereum","bsc","polygon"],MH.solana=["solana"];const kH=({paymentRoute:t,event:e,fee:n})=>{if(MH.evm.includes(t.blockchain))return(async({paymentRoute:t,event:e})=>{let n=t.exchangeRoutes[0],r={blockchain:t.blockchain,to:bY({paymentRoute:t}),api:wY({paymentRoute:t}),method:MY({paymentRoute:t}),params:kY({paymentRoute:t,exchangeRoute:n,event:e}),value:NY({paymentRoute:t})};return n&&t.exchangePlugin&&t.exchangePlugin.prepareTransaction&&(r=t.exchangePlugin.prepareTransaction(r)),r})({paymentRoute:t,event:e,fee:n});if(MH.solana.includes(t.blockchain))return wH({paymentRoute:t,event:e,fee:n});throw"Blockchain not supported!"};function LH(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class AH{constructor({blockchain:t,fromAddress:e,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,approvalTransaction:p,directTransfer:m,event:g}){this.blockchain=t,this.fromAddress=e,this.fromToken=n,this.fromAmount=LH([r||s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=LH([s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.approvalRequired=f,this.approvalTransaction=p,this.directTransfer=m,this.event=g,this.getTransaction=async()=>await kH({paymentRoute:this,event:g})}}function xH({assets:t,blacklist:e,accept:n,from:r,event:i}){return Promise.resolve(NH({assets:t,blacklist:e})).then((t=>function({assets:t,accept:e,from:n,event:r}){return Promise.all(t.map((async t=>{let i=e.filter((e=>e.blockchain==t.blockchain)),o=new YR(t);return Promise.all(i.map((async e=>{if(e.token&&e.amount){let i=e.blockchain,a=t.decimals,s=new YR({blockchain:i,address:e.token}),u=await s.decimals(),c=(await s.BigNumber(e.amount)).toString();return new AH({blockchain:i,fromToken:o,fromDecimals:a,toToken:s,toAmount:c,toDecimals:u,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}if(e.fromToken&&e.fromAmount&&o.address.toLowerCase()==e.fromToken.toLowerCase()){let i=e.blockchain,a=(await o.BigNumber(e.fromAmount)).toString(),s=t.decimals,u=new YR({blockchain:i,address:e.toToken}),c=await u.decimals();return new AH({blockchain:i,fromToken:o,fromDecimals:s,fromAmount:a,toToken:u,toDecimals:c,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}})))}))).then((t=>t.flat().filter((t=>t))))}({assets:t,accept:n,from:r,event:i}))).then((t=>DH({routes:t}))).then(SH).then(IH).then(TH).then(jH).then((t=>PH({routes:t}))).then(CH).then(UH).then(BH).then((t=>t.map((t=>new AH(t)))))}function EH({accept:t,from:e,whitelist:n,blacklist:r,event:i,update:o}){if(t.some((t=>t&&t.fee&&"string"==typeof t.fee.amount&&t.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(a,s)=>{let u,c=[];if(n)for(const t in n)(n[t]||[]).forEach((e=>{c.push({blockchain:t,address:e})}));else t.forEach((t=>{c.push({blockchain:t.blockchain,address:t.token||t.toToken})}));o&&(u=yY((async({assets:t,blacklist:e,accept:n,from:r,event:i})=>{o.callback(await xH({assets:t,blacklist:e,accept:n,from:r,event:i}))}),o.every));let l=[];const h=await(async t=>{void 0===t&&(t={accounts:{},priority:[]});let e=[],n=[];n=n.concat((t.priority||[]).map((n=>new Promise((async(r,i)=>{try{let i=new YR(n),o=Object.assign({},n,{name:await i.name(),symbol:await i.symbol(),decimals:await i.decimals(),balance:(await i.balance(t.accounts[n.blockchain])).toString()});if("0"!=o.balance){if(DF({assets:e,asset:n}))return r();e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)}else r()}catch(t){r()}})))));let r=[];for(var i in t.accounts)L.findByName(i).tokens.forEach((e=>{OF({options:t,address:e.address,blockchain:i})||r.push(Object.assign({},e,{blockchain:i}))}));if(n=n.concat(r.map((n=>new Promise(((r,i)=>{new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()}))}))))),null==t.only||Object.keys(t.only).every((t=>0==t.length))){let r=await jF(t);n=n.concat(r.map((n=>new Promise(((r,i)=>new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()})))))))}return await Promise.all(n),e})({accounts:e,priority:c,only:n,exclude:r,drip:n=>{o&&(l.push(n),u({assets:l,blacklist:r,accept:t,from:e,event:i}))}});a(await xH({assets:h,blacklist:r,accept:t,from:e,event:i}))}))}let NH=({assets:t,blacklist:e})=>null==e?t:t.filter((t=>null==e[t.blockchain]||!e[t.blockchain].find((e=>e.toLowerCase()==t.address.toLowerCase())))),SH=async t=>await Promise.all(t.map((t=>t.directTransfer?[]:t.toToken&&t.toAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountOutMin:t.toAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):t.fromToken&&t.fromAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountIn:t.fromAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):void 0))).then((e=>t.map(((t,n)=>(t.exchangeRoutes=e[n],t))))),IH=t=>t.filter((t=>0===t.exchangeRoutes.length||("solana"===t.blockchain||null!=PF[t.blockchain][t.exchangeRoutes[0].exchange.name]))),TH=t=>t.filter((t=>0!=t.exchangeRoutes.length||t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase())),jH=async t=>t.filter((t=>t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?bt.from(t.fromBalance).gte(bt.from(t.toAmount)):t.fromAmount&&t.toAmount?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountInMax)):t.exchangeRoutes[0]&&t.exchangeRoutes[0].amountIn?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountIn)):void 0)),CH=t=>Promise.all(t.map((t=>"solana"===t.blockchain?Promise.resolve(L.solana.maxInt):t.fromToken.allowance(t.fromAddress,UF[t.blockchain].address)))).then((e=>(t.map(((n,r)=>{n.directTransfer||n.fromToken.address.toLowerCase()==L[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?t[r].approvalRequired=!1:(t[r].approvalRequired=bt.from(n.fromAmount).gte(bt.from(e[r])),t[r].approvalRequired&&(t[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:YR[n.blockchain].DEFAULT,method:"approve",params:[UF[n.blockchain].address,L[n.blockchain].maxInt]}))})),t))),DH=({routes:t})=>t.map((t=>(MH.evm.includes(t.blockchain)?t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()&&null==t.fee:"solana"===t.blockchain&&(t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()),t))),OH=({paymentRoute:t,exchangeRoute:e})=>{let n,r,i;return e?(e&&e.exchange.wrapper,n=e.amountIn.toString(),r=_H({amount:e.amountOutMin.toString(),paymentRoute:t})):(n=t.fromAmount,r=_H({amount:t.fromAmount,paymentRoute:t})),t.fee&&(i=zH({paymentRoute:t})),{fromAmount:n,toAmount:r,feeAmount:i}},_H=({amount:t,paymentRoute:e})=>{if(e.fee){let n=zH({paymentRoute:e});return bt.from(t).sub(n).toString()}return t},zH=({paymentRoute:t})=>{if("string"==typeof t.fee.amount&&t.fee.amount.match("%"))return bt.from(t.toAmount).mul(10*parseFloat(t.fee.amount)).div(1e3).toString();if("string"==typeof t.fee.amount)return t.fee.amount;if("number"==typeof t.fee.amount)return Qc(t.fee.amount.toString(),t.toDecimals).toString();throw"Unknown fee amount type!"},PH=({routes:t})=>t.map((t=>{if(MH.evm.includes(t.blockchain))if(t.directTransfer&&!t.fee)t.fromAmount=t.toAmount;else{let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}else if(MH.solana.includes(t.blockchain)){let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}return t})),BH=t=>t.filter(((e,n)=>null==t.find(((t,r)=>e.fromToken.address==t.fromToken.address&&(e.fromToken.blockchain==t.fromToken.blockchain&&(!(!t.directTransfer||e.directTransfer)||(!(!bt.from(t.fromAmount).lt(bt.from(e.fromAmount))||e.directTransfer)||(t.fromAmount==e.fromAmount&&r<n||void 0)))))))),RH=t=>{switch(t){case"solana":return 10;case"polygon":return 30;case"bsc":return 70;case"ethereum":return 99;default:return 100}},UH=t=>t.sort(((t,e)=>RH(t.fromToken.blockchain)<RH(e.fromToken.blockchain)?-1:RH(e.fromToken.blockchain)<RH(t.fromToken.blockchain)?1:t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()||t.approvalRequired&&!e.approvalRequired?1:e.approvalRequired&&!t.approvalRequired||JSON.stringify([t.fromToken.address.toLowerCase(),t.toToken.address.toLowerCase()].sort())==JSON.stringify([L[t.blockchain].currency.address.toLowerCase(),L[t.blockchain].wrapped.address.toLowerCase()].sort())?-1:JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([L[e.blockchain].currency.address.toLowerCase(),L[e.blockchain].wrapped.address.toLowerCase()].sort())?1:t.fromToken.address.toLowerCase()==L[t.blockchain].currency.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==L[e.blockchain].currency.address.toLowerCase()?1:0));function QH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function WH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?QH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):QH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var FH=function(t,e){var n={};return t.forEach((function(t){n[t.blockchain]=e})),n},YH=function(t){var e=t.accept,r=t.account,i=t.receiver,o=t.whitelist,a=t.blacklist,s=t.fee;return EH({accept:e.map((function(t){return function(t,e){var r;r=e||("object"==n(t.receiver)?t.receiver.address:t.receiver);var i="object"==n(t.receiver)?t.receiver:void 0;return WH(WH({},t),{},{toAddress:r,toContract:i})}(t,i)})),from:FH(e,r),whitelist:o,blacklist:a,event:"ifRoutedAndNative",fee:s})};function HH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function GH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?HH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):HH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ZH=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),l=u[0],h=u[1],d=QA(kx.useState(!1),2),f=d[0],p=d[1],m=QA(kx.useState(0),2),g=m[0],y=m[1],v=kx.useContext(sR).account,b=kx.useContext(Ax).updatable,w=kx.useContext(KB).recover,M=function(){var n=e(c.mark((function n(r){return c.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:0==r.length?(i([]),t.setMaxRoute&&t.setMaxRoute(null)):x(r).then(function(){var n=e(c.mark((function e(n){var r,o;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===l?(r=n[0],h(r)):(o=n[n.findIndex((function(t){return t.fromToken.address==l.fromToken.address&&t.blockchain==l.blockchain}))],o?l.fromAmount!=o.fromAmount?s(o):l.approvalRequired!=o.approvalRequired&&h(o):h(n[0])),i(n),t.setMaxRoute&&t.setMaxRoute(LF(n));case 3:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}());case 1:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}(),k=function(){var n=e(c.mark((function e(n){var r;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.allRoutes,n.selectedRoute,0!=n.updatable&&t.accept&&v){e.next=3;break}return e.abrupt("return");case 3:return r=setTimeout((function(){p(!0)}),4e3),e.next=6,YH(Object.assign({},t,{account:v})).then((function(t){clearInterval(r),M(t)}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}(),L=function(t,e){t.fromAmount=e.toString()},A=function(){var t=e(c.mark((function t(e,n){var r,i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.directTransfer){t.next=2;break}return t.abrupt("return",e);case 2:return t.next=4,e.fromToken.readable(n||e.fromAmount);case 4:return r=t.sent,t.next=7,e.fromToken.BigNumber(lR(r));case 7:return i=t.sent,L(e,i),t.abrupt("return",e);case 10:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),x=function(){var t=e(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Promise.all(e.map((function(t){return A(t)}))));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=e(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:h(GH({},a)),s(null);case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),N=function(){return k({allRoutes:r,selectedRoute:l,updatable:b})};return kx.useEffect((function(){var t=setTimeout((function(){y(g+1),k({allRoutes:r,selectedRoute:l,updatable:b})}),15e3);return function(){return clearTimeout(t)}}),[g,r,l,b]),kx.useEffect((function(){v&&t.accept&&null==w&&N()}),[v,t.accept]),kx.createElement(IF.Provider,{value:{selectedRoute:l,setSelectedRoute:h,refreshPaymentRoutes:N,allRoutes:r,setAllRoutes:i,slowRouting:f,updatedRouteWithNewPrice:a,updateRouteWithNewPrice:E}},t.children)},VH=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.acceptWithAmount,i=e.setMaxRoute,o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){n?r&&s(r):s(t.accept)}),[n,r]),kx.createElement(SF.Provider,{value:{}},kx.createElement(ZH,{accept:a,whitelist:t.whitelist,blacklist:t.blacklist,event:t.event,setMaxRoute:i,fee:t.fee,container:t.container,document:t.document},t.children))},JH=function(){var t=kx.useContext(Pz).navigate;return kx.useContext(Lx).close,kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:yB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No Payment Option Found"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},kx.createElement("strong",{className:"FontSizeM"},"Please check if you have connected the correct wallet and top up if necessary.")),kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("button",{onClick:function(){return t("PaymentOptions")},className:"Link FontSizeM",title:"Check which payment options are available"},"Check available payment options"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"})})},qH=kx.createContext();let XH=["ethereum","bsc","polygon","solana","fantom","velas"];XH.evm=["ethereum","bsc","polygon","fantom","velas"],XH.solana=["solana"];const KH=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],$H=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];let tG=function(t){const[e,n]=kx.useState(),[r,i]=kx.useState(),o=t.blockchain.toLowerCase(),a=L.findByName(o).currency.address,s=t.address,u=t.id,c=new Date,l=["react-token-image",o,s,[c.getFullYear(),c.getMonth(),c.getDate()].join("-")].join("-"),h=t=>{localStorage.setItem(l,t),n(t)};kx.useEffect((()=>{const t=localStorage.getItem(l);if(t&&t.length)return h(t);a.toLowerCase()==s.toLowerCase()?h(L.findByName(o).logo):XH.evm.includes(o)?(i("repository"),h(f({blockchain:o,address:s}))):"solana"===o&&(i("metaplex"),d({blockchain:o,address:s}).then((t=>{h(t)})))}),[o,s]);const d=({blockchain:t,address:e})=>new Promise((async(n,r)=>{try{let r=new Av(e),i=new Av(YR.solana.METADATA_ACCOUNT),o=[Yk.from("metadata"),i.toBuffer(),r.toBuffer()],a=(await Av.findProgramAddress(o,i))[0],s=await CL({blockchain:t,address:a.toString(),api:YR.solana.METADATA_LAYOUT,cache:864e5});if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([s,"optionalAccess",t=>t.data,"optionalAccess",t=>t.uri])){const t=s.data.uri.replace(new RegExp("\0","g"),"");t&&t.length?await fetch(t).then((t=>t.json())).then((t=>{t&&t.image?n(t.image):n("")})).catch((()=>n(""))):n("")}else n("")}catch(t){n("")}})),f=({blockchain:t,address:e})=>["ethereum","bsc","polygon","fantom","solana"].includes(t)?`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${p(t)}/assets/${e}/logo.png`:"velas"==t?`https://raw.githubusercontent.com/wagyuswapapp/assets/master/blockchains/velas/assets/${e.toLowerCase()}/logo.png`:void 0,p=t=>{switch(t){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";default:throw"DePayReactTokenImage: Unknown blockchain"}},m=()=>{i("unknown"),h("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=")},g=t=>{t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),fetch(t).then((t=>{if(t.ok)return t.json();m()})).then((t=>{if(t){let e=t.image;e?(e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),i("meta"),h(e)):m()}})).catch(m)};return null==e?null:kx.createElement("img",{className:t.className,src:e,onError:t=>{"metaplex"==r?(i("repository"),h(f({blockchain:o,address:s}))):"repository"==r?(i("depay"),h(`https://integrate.depay.com/tokens/${o}/${s}/image`)):"depay"==r&&XH.evm.includes(o)?u?CL({blockchain:o,address:s,api:$H,method:"uri",params:[u]}).then((t=>{t=t.match("0x{id}")?t.replace("0x{id}",u):t,g(t)})).catch(m):CL({blockchain:o,address:s,api:KH,method:"tokenURI",params:[1]}).then(g).catch(m):m()},__self:this,__source:{fileName:"/Users/sebastian/Work/DePay/react-token-image/src/index.js",lineNumber:179}})};function eG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function nG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?eG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):eG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var rG=function(){var t=kx.useContext(KB).accept;kx.useContext(Lx).close;var e=kx.useContext(Pz).navigate,n=QA(kx.useState(),2),r=n[0],i=n[1];return kx.useEffect((function(){Promise.all(t.map((function(t){var e=new YR({blockchain:t.blockchain,address:t.token});return Promise.all([Promise.resolve(t),e.symbol(),e.name()])}))).then((function(t){return t.map((function(t){return nG(nG({},t[0]),{},{symbol:t[1],name:t[2]})}))})).then(i)}),[]),r?kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},r&&r.map((function(t,e){return kx.createElement("div",{className:"Card",key:e},kx.createElement("div",{className:"CardImage"},kx.createElement(tG,{blockchain:t.blockchain,address:t.token}),kx.createElement("img",{className:"BlockchainLogo small "+L[t.blockchain].name,src:L[t.blockchain].logo,alt:L[t.blockchain].label,title:L[t.blockchain].label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenSymbolCell"},t.symbol)),kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},"on ",L[t.blockchain].label))))))})))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return e("back")}},kx.createElement("span",{className:"FontSizeM"},"❮")," Go back"))}):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},iG=kx.createContext(),oG=kx.createContext(),aG=function(t){var n=kx.useContext(xB).setError,r=kx.useContext(KB),i=r.sent,o=r.succeeded,a=r.failed,s=r.recover,u=r.before,l=kx.useContext(IF),h=l.selectedRoute,d=l.refreshPaymentRoutes,f=kx.useContext(Lx),p=f.open,m=f.close,g=f.setClosable,y=kx.useContext(IF).allRoutes,v=kx.useContext(Ax).setUpdatable,b=kx.useContext(nR),w=b.navigate,M=b.set,k=kx.useContext(sR).wallet,A=kx.useContext(iG),x=A.release,E=A.synchronousTracking,N=A.asynchronousTracking,S=A.trackingInitialized,I=A.initializeTracking,T=A.preTrack,j=kx.useContext(oG),C=j.foundTransaction,D=j.initializeTracking,O=QA(kx.useState(),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=QA(kx.useState(),2),Q=U[0],W=U[1],F=QA(kx.useState("initialized"),2),Y=F[0],H=F[1],G=function(t){0!=E||0!=N&&1!=S||g(!0),H("success"),o&&setTimeout((function(){return o(t)}),200)},Z=function(t,e){0!=N&&1!=S||g(!0),M(["PaymentFailed"]),H("failed"),a&&a(t,e)},V=function(){var t=e(c.mark((function t(){var e,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=_.route,t.next=3,k.account();case 3:return t.t1=t.sent,t.t2={from:t.t1},t.next=7,t.t0.getTransaction.call(t.t0,t.t2);case 7:if(e=t.sent,!u){t.next=14;break}return t.next=11,u(e);case 11:if(!1!==t.sent){t.next=14;break}return t.abrupt("return");case 14:return g(!1),H("paying"),v(!1),t.next=19,CL({blockchain:e.blockchain,method:"latestBlockNumber"});case 19:return n=t.sent,t.next=22,T(n,_.route,e).then((function(){k.sendTransaction(Object.assign({},e,{sent:function(t){D(t,n),i&&i(t)},succeeded:G,failed:Z})).then((function(t){R(t),I(t,n,_.route)})).catch((function(t){console.log("error",t),H("initialized"),g(!0),v(!0),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork")}))})).catch((function(t){console.log(t),H("initialized"),g(!0),v(!0),w("PreTrackingFailed")}));case 22:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();return kx.useEffect((function(){x&&H("success")}),[x]),kx.useEffect((function(){N&&S&&("success"==Y||"failed"==Y)&&g(!0)}),[S,Y]),kx.useEffect((function(){if(s){g(!1),v(!1),H("paying"),R({blockchain:s.blockchain,id:s.transaction,url:L.findByName(s.blockchain).explorerUrlFor({transaction:{id:s.transaction}})});var t=new YR({blockchain:s.blockchain,address:s.token});Promise.all([t.name(),t.symbol()]).then((function(t){var e=QA(t,2),n=e[0],r=e[1];z({blockchain:s.blockchain,token:s.token,name:n,symbol:r.toUpperCase(),amount:s.amount})})).catch(n)}}),[s]),kx.useEffect((function(){var t;C&&C.id&&C.status&&(C.id!=B.id&&(t=Object.assign({},B,{id:C.id,url:L.findByName(B.blockchain).explorerUrlFor({transaction:C})}),R(t)),"success"==C.status?G(t||B):"failed"==C.status&&Z(t||B))}),[C,B]),kx.useEffect((function(){if(h){var t=h.fromToken;Promise.all([t.name(),t.symbol(),t.readable(h.fromAmount)]).then((function(e){var n=QA(e,3),r=n[0],i=n[1],o=n[2];z({blockchain:h.blockchain,route:h,token:t.address,name:r,symbol:i.toUpperCase(),amount:o})})).catch(n)}else z(void 0)}),[h]),kx.useEffect((function(){y&&0==y.length?v(!1):y&&y.length>0&&v(!0)}),[y]),y instanceof Array&&0==y.length?kx.createElement(Uz,{open:p,close:m,start:"NoPaymentOptionFound",container:t.container,document:t.document,dialogs:{NoPaymentOptionFound:kx.createElement(JH,null),PaymentOptions:kx.createElement(rG,null)}}):kx.createElement(qH.Provider,{value:{payment:_,paymentState:Y,pay:V,transaction:B,approve:function(){g(!1),v(!1),H("approving"),k.sendTransaction(Object.assign({},_.route.approvalTransaction,{succeeded:function(){v(!0),g(!0),d().then((function(){H("initialized")}))}})).then((function(t){W(t)})).catch((function(t){console.log("error",t),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork"),H("initialized"),g(!0)}))},approvalTransaction:Q}},t.children)},sG=kx.createContext(),uG=function(t){var e=kx.useContext(Pz).navigate;kx.useContext(xB).setError,kx.useContext(sR).account;var r=kx.useContext(MF),i=r.amount,o=r.setAmount,a=r.maxAmount;kx.useContext(sG).displayedPaymentValue;var s=QA(kx.useState(i),2),u=s[0],c=s[1],l=kx.useContext(KB),h=l.currencyCode,d=l.amount,f=kx.useContext(IF);f.allRoutes;var p=f.setSelectedRoute,m="object"==n(d)&&d.min?d.min:1,g="object"==n(d)&&d.step?d.step:1,y=null!=d&&d.token?null:h,v=function(t){Number.isNaN(t)||c(t)},b=function(t){return g&&(t=parseFloat(new NQ(Math.floor(new NQ(t).div(g))).mul(g).toString())),t},w=function(t){return t=b(t),a&&(t=Math.max(m,Math.min(t,a))),t=b(t)};return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,y))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("input",{max:a?parseFloat(a):null,min:m,step:g,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(u),onChange:function(t){v(t.target.value)},onBlur:function(t){var e;e=t.target.value,c(w(e))}})),a&&kx.createElement("div",{style:{height:"40px"}},kx.createElement("div",{className:"FontSizeS"},hR(b(a)),kx.createElement("div",null,kx.createElement("button",{className:"TextButton",onClick:function(){v(w(a))}},"(Max)"))))))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){var t=w(parseFloat(u));t!=i&&(p(void 0),o(t)),e("back")}},"Done"))})},cG=function(t){var e=kx.useContext(sG).paymentValue;return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=e&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,e.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},lG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(IF),r=n.allRoutes,i=n.setSelectedRoute,o=kx.useContext(sG).displayedPaymentValue,a=kx.useContext(Pz).navigate,s=QA(kx.useState([]),2),u=s[0],c=s[1],l=QA(kx.useState([]),2),h=l[0],d=l[1];return kx.useEffect((function(){null!=r&&Promise.all(r.map((function(t){return t.exchangeRoutes[0],t.fromToken,Promise.all([t.fromToken.name(),t.fromToken.symbol(),t.fromToken.decimals(),t.fromToken.readable(t.fromAmount)])}))).then((function(t){c(r.map((function(e,n){return{name:t[n][0],symbol:t[n][1].toUpperCase(),decimals:t[n][2],amount:t[n][3],route:e}})))})).catch(e)}),[r]),kx.useEffect((function(){d(u.map((function(t,e){var n=L.findByName(t.route.blockchain);return kx.createElement("div",{key:e,className:"Card",title:"Select ".concat(t.symbol," as payment"),onClick:function(){i(t.route),a("back")}},kx.createElement("div",{className:"CardImage"},kx.createElement(tG,{blockchain:t.route.blockchain,address:t.route.fromToken.address}),kx.createElement("img",{className:"BlockchainLogo small "+n.name,src:n.logo,alt:n.label,title:n.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},t.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)))),kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,hR(lR(parseFloat(t.route.fromBalance.toString())/Math.pow(10,t.decimals),"down")))))))})))}),[u]),0==u.length||0==h.length?kx.createElement(cG,null):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=o&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,o.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},h)),footer:kx.createElement("div",null)})},hG=function(){var t=kx.useContext(Lx).close,e=kx.useContext(qH).transaction;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),e&&kx.createElement("div",{className:"PaddingTopS"},kx.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==e?void 0:e.url,target:"_blank",rel:"noopener noreferrer"},"View on explorer")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){return t()}},"Try again"))})},dG=function(){return kx.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},kx.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},fG=function(t){return kx.createElement("svg",{className:"Checkmark Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},pG=function(t){return kx.createElement("svg",{className:"DigitalWalletIcon Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),kx.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),kx.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),kx.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},mG={ethereum:13,bsc:4,polygon:3,solana:.5},gG=function(t){return kx.createElement("div",{className:"LoadingText"},t.children,kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."))},yG=function(){var t=kx.useContext(MF);t.amount,t.amountsMissing;var e=kx.useContext(iG),n=e.synchronousTracking,r=e.asynchronousTracking,i=e.trackingInitialized,o=e.release,a=e.forwardTo,s=e.confirmationsRequired,u=e.confirmationsPassed,c=kx.useContext(qH),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,m=c.approvalTransaction,g=kx.useContext(sG).paymentValueLoss,y=kx.useContext(IF),v=y.updatedRouteWithNewPrice,b=y.updateRouteWithNewPrice;kx.useContext(Pz).navigate;var w=kx.useContext(Lx).close,M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(0),2),x=A[0],E=A[1];kx.useEffect((function(){if(s){var t=setInterval((function(){E(x+1)}),1e3);return function(){clearInterval(t)}}}),[s,x]),kx.useEffect((function(){u&&L(function(t,e,n){return(e-n)*mG[t]}(l.blockchain,s,u)-x)}),[u,x]),kx.useEffect((function(){u&&E(0)}),[u]);return kx.createElement("div",null,g&&kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Payment would lose ",g,"% of its value!"))),null==l.route||!l.route.approvalRequired||l.route.directTransfer||v?null:g?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary",onClick:p,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:null==m?void 0:m.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(gG,null,"Approving"))):void 0,"paying"==h&&null==f?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",{className:"Card transparent disabled small"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Confirm transaction in your wallet"))))):"success"==h?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",null,kx.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(fG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),0==n&&0==r||r&&i?null:r&&0==i?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(fG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Payment validated"))))):kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Validating payment",s&&k>0&&kx.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",k,"s"))))))):void 0,v?kx.createElement("div",null,kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Price updated!"))),kx.createElement("button",{className:"ButtonPrimary",onClick:function(){b()}},"Reload")):g?kx.createElement("div",null,kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Pay")):"initialized"!=h&&"approving"!=h||!l.route?"paying"==h?kx.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(gG,null,"Paying")):"success"==h?1==n?o?a?kx.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Continue"):kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Close"):void 0:kx.createElement("button",{className:["ButtonPrimary",l.route.approvalRequired&&!l.route.directTransfer?"disabled":""].join(" "),onClick:function(){l.route.approvalRequired&&!l.route.directTransfer||d()}},"Pay"))},vG=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.fixedAmount,i=kx.useContext(IF),o=i.slowRouting,a=i.selectedRoute,s=kx.useContext(KB).title;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},s||"Payment")),alternativeHeaderAction:t.alternativeHeaderAction,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&kx.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},kx.createElement("strong",null,"Loading payment options...")))})},bG=function(t){var e=kx.useContext(KB),n=e.currencyCode,r=e.recover,i=e.amount,o=e.currency,a=e.title,s=kx.useContext(qH),u=s.payment,c=s.paymentState,l=kx.useContext(MF),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,m=kx.useContext(sR).disconnect,g=kx.useContext(sG),y=g.paymentValue,v=g.displayedPaymentValue,b=kx.useContext(Pz).navigate,w=QA(kx.useState(!1),2),M=w[0],k=w[1],A=null!=i&&i.token?null:n,x=kx.createElement("span",{className:"DropDownWrapper"},kx.createElement("button",{type:"button",onClick:function(){return k(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},kx.createElement(rP,null)),M&&kx.createElement(nP,{hide:function(){return k(!1)},items:[{label:"Disconnect wallet",action:m}]}));if(null==u||null==r&&null==y)return kx.createElement(vG,{alternativeHeaderAction:x});var E=L.findByName(u.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:x,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&b("ChangeAmount")}},kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},A&&kx.createElement("div",{className:"TokenAmountRow"},new tR({amount:h.toFixed(2),code:n}).toString()),!A&&kx.createElement("div",{className:"TokenAmountRow"},h)))),kx.createElement("div",{className:"CardAction"},kx.createElement(dG,null))),kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&b("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:u.name},kx.createElement(tG,{blockchain:u.blockchain,address:u.token}),kx.createElement("img",{className:"BlockchainLogo small "+E.name,src:E.logo,alt:E.label,title:E.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},d&&!p&&kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},u.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(u.amount))),v!="".concat(u.symbol," ").concat(hR(u.amount))&&!(d&&!p)&&!1!==o&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},v))))),kx.createElement("div",{className:"CardAction"},kx.createElement(dG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(yG,null))})},wG=function(){kx.useContext(qH).transaction;var t=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t("back")}},"Try again"))})},MG=function(){var t=kx.useContext(iG).continueTryTracking;kx.useContext(qH).transaction;var e=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t(),e("back")}},"Try again"))})},kG=function(t){var e=kx.useContext(qH).payment,n=kx.useContext(sR).wallet,r=kx.useContext(Pz).navigate,i=QA(kx.useState(!1),2);i[0],i[1];var o=L.findByName(e.route.blockchain);return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:o.logo})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(e.blockchain),r("back")}},"Switch Network"))})},LG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator,o=kx.useContext(sR).account,a=QA(kx.useState(),2),s=a[0],u=a[1];return kx.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),kx.createElement(Uz,{setNavigator:function(t){u(t),i(t)},open:n,close:r,start:"PaymentOverview",container:t.container,document:t.document,dialogs:{PaymentOverview:kx.createElement(bG,null),ChangeAmount:kx.createElement(uG,null),ChangePayment:kx.createElement(lG,null),PaymentFailed:kx.createElement(hG,null),WrongNetwork:kx.createElement(kG,null),TrackingFailed:kx.createElement(MG,null),PreTrackingFailed:kx.createElement(wG,null)}})},AG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,r=[Yk.from("payments"),new Av(n).toBuffer()],t.next=4,Av.findProgramAddress(r,new Av("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=t.sent,o=QA(i,1),a=o[0],t.abrupt("return",a);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),xG=function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,t.next=3,AG({account:n});case 3:return r=t.sent.toString(),t.next=6,CL({blockchain:"solana",address:r,api:eL([oL("anchorDiscriminator"),oL("nonce")])});case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),EG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.blockchain,r=e.transaction,i=e.account,o=e.wallet,n||(n=r.blockchain),!Nx.evm.includes(n)){t.next=13;break}if(!r||null==r||!r.nonce){t.next=7;break}return t.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){t.next=11;break}return t.next=10,o.transactionCount({blockchain:n,address:i});case 10:return t.abrupt("return",t.sent.toString());case 11:t.next=22;break;case 13:if(!Nx.solana.includes(n)){t.next=22;break}return t.next=16,xG({account:i});case 16:if(!(s=t.sent)){t.next=21;break}return t.abrupt("return",s.nonce.toString());case 21:return t.abrupt("return","0");case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),NG=function(t){kx.useContext(xB).errorCallback;var n=kx.useContext(KB),r=n.track,i=n.validated;n.failed;var o=n.integration,a=n.link,s=n.type,u=kx.useContext(sR),l=u.account,h=u.wallet,d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState(),2),b=v[0],w=v[1],M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(),2);A[0],A[1];var x=QA(kx.useState(),2),E=x[0],N=x[1],S=QA(kx.useState(!1),2),I=S[0],T=S[1],j=QA(kx.useState(!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],C=QA(kx.useState(!(!r||1!=r.async)),1)[0],D=QA(kx.useState(!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],O=QA(kx.useState(!1),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=kx.useContext(Lx).setClosable,Q=kx.useContext(nR),W=Q.navigate,F=Q.set,Y=function n(r){var o=new WebSocket("wss://integrate.depay.com/cable");o.onopen=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=r.blockchain,t.t2=r.from,t.next=5,EG({transaction:r,account:l,wallet:h});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"PaymentChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),n={command:"subscribe",identifier:t.t5},o.send(JSON.stringify(n));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),o.onclose=function(t){t&&1e3==t.code||n(r)},o.onmessage=function(e){var n=JSON.parse(e.data);if("ping"!==n.type&&n.message){var r="success"==n.message.status;i&&setTimeout((function(){return i(r,n.message)}),200),n.message.release?(o.close(1e3),r?(z(!0),U(!0),R(n.message.forward_to),n.message.forward_to&&setTimeout((function(){t.document.location.href=n.message.forward_to}),200)):0==r&&(U(!0),F(["PaymentFailed"]))):n.message.confirmations&&(y(n.message.confirmations.required),w(n.message.confirmations.passed))}},o.onerror=function(t){console.log("WebSocket Error: "+t)}},H=function(t,e,n,i){(i=parseInt(i||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){Z(t,e,n,i+1)}),3e3):W("TrackingFailed")},G=function(t){if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(t){if(200==t.status||201==t.status)return t;throw t}));if(r.method)return r.method(t);throw"No tracking defined!"},Z=function(){var t=e(c.mark((function t(e,n,r,i){var o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=G,t.t1=e.blockchain,t.t2=e.id,t.t3=e.from,t.next=6,EG({transaction:e,account:l,wallet:h});case 6:t.t4=t.sent,t.t5=n.toString(),t.t6=r.fromToken.address,t.t7=r.fromAmount.toString(),t.t8=r.fromDecimals,t.t9=r.toToken.address,t.t10=r.toAmount.toString(),t.t11=r.toDecimals,t.t12=null==r||null===(o=r.feeAmount)||void 0===o?void 0:o.toString(),t.t13=e.deadline,t.t14={blockchain:t.t1,transaction:t.t2,sender:t.t3,nonce:t.t4,after_block:t.t5,from_token:t.t6,from_amount:t.t7,from_decimals:t.t8,to_token:t.t9,to_amount:t.t10,to_decimals:t.t11,fee_amount:t.t12,deadline:t.t13},(0,t.t0)(t.t14).then((function(t){T(!0)})).catch((function(t){H(e,n,r,i)}));case 18:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}(),V=function(){var n=e(c.mark((function e(n,o,a,s,u){var d,f;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=7,EG({transaction:o,account:l,wallet:h});case 7:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,d={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},f=function(e){e&&(e&&e.forward_to?(U(!0),R(e.forward_to),setTimeout((function(){t.document.location.href=e.forward_to}),200)):U(!0),clearInterval(u),i&&i(!0,e),z(!0))},r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(t){return 200==t.status||201==t.status?t.json().catch((function(){U(!0)})):void 0})).then(f):r.poll.method&&r.poll.method(d).then(f);case 13:case"end":return e.stop()}}),e)})));return function(t,e,r,i,o){return n.apply(this,arguments)}}();kx.useEffect((function(){if(D&&j){var t=setInterval((function(){return V(D,f,k,E,t)}),5e3);return function(){clearInterval(t)}}}),[D,f,k,E]);var J=function(){var t=e(c.mark((function t(e,n,r,i){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.blockchain,t.t4=e.id,t.t5=e.from,t.next=8,EG({transaction:e,account:l,wallet:h});case 8:t.t6=t.sent,t.t7=r.toAddress,t.t8=r.toToken.address,t.t9=Uc(r.toAmount,r.toDecimals),t.t10=n.toString(),t.t11=e.id,t.t12={sender_id:e.from,sender_token_id:r.fromToken.address,sender_amount:Uc(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},t.t13=r.fee?Uc(r.feeAmount,r.toDecimals):null,t.t14=r.fee?r.fee.receiver:null,t.t15=e.deadline,t.t16={blockchain:t.t3,transaction:t.t4,sender:t.t5,nonce:t.t6,receiver:t.t7,token:t.t8,amount:t.t9,confirmations:1,after_block:t.t10,uuid:t.t11,payload:t.t12,fee_amount:t.t13,fee_receiver:t.t14,deadline:t.t15},t.t17=t.t2.stringify.call(t.t2,t.t16),t.t18={headers:t.t1,method:"POST",body:t.t17},(0,t.t0)("https://public.depay.com/payments",t.t18).then((function(t){200==t.status||201==t.status||setTimeout((function(){J(e,n,r,i+1)}),3e3)})).catch((function(t){setTimeout((function(){J(e,n,r,i+1)}),3e3)}));case 22:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}();return kx.createElement(iG.Provider,{value:{synchronousTracking:j,asynchronousTracking:C,initializeTracking:function(t,e,n){J(t,e,n,1),(j||r&&1==r.async)&&Z(t,e,n),0!=j&&(p(t),L(e),N(n),Y(t))},preTrack:function(t,n,i){return j||C?new Promise(function(){var o=e(c.mark((function e(o,a){var s,u;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=n.blockchain,e.t1=l,e.next=4,EG({blockchain:n.blockchain,account:l,wallet:h});case 4:if(e.t2=e.sent,e.t3=t.toString(),e.t4=n.fromToken.address,e.t5=n.fromAmount.toString(),e.t6=n.fromDecimals,e.t7=n.toToken.address,e.t8=n.toAmount.toString(),e.t9=n.toDecimals,e.t10=null==n||null===(s=n.feeAmount)||void 0===s?void 0:s.toString(),e.t11=i.deadline,u={blockchain:e.t0,sender:e.t1,nonce:e.t2,after_block:e.t3,from_token:e.t4,from_amount:e.t5,from_decimals:e.t6,to_token:e.t7,to_amount:e.t8,to_decimals:e.t9,fee_amount:e.t10,deadline:e.t11},!r.endpoint){e.next=19;break}return e.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(t){return 200==t.status||201==t.status?o():a("PRETRACKING REQUEST FAILED")})));case 19:r.method?r.method(u).then(o).catch(a):a("No tracking defined!");case 20:case"end":return e.stop()}}),e)})));return function(t,e){return o.apply(this,arguments)}}()):Promise.resolve()},trackingInitialized:I,continueTryTracking:function(){H(f,k,E,1)},release:_,forwardTo:B,confirmationsRequired:g,confirmationsPassed:b}},t.children)},SG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(sR).account,r=kx.useContext(Ax).updatable,i=kx.useContext(KB),o=i.amount,a=i.currencyCode,s=kx.useContext(MF).amount,u=kx.useContext(qH).payment,c=QA(kx.useState(),2),l=c[0],h=c[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=kx.useContext(KB).currency,b=QA(kx.useState(0),2),w=b[0],M=b[1],k=function(t){var r=t.updatable,i=t.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),y(null),Promise.all([Promise.all(L[i.route.blockchain].stables.usd.map((function(t){return wF({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:t,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):wF({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?bt.from(i.route.toAmount).add(bt.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(t){var e,n=QA(t,2),r=n[0],o=n[1][0];if(o){var a=bt.from(o.amountOut),s=bt.from(i.route.fromAmount),u=100-a.mul(bt.from("100")).div(s).abs().toString();y(u>=10?u:null)}if(L[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=L[i.route.blockchain].tokens.find((function(t){return t.address===i.route.fromToken.address})).decimals;e=Uc(i.route.fromAmount.toString(),c)}else{var l=r.map((function(t){return t?t[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(t){var e=L[i.route.blockchain].tokens.find((function(e){return e.address===t.tokenOut})).decimals;return parseFloat(Uc(t.amountOut,e))})),f=d.reduce((function(t,e){return t+e}))/d.length,p=d.filter((function(t){return t<f+.1*f&&t>f-.1*f}));e=p.length?p.reduce((function(t,e){return t+e}))/p.length:d.reduce((function(t,e){return t+e}))/d.length}tR.fromUSD({amount:e,code:v}).then(h)})).catch(e))};return kx.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new tR({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),kx.useEffect((function(){n&&u&&k({updatable:r,payment:u})}),[u,n]),kx.useEffect((function(){var t=setTimeout((function(){M(w+1),k({updatable:r})}),15e3);return function(){return clearTimeout(t)}}),[w,r]),kx.createElement(sG.Provider,{value:{paymentValue:l,paymentValueLoss:g,displayedPaymentValue:f}},t.children)},IG=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],TG=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(!1),2),l=u[0],h=u[1];kx.useContext(xB).errorCallback;var d=kx.useContext(KB).recover,f=kx.useContext(sR),p=f.account,m=f.wallet;kx.useEffect((function(){if(l){var t=function(){fetch("https://public.depay.com/transactions/".concat(r.blockchain,"/").concat(r.from,"/").concat(r.nonce)).then((function(t){200==t.status&&t.json().then((function(t){"pending"!=t.status&&(s({id:t.external_id,status:t.status}),h(!1))}))}))},e=setInterval(t,5e3);return t(),function(){clearInterval(e)}}}),[l]);var g=function(){var t=e(c.mark((function t(e,n,r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r>3)){t.next=3;break}return console.log("TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!"),t.abrupt("return");case 3:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.id,t.t4=n.toString(),t.t5=e.blockchain,t.t6=e.from,t.next=12,EG({transaction:e,wallet:m,account:p});case 12:t.t7=t.sent,t.t8={id:t.t3,after_block:t.t4,blockchain:t.t5,sender:t.t6,nonce:t.t7},t.t9=t.t2.stringify.call(t.t2,t.t8),t.t10={method:"POST",headers:t.t1,body:t.t9},(0,t.t0)("https://public.depay.com/transactions",t.t10).then((function(t){200==t.status||201==t.status?console.log("TRANSACTION TRACKING INITIALIZED"):(console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3))})).catch((function(t){console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3)}));case 17:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}(),y=function t(n){var r=new WebSocket("wss://integrate.depay.com/cable");r.onopen=function(){var t=e(c.mark((function t(e){var i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=n.blockchain,t.t2=n.from,t.next=5,EG({transaction:n,wallet:m,account:p});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"TransactionChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),i={command:"subscribe",identifier:t.t5},r.send(JSON.stringify(i));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||t(n)},r.onmessage=function(t){var e=JSON.parse(t.data);"ping"!==e.type&&e.message&&e.message.status&&"pending"!=e.message.status&&(s(e.message),r.close(1e3))},r.onerror=function(t){console.log("WebSocket Error: "+t)}},v=function(t,e){Nx.evm.includes(t.blockchain)&&(i(t),null==d&&g(t,e,1),y(t),h(!0))};return kx.useEffect((function(){d&&v({blockchain:d.blockchain,id:d.transaction,from:d.sender,nonce:d.nonce},d.afterBlock)}),[d]),kx.createElement(oG.Provider,{value:{initializeTracking:v,foundTransaction:a}},t.children)},jG=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.accept,!e.recover){t.next=3;break}return t.abrupt("return");case 3:n.forEach((function(t){if(void 0===t.blockchain)throw"You need to set the blockchain your want to receive the payment on!";if(!Nx.includes(t.blockchain))throw"You need to set a supported blockchain!";if(void 0===t.token&&void 0===t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===t.token&&void 0!==t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===t.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),CG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.accept,r=e.amount,i=e.sent,o=e.succeeded,a=e.validated,s=e.failed,u=e.error,l=e.critical,h=e.style,d=e.whitelist,f=e.blacklist,p=e.providers,m=e.currency,g=e.connected,y=e.closed,v=e.track,b=e.recover,w=e.closable,M=e.integration,k=e.link,L=e.container,A=e.before,x=e.wallet,E=e.title,N=e.action,S=e.document,JB(),m&&!IG.includes(m.toLowerCase())&&(m=!1),t.prev=3,t.next=6,jG({accept:n,recover:b});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),I=VB({style:h,container:L,document:wB(S),closed:y},(function(t){return function(e){return kx.createElement(TB,{errorCallback:u,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"payment",before:A,amount:r,accept:n,currency:m,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:d,blacklist:f,providers:p,track:v,recover:b,integration:M,link:k,wallet:x,title:E,action:N}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:w},kx.createElement(mR,{document:S,container:e,connected:g,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:n},kx.createElement(VH,{accept:n,whitelist:d,blacklist:f,event:event,container:e,document:S},kx.createElement(TG,null,kx.createElement(NG,{document:wB(S)},kx.createElement(aG,{container:e,document:S},kx.createElement(SG,null,kx.createElement(LG,{document:S,container:e}),kx.createElement(Xz,null))))))))))))))}})),t.abrupt("return",{unmount:I});case 11:t.prev=11,t.t0=t.catch(3),console.log("critical error",t.t0),null!=l&&l(t.t0);case 15:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e){return t.apply(this,arguments)}}();CG.preload=function(t){var e=t.account,n=t.accept,r=t.whitelist,i=t.blacklist;t.event,YH({account:e,accept:n,whitelist:r,blacklist:i})};var DG=kx.createContext(),OG=kx.createContext(),_G=function(t){var e=kx.useContext(qH).payment,n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){e&&Promise.all([e.route.toToken.symbol(),e.route.toToken.readable(e.route.toAmount)]).then((function(t){var n=QA(t,2),r=n[0],o=n[1];i({address:e.route.toToken.address,symbol:r}),s(o)}))}),[e]),kx.createElement(OG.Provider,{value:{toToken:r,toTokenReadableAmount:a}},t.children)},zG=function(t){var e=kx.useContext(MF),n=e.acceptWithAmount,r=e.setMaxRoute,i=kx.useContext(KB).sell,o=kx.useContext(sR).account,a=kx.useContext(KB).blacklist;for(var s in null==a&&(a={}),i){var u=i[s];a[s]instanceof Array?a[s].push(u):a[s]=[u]}return kx.createElement(DG.Provider,{value:{}},kx.createElement(ZH,{accept:n,receiver:o,blacklist:a,setMaxRoute:r},kx.createElement(aG,{container:t.container,document:t.document},kx.createElement(SG,null,kx.createElement(_G,null,t.children)))))},PG=function(t){return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},BG=function(t){kx.useContext(MF).amount;var e,n=kx.useContext(KB),r=n.tokenImage,i=n.amount,o=kx.useContext(sG),a=o.paymentValue,s=o.displayedPaymentValue,u=kx.useContext(qH),c=u.payment,l=u.paymentState,h=kx.useContext(Pz).navigate,d=kx.useContext(OG),f=d.toToken,p=d.toTokenReadableAmount,m=QA(kx.useState(),2),g=m[0],y=m[1];if(kx.useEffect((function(){if(a&&(null==i||1!=i.token)&&p){var t=a.amount/parseFloat(p),e=new tR({amount:t,code:a.code}).toString();e!=new tR({amount:0,code:a.code}).toString()&&y(e)}}),[a,p]),null==f||null==p||null==c||null==a)return kx.createElement(PG,null);e=r?kx.createElement("img",{src:r}):kx.createElement(tG,{blockchain:c.route.blockchain,address:f.address});var v=L.findByName(c.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:["Card","initialized"!=l||i&&i.fix?"disabled":""].join(" "),title:"initialized"==l?"Change amount":void 0,onClick:function(){"initialized"==l&&(i&&i.fix||h("ChangeAmount"))}},kx.createElement("div",{className:"CardImage",title:c.name},e,kx.createElement("img",{className:"BlockchainLogo small "+v.name,src:v.logo,alt:v.label,title:v.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},f.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(p)))),g&&kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,g," per token")))),kx.createElement("div",{className:"CardAction"},(!i||!i.fix)&&kx.createElement(dG,null))),kx.createElement("div",{className:["Card","initialized"==l?"":"disabled"].join(" "),title:"initialized"==l?"Change payment":void 0,onClick:function(){"initialized"==l&&h("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:c.name},kx.createElement(tG,{blockchain:c.route.blockchain,address:c.token})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},c.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(c.amount))),i&&i.fix&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},s))))),kx.createElement("div",{className:"CardAction"},kx.createElement(dG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(yG,null))})},RG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator;return kx.createElement(Uz,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:t.container,document:t.document,dialogs:{SaleOverview:kx.createElement(BG,null),ChangeAmount:kx.createElement(uG,null),ChangePayment:kx.createElement(lG,null),NoPaymentOptionFound:kx.createElement(JH,null),PaymentOptions:kx.createElement(rG,null),PaymentFailed:kx.createElement(hG,null),WrongNetwork:kx.createElement(kG,null)}})},UG=function(){var t=e(c.mark((function t(e){var r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("object"==n(r=e.sell)){t.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(r).length){t.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(r).length){t.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),QG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.amount,r=e.sell,i=e.sent,o=e.succeeded,a=e.failed,s=e.error,u=e.critical,l=e.style,h=e.blacklist,d=e.providers,f=e.currency,p=e.connected,m=e.closed,g=e.tokenImage,y=e.closable,v=e.integration,b=e.wallet,w=e.document,JB(),t.prev=2,t.next=5,UG({sell:r});case 5:return M=Object.keys(r).map((function(t){return{blockchain:t,token:r[t]}})),k=VB({style:l,document:wB(w),closed:m},(function(t){return function(e){return kx.createElement(TB,{errorCallback:s,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"sale",tokenImage:g,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:h,providers:d,integration:v,wallet:b}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:y},kx.createElement(mR,{container:e,connected:p,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:M},kx.createElement(TG,null,kx.createElement(NG,{document:wB(w)},kx.createElement(zG,{container:e,document:w},kx.createElement(RG,{document:w,container:e}),kx.createElement(Xz,null))))))))))))}})),t.abrupt("return",{unmount:k});case 10:t.prev=10,t.t0=t.catch(2),console.log("critical error",t.t0),null!=u&&u(t.t0);case 14:case"end":return t.stop()}}),t,null,[[2,10]])})));return function(e){return t.apply(this,arguments)}}();function WG(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===t)return t;var n="";return n+=t.slice(0,e+2),n+="...",n+=t.slice(t.length-e,t.length)}var FG=function(t){var e,n,r,i,o;return o=Math.floor(t/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,e=Math.floor(n/30),n%=30,{year:Math.floor(e/12),month:e%=12,day:n,hour:r,minute:i,second:o}};function YG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function HG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?YG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):YG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var GG=function(t){var e,n,r=kx.useContext(Kz),i=r.selection;r.setSelection;var o,a,s=kx.useContext(Lx).setOpen,u=kx.useContext(Pz).navigate;i.nft.createdAt&&(o=[(o=FG(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" ")),i.nft.holders&&(a=i.nft.holders>1e6?"Millions":i.nft.holders>1e5?"Hundreds of Thousands":i.nft.holders>2e3?"Thousands":i.nft.holders>100?"Hundreds":"Only a Few!!!");var c=(null===(e=i.nft)||void 0===e?void 0:e.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==c)return u("SelectBlockchain"),null;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&kx.createElement("img",{src:i.nft.image})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i.nft.address,href:L.findByName(c).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},WG(i.nft.address,6))))),i.nft.id&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Token ID")),kx.createElement("td",null,kx.createElement("div",null,i.nft.id))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,L.findByName(c).label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),o&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,o))),a&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,a))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){s(!1),t.resolve(HG(HG({},i.nft),{},{blockchain:c})),setTimeout(t.unmount,300)}},"Confirm"))})},ZG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjMuMjUwODg5bW0iIGhlaWdodD0iNjMuMjUwODg5bW0iIHZpZXdCb3g9IjAgMCA2My4yNTA4ODYgNjMuMjUwODg4Ij4KICA8ZyBmaWxsPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC42MzI1KSI+CiAgICA8cGF0aCBmaWxsPSIjMjA4MWUyIiBkPSJNMTAwIDUwYzAgMjcuNjEyNy0yMi4zODczIDUwLTUwIDUwUzAgNzcuNjEyNyAwIDUwIDIyLjM4NzMgMCA1MCAwYzI3LjYxODUgMCA1MCAyMi4zODczIDUwIDUweiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTI0LjY2NzkgNTEuNjgwMS4yMTU3LS4zMzkxIDEzLjAwNy0yMC4zNDc4Yy4xOTAxLS4yOTc5LjYzNy0uMjY3MS43ODA4LjA1NjUgMi4xNzMgNC44Njk5IDQuMDQ4IDEwLjkyNjUgMy4xNjk2IDE0LjY5NzEtLjM3NSAxLjU1MTQtMS40MDI0IDMuNjUyNC0yLjU1ODMgNS41OTQyLS4xNDg5LjI4MjYtLjMxMzMuNTYtLjQ4OC44MjcxLS4wODIyLjEyMzMtLjIyMDkuMTk1Mi0uMzY5OS4xOTUySDI1LjA0OGMtLjM1OTYgMC0uNTcwMi0uMzkwNC0uMzgwMS0uNjgzMnoiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik04Mi42NDQ0IDU1LjQ2MXYzLjIyMDljMCAuMTg0OS0uMTEzLjM0OTMtLjI3NzQuNDIxMi0xLjAwNjguNDMxNS00LjQ1MzggMi4wMTM3LTUuODg3IDQuMDA2OS0zLjY1NzYgNS4wOTA4LTYuNDUyMSAxMi4zNy0xMi42OTg4IDEyLjM3SDM3LjcyMUMyOC40ODQ3IDc1LjQ4IDIxIDY3Ljk2OTcgMjEgNTguNzAyNHYtLjI5NzljMC0uMjQ2Ni4yMDAzLS40NDY5LjQ0NjktLjQ0NjloMTQuNTI3NmMuMjg3NiAwIC40OTgyLjI2NzEuNDcyNi41NDk2LS4xMDI4Ljk0NTIuMDcxOSAxLjkxMS41MTg4IDIuNzg5NC44NjMgMS43NTE4IDIuNjUwNyAyLjg0NiA0LjU4MjIgMi44NDZINDguNzR2LTUuNjE0OGgtNy4xMDk3Yy0uMzY0NyAwLS41ODA0LS40MjEzLS4zNjk4LS43MTkyLjA3Ny0uMTE4Mi4xNjQ0LS4yNDE0LjI1NjgtLjM4MDEuNjczLS45NTU1IDEuNjMzNi0yLjQ0MDEgMi41ODkxLTQuMTMwMi42NTI0LTEuMTQwNCAxLjI4NDItMi4zNTc5IDEuNzkyOC0zLjU4MDUuMTAyOC0uMjIwOS4xODQ5LS40NDcuMjY3MS0uNjY3OS4xMzg3LS4zOTA0LjI4MjYtLjc1NTEuMzg1My0xLjExOTguMTAyOC0uMzA4My4xODQ5LS42MzE5LjI2NzEtLjkzNS4yNDE1LTEuMDM3Ny4zNDQyLTIuMTM3LjM0NDItMy4yNzc0IDAtLjQ0NjktLjAyMDUtLjkxNDQtLjA2MTYtMS4zNjEzLS4wMjA2LS40ODgtLjA4MjItLjk3NjEtLjE0MzktMS40NjQxLS4wNDExLS40MzE1LS4xMTgxLS44NTc5LS4yMDAzLTEuMzA0OC0uMTAyNy0uNjUyNC0uMjQ2Ni0xLjI5OTYtLjQxMS0xLjk1MjFsLS4wNTY1LS4yNDY1Yy0uMTIzMy0uNDQ3LS4yMjYtLjg3MzMtLjM2OTgtMS4zMjAyLS40MDU5LTEuNDAyNS0uODczMy0yLjc2ODktMS4zNjY1LTQuMDQ4LS4xNzk4LS41MDg2LS4zODUzLS45OTY2LS41OTA4LTEuNDg0Ni0uMzAzLS43MzQ2LS42MTEzLTEuNDAyNC0uODkzOC0yLjAzNDMtLjE0MzgtLjI4NzctLjI2NzEtLjU0OTctLjM5MDQtLjgxNjgtLjEzODctLjMwMzEtLjI4MjUtLjYwNjItLjQyNjQtLjg5MzgtLjEwMjctLjIyMDktLjIyMDktLjQyNjQtLjMwMzEtLjYzMTlsLS44Nzg0LTEuNjIzM2MtLjEyMzMtLjIyMDkuMDgyMi0uNDgyOS4zMjM2LS40MTYxbDUuNDk2NyAxLjQ4OTdoLjAxNTRjLjAxMDIgMCAuMDE1NC4wMDUyLjAyMDUuMDA1MmwuNzI0My4yMDAzLjc5NjMuMjI2MS4yOTI4LjA4MjF2LTMuMjY3MUM0OC43NCAyMS4yNzkxIDUwLjAwMzcgMjAgNTEuNTY1NCAyMGMuNzgwOCAwIDEuNDg5Ny4zMTg1IDEuOTk4My44MzczLjUwODUuNTE4OS44MjcgMS4yMjc4LjgyNyAyLjAxODl2NC44NDk0bC41ODU3LjE2NDNjLjA0NjIuMDE1NS4wOTI0LjAzNi4xMzM1LjA2NjguMTQzOS4xMDc5LjM0OTMuMjY3MS42MTEzLjQ2MjQuMjA1NS4xNjQzLjQyNjQuMzY0Ny42OTM1LjU3MDIuNTI5MS40MjYzIDEuMTYxLjk3NiAxLjg1NDUgMS42MDc5LjE4NDkuMTU5Mi4zNjQ3LjMyMzYuNTI5MS40ODguODkzOS44MzIyIDEuODk1NiAxLjgwODIgMi44NTExIDIuODg3LjI2NzEuMzAzMS41MjkxLjYxMTMuNzk2Mi45MzQ5LjI2NzEuMzI4OC41NDk3LjY1MjQuNzk2Mi45NzYxLjMyMzcuNDMxNS42NzMuODc4NC45NzYxIDEuMzQ1OS4xNDM4LjIyMDkuMzA4Mi40NDY5LjQ0NjkuNjY3OC4zOTA0LjU5MDcuNzM0NiAxLjIwMjEgMS4wNjM0IDEuODEzNC4xMzg3LjI4MjUuMjgyNS41OTA3LjQwNTguODkzOC4zNjQ3LjgxNjguNjUyNCAxLjY0OS44MzczIDIuNDgxMi4wNTY1LjE3OTguMDk3Ni4zNzUuMTE4Mi41NDk3di4wNDExYy4wNjE2LjI0NjUuMDgyMi41MDg1LjEwMjcuNzc1Ni4wODIyLjg1MjguMDQxMSAxLjcwNTUtLjE0MzggMi41NjM0LS4wNzcxLjM2NDgtLjE3OTguNzA4OS0uMzAzMSAxLjA3MzctLjEyMzMuMzQ5My0uMjQ2Ni43MTQtLjQwNTggMS4wNTgyLS4zMDgyLjcxNC0uNjczIDEuNDI4MS0xLjEwNDUgMi4wOTU5LS4xMzg3LjI0NjYtLjMwMzEuNTA4Ni0uNDY3NS43NTUyLS4xNzk4LjI2MTktLjM2NDcuNTA4NS0uNTI5MS43NS0uMjI2LjMwODItLjQ2NzQuNjMxOC0uNzE0LjkxOTUtLjIyMDkuMzAzMS0uNDQ2OS42MDYyLS42OTM1Ljg3MzMtLjM0NDIuNDA1OC0uNjczLjc5MTEtMS4wMTcyIDEuMTYxLS4yMDU0LjI0MTQtLjQyNjMuNDg4LS42NTI0LjcwODktLjIyMDguMjQ2NS0uNDQ2OS40Njc0LS42NTI0LjY3MjktLjM0NDEuMzQ0Mi0uNjMxOC42MTEzLS44NzMzLjgzMjJsLS41NjUuNTE4OWMtLjA4MjIuMDcxOS0uMTkwMS4xMTMtLjMwMzEuMTEzaC00LjM3Njh2NS42MTQ4aDUuNTA2OWMxLjIzMjkgMCAyLjQwNDItLjQzNjcgMy4zNDk0LTEuMjM4MS4zMjM2LS4yODI1IDEuNzM2My0xLjUwNTEgMy40MDU4LTMuMzQ5My4wNTY1LS4wNjE3LjEyODUtLjEwNzkuMjEwNy0uMTI4NGwxNS4yMTA3LTQuMzk3M2MuMjgyNi0uMDgyMi41NzAyLjEzMzUuNTcwMi40MzE1eiIvPgogIDwvZz4KPC9zdmc+",VG=function(t){var n,r,i,o,a,s,u=kx.useContext(Pz).navigate,l=kx.useContext(Kz),h=l.selection,d=l.setSelection,f=QA(kx.useState(""),2),p=f[0],m=f[1],g=QA(kx.useState(""),2),y=g[0],v=g[1],b=QA(kx.useState(""),2),w=b[0],M=b[1],k=QA(kx.useState(""),2),A=k[0],x=k[1],E=QA(kx.useState(!1),2),N=E[0],S=E[1];return kx.useEffect((function(){var t,n,r=(null==h||null===(t=h.blockchain)||void 0===t?void 0:t.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain),i=function(){var t=e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r){t.next=10;break}return t.prev=1,t.next=4,CL({blockchain:r,address:h.nft.address,method:"balanceOf",api:YR[r][1155],params:["0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02","1"]});case 4:e=t.sent,t.next=9;break;case 7:t.prev=7,t.t0=t.catch(1);case 9:e&&S(!0);case 10:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(){return t.apply(this,arguments)}}();i()}),[h.blockchain]),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:ZG}))))),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTBlockchain"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Select Blockchain"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("div",{className:"Card small",onClick:function(){return u("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:null===(n=L.findByName((null==h||null===(r=h.blockchain)||void 0===r?void 0:r.name)||(null==h?void 0:h.blockchain)||(null==h||null===(i=h.collection)||void 0===i?void 0:i.blockchain)))||void 0===n?void 0:n.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},null===(o=L.findByName((null==h||null===(a=h.blockchain)||void 0===a?void 0:a.name)||(null==h?void 0:h.blockchain)||(null==h||null===(s=h.collection)||void 0===s?void 0:s.blockchain)))||void 0===o?void 0:o.label),kx.createElement("div",{className:"CardAction"},kx.createElement(dG,null))))),N&&kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:p,onChange:function(t){return m(t.target.value)},className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter NFT Name"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:A,onChange:function(t){return x(t.target.value)},placeholder:"CryptoPunks",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Image URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:y,onChange:function(t){return v(t.target.value)},placeholder:"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Link URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:w,onChange:function(t){return M(t.target.value)},placeholder:"https://opensea.io/collection/cryptopunks",className:"Search"})))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:["ButtonPrimary",y.length&&w.length&&A.length&&(!N||p.length)?"":"disabled"].join(" "),onClick:function(){y.length&&w.length&&A.length&&(!N||p.length)&&function(){var e,n,r=(null==h||null===(e=h.blockchain)||void 0===e?void 0:e.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain);d(Object.assign(t.selection,{nft:{blockchain:r,id:p,image:y,name:A,link:w,address:h.nft.address,type:N?"1155":"721"}})),u("ConfirmNFTSelection")}()}},"Continue"))})},JG={ethereum:"ethereum",matic:"polygon,"},qG=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz).setSelection,m=function(e){p(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},g=function(t){return new Promise((function(e,n){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(t)).then((function(t){if(200!=t.status)return e();t.json().then((function(t){return e(t.assets?t.assets[0]:void 0)})).catch((function(){return e()}))})).catch((function(){return e()}))}))},y=kx.useCallback(pR.debounce((function(n){fetch("https://api.opensea.io/api/v1/asset_contract/".concat(n)).then((function(i){200==i.status?i.json().then(function(){var i=e(c.mark((function e(i){var o,s,u,h,d,y,v,b,w,M;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("non-fungible"!=i.asset_contract_type){e.next=8;break}return e.next=3,g(n);case 3:(h=e.sent)&&(s=null!=h&&h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?JG[h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,u=null==h||null===(d=h.collection)||void 0===d||null===(y=d.stats)||void 0===y?void 0:y.num_owners),o={blockchain:s,holders:u,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"721"},e.next=22;break;case 8:if("semi-fungible"!=i.asset_contract_type){e.next=21;break}if("OPENSTORE"!=i.symbol||"OpenSea Collection"!=i.name){e.next=13;break}o={id:null,address:ln(i.address),type:"1155"},e.next=19;break;case 13:return e.next=15,g(n);case 15:w=e.sent,M=null!=w&&w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?JG[w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,null==w||null===(v=w.collection)||void 0===v||null===(b=v.stats)||void 0===b||b.num_owners,o={blockchain:M,id:null,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"1155"};case 19:e.next=22;break;case 21:i.address&&(o={address:ln(i.address)});case 22:o&&(null==o.type?(p(Object.assign(t.selection,{nft:o,blockchain:o.blockchain||"polygon"})),r("EnterNFTDataForOpenSea"),a("")):null!==o.id?(m(o),f([o]),r("ConfirmNFTSelection")):(p(Object.assign(t.selection,{nft:o})),r("SelectNFTIdOnOpenSea"),a(""))),l(!1);case 24:case"end":return e.stop()}}),e)})));return function(t){return i.apply(this,arguments)}}()).catch((function(){l(!1)})):l(!1)})).catch((function(){l(!1)}))}),500),[]);return n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return m(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:ZG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterContractAddress"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter contract address"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterContractAddress",name:"DePayWidgetsEnterContractAddress",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?y(e):l(!1)},className:"Search",autoFocus:!0,placeholder:"0x495f947276749ce646f68ac8c248420045cb7b5e"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})};function XG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function KG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?XG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):XG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var $G={ethereum:"ethereum",matic:"polygon,"},tZ=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz),m=p.selection,g=p.setSelection,y=function(e){g(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},v=kx.useCallback(pR.debounce((function(t){fetch("https://api.opensea.io/api/v1/asset/".concat(m.nft.address,"/").concat(t)).then((function(t){if(200!=t.status)return resolve();t.json().then(function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=null!=e&&e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?$G[e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,r=KG(KG({},m.nft),{},{blockchain:n,id:e.token_id,image:e.image_url,name:e.name,link:e.permalink}),f([r]),y(r),l(!1);case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(){l(!1)}))})).catch((function(){l(!1)}))}),500),[]);return kx.useEffect((function(){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(m.nft.address)).then((function(t){if(200!=t.status)return resolve();t.json().then((function(t){if(t.assets.length<=6){var e=t.assets.map((function(t){var e=null!=t&&t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?$G[t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0;return KG(KG({},m.nft),{},{blockchain:e,id:t.token_id,image:t.image_url,name:t.name,link:t.permalink})}));f(e),1==e.length&&y(e[0])}}))}))}),[]),n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return y(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:ZG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterCollectionId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterCollectionId",name:"DePayWidgetsEnterCollectionId",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?v(e):l(!1)},className:"Search",placeholder:"35347623114821255323888368639026081793120226253597860997754787918389704654849"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})},eZ=function(t){var e=kx.useContext(Pz).navigate,n=[{name:"OpenSea",navigate:"SelectNFTContractOnOpenSea",logo:ZG}].map((function(t,n){return kx.createElement("div",{key:n,className:"Card Row",onClick:function(){return function(t){e(t.navigate)}(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.logo})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:t.name},kx.createElement("span",{className:"CardText"},t.name)),kx.createElement("div",{className:"CardTokenName PaddingTopXS"},kx.createElement(dG,null))))}));return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select NFT")),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Choose which marketplace"))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},n)})},nZ=function(t){kx.useContext(KB).what;var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(Kz),o=i.selection;i.setSelection;var a=QA(kx.useState(),2);a[0];var s,u=a[1];return s="SelectMarketplace",kx.createElement(Uz,{open:n,close:r,start:s,container:t.container,document:t.document,setNavigator:function(t){u(t)},dialogs:{SelectMarketplace:kx.createElement(eZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTContractOnOpenSea:kx.createElement(qG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTIdOnOpenSea:kx.createElement(tZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),EnterNFTDataForOpenSea:kx.createElement(VG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmNFTSelection:kx.createElement(GG,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},rZ=function(t){var e=kx.useContext(Kz).selection,n=kx.useContext(Lx).setOpen,r=e.token,i=r.address||r.external_id,o=r.logo||r.image,a=L.findByName(r.blockchain),s=r.first_transfer?FG(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},o&&kx.createElement("img",{src:o}),!o&&kx.createElement(tG,{blockchain:r.blockchain,address:i})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},WG(i,8))))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,a.label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Symbol")),kx.createElement("td",null,kx.createElement("div",null,r.symbol))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("div",null,r.name))),s&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,s))),u&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,u))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),t.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(t.unmount,300)}},"Confirm"))})},iZ=function(t){var n=kx.useContext(Pz).navigate,r=kx.useContext(Lx).setOpen,i=kx.useContext(Kz).setSelection,o=QA(kx.useState(!1),2),a=o[0],s=o[1],u=QA(kx.useState(""),2),l=u[0],h=u[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(!1),2),g=m[0],y=m[1],v=QA(kx.useState([]),2),b=v[0],w=v[1],M=QA(kx.useState(),2);M[0],M[1];var k=kx.useRef(),A=function(e){var n=L.findByName(e);p(n),i(Object.assign(t.selection,{blockchain:n,token:void 0})),w(n.tokens)};kx.useEffect((function(){e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,BA();case 2:(e=t.sent[0])?e.connectedTo().then((function(t){var e=L.findByName(t);window._depay_token_selection_selected_blockchain?A(window._depay_token_selection_selected_blockchain):t&&t.length&&e&&e.tokens&&e.tokens.length?A(t):A("ethereum")})).catch((function(){return A("ethereum")})):A("ethereum");case 4:case"end":return t.stop()}}),t)})))()}),[]),kx.useEffect((function(){t.selection.blockchain&&(p(t.selection.blockchain),w(t.selection.blockchain.tokens),k.current&&(k.current.value="",k.current.focus()))}),[t.selection,t.selection.blockchain]);var x,E=kx.useCallback(pR.debounce((function(t,e){fetch("https://public.depay.com/tokens/search?blockchain=".concat(e,"&term=").concat(t)).then((function(t){200==t.status?t.json().then((function(t){w(t),s(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return x=a?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:b.map((function(e,o){return kx.createElement("div",{key:"".concat(o,"-").concat(e.address),className:"Card Row",onClick:function(){return function(e){e.address&&e.address.match("0x")&&(e.address=ln(e.address)),e.external_id&&e.external_id.match("0x")&&(e.external_id=ln(e.external_id)),f.tokens.find((function(t){return t.address==(e.address||e.external_id)}))?(r(!1),t.resolve({blockchain:f.name,address:e.address||e.external_id,logo:e.logo||e.image,name:e.name,symbol:e.symbol,decimals:e.decimals,routable:!0}),setTimeout(t.unmount,300)):(i(Object.assign(t.selection,{token:e})),n("ConfirmTokenSelection"))}(e)}},kx.createElement("div",{className:"CardImage"},e.logo&&kx.createElement("img",{src:e.logo}),e.image&&kx.createElement("img",{src:e.image}),!(e.logo||e.image)&&kx.createElement(tG,{blockchain:e.blockchain,address:e.external_id||e.address})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:e.symbol},kx.createElement("span",{className:"CardText"},e.symbol)),kx.createElement("div",{className:"CardTokenName",title:e.name},kx.createElement("span",{className:"CardText"},e.name))))})),null==f?null:kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS"},kx.createElement("div",{className:"Card small",onClick:function(){n("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:f.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},f.label),kx.createElement("div",{className:"CardAction"},kx.createElement(dG,null)))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("input",{value:l,onBlur:function(){return y(!1)},onChange:function(t){y(!1),s(!0);var e=t.target.value;if(h(e),e.match(/^0x/)){var n;w([]);try{n=new YR({blockchain:f.name,address:e})}catch(t){}if(null==n)return void s(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(f.name,"/").concat(e)).then((function(t){if(200==t.status)return t.json()}))]).then((function(t){var n=QA(t,4),r=n[0],i=n[1],o=n[2],a=n[3];w([{name:r,symbol:i,decimals:o,address:e,blockchain:f.name,routable:!!a}]),s(!1)}))}else e&&e.length?(w([]),E(e,f.name)):(w(f.tokens),s(!1))},className:"Search",autoFocus:!0,placeholder:"Search name or paste address",ref:k}),g&&kx.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},kx.createElement("div",{className:"Tooltip"},kx.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},x),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},kx.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),k.current&&(k.current.value="",k.current.focus())}},"Token missing? Add it.")))})},oZ=function(t){kx.useContext(KB).what;var e,n=kx.useContext(Lx),r=n.open,i=n.close,o=kx.useContext(Kz).selection;return e="SelectToken",kx.createElement(Uz,{open:r,close:i,start:e,container:t.container,document:t.document,dialogs:{SelectToken:kx.createElement(iZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmTokenSelection:kx.createElement(rZ,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},aZ={Connect:function(t){var r,i,o;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(a){return kx.createElement(TB,{errorCallback:i,container:a,unmount:t},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,kx.createElement(bB,{document:o,container:a,resolve:e,reject:n,autoClose:!0}),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Login:function(t){var r,i,o,a,s,u,l;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.message,s=t.endpoint,u=t.recover,l=t.wallet),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{message:a,endpoint:s||"/login",recoverSignature:u,wallet:l}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(mR,{container:n,unmount:t},kx.createElement(cR,{document:o,container:n,resolve:function(n){var r=n.account,i=n.wallet;t(),e({account:r,wallet:i})}}),kx.createElement(Xz,null))))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Payment:CG,Sale:QG,Select:function(t){var r,i,o,a,s;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.what),null==a?s='"what" needs to be configured!':["token","nft"].indexOf(a)<0&&(s='Unknown "what" configured: '.concat(a,"!")),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{error:s,errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{what:a}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,"token"==a&&kx.createElement(oZ,{document:o,container:n,unmount:t,resolve:e}),"nft"==a&&kx.createElement(nZ,{document:o,container:n,unmount:t,resolve:e})),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Loading:aR};export{aZ as default};