test-raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 45.3 kB
JavaScript
var Un=Object.defineProperty,On=Object.defineProperties;var Rn=Object.getOwnPropertyDescriptors;var me=Object.getOwnPropertySymbols;var nn=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable;var en=(e,n,t)=>n in e?Un(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))nn.call(n,t)&&en(e,t,n[t]);if(me)for(var t of me(n))tn.call(n,t)&&en(e,t,n[t]);return e},ie=(e,n)=>On(e,Rn(n));var rn=(e,n)=>{var t={};for(var r in e)nn.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&me)for(var r of me(e))n.indexOf(r)<0&&tn.call(e,r)&&(t[r]=e[r]);return t};import{PublicKey as Cn}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as on}from"@solana/spl-token";var oe={chainId:101,address:Cn.default.toBase58(),programId:on.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},K={chainId:101,address:"So11111111111111111111111111111111111111112",programId:on.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Kn}from"@solana/web3.js";import un,{isBN as ui}from"bn.js";import{bits as ar,BitStructure as cr,blob as Fn,Blob as fr,cstr as lr,f32 as pr,f32be as dr,f64 as mr,f64be as gr,greedy as hr,Layout as Mn,ns64 as br,ns64be as wr,nu64 as yr,nu64be as Pr,offset as xr,s16 as Nr,s16be as Tr,s24 as Sr,s24be as kr,s32 as Lr,s32be as Br,s40 as Dr,s40be as Er,s48 as vr,s48be as _r,s8 as Wr,seq as Ar,struct as Ur,Structure as qn,u16 as Or,u16be as Rr,u24 as Cr,u24be as Fr,u32 as Mr,u32be as qr,u40 as Ir,u40be as Kr,u48 as jr,u48be as Zr,u8 as Hr,UInt as In,union as Vr,Union as Yr,unionLayoutDiscriminator as Gr,utf8 as Xr}from"@solana/buffer-layout";var ve=Mn,sn=qn;var _e=In;var We=Fn;var Ae=class extends ve{constructor(t,r,i){super(t,i);this.blob=We(t),this.signed=r}decode(t,r=0){let i=new un(this.blob.decode(t,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,r,i=0){return typeof t=="number"&&(t=new un(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),r,i)}};function Re(e){return new _e(1,e)}function Ce(e){return new _e(4,e)}function an(e){return new Ae(8,!1,e)}var Ue=class extends ve{constructor(t,r,i,o){super(t.span,o);this.layout=t,this.decoder=r,this.encoder=i}decode(t,r){return this.decoder(this.layout.decode(t,r))}encode(t,r,i){return this.layout.encode(this.encoder(t),r,i)}getSpan(t,r){return this.layout.getSpan(t,r)}};function Fe(e){return new Ue(We(32),n=>new Kn(n),n=>n.toBuffer(),e)}var Oe=class extends sn{decode(n,t){return super.decode(n,t)}};function cn(e,n,t){return new Oe(e,n,t)}var pi=cn([Ce("mintAuthorityOption"),Fe("mintAuthority"),an("supply"),Re("decimals"),Re("isInitialized"),Ce("freezeAuthorityOption"),Fe("freezeAuthority")]);import{PublicKey as nr}from"@solana/web3.js";import{MintLayout as An,TOKEN_PROGRAM_ID as tr}from"@solana/spl-token";import Jt from"big.js";import Le from"bn.js";import U from"bn.js";var ee=9e15,J=1e9,Me="0123456789abcdef",he="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",be="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",qe={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ee,maxE:ee,crypto:!1},dn,Y,b=!0,ye="[DecimalError] ",z=ye+"Invalid argument: ",mn=ye+"Precision limit exceeded",gn=ye+"crypto unavailable",hn="[object Decimal]",W=Math.floor,D=Math.pow,jn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Zn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Hn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,bn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,q=1e7,h=7,Vn=9007199254740991,Yn=he.length-1,Ie=be.length-1,d={toStringTag:hn};d.absoluteValue=d.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),m(e)};d.ceil=function(){return m(new this.constructor(this),this.e+1,2)};d.clampedTo=d.clamp=function(e,n){var t,r=this,i=r.constructor;if(e=new i(e),n=new i(n),!e.s||!n.s)return new i(NaN);if(e.gt(n))throw Error(z+n);return t=r.cmp(e),t<0?e:r.cmp(n)>0?n:new i(r)};d.comparedTo=d.cmp=function(e){var n,t,r,i,o=this,s=o.d,u=(e=new o.constructor(e)).d,c=o.s,a=e.s;if(!s||!u)return!c||!a?NaN:c!==a?c:s===u?0:!s^c<0?1:-1;if(!s[0]||!u[0])return s[0]?c:u[0]?-a:0;if(c!==a)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(r=s.length,i=u.length,n=0,t=r<i?r:i;n<t;++n)if(s[n]!==u[n])return s[n]>u[n]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};d.cosine=d.cos=function(){var e,n,t=this,r=t.constructor;return t.d?t.d[0]?(e=r.precision,n=r.rounding,r.precision=e+Math.max(t.e,t.sd())+h,r.rounding=1,t=Gn(r,Nn(r,t)),r.precision=e,r.rounding=n,m(Y==2||Y==3?t.neg():t,e,n,!0)):new r(1):new r(NaN)};d.cubeRoot=d.cbrt=function(){var e,n,t,r,i,o,s,u,c,a,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(b=!1,o=f.s*D(f.s*f,1/3),!o||Math.abs(o)==1/0?(t=E(f.d),e=f.e,(o=(e-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=D(t,1/3),e=W((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new l(t),r.s=f.s):r=new l(o.toString()),s=(e=l.precision)+3;;)if(u=r,c=u.times(u).times(u),a=c.plus(f),r=N(a.plus(f).times(u),a.plus(c),s+2,1),E(u.d).slice(0,s)===(t=E(r.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(m(u,e+1,0),u.times(u).times(u).eq(f))){r=u;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(m(r,e+1,1),n=!r.times(r).times(r).eq(f));break}return b=!0,m(r,e,l.rounding,n)};d.decimalPlaces=d.dp=function(){var e,n=this.d,t=NaN;if(n){if(e=n.length-1,t=(e-W(this.e/h))*h,e=n[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};d.dividedBy=d.div=function(e){return N(this,new this.constructor(e))};d.dividedToIntegerBy=d.divToInt=function(e){var n=this,t=n.constructor;return m(N(n,new t(e),0,1,1),t.precision,t.rounding)};d.equals=d.eq=function(e){return this.cmp(e)===0};d.floor=function(){return m(new this.constructor(this),this.e+1,3)};d.greaterThan=d.gt=function(e){return this.cmp(e)>0};d.greaterThanOrEqualTo=d.gte=function(e){var n=this.cmp(e);return n==1||n===0};d.hyperbolicCosine=d.cosh=function(){var e,n,t,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;t=s.precision,r=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),n=(1/xe(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),o=ne(s,1,o.times(n),new s(1),!0);for(var c,a=e,f=new s(8);a--;)c=o.times(o),o=u.minus(c.times(f.minus(c.times(f))));return m(o,s.precision=t,s.rounding=r,!0)};d.hyperbolicSine=d.sinh=function(){var e,n,t,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(n=o.precision,t=o.rounding,o.precision=n+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=ne(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/xe(5,e)),i=ne(o,2,i,i,!0);for(var s,u=new o(5),c=new o(16),a=new o(20);e--;)s=i.times(i),i=i.times(u.plus(s.times(c.times(s).plus(a))))}return o.precision=n,o.rounding=t,m(i,n,t,!0)};d.hyperbolicTangent=d.tanh=function(){var e,n,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(e=r.precision,n=r.rounding,r.precision=e+7,r.rounding=1,N(t.sinh(),t.cosh(),r.precision=e,r.rounding=n)):new r(t.s)};d.inverseCosine=d.acos=function(){var e,n=this,t=n.constructor,r=n.abs().cmp(1),i=t.precision,o=t.rounding;return r!==-1?r===0?n.isNeg()?M(t,i,o):new t(0):new t(NaN):n.isZero()?M(t,i+4,o).times(.5):(t.precision=i+6,t.rounding=1,n=n.asin(),e=M(t,i+4,o).times(.5),t.precision=i,t.rounding=o,e.minus(n))};d.inverseHyperbolicCosine=d.acosh=function(){var e,n,t=this,r=t.constructor;return t.lte(1)?new r(t.eq(1)?0:NaN):t.isFinite()?(e=r.precision,n=r.rounding,r.precision=e+Math.max(Math.abs(t.e),t.sd())+4,r.rounding=1,b=!1,t=t.times(t).minus(1).sqrt().plus(t),b=!0,r.precision=e,r.rounding=n,t.ln()):new r(t)};d.inverseHyperbolicSine=d.asinh=function(){var e,n,t=this,r=t.constructor;return!t.isFinite()||t.isZero()?new r(t):(e=r.precision,n=r.rounding,r.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,r.rounding=1,b=!1,t=t.times(t).plus(1).sqrt().plus(t),b=!0,r.precision=e,r.rounding=n,t.ln())};d.inverseHyperbolicTangent=d.atanh=function(){var e,n,t,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):(e=o.precision,n=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?m(new o(i),e,n,!0):(o.precision=t=r-i.e,i=N(i.plus(1),new o(1).minus(i),t+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=n,i.times(.5))):new o(NaN)};d.inverseSine=d.asin=function(){var e,n,t,r,i=this,o=i.constructor;return i.isZero()?new o(i):(n=i.abs().cmp(1),t=o.precision,r=o.rounding,n!==-1?n===0?(e=M(o,t+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=r,i.times(2)))};d.inverseTangent=d.atan=function(){var e,n,t,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding;if(a.isFinite()){if(a.isZero())return new f(a);if(a.abs().eq(1)&&l+4<=Ie)return s=M(f,l+4,p).times(.25),s.s=a.s,s}else{if(!a.s)return new f(NaN);if(l+4<=Ie)return s=M(f,l+4,p).times(.5),s.s=a.s,s}for(f.precision=u=l+10,f.rounding=1,t=Math.min(28,u/h+2|0),e=t;e;--e)a=a.div(a.times(a).plus(1).sqrt().plus(1));for(b=!1,n=Math.ceil(u/h),r=1,c=a.times(a),s=new f(a),i=a;e!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[n]!==void 0)for(e=n;s.d[e]===o.d[e]&&e--;);return t&&(s=s.times(2<<t-1)),b=!0,m(s,f.precision=l,f.rounding=p,!0)};d.isFinite=function(){return!!this.d};d.isInteger=d.isInt=function(){return!!this.d&&W(this.e/h)>this.d.length-2};d.isNaN=function(){return!this.s};d.isNegative=d.isNeg=function(){return this.s<0};d.isPositive=d.isPos=function(){return this.s>0};d.isZero=function(){return!!this.d&&this.d[0]===0};d.lessThan=d.lt=function(e){return this.cmp(e)<0};d.lessThanOrEqualTo=d.lte=function(e){return this.cmp(e)<1};d.logarithm=d.log=function(e){var n,t,r,i,o,s,u,c,a=this,f=a.constructor,l=f.precision,p=f.rounding,g=5;if(e==null)e=new f(10),n=!0;else{if(e=new f(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new f(NaN);n=e.eq(10)}if(t=a.d,a.s<0||!t||!t[0]||a.eq(1))return new f(t&&!t[0]?-1/0:a.s!=1?NaN:t?0:1/0);if(n)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(b=!1,u=l+g,s=$(a,u),r=n?we(f,u+10):$(e,u),c=N(s,r,u,1),se(c.d,i=l,p))do if(u+=10,s=$(a,u),r=n?we(f,u+10):$(e,u),c=N(s,r,u,1),!o){+E(c.d).slice(i+1,i+15)+1==1e14&&(c=m(c,l+1,0));break}while(se(c.d,i+=10,p));return b=!0,m(c,l,p)};d.minus=d.sub=function(e){var n,t,r,i,o,s,u,c,a,f,l,p,g=this,y=g.constructor;if(e=new y(e),!g.d||!e.d)return!g.s||!e.s?e=new y(NaN):g.d?e.s=-e.s:e=new y(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(a=g.d,p=e.d,u=y.precision,c=y.rounding,!a[0]||!p[0]){if(p[0])e.s=-e.s;else if(a[0])e=new y(g);else return new y(c===3?-0:0);return b?m(e,u,c):e}if(t=W(e.e/h),f=W(g.e/h),a=a.slice(),o=f-t,o){for(l=o<0,l?(n=a,o=-o,s=p.length):(n=p,t=f,s=a.length),r=Math.max(Math.ceil(u/h),s)+2,o>r&&(o=r,n.length=1),n.reverse(),r=o;r--;)n.push(0);n.reverse()}else{for(r=a.length,s=p.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(a[r]!=p[r]){l=a[r]<p[r];break}o=0}for(l&&(n=a,a=p,p=n,e.s=-e.s),s=a.length,r=p.length-s;r>0;--r)a[s++]=0;for(r=p.length;r>o;){if(a[--r]<p[r]){for(i=r;i&&a[--i]===0;)a[i]=q-1;--a[i],a[r]+=q}a[r]-=p[r]}for(;a[--s]===0;)a.pop();for(;a[0]===0;a.shift())--t;return a[0]?(e.d=a,e.e=Pe(a,t),b?m(e,u,c):e):new y(c===3?-0:0)};d.modulo=d.mod=function(e){var n,t=this,r=t.constructor;return e=new r(e),!t.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||t.d&&!t.d[0]?m(new r(t),r.precision,r.rounding):(b=!1,r.modulo==9?(n=N(t,e.abs(),0,3,1),n.s*=e.s):n=N(t,e,0,r.modulo,1),n=n.times(e),b=!0,t.minus(n))};d.naturalExponential=d.exp=function(){return Ke(this)};d.naturalLogarithm=d.ln=function(){return $(this)};d.negated=d.neg=function(){var e=new this.constructor(this);return e.s=-e.s,m(e)};d.plus=d.add=function(e){var n,t,r,i,o,s,u,c,a,f,l=this,p=l.constructor;if(e=new p(e),!l.d||!e.d)return!l.s||!e.s?e=new p(NaN):l.d||(e=new p(e.d||l.s===e.s?l:NaN)),e;if(l.s!=e.s)return e.s=-e.s,l.minus(e);if(a=l.d,f=e.d,u=p.precision,c=p.rounding,!a[0]||!f[0])return f[0]||(e=new p(l)),b?m(e,u,c):e;if(o=W(l.e/h),r=W(e.e/h),a=a.slice(),i=o-r,i){for(i<0?(t=a,i=-i,s=f.length):(t=f,r=o,s=a.length),o=Math.ceil(u/h),s=o>s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=a.length,i=f.length,s-i<0&&(i=s,t=f,f=a,a=t),n=0;i;)n=(a[--i]=a[i]+f[i]+n)/q|0,a[i]%=q;for(n&&(a.unshift(n),++r),s=a.length;a[--s]==0;)a.pop();return e.d=a,e.e=Pe(a,r),b?m(e,u,c):e};d.precision=d.sd=function(e){var n,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(z+e);return t.d?(n=wn(t.d),e&&t.e+1>n&&(n=t.e+1)):n=NaN,n};d.round=function(){var e=this,n=e.constructor;return m(new n(e),e.e+1,n.rounding)};d.sine=d.sin=function(){var e,n,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(e=r.precision,n=r.rounding,r.precision=e+Math.max(t.e,t.sd())+h,r.rounding=1,t=$n(r,Nn(r,t)),r.precision=e,r.rounding=n,m(Y>2?t.neg():t,e,n,!0)):new r(NaN)};d.squareRoot=d.sqrt=function(){var e,n,t,r,i,o,s=this,u=s.d,c=s.e,a=s.s,f=s.constructor;if(a!==1||!u||!u[0])return new f(!a||a<0&&(!u||u[0])?NaN:u?s:1/0);for(b=!1,a=Math.sqrt(+s),a==0||a==1/0?(n=E(u),(n.length+c)%2==0&&(n+="0"),a=Math.sqrt(n),c=W((c+1)/2)-(c<0||c%2),a==1/0?n="5e"+c:(n=a.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),r=new f(n)):r=new f(a.toString()),t=(c=f.precision)+3;;)if(o=r,r=o.plus(N(s,o,t+2,1)).times(.5),E(o.d).slice(0,t)===(n=E(r.d)).slice(0,t))if(n=n.slice(t-3,t+1),n=="9999"||!i&&n=="4999"){if(!i&&(m(o,c+1,0),o.times(o).eq(s))){r=o;break}t+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(m(r,c+1,1),e=!r.times(r).eq(s));break}return b=!0,m(r,c,f.rounding,e)};d.tangent=d.tan=function(){var e,n,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(e=r.precision,n=r.rounding,r.precision=e+10,r.rounding=1,t=t.sin(),t.s=1,t=N(t,new r(1).minus(t.times(t)).sqrt(),e+10,0),r.precision=e,r.rounding=n,m(Y==2||Y==4?t.neg():t,e,n,!0)):new r(NaN)};d.times=d.mul=function(e){var n,t,r,i,o,s,u,c,a,f=this,l=f.constructor,p=f.d,g=(e=new l(e)).d;if(e.s*=f.s,!p||!p[0]||!g||!g[0])return new l(!e.s||p&&!p[0]&&!g||g&&!g[0]&&!p?NaN:!p||!g?e.s/0:e.s*0);for(t=W(f.e/h)+W(e.e/h),c=p.length,a=g.length,c<a&&(o=p,p=g,g=o,s=c,c=a,a=s),o=[],s=c+a,r=s;r--;)o.push(0);for(r=a;--r>=0;){for(n=0,i=c+r;i>r;)u=o[i]+g[r]*p[i-r-1]+n,o[i--]=u%q|0,n=u/q|0;o[i]=(o[i]+n)%q|0}for(;!o[--s];)o.pop();return n?++t:o.shift(),e.d=o,e.e=Pe(o,t),b?m(e,l.precision,l.rounding):e};d.toBinary=function(e,n){return Ze(this,2,e,n)};d.toDecimalPlaces=d.toDP=function(e,n){var t=this,r=t.constructor;return t=new r(t),e===void 0?t:(O(e,0,J),n===void 0?n=r.rounding:O(n,0,8),m(t,e+t.e+1,n))};d.toExponential=function(e,n){var t,r=this,i=r.constructor;return e===void 0?t=j(r,!0):(O(e,0,J),n===void 0?n=i.rounding:O(n,0,8),r=m(new i(r),e+1,n),t=j(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+t:t};d.toFixed=function(e,n){var t,r,i=this,o=i.constructor;return e===void 0?t=j(i):(O(e,0,J),n===void 0?n=o.rounding:O(n,0,8),r=m(new o(i),e+i.e+1,n),t=j(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};d.toFraction=function(e){var n,t,r,i,o,s,u,c,a,f,l,p,g=this,y=g.d,w=g.constructor;if(!y)return new w(g);if(a=t=new w(1),r=c=new w(0),n=new w(r),o=n.e=wn(y)-g.e-1,s=o%h,n.d[0]=D(10,s<0?h+s:s),e==null)e=o>0?n:a;else{if(u=new w(e),!u.isInt()||u.lt(a))throw Error(z+u);e=u.gt(n)?o>0?n:a:u}for(b=!1,u=new w(E(y)),f=w.precision,w.precision=o=y.length*h*2;l=N(u,n,0,1,1),i=t.plus(l.times(r)),i.cmp(e)!=1;)t=r,r=i,i=a,a=c.plus(l.times(i)),c=i,i=n,n=u.minus(l.times(i)),u=i;return i=N(e.minus(t),r,0,1,1),c=c.plus(i.times(a)),t=t.plus(i.times(r)),c.s=a.s=g.s,p=N(a,r,o,1).minus(g).abs().cmp(N(c,t,o,1).minus(g).abs())<1?[a,r]:[c,t],w.precision=f,b=!0,p};d.toHexadecimal=d.toHex=function(e,n){return Ze(this,16,e,n)};d.toNearest=function(e,n){var t=this,r=t.constructor;if(t=new r(t),e==null){if(!t.d)return t;e=new r(1),n=r.rounding}else{if(e=new r(e),n===void 0?n=r.rounding:O(n,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(b=!1,t=N(t,e,0,n,1).times(e),b=!0,m(t)):(e.s=t.s,t=e),t};d.toNumber=function(){return+this};d.toOctal=function(e,n){return Ze(this,8,e,n)};d.toPower=d.pow=function(e){var n,t,r,i,o,s,u=this,c=u.constructor,a=+(e=new c(e));if(!u.d||!e.d||!u.d[0]||!e.d[0])return new c(D(+u,a));if(u=new c(u),u.eq(1))return u;if(r=c.precision,o=c.rounding,e.eq(1))return m(u,r,o);if(n=W(e.e/h),n>=e.d.length-1&&(t=a<0?-a:a)<=Vn)return i=yn(c,u,t,r),e.s<0?new c(1).div(i):m(i,r,o);if(s=u.s,s<0){if(n<e.d.length-1)return new c(NaN);if((e.d[n]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return t=D(+u,a),n=t==0||!isFinite(t)?W(a*(Math.log("0."+E(u.d))/Math.LN10+u.e+1)):new c(t+"").e,n>c.maxE+1||n<c.minE-1?new c(n>0?s/0:0):(b=!1,c.rounding=u.s=1,t=Math.min(12,(n+"").length),i=Ke(e.times($(u,r+t)),r),i.d&&(i=m(i,r+5,1),se(i.d,r,o)&&(n=r+10,i=m(Ke(e.times($(u,n+t)),n),n+5,1),+E(i.d).slice(r+1,r+15)+1==1e14&&(i=m(i,r+1,0)))),i.s=s,b=!0,c.rounding=o,m(i,r,o))};d.toPrecision=function(e,n){var t,r=this,i=r.constructor;return e===void 0?t=j(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(O(e,1,J),n===void 0?n=i.rounding:O(n,0,8),r=m(new i(r),e,n),t=j(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+t:t};d.toSignificantDigits=d.toSD=function(e,n){var t=this,r=t.constructor;return e===void 0?(e=r.precision,n=r.rounding):(O(e,1,J),n===void 0?n=r.rounding:O(n,0,8)),m(new r(t),e,n)};d.toString=function(){var e=this,n=e.constructor,t=j(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};d.truncated=d.trunc=function(){return m(new this.constructor(this),this.e+1,1)};d.valueOf=d.toJSON=function(){var e=this,n=e.constructor,t=j(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()?"-"+t:t};function E(e){var n,t,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,n=1;n<i;n++)r=e[n]+"",t=h-r.length,t&&(o+=X(t)),o+=r;s=e[n],r=s+"",t=h-r.length,t&&(o+=X(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function O(e,n,t){if(e!==~~e||e<n||e>t)throw Error(z+e)}function se(e,n,t,r){var i,o,s,u;for(o=e[0];o>=10;o/=10)--n;return--n<0?(n+=h,i=0):(i=Math.ceil((n+1)/h),n%=h),o=D(10,h-n),u=e[i]%o|0,r==null?n<3?(n==0?u=u/100|0:n==1&&(u=u/10|0),s=t<4&&u==99999||t>3&&u==49999||u==5e4||u==0):s=(t<4&&u+1==o||t>3&&u+1==o/2)&&(e[i+1]/o/100|0)==D(10,n-2)-1||(u==o/2||u==0)&&(e[i+1]/o/100|0)==0:n<4?(n==0?u=u/1e3|0:n==1?u=u/100|0:n==2&&(u=u/10|0),s=(r||t<4)&&u==9999||!r&&t>3&&u==4999):s=((r||t<4)&&u+1==o||!r&&t>3&&u+1==o/2)&&(e[i+1]/o/1e3|0)==D(10,n-3)-1,s}function ge(e,n,t){for(var r,i=[0],o,s=0,u=e.length;s<u;){for(o=i.length;o--;)i[o]*=n;for(i[0]+=Me.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>t-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/t|0,i[r]%=t)}return i.reverse()}function Gn(e,n){var t,r,i;if(n.isZero())return n;r=n.d.length,r<32?(t=Math.ceil(r/3),i=(1/xe(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),e.precision+=t,n=ne(e,1,n.times(i),new e(1));for(var o=t;o--;){var s=n.times(n);n=s.times(s).minus(s).times(8).plus(1)}return e.precision-=t,n}var N=function(){function e(r,i,o){var s,u=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+u,r[c]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function n(r,i,o,s){var u,c;if(o!=s)c=o>s?1:-1;else for(u=c=0;u<o;u++)if(r[u]!=i[u]){c=r[u]>i[u]?1:-1;break}return c}function t(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,c){var a,f,l,p,g,y,w,A,S,C,x,v,fe,V,Be,le,re,De,F,pe,de=r.constructor,Ee=r.s==i.s?1:-1,_=r.d,T=i.d;if(!_||!_[0]||!T||!T[0])return new de(!r.s||!i.s||(_?T&&_[0]==T[0]:!T)?NaN:_&&_[0]==0||!T?Ee*0:Ee/0);for(c?(g=1,f=r.e-i.e):(c=q,g=h,f=W(r.e/g)-W(i.e/g)),F=T.length,re=_.length,S=new de(Ee),C=S.d=[],l=0;T[l]==(_[l]||0);l++);if(T[l]>(_[l]||0)&&f--,o==null?(V=o=de.precision,s=de.rounding):u?V=o+(r.e-i.e)+1:V=o,V<0)C.push(1),y=!0;else{if(V=V/g+2|0,l=0,F==1){for(p=0,T=T[0],V++;(l<re||p)&&V--;l++)Be=p*c+(_[l]||0),C[l]=Be/T|0,p=Be%T|0;y=p||l<re}else{for(p=c/(T[0]+1)|0,p>1&&(T=e(T,p,c),_=e(_,p,c),F=T.length,re=_.length),le=F,x=_.slice(0,F),v=x.length;v<F;)x[v++]=0;pe=T.slice(),pe.unshift(0),De=T[0],T[1]>=c/2&&++De;do p=0,a=n(T,x,F,v),a<0?(fe=x[0],F!=v&&(fe=fe*c+(x[1]||0)),p=fe/De|0,p>1?(p>=c&&(p=c-1),w=e(T,p,c),A=w.length,v=x.length,a=n(w,x,A,v),a==1&&(p--,t(w,F<A?pe:T,A,c))):(p==0&&(a=p=1),w=T.slice()),A=w.length,A<v&&w.unshift(0),t(x,w,v,c),a==-1&&(v=x.length,a=n(T,x,F,v),a<1&&(p++,t(x,F<v?pe:T,v,c))),v=x.length):a===0&&(p++,x=[0]),C[l++]=p,a&&x[0]?x[v++]=_[le]||0:(x=[_[le]],v=1);while((le++<re||x[0]!==void 0)&&V--);y=x[0]!==void 0}C[0]||C.shift()}if(g==1)S.e=f,dn=y;else{for(l=1,p=C[0];p>=10;p/=10)l++;S.e=l+f*g-1,m(S,u?o+S.e+1:o,s,y)}return S}}();function m(e,n,t,r){var i,o,s,u,c,a,f,l,p,g=e.constructor;e:if(n!=null){if(l=e.d,!l)return e;for(i=1,u=l[0];u>=10;u/=10)i++;if(o=n-i,o<0)o+=h,s=n,f=l[p=0],c=f/D(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/h),u=l.length,p>=u)if(r){for(;u++<=p;)l.push(0);f=c=0,i=1,o%=h,s=o-h+1}else break e;else{for(f=u=l[p],i=1;u>=10;u/=10)i++;o%=h,s=o-h+i,c=s<0?0:f/D(10,i-s-1)%10|0}if(r=r||n<0||l[p+1]!==void 0||(s<0?f:f%D(10,i-s-1)),a=t<4?(c||r)&&(t==0||t==(e.s<0?3:2)):c>5||c==5&&(t==4||r||t==6&&(o>0?s>0?f/D(10,i-s):0:l[p-1])%10&1||t==(e.s<0?8:7)),n<1||!l[0])return l.length=0,a?(n-=e.e+1,l[0]=D(10,(h-n%h)%h),e.e=-n||0):l[0]=e.e=0,e;if(o==0?(l.length=p,u=1,p--):(l.length=p+1,u=D(10,h-o),l[p]=s>0?(f/D(10,i-s)%D(10,s)|0)*u:0),a)for(;;)if(p==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(e.e++,l[0]==q&&(l[0]=1));break}else{if(l[p]+=u,l[p]!=q)break;l[p--]=0,u=1}for(o=l.length;l[--o]===0;)l.pop()}return b&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function j(e,n,t){if(!e.isFinite())return xn(e);var r,i=e.e,o=E(e.d),s=o.length;return n?(t&&(r=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+X(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+X(-i-1)+o,t&&(r=t-s)>0&&(o+=X(r))):i>=s?(o+=X(i+1-s),t&&(r=t-i-1)>0&&(o=o+"."+X(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),t&&(r=t-s)>0&&(i+1===s&&(o+="."),o+=X(r))),o}function Pe(e,n){var t=e[0];for(n*=h;t>=10;t/=10)n++;return n}function we(e,n,t){if(n>Yn)throw b=!0,t&&(e.precision=t),Error(mn);return m(new e(he),n,1,!0)}function M(e,n,t){if(n>Ie)throw Error(mn);return m(new e(be),n,t,!0)}function wn(e){var n=e.length-1,t=n*h+1;if(n=e[n],n){for(;n%10==0;n/=10)t--;for(n=e[0];n>=10;n/=10)t++}return t}function X(e){for(var n="";e--;)n+="0";return n}function yn(e,n,t,r){var i,o=new e(1),s=Math.ceil(r/h+4);for(b=!1;;){if(t%2&&(o=o.times(n),ln(o.d,s)&&(i=!0)),t=W(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}n=n.times(n),ln(n.d,s)}return b=!0,o}function fn(e){return e.d[e.d.length-1]&1}function Pn(e,n,t){for(var r,i=new e(n[0]),o=0;++o<n.length;)if(r=new e(n[o]),r.s)i[t](r)&&(i=r);else{i=r;break}return i}function Ke(e,n){var t,r,i,o,s,u,c,a=0,f=0,l=0,p=e.constructor,g=p.rounding,y=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(n==null?(b=!1,c=y):c=n,u=new p(.03125);e.e>-2;)e=e.times(u),l+=5;for(r=Math.log(D(2,l))/Math.LN10*2+5|0,c+=r,t=o=s=new p(1),p.precision=c;;){if(o=m(o.times(e),c,1),t=t.times(++f),u=s.plus(N(o,t,c,1)),E(u.d).slice(0,c)===E(s.d).slice(0,c)){for(i=l;i--;)s=m(s.times(s),c,1);if(n==null)if(a<3&&se(s.d,c-r,g,a))p.precision=c+=10,t=o=u=new p(1),f=0,a++;else return m(s,p.precision=y,g,b=!0);else return p.precision=y,s}s=u}}function $(e,n){var t,r,i,o,s,u,c,a,f,l,p,g=1,y=10,w=e,A=w.d,S=w.constructor,C=S.rounding,x=S.precision;if(w.s<0||!A||!A[0]||!w.e&&A[0]==1&&A.length==1)return new S(A&&!A[0]?-1/0:w.s!=1?NaN:A?0:w);if(n==null?(b=!1,f=x):f=n,S.precision=f+=y,t=E(A),r=t.charAt(0),Math.abs(o=w.e)<15e14){for(;r<7&&r!=1||r==1&&t.charAt(1)>3;)w=w.times(e),t=E(w.d),r=t.charAt(0),g++;o=w.e,r>1?(w=new S("0."+t),o++):w=new S(r+"."+t.slice(1))}else return a=we(S,f+2,x).times(o+""),w=$(new S(r+"."+t.slice(1)),f-y).plus(a),S.precision=x,n==null?m(w,x,C,b=!0):w;for(l=w,c=s=w=N(w.minus(1),w.plus(1),f,1),p=m(w.times(w),f,1),i=3;;){if(s=m(s.times(p),f,1),a=c.plus(N(s,new S(i),f,1)),E(a.d).slice(0,f)===E(c.d).slice(0,f))if(c=c.times(2),o!==0&&(c=c.plus(we(S,f+2,x).times(o+""))),c=N(c,new S(g),f,1),n==null)if(se(c.d,f-y,C,u))S.precision=f+=y,a=s=w=N(l.minus(1),l.plus(1),f,1),p=m(w.times(w),f,1),i=u=1;else return m(c,S.precision=x,C,b=!0);else return S.precision=x,c;c=a,i+=2}}function xn(e){return String(e.s*e.s/0)}function je(e,n){var t,r,i;for((t=n.indexOf("."))>-1&&(n=n.replace(".","")),(r=n.search(/e/i))>0?(t<0&&(t=r),t+=+n.slice(r+1),n=n.substring(0,r)):t<0&&(t=n.length),r=0;n.charCodeAt(r)===48;r++);for(i=n.length;n.charCodeAt(i-1)===48;--i);if(n=n.slice(r,i),n){if(i-=r,e.e=t=t-r-1,e.d=[],r=(t+1)%h,t<0&&(r+=h),r<i){for(r&&e.d.push(+n.slice(0,r)),i-=h;r<i;)e.d.push(+n.slice(r,r+=h));n=n.slice(r),r=h-n.length}else r-=i;for(;r--;)n+="0";e.d.push(+n),b&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Xn(e,n){var t,r,i,o,s,u,c,a,f;if(n.indexOf("_")>-1){if(n=n.replace(/(\d)_(?=\d)/g,"$1"),bn.test(n))return je(e,n)}else if(n==="Infinity"||n==="NaN")return+n||(e.s=NaN),e.e=NaN,e.d=null,e;if(Zn.test(n))t=16,n=n.toLowerCase();else if(jn.test(n))t=2;else if(Hn.test(n))t=8;else throw Error(z+n);for(o=n.search(/p/i),o>0?(c=+n.slice(o+1),n=n.substring(2,o)):n=n.slice(2),o=n.indexOf("."),s=o>=0,r=e.constructor,s&&(n=n.replace(".",""),u=n.length,o=u-o,i=yn(r,new r(t),o,o*2)),a=ge(n,t,q),f=a.length-1,o=f;a[o]===0;--o)a.pop();return o<0?new r(e.s*0):(e.e=Pe(a,f),e.d=a,b=!1,s&&(e=N(e,i,u*4)),c&&(e=e.times(Math.abs(c)<54?D(2,c):Ne.pow(2,c))),b=!0,e)}function $n(e,n){var t,r=n.d.length;if(r<3)return n.isZero()?n:ne(e,2,n,n);t=1.4*Math.sqrt(r),t=t>16?16:t|0,n=n.times(1/xe(5,t)),n=ne(e,2,n,n);for(var i,o=new e(5),s=new e(16),u=new e(20);t--;)i=n.times(n),n=n.times(o.plus(i.times(s.times(i).minus(u))));return n}function ne(e,n,t,r,i){var o,s,u,c,a=1,f=e.precision,l=Math.ceil(f/h);for(b=!1,c=t.times(t),u=new e(r);;){if(s=N(u.times(c),new e(n++*n++),f,1),u=i?r.plus(s):r.minus(s),r=N(s.times(c),new e(n++*n++),f,1),s=u.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,a++}return b=!0,s.d.length=l+1,s}function xe(e,n){for(var t=e;--n;)t*=e;return t}function Nn(e,n){var t,r=n.s<0,i=M(e,e.precision,1),o=i.times(.5);if(n=n.abs(),n.lte(o))return Y=r?4:1,n;if(t=n.divToInt(i),t.isZero())Y=r?3:2;else{if(n=n.minus(t.times(i)),n.lte(o))return Y=fn(t)?r?2:3:r?4:1,n;Y=fn(t)?r?1:4:r?3:2}return n.minus(i).abs()}function Ze(e,n,t,r){var i,o,s,u,c,a,f,l,p,g=e.constructor,y=t!==void 0;if(y?(O(t,1,J),r===void 0?r=g.rounding:O(r,0,8)):(t=g.precision,r=g.rounding),!e.isFinite())f=xn(e);else{for(f=j(e),s=f.indexOf("."),y?(i=2,n==16?t=t*4-3:n==8&&(t=t*3-2)):i=n,s>=0&&(f=f.replace(".",""),p=new g(1),p.e=f.length-s,p.d=ge(j(p),10,i),p.e=p.d.length),l=ge(f,10,i),o=c=l.length;l[--c]==0;)l.pop();if(!l[0])f=y?"0p+0":"0";else{if(s<0?o--:(e=new g(e),e.d=l,e.e=o,e=N(e,p,t,r,0,i),l=e.d,o=e.e,a=dn),s=l[t],u=i/2,a=a||l[t+1]!==void 0,a=r<4?(s!==void 0||a)&&(r===0||r===(e.s<0?3:2)):s>u||s===u&&(r===4||a||r===6&&l[t-1]&1||r===(e.s<0?8:7)),l.length=t,a)for(;++l[--t]>i-1;)l[t]=0,t||(++o,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,f="";s<c;s++)f+=Me.charAt(l[s]);if(y){if(c>1)if(n==16||n==8){for(s=n==16?4:3,--c;c%s;c++)f+="0";for(l=ge(f,i,n),c=l.length;!l[c-1];--c);for(s=1,f="1.";s<c;s++)f+=Me.charAt(l[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>c)for(o-=c;o--;)f+="0";else o<c&&(f=f.slice(0,o)+"."+f.slice(o))}f=(n==16?"0x":n==2?"0b":n==8?"0o":"")+f}return e.s<0?"-"+f:f}function ln(e,n){if(e.length>n)return e.length=n,!0}function zn(e){return new this(e).abs()}function Jn(e){return new this(e).acos()}function Qn(e){return new this(e).acosh()}function et(e,n){return new this(e).plus(n)}function nt(e){return new this(e).asin()}function tt(e){return new this(e).asinh()}function rt(e){return new this(e).atan()}function it(e){return new this(e).atanh()}function ot(e,n){e=new this(e),n=new this(n);var t,r=this.precision,i=this.rounding,o=r+4;return!e.s||!n.s?t=new this(NaN):!e.d&&!n.d?(t=M(this,o,1).times(n.s>0?.25:.75),t.s=e.s):!n.d||e.isZero()?(t=n.s<0?M(this,r,i):new this(0),t.s=e.s):!e.d||n.isZero()?(t=M(this,o,1).times(.5),t.s=e.s):n.s<0?(this.precision=o,this.rounding=1,t=this.atan(N(e,n,o,1)),n=M(this,o,1),this.precision=r,this.rounding=i,t=e.s<0?t.minus(n):t.plus(n)):t=this.atan(N(e,n,o,1)),t}function st(e){return new this(e).cbrt()}function ut(e){return m(e=new this(e),e.e+1,2)}function at(e,n,t){return new this(e).clamp(n,t)}function ct(e){if(!e||typeof e!="object")throw Error(ye+"Object expected");var n,t,r,i=e.defaults===!0,o=["precision",1,J,"rounding",0,8,"toExpNeg",-ee,0,"toExpPos",0,ee,"maxE",0,ee,"minE",-ee,0,"modulo",0,9];for(n=0;n<o.length;n+=3)if(t=o[n],i&&(this[t]=qe[t]),(r=e[t])!==void 0)if(W(r)===r&&r>=o[n+1]&&r<=o[n+2])this[t]=r;else throw Error(z+t+": "+r);if(t="crypto",i&&(this[t]=qe[t]),(r=e[t])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(gn);else this[t]=!1;else throw Error(z+t+": "+r);return this}function ft(e){return new this(e).cos()}function lt(e){return new this(e).cosh()}function Tn(e){var n,t,r;function i(o){var s,u,c,a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,pn(o)){a.s=o.s,b?!o.d||o.e>i.maxE?(a.e=NaN,a.d=null):o.e<i.minE?(a.e=0,a.d=[0]):(a.e=o.e,a.d=o.d.slice()):(a.e=o.e,a.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){a.s=1/o<0?-1:1,a.e=0,a.d=[0];return}if(o<0?(o=-o,a.s=-1):a.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;b?s>i.maxE?(a.e=NaN,a.d=null):s<i.minE?(a.e=0,a.d=[0]):(a.e=s,a.d=[o]):(a.e=s,a.d=[o]);return}else if(o*0!==0){o||(a.s=NaN),a.e=NaN,a.d=null;return}return je(a,o.toString())}else if(c!=="string")throw Error(z+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),a.s=-1):(u===43&&(o=o.slice(1)),a.s=1),bn.test(o)?je(a,o):Xn(a,o)}if(i.prototype=d,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=ct,i.clone=Tn,i.isDecimal=pn,i.abs=zn,i.acos=Jn,i.acosh=Qn,i.add=et,i.asin=nt,i.asinh=tt,i.atan=rt,i.atanh=it,i.atan2=ot,i.cbrt=st,i.ceil=ut,i.clamp=at,i.cos=ft,i.cosh=lt,i.div=pt,i.exp=dt,i.floor=mt,i.hypot=gt,i.ln=ht,i.log=bt,i.log10=yt,i.log2=wt,i.max=Pt,i.min=xt,i.mod=Nt,i.mul=Tt,i.pow=St,i.random=kt,i.round=Lt,i.sign=Bt,i.sin=Dt,i.sinh=Et,i.sqrt=vt,i.sub=_t,i.sum=Wt,i.tan=At,i.tanh=Ut,i.trunc=Ot,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<r.length;)e.hasOwnProperty(t=r[n++])||(e[t]=this[t]);return i.config(e),i}function pt(e,n){return new this(e).div(n)}function dt(e){return new this(e).exp()}function mt(e){return m(e=new this(e),e.e+1,3)}function gt(){var e,n,t=new this(0);for(b=!1,e=0;e<arguments.length;)if(n=new this(arguments[e++]),n.d)t.d&&(t=t.plus(n.times(n)));else{if(n.s)return b=!0,new this(1/0);t=n}return b=!0,t.sqrt()}function pn(e){return e instanceof Ne||e&&e.toStringTag===hn||!1}function ht(e){return new this(e).ln()}function bt(e,n){return new this(e).log(n)}function wt(e){return new this(e).log(2)}function yt(e){return new this(e).log(10)}function Pt(){return Pn(this,arguments,"lt")}function xt(){return Pn(this,arguments,"gt")}function Nt(e,n){return new this(e).mod(n)}function Tt(e,n){return new this(e).mul(n)}function St(e,n){return new this(e).pow(n)}function kt(e){var n,t,r,i,o=0,s=new this(1),u=[];if(e===void 0?e=this.precision:O(e,1,J),r=Math.ceil(e/h),this.crypto)if(crypto.getRandomValues)for(n=crypto.getRandomValues(new Uint32Array(r));o<r;)i=n[o],i>=429e7?n[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(n=crypto.randomBytes(r*=4);o<r;)i=n[o]+(n[o+1]<<8)+(n[o+2]<<16)+((n[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(n,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(gn);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],e%=h,r&&e&&(i=D(10,h-e),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)t=0,u=[0];else{for(t=-1;u[0]===0;t-=h)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<h&&(t-=h-r)}return s.e=t,s.d=u,s}function Lt(e){return m(e=new this(e),e.e+1,this.rounding)}function Bt(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Dt(e){return new this(e).sin()}function Et(e){return new this(e).sinh()}function vt(e){return new this(e).sqrt()}function _t(e,n){return new this(e).sub(n)}function Wt(){var e=0,n=arguments,t=new this(n[e]);for(b=!1;t.s&&++e<n.length;)t=t.plus(n[e]);return b=!0,m(t,this.precision,this.rounding)}function At(e){return new this(e).tan()}function Ut(e){return new this(e).tanh()}function Ot(e){return m(e=new this(e),e.e+1,1)}d[Symbol.for("nodejs.util.inspect.custom")]=d.toString;d[Symbol.toStringTag]="Decimal";var Ne=d.constructor=Tn(qe);he=new Ne(he);be=new Ne(be);import{PublicKey as Ve}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Rt}from"@solana/spl-token";import{PublicKey as k,SystemProgram as Ct,SYSVAR_RENT_PUBKEY as Ft}from"@solana/web3.js";function He({pubkey:e,isSigner:n=!1,isWritable:t=!0}){return{pubkey:e,isWritable:t,isSigner:n}}var wi=[He({pubkey:Rt,isWritable:!1}),He({pubkey:Ct.programId,isWritable:!1}),He({pubkey:Ft,isWritable:!1})];function kn({publicKey:e,transformSol:n}){let t=Ln(e.toString());if(t instanceof k)return n&&t.equals(ue)?Sn:t;if(n&&t.toString()===ue.toBase58())return Sn;if(typeof t=="string"){if(t===k.default.toBase58())return k.default;try{return new k(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Ln(e){try{return new k(e)}catch{return e}}var yi=new k("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Pi=new k("SysvarRent111111111111111111111111111111111"),xi=new k("SysvarC1ock11111111111111111111111111111111"),Ni=new k("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Ti=new k("Sysvar1nstructions1111111111111111111111111"),Si=new k("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ki=new k("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Li=new k("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Bi=new k("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Di=new k("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ei=new k("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),vi=new k("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),_i=new k("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Wi=new k("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Ai=new k("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Ui=new k("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),Sn=new k("So11111111111111111111111111111111111111112"),ue=k.default;var Ye=class{constructor({mint:n,decimals:t,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(n===ue.toBase58()||n instanceof Ve&&ue.equals(n)){this.decimals=K.decimals,this.symbol=K.symbol,this.name=K.name,this.mint=new Ve(K.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||n.toString().substring(0,6),this.name=i||n.toString().substring(0,6),this.mint=o?Ve.default:kn({publicKey:n}),this.isToken2022=s}equals(n){return this===n?!0:this.mint.equals(n.mint)}},I=Ye;I.WSOL=new Ye(ie(Q({},K),{mint:K.address}));import{get as Bn,set as Mt}from"lodash";import En from"dayjs";import qt from"dayjs/plugin/utc";En.extend(qt);var Ge=class{constructor(n){this.logLevel=n.logLevel!==void 0?n.logLevel:0,this.name=n.name}set level(n){this.logLevel=n}get time(){return En().utc().format("YYYY/MM/DD HH:mm:ss UTC")}get moduleName(){return this.name}isLogLevel(n){return n<=this.logLevel}error(...n){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...n),this):this}logWithError(...n){let t=n.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(t)}warning(...n){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...n),this):this}info(...n){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...n),this):this}debug(...n){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...n),this):this}},Dn={},It={};function G(e){let n=Bn(Dn,e);if(!n){let t=Bn(It,e);n=new Ge({name:e,logLevel:t}),Mt(Dn,e,n)}return n}import Se from"big.js";import Zt from"bn.js";import Ht from"decimal.js-light";import Kt from"toformat";var jt=Kt,ae=jt;var Te=G("module/fraction"),Xe=ae(Se),ce=ae(Ht),Vt={[0]:ce.ROUND_DOWN,[1]:ce.ROUND_HALF_UP,[2]:ce.ROUND_UP},Yt={[0]:Se.roundDown,[1]:Se.roundHalfUp,[2]:Se.roundUp},P=class{constructor(n,t=new Zt(1)){this.numerator=R(n),this.denominator=R(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new P(this.denominator,this.numerator)}add(n){let t=n instanceof P?n:new P(R(n));return this.denominator.eq(t.denominator)?new P(this.numerator.add(t.numerator),this.denominator):new P(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(n){let t=n instanceof P?n:new P(R(n));return this.denominator.eq(t.denominator)?new P(this.numerator.sub(t.numerator),this.denominator):new P(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(n){let t=n instanceof P?n:new P(R(n));return new P(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(n){let t=n instanceof P?n:new P(R(n));return new P(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(n,t={groupSeparator:""},r=1){Number.isInteger(n)||Te.logWithError(`${n} is not an integer.`),n<=0&&Te.logWithError(`${n} is not positive.`),ce.set({precision:n+1,rounding:Vt[r]});let i=new ce(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(n);return i.toFormat(i.decimalPlaces(),t)}toFixed(n,t={groupSeparator:""},r=1){return Number.isInteger(n)||Te.logWithError(`${n} is not an integer.`),n<0&&Te.logWithError(`${n} is negative.`),Xe.DP=n,Xe.RM=Yt[r]||1,new Xe(this.numerator.toString()).div(this.denominator.toString()).toFormat(n,t)}isZero(){return this.numerator.isZero()}};var Xt=G("Raydium_price"),Z=class extends P{constructor(t){let{baseToken:r,quoteToken:i,numerator:o,denominator:s}=t;super(o,s);this.baseToken=r,this.quoteToken=i,this.scalar=new P($e(r.decimals),$e(i.decimals))}get raw(){return new P(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new Z({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(t){this.quoteToken!==t.baseToken&&Xt.logWithError("mul token not equals");let r=super.mul(t);return new Z({baseToken:this.baseToken,quoteToken:t.quoteToken,denominator:r.denominator,numerator:r.numerator})}toSignificant(t=this.quoteToken.decimals,r,i){return this.adjusted.toSignificant(t,r,i)}toFixed(t=this.quoteToken.decimals,r,i){return this.adjusted.toFixed(t,r,i)}};var ze=class{constructor({decimals:n,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=n,this.symbol=t,this.name=r}equals(n){return this===n}},ke=ze;ke.SOL=new ze(oe);import $t from"bn.js";var mo=new P(new $t(100));import{PublicKey as xo}from"@solana/web3.js";import To from"bn.js";var zt=new U(0),Io=new U(1),Ko=new U(2),jo=new U(3),Zo=new U(5),Qe=new U(10),Ho=new U(100),Vo=new U(1e3),Yo=new U(1e4),_n=9007199254740991;function R(e){let n=G("Raydium_parseBigNumberish");if(e instanceof U)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new U(e);n.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&n.logWithError(`BigNumberish number underflow: ${e}`),(e>=_n||e<=-_n)&&n.logWithError(`BigNumberish number overflow: ${e}`),new U(String(e))):typeof e=="bigint"?new U(e.toString()):(n.error(`invalid BigNumberish value: ${e}`),new U(0))}function $e(e){return Qe.pow(R(e))}function Je(e){var u;if(e===void 0)return{denominator:"1",numerator:"0"};if(e instanceof U)return{numerator:e.toString(),denominator:"1"};if(e instanceof P)return{denominator:e.denominator.toString(),numerator:e.numerator.toString()};let n=String(e),[,t="",r="",i=""]=(u=n.replace(",","").match(/(-?)(\d*)\.?(\d*)/))!=null?u:[],o="1"+"0".repeat(i.length),s=t+(r==="0"?"":r)+i||"0";return{denominator:o,numerator:s,sign:t,int:r,dec:i}}var Qt=G("Raydium_amount"),Wn=ae(Jt);function er(e,n){let t="0",r="0";if(e.includes(".")){let i=e.split(".");i.length===2?([t,r]=i,r=r.padEnd(n,"0")):Qt.logWithError(`invalid number string, num: ${e}`)}else t=e;return[t,r.slice(0,n)||r]}var H=class extends P{constructor(t,r,i=!0,o){let s=new Le(0),u=Qe.pow(new Le(t.decimals));if(i)s=R(r);else{let c=new Le(0),a=new Le(0);if(typeof r=="string"||typeof r=="number"||typeof r=="bigint"){let[f,l]=er(r.toString(),t.decimals);c=R(f),a=R(l)}c=c.mul(u),s=c.add(a)}super(s,u);this.logger=G(o||"TokenAmount"),this.token=t}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(t){return this.token.equals(t.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(t.raw)}lt(t){return this.token.equals(t.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(t.raw)}add(t){return this.token.equals(t.token)||this.logger.logWithError("add token not equals"),new H(this.token,this.raw.add(t.raw))}subtract(t){return this.token.equals(t.token)||this.logger.logWithError("sub token not equals"),new H(this.token,this.raw.sub(t.raw))}toSignificant(t=this.token.decimals,r,i=0){return super.toSignificant(t,r,i)}toFixed(t=this.token.decimals,r,i=0){return t>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(t,r,i)}toExact(t={groupSeparator:""}){return Wn.DP=this.token.decimals,new Wn(this.numerator.toString()).div(this.denominator.toString()).toFormat(t)}};import te from"bn.js";function Ss(e){let{token:n,numberPrice:t,decimalDone:r}=e,i=new I({mint:"",decimals:6,symbol:"usd",name:"usd",skipMint:!0}),{numerator:o,denominator:s}=Je(t),u=r?new te(o).mul(new te(10).pow(new te(n.decimals))):o,c=new te(s).mul(new te(10).pow(new te(i.decimals)));return new Z({baseToken:i,denominator:c.toString(),quoteToken:new I(ie(Q({},n),{skipMint:!0,mint:""})),numerator:u.toString()})}var ks=async({connection:e,mint:n})=>{let t=await e.getAccountInfo(new nr(n));return!t||t.data.length!==An.span?void 0:An.decode(t.data)},Ls=({mint:e,decimals:n,programId:t=tr,logoURI:r="",priority:i=3})=>{let o=e.toBase58().substring(0,6);return{address:e.toBase58(),decimals:n,symbol:o,logoURI:r,extensions:{},chainId:101,programId:t.toString(),name:o,tags:[],priority:i}},Bs=e=>new I({mint:e.address,decimals:e.decimals,symbol:e.symbol,name:e.name}),Ds=i=>{var o=i,{amount:e,isRaw:n,name:t}=o,r=rn(o,["amount","isRaw","name"]);return new H(new I({mint:r.address,decimals:r.decimals,symbol:r.symbol,name:t}),e,n,t)};function Es(e){return e.address===oe.address?K:e}function vs(e){return e.address===K.address?oe:e}export{oe as SOL_INFO,pi as SPL_MINT_LAYOUT,K as TOKEN_WSOL,ks as parseTokenInfo,Ss as parseTokenPrice,Es as solToWSolToken,Bs as toToken,Ds as toTokenAmount,Ls as toTokenInfo,vs as wSolToSolToken};
//# sourceMappingURL=index.mjs.map