UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

1 lines 77.4 kB
import{PublicKey as Ur}from"@solana/web3.js";import qt,{isBN as Gt}from"bn.js";import{bits as Mi,BitStructure as Di,blob as Er,Blob as Wi,cstr as Oi,f32 as Ui,f32be as qi,f64 as Gi,f64be as Hi,greedy as ji,Layout as vr,ns64 as zi,ns64be as Zi,nu64 as Yi,nu64be as Xi,offset as Ji,s16 as Qi,s16be as $i,s24 as eo,s24be as to,s32 as ro,s32be as no,s40 as io,s40be as oo,s48 as so,s48be as ao,s8 as uo,seq as Mr,struct as co,Structure as Dr,u16 as lo,u16be as fo,u24 as po,u24be as mo,u32 as go,u32be as yo,u40 as bo,u40be as ho,u48 as wo,u48be as Po,u8 as Wr,UInt as Or,union as To,Union as xo,unionLayoutDiscriminator as ko,utf8 as So}from"@solana/buffer-layout";var ot=vr,Wt=Dr;var st=Or;var Ot=Wr;var Ut=Mr;var me=Er;var xe=class extends ot{constructor(r,n,i){super(r,i);this.blob=me(r),this.signed=n}decode(r,n=0){let i=new qt(this.blob.decode(r,n),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(r,n,i=0){return typeof r=="number"&&(r=new qt(r)),this.signed&&(r=r.toTwos(this.span*8)),this.blob.encode(r.toArrayLike(Buffer,"le",this.span),n,i)}};function N(e){return new st(1,e)}function ke(e){return new st(4,e)}function y(e){return new xe(8,!1,e)}function ne(e){return new xe(16,!1,e)}function Ht(e){return new xe(1,!0,e)}function Ue(e){return new xe(8,!0,e)}var Oe=class extends ot{constructor(r,n,i,o){super(r.span,o);this.layout=r,this.decoder=n,this.encoder=i}decode(r,n){return this.decoder(this.layout.decode(r,n))}encode(r,n,i){return this.layout.encode(this.encoder(r),n,i)}getSpan(r,n){return this.layout.getSpan(r,n)}};function L(e){return new Oe(me(32),t=>new Ur(t),t=>t.toBuffer(),e)}function Ce(e){return new Oe(Ot(),qr,Gr,e)}function qr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Gr(e){return e?1:0}var at=class extends Wt{decode(t,r){return super.decode(t,r)}};function K(e,t,r){return new at(e,t,r)}function v(e,t,r){let n,i=typeof t=="number"?t:Gt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!n){let a=Reflect.get(o,"count");n=Gt(a)?a.toNumber():a,Reflect.set(o,"count",n)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(n=a),Reflect.set(o,s,a)}});return Ut(e,i,r)}import{PublicKey as Qt}from"@solana/web3.js";import{get as jt,set as Hr}from"lodash";var ut=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let r=t.map(n=>typeof n=="object"?JSON.stringify(n):n).join(", ");throw new Error(r)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},zt={},jr={};function D(e){let t=jt(zt,e);if(!t){let r=jt(jr,e);t=new ut({name:e,logLevel:r}),Hr(zt,e,t)}return t}import{PublicKey as S}from"@solana/web3.js";var Zt=new S("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Yt=new S("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Xt=new S("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Jt=new S("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Wo=new S("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Oo=new S("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Uo=new S("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),qo=new S("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Go=new S("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Ho=new S("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),jo=new S("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),zo=new S("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Zo=new S("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Yo=new S("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Xo=new S("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Jo=new S("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Qo=new S("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),$o=new S("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),es=new S("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),ts=new S("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),rs=new S("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ns=new S("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),zr=new S("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Zr=new S("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Yr=new S("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),is=new S("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Xr=new S("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),os=new S("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Jr=new S("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var ss={SERUM_MARKET:S.default,OPENBOOK_MARKET:new S("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:S.default,FarmV3:new S("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new S("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new S("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new S("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new S("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new S("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new S("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new S("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new S("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:zr,CREATE_CPMM_POOL_AUTH:Zr,CREATE_CPMM_POOL_FEE_ACC:Yr,FEE_DESTINATION_ID:new S("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Xr,LCOK_CPMM_AUTH:Jr};var ms=D("CobaltX_farm_config"),gs=new Qt("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),ys=new Qt("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1"),$t={3:tr,5:rr,6:nr},er={3:Ke,5:ir,6:or},bs=e=>[3,4,5,6].indexOf(e)!==-1,hs=e=>{var s;let{version:t,rewardInfos:r,rewardTokenAccountsPublicKeys:n}=e,i=`rewardInfo:${JSON.stringify(r)}, rewardAccount:${JSON.stringify(n)}`,o={3:()=>{if(r.length!==1||n.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${i}`},5:()=>{if(r.length!==n.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${i}`},6:()=>{if(!n.length||r.length!==n.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${i}`}};return(s=o[t])==null?void 0:s.call(o)},Se={"Standard SPL":0,"Option tokens":1},ws={[Zt.toString()]:3,[Yt.toString()]:4,[Xt.toString()]:5,[Jt.toString()]:6};var ct=K([N("instruction")]),lt=K([N("instruction")]),Qr=K([y("rewardState"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardLastUpdateTime"),y("totalReward"),y("totalRewardEmissioned"),y("rewardClaimed"),y("rewardPerSecond"),ne("accRewardPerShare"),L("rewardVault"),L("rewardMint"),L("rewardSender"),y("rewardType"),v(y(),15,"padding")]),$r=K([y("state"),y("nonce"),L("lpVault"),L("rewardVault"),L(),L(),y(),y(),y("totalReward"),ne("perShareReward"),y("lastSlot"),y("perSlotReward")]),en=K([y("state"),y("nonce"),L("lpVault"),L("rewardVaultA"),y("totalRewardA"),ne("perShareRewardA"),y("perSlotRewardA"),N("option"),L("rewardVaultB"),me(7),y("totalRewardB"),ne("perShareRewardB"),y("perSlotRewardB"),y("lastSlot"),L()]),tn=K([y(),y("state"),y("nonce"),y("validRewardTokenNum"),ne("rewardMultiplier"),y("rewardPeriodMax"),y("rewardPeriodMin"),y("rewardPeriodExtend"),L("lpMint"),L("lpVault"),v(Qr,5,"rewardInfos"),L("creator"),L(),v(y(),32,"padding")]),tr=new Proxy($r,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return{...i,version:3,rewardInfos:[{rewardVault:i.rewardVault,totalReward:i.totalReward,perSlotReward:i.perSlotReward,perShareReward:i.perShareReward}]}}:Reflect.get(e,t,r)}}),rr=new Proxy(en,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return{...i,version:5,rewardInfos:[{rewardVault:i.rewardVaultA,totalReward:i.totalRewardA,perSlotReward:i.perSlotRewardA,perShareReward:i.perShareRewardA},{rewardVault:i.rewardVaultB,totalReward:i.totalRewardB,perSlotReward:i.perSlotRewardB,perShareReward:i.perShareRewardB}]}}:Reflect.get(e,t,r)}}),nr=new Proxy(tn,{get(e,t,r){return t==="decode"?(...n)=>{let i=e.decode(...n);return{...i,version:6,rewardInfos:i.rewardInfos.map(o=>{var s;return{...o,rewardType:((s=Object.entries(Se).find(a=>String(a[1])===o.rewardType.toString()))!=null?s:["Standard SPL"])[0]}})}}:Reflect.get(e,t,r)}}),rn=K([y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),dt=K([N("instruction"),y("nonce"),v(rn,5,"rewardTimeInfo")]),ft=K([N("instruction"),y("rewardReopenTime"),y("rewardEndTime"),y("rewardPerSecond")]),pt=K([N("instruction"),y("isSet"),y("rewardPerSecond"),y("rewardOpenTime"),y("rewardEndTime"),y("rewardType")]),Ls=K([y("state"),L("id"),L("owner"),y("deposited"),v(y(),1,"rewardDebts")]),Ke=K([y("state"),L("id"),L("owner"),y("deposited"),v(ne(),1,"rewardDebts"),y(""),y("voteLockedBalance"),v(y(),15)]),Is=K([y("state"),L("id"),L("owner"),y("deposited"),v(y(),2,"rewardDebts")]),ir=K([y("state"),L("id"),L("owner"),y("deposited"),v(ne(),2,"rewardDebts"),v(y(),17)]),or=K([y(),y("state"),L("id"),L("owner"),y("deposited"),v(ne(),5,"rewardDebts"),v(y(),16)]),z=K([N("instruction"),y("amount")]),nn=K([L("mint"),L("grantAuthority"),y("baselineVoteWeightScaledFactor"),y("maxExtraLockupVoteWeightScaledFactor"),y("lockupSaturationSecs"),Ht("digitShift"),v(N(),7,"reserved1"),v(y(),7,"reserved2")]),sr=K([me(8),L("governanceProgramId"),L("realm"),L("realmGoverningTokenMint"),L("realmAuthority"),v(N(),32,"reserved1"),v(nn,4,"votingMints"),Ue("timeOffset"),N("bump"),v(N(),7,"reserved2"),v(y(),11,"reserved3")]),on=K([Ue("startTime"),Ue("endTime"),N("kind"),v(N(),15,"reserved")]),sn=K([v(on,1,"lockup"),y("amountDeposited_native"),y("amountInitiallyLockedNative"),Ce("isUsed"),Ce("allowClawback"),N("votingMintConfigIdx"),v(N(),29,"reserved")]),ar=K([me(8),L("voterAuthority"),L("registrar"),v(sn,32,"deposits"),N("voterBump"),N("voterWweightRecordBump"),v(N(),94,"reserved")]);import Y from"bn.js";import{MINT_SIZE as Cs,TOKEN_PROGRAM_ID as Ks,getTransferFeeConfig as Ns,unpackMint as Vs}from"@solana/spl-token";import{PublicKey as an}from"@solana/web3.js";var mt=D("CobaltX_accountInfo_util");async function ur(e,t,r){let{batchRequest:n,commitment:i="confirmed",chunkCount:o=100}={batchRequest:!1,...r},s=gt(t,o),a=new Array(s.length).fill([]);if(n){let c=s.map(d=>{let f=e._buildArgs([d.map(m=>m.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:f}}),u=gt(c,10);a=(await(await Promise.all(u.map(async d=>await e._rpcBatchRequest(d)))).flat()).map(d=>(d.error&&mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${d.error.message}`),d.result.value.map(f=>{if(f){let{data:m,executable:h,lamports:b,owner:x,rentEpoch:A}=f;return m.length!==2&&m[1]!=="base64"&&mt.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(m[0],"base64"),executable:h,lamports:b,owner:new an(x),rentEpoch:A}}return null})))}else try{a=await Promise.all(s.map(c=>e.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&&mt.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}async function cr(e,t,r){let n=await ur(e,t.map(i=>i.pubkey),r);return t.map((i,o)=>({...i,accountInfo:n[o]}))}import ae from"bn.js";var Ae=9e15,fe=1e9,bt="0123456789abcdef",Ge="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",He="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ht={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ae,maxE:Ae,crypto:!1},pr,ie,k=!0,ze="[DecimalError] ",de=ze+"Invalid argument: ",mr=ze+"Precision limit exceeded",gr=ze+"crypto unavailable",yr="[object Decimal]",H=Math.floor,W=Math.pow,un=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,cn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ln=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,br=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ee=1e7,P=7,dn=9007199254740991,fn=Ge.length-1,wt=He.length-1,g={toStringTag:yr};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),w(e)};g.ceil=function(){return w(new this.constructor(this),this.e+1,2)};g.clampedTo=g.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(de+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};g.comparedTo=g.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(n=s.length,i=a.length,t=0,r=n<i?n:i;t<r;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return n===i?0:n>i^c<0?1:-1};g.cosine=g.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+P,n.rounding=1,r=pn(n,xr(n,r)),n.precision=e,n.rounding=t,w(ie==2||ie==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};g.cubeRoot=g.cbrt=function(){var e,t,r,n,i,o,s,a,c,u,l=this,d=l.constructor;if(!l.isFinite()||l.isZero())return new d(l);for(k=!1,o=l.s*W(l.s*l,1/3),!o||Math.abs(o)==1/0?(r=U(l.d),e=l.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=W(r,1/3),e=H((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new d(r),n.s=l.s):n=new d(o.toString()),s=(e=d.precision)+3;;)if(a=n,c=a.times(a).times(a),u=c.plus(l),n=_(u.plus(l).times(a),u.plus(c),s+2,1),U(a.d).slice(0,s)===(r=U(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(w(a,e+1,0),a.times(a).times(a).eq(l))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(w(n,e+1,1),t=!n.times(n).times(n).eq(l));break}return k=!0,w(n,e,d.rounding,t)};g.decimalPlaces=g.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-H(this.e/P))*P,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};g.dividedBy=g.div=function(e){return _(this,new this.constructor(e))};g.dividedToIntegerBy=g.divToInt=function(e){var t=this,r=t.constructor;return w(_(t,new r(e),0,1,1),r.precision,r.rounding)};g.equals=g.eq=function(e){return this.cmp(e)===0};g.floor=function(){return w(new this.constructor(this),this.e+1,3)};g.greaterThan=g.gt=function(e){return this.cmp(e)>0};g.greaterThanOrEqualTo=g.gte=function(e){var t=this.cmp(e);return t==1||t===0};g.hyperbolicCosine=g.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ye(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=Le(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return w(o,s.precision=r,s.rounding=n,!0)};g.hyperbolicSine=g.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Le(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Ye(5,e)),i=Le(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=r,w(i,t,r,!0)};g.hyperbolicTangent=g.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,_(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};g.inverseCosine=g.acos=function(){var e,t=this,r=t.constructor,n=t.abs().cmp(1),i=r.precision,o=r.rounding;return n!==-1?n===0?t.isNeg()?$(r,i,o):new r(0):new r(NaN):t.isZero()?$(r,i+4,o).times(.5):(r.precision=i+6,r.rounding=1,t=t.asin(),e=$(r,i+4,o).times(.5),r.precision=i,r.rounding=o,e.minus(t))};g.inverseHyperbolicCosine=g.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,k=!1,r=r.times(r).minus(1).sqrt().plus(r),k=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};g.inverseHyperbolicSine=g.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,k=!1,r=r.times(r).plus(1).sqrt().plus(r),k=!0,n.precision=e,n.rounding=t,r.ln())};g.inverseHyperbolicTangent=g.atanh=function(){var e,t,r,n,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,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?w(new o(i),e,t,!0):(o.precision=r=n-i.e,i=_(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};g.inverseSine=g.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=$(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};g.inverseTangent=g.atan=function(){var e,t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&d+4<=wt)return s=$(l,d+4,f).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(d+4<=wt)return s=$(l,d+4,f).times(.5),s.s=u.s,s}for(l.precision=a=d+10,l.rounding=1,r=Math.min(28,a/P+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(k=!1,t=Math.ceil(a/P),n=1,c=u.times(u),s=new l(u),i=u;e!==-1;)if(i=i.times(c),o=s.minus(i.div(n+=2)),i=i.times(c),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<<r-1)),k=!0,w(s,l.precision=d,l.rounding=f,!0)};g.isFinite=function(){return!!this.d};g.isInteger=g.isInt=function(){return!!this.d&&H(this.e/P)>this.d.length-2};g.isNaN=function(){return!this.s};g.isNegative=g.isNeg=function(){return this.s<0};g.isPositive=g.isPos=function(){return this.s>0};g.isZero=function(){return!!this.d&&this.d[0]===0};g.lessThan=g.lt=function(e){return this.cmp(e)<0};g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1};g.logarithm=g.log=function(e){var t,r,n,i,o,s,a,c,u=this,l=u.constructor,d=l.precision,f=l.rounding,m=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new l(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(k=!1,a=d+m,s=le(u,a),n=t?je(l,a+10):le(e,a),c=_(s,n,a,1),Ne(c.d,i=d,f))do if(a+=10,s=le(u,a),n=t?je(l,a+10):le(e,a),c=_(s,n,a,1),!o){+U(c.d).slice(i+1,i+15)+1==1e14&&(c=w(c,d+1,0));break}while(Ne(c.d,i+=10,f));return k=!0,w(c,d,f)};g.minus=g.sub=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,m=this,h=m.constructor;if(e=new h(e),!m.d||!e.d)return!m.s||!e.s?e=new h(NaN):m.d?e.s=-e.s:e=new h(e.d||m.s!==e.s?m:NaN),e;if(m.s!=e.s)return e.s=-e.s,m.plus(e);if(u=m.d,f=e.d,a=h.precision,c=h.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new h(m);else return new h(c===3?-0:0);return k?w(e,a,c):e}if(r=H(e.e/P),l=H(m.e/P),u=u.slice(),o=l-r,o){for(d=o<0,d?(t=u,o=-o,s=f.length):(t=f,r=l,s=u.length),n=Math.max(Math.ceil(a/P),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=f.length,d=n<s,d&&(s=n),n=0;n<s;n++)if(u[n]!=f[n]){d=u[n]<f[n];break}o=0}for(d&&(t=u,u=f,f=t,e.s=-e.s),s=u.length,n=f.length-s;n>0;--n)u[s++]=0;for(n=f.length;n>o;){if(u[--n]<f[n]){for(i=n;i&&u[--i]===0;)u[i]=ee-1;--u[i],u[n]+=ee}u[n]-=f[n]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--r;return u[0]?(e.d=u,e.e=Ze(u,r),k?w(e,a,c):e):new h(c===3?-0:0)};g.modulo=g.mod=function(e){var t,r=this,n=r.constructor;return e=new n(e),!r.d||!e.s||e.d&&!e.d[0]?new n(NaN):!e.d||r.d&&!r.d[0]?w(new n(r),n.precision,n.rounding):(k=!1,n.modulo==9?(t=_(r,e.abs(),0,3,1),t.s*=e.s):t=_(r,e,0,n.modulo,1),t=t.times(e),k=!0,r.minus(t))};g.naturalExponential=g.exp=function(){return Pt(this)};g.naturalLogarithm=g.ln=function(){return le(this)};g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s,w(e)};g.plus=g.add=function(e){var t,r,n,i,o,s,a,c,u,l,d=this,f=d.constructor;if(e=new f(e),!d.d||!e.d)return!d.s||!e.s?e=new f(NaN):d.d||(e=new f(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(u=d.d,l=e.d,a=f.precision,c=f.rounding,!u[0]||!l[0])return l[0]||(e=new f(d)),k?w(e,a,c):e;if(o=H(d.e/P),n=H(e.e/P),u=u.slice(),i=o-n,i){for(i<0?(r=u,i=-i,s=l.length):(r=l,n=o,s=u.length),o=Math.ceil(a/P),s=o>s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,r=l,l=u,u=r),t=0;i;)t=(u[--i]=u[i]+l[i]+t)/ee|0,u[i]%=ee;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Ze(u,n),k?w(e,a,c):e};g.precision=g.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(de+e);return r.d?(t=hr(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};g.round=function(){var e=this,t=e.constructor;return w(new t(e),e.e+1,t.rounding)};g.sine=g.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+P,n.rounding=1,r=gn(n,xr(n,r)),n.precision=e,n.rounding=t,w(ie>2?r.neg():r,e,t,!0)):new n(NaN)};g.squareRoot=g.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(k=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=U(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=H((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),n=new l(t)):n=new l(u.toString()),r=(c=l.precision)+3;;)if(o=n,n=o.plus(_(s,o,r+2,1)).times(.5),U(o.d).slice(0,r)===(t=U(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(w(o,c+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(w(n,c+1,1),e=!n.times(n).eq(s));break}return k=!0,w(n,c,l.rounding,e)};g.tangent=g.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=_(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,w(ie==2||ie==4?r.neg():r,e,t,!0)):new n(NaN)};g.times=g.mul=function(e){var t,r,n,i,o,s,a,c,u,l=this,d=l.constructor,f=l.d,m=(e=new d(e)).d;if(e.s*=l.s,!f||!f[0]||!m||!m[0])return new d(!e.s||f&&!f[0]&&!m||m&&!m[0]&&!f?NaN:!f||!m?e.s/0:e.s*0);for(r=H(l.e/P)+H(e.e/P),c=f.length,u=m.length,c<u&&(o=f,f=m,m=o,s=c,c=u,u=s),o=[],s=c+u,n=s;n--;)o.push(0);for(n=u;--n>=0;){for(t=0,i=c+n;i>n;)a=o[i]+m[n]*f[i-n-1]+t,o[i--]=a%ee|0,t=a/ee|0;o[i]=(o[i]+t)%ee|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=Ze(o,r),k?w(e,d.precision,d.rounding):e};g.toBinary=function(e,t){return xt(this,2,e,t)};g.toDecimalPlaces=g.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Z(e,0,fe),t===void 0?t=n.rounding:Z(t,0,8),w(r,e+r.e+1,t))};g.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=re(n,!0):(Z(e,0,fe),t===void 0?t=i.rounding:Z(t,0,8),n=w(new i(n),e+1,t),r=re(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};g.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=re(i):(Z(e,0,fe),t===void 0?t=o.rounding:Z(t,0,8),n=w(new o(i),e+i.e+1,t),r=re(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};g.toFraction=function(e){var t,r,n,i,o,s,a,c,u,l,d,f,m=this,h=m.d,b=m.constructor;if(!h)return new b(m);if(u=r=new b(1),n=c=new b(0),t=new b(n),o=t.e=hr(h)-m.e-1,s=o%P,t.d[0]=W(10,s<0?P+s:s),e==null)e=o>0?t:u;else{if(a=new b(e),!a.isInt()||a.lt(u))throw Error(de+a);e=a.gt(t)?o>0?t:u:a}for(k=!1,a=new b(U(h)),l=b.precision,b.precision=o=h.length*P*2;d=_(a,t,0,1,1),i=r.plus(d.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=c.plus(d.times(i)),c=i,i=t,t=a.minus(d.times(i)),a=i;return i=_(e.minus(r),n,0,1,1),c=c.plus(i.times(u)),r=r.plus(i.times(n)),c.s=u.s=m.s,f=_(u,n,o,1).minus(m).abs().cmp(_(c,r,o,1).minus(m).abs())<1?[u,n]:[c,r],b.precision=l,k=!0,f};g.toHexadecimal=g.toHex=function(e,t){return xt(this,16,e,t)};g.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:Z(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(k=!1,r=_(r,e,0,t,1).times(e),k=!0,w(r)):(e.s=r.s,r=e),r};g.toNumber=function(){return+this};g.toOctal=function(e,t){return xt(this,8,e,t)};g.toPower=g.pow=function(e){var t,r,n,i,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(W(+a,u));if(a=new c(a),a.eq(1))return a;if(n=c.precision,o=c.rounding,e.eq(1))return w(a,n,o);if(t=H(e.e/P),t>=e.d.length-1&&(r=u<0?-u:u)<=dn)return i=wr(c,a,r,n),e.s<0?new c(1).div(i):w(i,n,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return r=W(+a,u),t=r==0||!isFinite(r)?H(u*(Math.log("0."+U(a.d))/Math.LN10+a.e+1)):new c(r+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(k=!1,c.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Pt(e.times(le(a,n+r)),n),i.d&&(i=w(i,n+5,1),Ne(i.d,n,o)&&(t=n+10,i=w(Pt(e.times(le(a,t+r)),t),t+5,1),+U(i.d).slice(n+1,n+15)+1==1e14&&(i=w(i,n+1,0)))),i.s=s,k=!0,c.rounding=o,w(i,n,o))};g.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=re(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(Z(e,1,fe),t===void 0?t=i.rounding:Z(t,0,8),n=w(new i(n),e,t),r=re(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};g.toSignificantDigits=g.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Z(e,1,fe),t===void 0?t=n.rounding:Z(t,0,8)),w(new n(r),e,t)};g.toString=function(){var e=this,t=e.constructor,r=re(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};g.truncated=g.trunc=function(){return w(new this.constructor(this),this.e+1,1)};g.valueOf=g.toJSON=function(){var e=this,t=e.constructor,r=re(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function U(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)n=e[t]+"",r=P-n.length,r&&(o+=ce(r)),o+=n;s=e[t],n=s+"",r=P-n.length,r&&(o+=ce(r))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function Z(e,t,r){if(e!==~~e||e<t||e>r)throw Error(de+e)}function Ne(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=P,i=0):(i=Math.ceil((t+1)/P),t%=P),o=W(10,P-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==W(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==W(10,t-3)-1,s}function qe(e,t,r){for(var n,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=bt.indexOf(e.charAt(s++)),n=0;n<i.length;n++)i[n]>r-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function pn(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Ye(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=Le(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var _=function(){function e(n,i,o){var s,a=0,c=n.length;for(n=n.slice();c--;)s=n[c]*i+a,n[c]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(n[a]!=i[a]){c=n[a]>i[a]?1:-1;break}return c}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]<i[o]?1:0,n[o]=a*s+n[o]-i[o];for(;!n[0]&&n.length>1;)n.shift()}return function(n,i,o,s,a,c){var u,l,d,f,m,h,b,x,A,F,R,M,ue,j,pe,Re,we,Pe,J,Te,We=n.constructor,it=n.s==i.s?1:-1,G=n.d,E=i.d;if(!G||!G[0]||!E||!E[0])return new We(!n.s||!i.s||(G?E&&G[0]==E[0]:!E)?NaN:G&&G[0]==0||!E?it*0:it/0);for(c?(m=1,l=n.e-i.e):(c=ee,m=P,l=H(n.e/m)-H(i.e/m)),J=E.length,we=G.length,A=new We(it),F=A.d=[],d=0;E[d]==(G[d]||0);d++);if(E[d]>(G[d]||0)&&l--,o==null?(j=o=We.precision,s=We.rounding):a?j=o+(n.e-i.e)+1:j=o,j<0)F.push(1),h=!0;else{if(j=j/m+2|0,d=0,J==1){for(f=0,E=E[0],j++;(d<we||f)&&j--;d++)pe=f*c+(G[d]||0),F[d]=pe/E|0,f=pe%E|0;h=f||d<we}else{for(f=c/(E[0]+1)|0,f>1&&(E=e(E,f,c),G=e(G,f,c),J=E.length,we=G.length),Re=J,R=G.slice(0,J),M=R.length;M<J;)R[M++]=0;Te=E.slice(),Te.unshift(0),Pe=E[0],E[1]>=c/2&&++Pe;do f=0,u=t(E,R,J,M),u<0?(ue=R[0],J!=M&&(ue=ue*c+(R[1]||0)),f=ue/Pe|0,f>1?(f>=c&&(f=c-1),b=e(E,f,c),x=b.length,M=R.length,u=t(b,R,x,M),u==1&&(f--,r(b,J<x?Te:E,x,c))):(f==0&&(u=f=1),b=E.slice()),x=b.length,x<M&&b.unshift(0),r(R,b,M,c),u==-1&&(M=R.length,u=t(E,R,J,M),u<1&&(f++,r(R,J<M?Te:E,M,c))),M=R.length):u===0&&(f++,R=[0]),F[d++]=f,u&&R[0]?R[M++]=G[Re]||0:(R=[G[Re]],M=1);while((Re++<we||R[0]!==void 0)&&j--);h=R[0]!==void 0}F[0]||F.shift()}if(m==1)A.e=l,pr=h;else{for(d=1,f=F[0];f>=10;f/=10)d++;A.e=d+l*m-1,w(A,a?o+A.e+1:o,s,h)}return A}}();function w(e,t,r,n){var i,o,s,a,c,u,l,d,f,m=e.constructor;e:if(t!=null){if(d=e.d,!d)return e;for(i=1,a=d[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=P,s=t,l=d[f=0],c=l/W(10,i-s-1)%10|0;else if(f=Math.ceil((o+1)/P),a=d.length,f>=a)if(n){for(;a++<=f;)d.push(0);l=c=0,i=1,o%=P,s=o-P+1}else break e;else{for(l=a=d[f],i=1;a>=10;a/=10)i++;o%=P,s=o-P+i,c=s<0?0:l/W(10,i-s-1)%10|0}if(n=n||t<0||d[f+1]!==void 0||(s<0?l:l%W(10,i-s-1)),u=r<4?(c||n)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||n||r==6&&(o>0?s>0?l/W(10,i-s):0:d[f-1])%10&1||r==(e.s<0?8:7)),t<1||!d[0])return d.length=0,u?(t-=e.e+1,d[0]=W(10,(P-t%P)%P),e.e=-t||0):d[0]=e.e=0,e;if(o==0?(d.length=f,a=1,f--):(d.length=f+1,a=W(10,P-o),d[f]=s>0?(l/W(10,i-s)%W(10,s)|0)*a:0),u)for(;;)if(f==0){for(o=1,s=d[0];s>=10;s/=10)o++;for(s=d[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,d[0]==ee&&(d[0]=1));break}else{if(d[f]+=a,d[f]!=ee)break;d[f--]=0,a=1}for(o=d.length;d[--o]===0;)d.pop()}return k&&(e.e>m.maxE?(e.d=null,e.e=NaN):e.e<m.minE&&(e.e=0,e.d=[0])),e}function re(e,t,r){if(!e.isFinite())return Tr(e);var n,i=e.e,o=U(e.d),s=o.length;return t?(r&&(n=r-s)>0?o=o.charAt(0)+"."+o.slice(1)+ce(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+ce(-i-1)+o,r&&(n=r-s)>0&&(o+=ce(n))):i>=s?(o+=ce(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+ce(n))):((n=i+1)<s&&(o=o.slice(0,n)+"."+o.slice(n)),r&&(n=r-s)>0&&(i+1===s&&(o+="."),o+=ce(n))),o}function Ze(e,t){var r=e[0];for(t*=P;r>=10;r/=10)t++;return t}function je(e,t,r){if(t>fn)throw k=!0,r&&(e.precision=r),Error(mr);return w(new e(Ge),t,1,!0)}function $(e,t,r){if(t>wt)throw Error(mr);return w(new e(He),t,r,!0)}function hr(e){var t=e.length-1,r=t*P+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function ce(e){for(var t="";e--;)t+="0";return t}function wr(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/P+4);for(k=!1;;){if(r%2&&(o=o.times(t),dr(o.d,s)&&(i=!0)),r=H(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),dr(t.d,s)}return k=!0,o}function lr(e){return e.d[e.d.length-1]&1}function Pr(e,t,r){for(var n,i=new e(t[0]),o=0;++o<t.length;)if(n=new e(t[o]),n.s)i[r](n)&&(i=n);else{i=n;break}return i}function Pt(e,t){var r,n,i,o,s,a,c,u=0,l=0,d=0,f=e.constructor,m=f.rounding,h=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(k=!1,c=h):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),d+=5;for(n=Math.log(W(2,d))/Math.LN10*2+5|0,c+=n,r=o=s=new f(1),f.precision=c;;){if(o=w(o.times(e),c,1),r=r.times(++l),a=s.plus(_(o,r,c,1)),U(a.d).slice(0,c)===U(s.d).slice(0,c)){for(i=d;i--;)s=w(s.times(s),c,1);if(t==null)if(u<3&&Ne(s.d,c-n,m,u))f.precision=c+=10,r=o=a=new f(1),l=0,u++;else return w(s,f.precision=h,m,k=!0);else return f.precision=h,s}s=a}}function le(e,t){var r,n,i,o,s,a,c,u,l,d,f,m=1,h=10,b=e,x=b.d,A=b.constructor,F=A.rounding,R=A.precision;if(b.s<0||!x||!x[0]||!b.e&&x[0]==1&&x.length==1)return new A(x&&!x[0]?-1/0:b.s!=1?NaN:x?0:b);if(t==null?(k=!1,l=R):l=t,A.precision=l+=h,r=U(x),n=r.charAt(0),Math.abs(o=b.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)b=b.times(e),r=U(b.d),n=r.charAt(0),m++;o=b.e,n>1?(b=new A("0."+r),o++):b=new A(n+"."+r.slice(1))}else return u=je(A,l+2,R).times(o+""),b=le(new A(n+"."+r.slice(1)),l-h).plus(u),A.precision=R,t==null?w(b,R,F,k=!0):b;for(d=b,c=s=b=_(b.minus(1),b.plus(1),l,1),f=w(b.times(b),l,1),i=3;;){if(s=w(s.times(f),l,1),u=c.plus(_(s,new A(i),l,1)),U(u.d).slice(0,l)===U(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(je(A,l+2,R).times(o+""))),c=_(c,new A(m),l,1),t==null)if(Ne(c.d,l-h,F,a))A.precision=l+=h,u=s=b=_(d.minus(1),d.plus(1),l,1),f=w(b.times(b),l,1),i=a=1;else return w(c,A.precision=R,F,k=!0);else return A.precision=R,c;c=u,i+=2}}function Tr(e){return String(e.s*e.s/0)}function Tt(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%P,r<0&&(n+=P),n<i){for(n&&e.d.push(+t.slice(0,n)),i-=P;n<i;)e.d.push(+t.slice(n,n+=P));t=t.slice(n),n=P-t.length}else n-=i;for(;n--;)t+="0";e.d.push(+t),k&&(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 mn(e,t){var r,n,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),br.test(t))return Tt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(cn.test(t))r=16,t=t.toLowerCase();else if(un.test(t))r=2;else if(ln.test(t))r=8;else throw Error(de+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=wr(n,new n(r),o,o*2)),u=qe(t,r,ee),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=Ze(u,l),e.d=u,k=!1,s&&(e=_(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?W(2,c):Xe.pow(2,c))),k=!0,e)}function gn(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:Le(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Ye(5,r)),t=Le(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function Le(e,t,r,n,i){var o,s,a,c,u=1,l=e.precision,d=Math.ceil(l/P);for(k=!1,c=r.times(r),a=new e(n);;){if(s=_(a.times(c),new e(t++*t++),l,1),a=i?n.plus(s):n.minus(s),n=_(s.times(c),new e(t++*t++),l,1),s=a.plus(n),s.d[d]!==void 0){for(o=d;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return k=!0,s.d.length=d+1,s}function Ye(e,t){for(var r=e;--t;)r*=e;return r}function xr(e,t){var r,n=t.s<0,i=$(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ie=n?4:1,t;if(r=t.divToInt(i),r.isZero())ie=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return ie=lr(r)?n?2:3:n?4:1,t;ie=lr(r)?n?1:4:n?3:2}return t.minus(i).abs()}function xt(e,t,r,n){var i,o,s,a,c,u,l,d,f,m=e.constructor,h=r!==void 0;if(h?(Z(r,1,fe),n===void 0?n=m.rounding:Z(n,0,8)):(r=m.precision,n=m.rounding),!e.isFinite())l=Tr(e);else{for(l=re(e),s=l.indexOf("."),h?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(l=l.replace(".",""),f=new m(1),f.e=l.length-s,f.d=qe(re(f),10,i),f.e=f.d.length),d=qe(l,10,i),o=c=d.length;d[--c]==0;)d.pop();if(!d[0])l=h?"0p+0":"0";else{if(s<0?o--:(e=new m(e),e.d=d,e.e=o,e=_(e,f,r,n,0,i),d=e.d,o=e.e,u=pr),s=d[r],a=i/2,u=u||d[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&d[r-1]&1||n===(e.s<0?8:7)),d.length=r,u)for(;++d[--r]>i-1;)d[r]=0,r||(++o,d.unshift(1));for(c=d.length;!d[c-1];--c);for(s=0,l="";s<c;s++)l+=bt.charAt(d[s]);if(h){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(d=qe(l,i,t),c=d.length;!d[c-1];--c);for(s=1,l="1.";s<c;s++)l+=bt.charAt(d[s])}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>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function dr(e,t){if(e.length>t)return e.length=t,!0}function yn(e){return new this(e).abs()}function bn(e){return new this(e).acos()}function hn(e){return new this(e).acosh()}function wn(e,t){return new this(e).plus(t)}function Pn(e){return new this(e).asin()}function Tn(e){return new this(e).asinh()}function xn(e){return new this(e).atan()}function kn(e){return new this(e).atanh()}function Sn(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=$(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?$(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=$(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(_(e,t,o,1)),t=$(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(_(e,t,o,1)),r}function An(e){return new this(e).cbrt()}function Ln(e){return w(e=new this(e),e.e+1,2)}function In(e,t,r){return new this(e).clamp(t,r)}function Bn(e){if(!e||typeof e!="object")throw Error(ze+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,fe,"rounding",0,8,"toExpNeg",-Ae,0,"toExpPos",0,Ae,"maxE",0,Ae,"minE",-Ae,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(r=o[t],i&&(this[r]=ht[r]),(n=e[r])!==void 0)if(H(n)===n&&n>=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(de+r+": "+n);if(r="crypto",i&&(this[r]=ht[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(gr);else this[r]=!1;else throw Error(de+r+": "+n);return this}function Rn(e){return new this(e).cos()}function Cn(e){return new this(e).cosh()}function kr(e){var t,r,n;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,fr(o)){u.s=o.s,k?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e<i.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;k?s>i.maxE?(u.e=NaN,u.d=null):s<i.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return Tt(u,o.toString())}else if(c!=="string")throw Error(de+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),br.test(o)?Tt(u,o):mn(u,o)}if(i.prototype=g,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=Bn,i.clone=kr,i.isDecimal=fr,i.abs=yn,i.acos=bn,i.acosh=hn,i.add=wn,i.asin=Pn,i.asinh=Tn,i.atan=xn,i.atanh=kn,i.atan2=Sn,i.cbrt=An,i.ceil=Ln,i.clamp=In,i.cos=Rn,i.cosh=Cn,i.div=Kn,i.exp=Nn,i.floor=Vn,i.hypot=_n,i.ln=Fn,i.log=En,i.log10=Mn,i.log2=vn,i.max=Dn,i.min=Wn,i.mod=On,i.mul=Un,i.pow=qn,i.random=Gn,i.round=Hn,i.sign=jn,i.sin=zn,i.sinh=Zn,i.sqrt=Yn,i.sub=Xn,i.sum=Jn,i.tan=Qn,i.tanh=$n,i.trunc=ei,e===void 0&&(e={}),e&&e.defaults!==!0)for(n=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<n.length;)e.hasOwnProperty(r=n[t++])||(e[r]=this[r]);return i.config(e),i}function Kn(e,t){return new this(e).div(t)}function Nn(e){return new this(e).exp()}function Vn(e){return w(e=new this(e),e.e+1,3)}function _n(){var e,t,r=new this(0);for(k=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)r.d&&(r=r.plus(t.times(t)));else{if(t.s)return k=!0,new this(1/0);r=t}return k=!0,r.sqrt()}function fr(e){return e instanceof Xe||e&&e.toStringTag===yr||!1}function Fn(e){return new this(e).ln()}function En(e,t){return new this(e).log(t)}function vn(e){return new this(e).log(2)}function Mn(e){return new this(e).log(10)}function Dn(){return Pr(this,arguments,"lt")}function Wn(){return Pr(this,arguments,"gt")}function On(e,t){return new this(e).mod(t)}function Un(e,t){return new this(e).mul(t)}function qn(e,t){return new this(e).pow(t)}function Gn(e){var t,r,n,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:Z(e,1,fe),n=Math.ceil(e/P),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(n));o<n;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o<n;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(gr);else for(;o<n;)a[o++]=Math.random()*1e7|0;for(n=a[--o],e%=P,n&&e&&(i=W(10,P-e),a[o]=(n/i|0)*i);a[o]===0;o--)a.pop();if(o<0)r=0,a=[0];else{for(r=-1;a[0]===0;r-=P)a.shift();for(n=1,i=a[0];i>=10;i/=10)n++;n<P&&(r-=P-n)}return s.e=r,s.d=a,s}function Hn(e){return w(e=new this(e),e.e+1,this.rounding)}function jn(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function zn(e){return new this(e).sin()}function Zn(e){return new this(e).sinh()}function Yn(e){return new this(e).sqrt()}function Xn(e,t){return new this(e).sub(t)}function Jn(){var e=0,t=arguments,r=new this(t[e]);for(k=!1;r.s&&++e<t.length;)r=r.plus(t[e]);return k=!0,w(r,this.precision,this.rounding)}function Qn(e){return new this(e).tan()}function $n(e){return new this(e).tanh()}function ei(e){return w(e=new this(e),e.e+1,1)}g[Symbol.for("nodejs.util.inspect.custom")]=g.toString;g[Symbol.toStringTag]="Decimal";var Xe=g.constructor=kr(ht);Ge=new Xe(Ge);He=new Xe(He);import ui from"big.js";import $e from"bn.js";import ti from"toformat";var ri=ti,Ve=ri;import Qe from"big.js";import ii from"bn.js";import oi from"decimal.js-light";import _e from"bn.js";var Sr=9007199254740991;function C(e){let t=D("CobaltX_parseBigNumberish");if(e instanceof _e)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new _e(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=Sr||e<=-Sr)&&t.logWithError(`BigNumberish number overflow: ${e}`),new _e(String(e))):typeof e=="bigint"?new _e(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new _e(0))}var Je=D("module/fraction"),kt=Ve(Qe),Fe=Ve(oi),si={[0]:Fe.ROUND_DOWN,[1]:Fe.ROUND_HALF_UP,[2]:Fe.ROUND_UP},ai={[0]:Qe.roundDown,[1]:Qe.roundHalfUp,[2]:Qe.roundUp},V=class{constructor(t,r=new ii(1)){this.numerator=C(t),this.denominator=C(r)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new V(this.denominator,this.numerator)}add(t){let r=t instanceof V?t:new V(C(t));return this.denominator.eq(r.denominator)?new V(this.numerator.add(r.numerator),this.denominator):new V(this.numerator.mul(r.denominator).add(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}sub(t){let r=t instanceof V?t:new V(C(t));return this.denominator.eq(r.denominator)?new V(this.numerator.sub(r.numerator),this.denominator):new V(this.numerator.mul(r.denominator).sub(r.numerator.mul(this.denominator)),this.denominator.mul(r.denominator))}mul(t){let r=t instanceof V?t:new V(C(t));return new V(this.numerator.mul(r.numerator),this.denominator.mul(r.denominator))}div(t){let r=t instanceof V?t:new V(C(t));return new V(this.numerator.mul(r.denominator),this.denominator.mul(r.numerator))}toSignificant(t,r={groupSeparator:""},n=1){Number.isInteger(t)||Je.logWithError(`${t} is not an integer.`),t<=0&&Je.logWithError(`${t} is not positive.`),Fe.set({precision:t+1,rounding:si[n]});let i=new Fe(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),r)}toFixed(t,r={groupSeparator:""},n=1){return Number.isInteger(t)||Je.logWithError(`${t} is not an integer.`),t<0&&Je.logWithError(`${t} is negative.`),kt.DP=t,kt.RM=ai[n]||1,new kt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,r)}isZero(){return this.numerator.isZero()}};var ci=D("CobaltX_amount"),Ar=Ve(ui);function li(e,t){let r="0",n="0";if(e.includes(".")){let i=e.split(".");i.length===2?([r,n]=i,n=n.padEnd(t,"0")):ci.logWithError(`invalid number string, num: ${e}`)}else r=e;return[r,n.slice(0,t)||n]}var oe=class extends V{constructor(r,n,i=!0,o){let s=new $e(0),a=St.pow(new $e(r.decimals));if(i)s=C(n);else{let c=new $e(0),u=new $e(0);if(typeof n=="string"||typeof n=="number"||typeof n=="bigint"){let[l,d]=li(n.toString(),r.decimals);c=C(l),u=C(d)}c=c.mul(a),s=c.add(u)}super(s,a);this.logger=D(o||"TokenAmount"),this.token=r}get raw(){return this.numerator}isZero(){return this.raw.isZero()}gt(r){return this.token.equals(r.token)||this.logger.logWithError("gt token not equals"),this.raw.gt(r.raw)}lt(r){return this.token.equals(r.token)||this.logger.logWithError("lt token not equals"),this.raw.lt(r.raw)}add(r){return this.token.equals(r.token)||this.logger.logWithError("add token not equals"),new oe(this.token,this.raw.add(r.raw))}subtract(r){return this.token.equals(r.token)||this.logger.logWithError("sub token not equals"),new oe(this.token,this.raw.sub(r.raw))}toSignificant(r=this.token.decimals,n,i=0){return super.toSignificant(r,n,i)}toFixed(r=this.token.decimals,n,i=0){return r>this.token.decimals&&this.logger.logWithError("decimals overflow"),super.toFixed(r,n,i)}toExact(r={groupSeparator:""}){return Ar.DP=this.token.decimals,new Ar(this.numerator.toString()).div(this.denominator.toString()).toFormat(r)}};import{TOKEN_PROGRAM_ID as Lr}from"@solana/spl-token";import{PublicKey as di}from"@solana/web3.js";var Ir={chainId:101,address:di.default.toBase58(),programId:Lr.toBase58(),decimals:9,symbol:"ETH",name:"Ethereum",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}},ge={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Lr.toBase58(),decimals:9,symbol:"WETH",name:"Wrapped ETH",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}};import{PublicKey as Bt}from"@solana/web3.js";import{PublicKey as q,SystemProgram as Br,SYSVAR_RENT_PUBKEY as fi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pi}from"@solana/spl-token";function p({pubkey:e,isSigner:t=!1,isWritable:r=!0}){return{pubkey:e,isWritable:r,isSigner:t}}var At=[p({pubkey:pi,isWritable:!1}),p({pubkey:Br.programId,isWritable:!1}),p({pubkey:fi,isWritable:!1})];function Rr({publicKey:e,transformSol:t}){let r=Lt(e.toString());if(r instanceof q)return t&&r.equals(ye)?yt:r;if(t&&r.toString()===ye.toBase58())return yt;if(typeof r=="string"){if(r===q.default.toBase58())return q.default;try{return new q(r)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Lt(e){try{return new q(e)}catch{return e}}var wa=new q("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Pa=new q("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),It=new q("SysvarRent111111111111111111111111111111111"),Ta=new q("SysvarC1ock11111111111111111111111111111111"),xa=new q("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),et=new q("Sysvar1nstructions1111111111111111111111111"),ka=Br.programId,Sa=new q("a2Gt18uJC8puJT9JRYQLU6rPi6okxQb4WqCjwtYshZB"),Aa=new q("bXSKiFqYrALF9gJy1KqHm8tv4QXk8nCgbLN8WRsGEbh"),yt=new q("So11111111111111111111111111111111111111112"),ye=q.default,La=new q("71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd"),Ia=new q("ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV");var Rt=class{constructor({mint:t,decimals:r,symbol:n,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===ye.toBase58()||t instanceof Bt&&ye.equals(t)){this.decimals=ge.decimals,this.symbol=ge.symbol,this.name=ge.name,this.mint=new Bt(ge.address),this.isToken2022=!1;return}this.decimals=r,this.symbol=n||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?Bt.default:Rr({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},be=Rt;be.WSOL=new Rt({...ge,mint:ge.address});var Ct=