zksync-easy-onramp
Version:
SDK package for ZKsync easy on ramp
144 lines • 336 kB
JavaScript
"use strict";var g5=Object.defineProperty;var S0=e=>{throw TypeError(e)};var m5=(e,r,n)=>r in e?g5(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n;var X=(e,r,n)=>m5(e,typeof r!="symbol"?r+"":r,n),B0=(e,r,n)=>r.has(e)||S0("Cannot "+n);var ke=(e,r,n)=>(B0(e,r,"read from private field"),n?n.call(e):r.get(e)),Nt=(e,r,n)=>r.has(e)?S0("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,n),Pt=(e,r,n,i)=>(B0(e,r,"write to private field"),i?i.call(e,n):r.set(e,n),n);const le=require("viem");var R0;(function(e){e.ETH="eth",e.POL="pol",e.BSC="bsc",e.DAI="dai",e.FTM="ftm",e.AVA="ava",e.ARB="arb",e.OPT="opt",e.ONE="one",e.FSN="fsn",e.MOR="mor",e.CEL="cel",e.FUS="fus",e.TLO="tlo",e.CRO="cro",e.BOB="bob",e.RSK="rsk",e.VEL="vel",e.MOO="moo",e.MAM="mam",e.AUR="aur",e.EVM="evm",e.ARN="arn",e.ERA="era",e.PZE="pze",e.LNA="lna",e.BAS="bas",e.SCL="scl",e.MOD="mod",e.MNT="mnt",e.BLS="bls",e.SEI="sei",e.FRA="fra",e.TAI="tai",e.GRA="gra",e.IMX="imx",e.KAI="kai",e.XLY="xly",e.OPB="opb",e.WCC="wcc",e.LSK="lsk",e.ABS="abs",e.BER="ber",e.SON="son",e.UNI="uni",e.APE="ape",e.SOE="soe",e.INK="ink",e.LNS="lns",e.SWL="swl",e.CRN="crn",e.ETL="etl",e.SUP="sup",e.HYP="hyp",e.XDC="xdc",e.BOC="boc",e.VIC="vic",e.FLR="flr",e.KAT="kat",e.VAN="van",e.RON="ron",e.PLU="plu",e.NIB="nib",e.HPL="hpl",e.SOP="sop",e.PLA="pla",e.FLW="flw",e.HMI="hmi",e.SOL="sol",e.TER="ter",e.OAS="oas",e.SUI="sui",e.BTC="btc",e.BCH="bch",e.LTC="ltc",e.DGE="dge",e.TRN="trn"})(R0||(R0={}));var De;(function(e){e[e.ETH=1]="ETH",e[e.POL=137]="POL",e[e.BSC=56]="BSC",e[e.DAI=100]="DAI",e[e.FTM=250]="FTM",e[e.AVA=43114]="AVA",e[e.ARB=42161]="ARB",e[e.OPT=10]="OPT",e[e.ONE=16666e5]="ONE",e[e.FSN=32659]="FSN",e[e.MOR=1285]="MOR",e[e.CEL=42220]="CEL",e[e.FUS=122]="FUS",e[e.TLO=40]="TLO",e[e.CRO=25]="CRO",e[e.BOB=288]="BOB",e[e.RSK=30]="RSK",e[e.VEL=106]="VEL",e[e.MOO=1284]="MOO",e[e.MAM=1088]="MAM",e[e.AUR=1313161554]="AUR",e[e.EVM=9001]="EVM",e[e.ARN=42170]="ARN",e[e.ERA=324]="ERA",e[e.PZE=1101]="PZE",e[e.LNA=59144]="LNA",e[e.BAS=8453]="BAS",e[e.SCL=534352]="SCL",e[e.MOD=34443]="MOD",e[e.MNT=5e3]="MNT",e[e.BLS=81457]="BLS",e[e.SEI=1329]="SEI",e[e.FRA=252]="FRA",e[e.TAI=167e3]="TAI",e[e.GRA=1625]="GRA",e[e.IMX=13371]="IMX",e[e.KAI=8217]="KAI",e[e.XLY=196]="XLY",e[e.OPB=204]="OPB",e[e.WCC=480]="WCC",e[e.LSK=1135]="LSK",e[e.ABS=2741]="ABS",e[e.BER=80094]="BER",e[e.SON=146]="SON",e[e.UNI=130]="UNI",e[e.APE=33139]="APE",e[e.SOE=1868]="SOE",e[e.INK=57073]="INK",e[e.LNS=232]="LNS",e[e.SWL=1923]="SWL",e[e.CRN=21e6]="CRN",e[e.ETL=42793]="ETL",e[e.SUP=55244]="SUP",e[e.HYP=999]="HYP",e[e.XDC=50]="XDC",e[e.BOC=60808]="BOC",e[e.VIC=88]="VIC",e[e.FLR=14]="FLR",e[e.KAT=747474]="KAT",e[e.VAN=1480]="VAN",e[e.RON=2020]="RON",e[e.PLU=98866]="PLU",e[e.NIB=6900]="NIB",e[e.HPL=1337]="HPL",e[e.SOP=50104]="SOP",e[e.PLA=9745]="PLA",e[e.FLW=747]="FLW",e[e.HMI=43111]="HMI",e[e.SOL=0x416edef1601be]="SOL",e[e.TER=0x41feef8a540be]="TER",e[e.OAS=0x65d650afb73e]="OAS",e[e.SUI=927e13]="SUI",e[e.BTC=20000000000001]="BTC",e[e.BCH=20000000000002]="BCH",e[e.LTC=20000000000003]="LTC",e[e.DGE=20000000000004]="DGE",e[e.TRN=728126428]="TRN"})(De||(De={}));var Be;(function(e){e.EVM="EVM",e.SVM="SVM",e.MVM="MVM",e.UTXO="UTXO",e.TVM="TVM"})(Be||(Be={}));const we=(()=>{const e={integrator:"lifi-sdk",apiUrl:"https://li.quest/v1",rpcUrls:{},chains:[],providers:[],preloadChains:!0,debug:!1};let r;return{set loading(n){r=n},get(){return e},set(n){const{chains:i,providers:o,rpcUrls:u,...c}=n;return Object.assign(e,c),i&&this.setChains(i),o&&this.setProviders(o),u&&this.setRPCUrls(u),e},getProvider(n){return e.providers.find(i=>i.type===n)},setProviders(n){const i=new Map(e.providers.map(o=>[o.type,o]));for(const o of n)i.set(o.type,o);e.providers=Array.from(i.values())},setChains(n){const i=n.reduce((o,u)=>{var c,l;return(l=(c=u.metamask)==null?void 0:c.rpcUrls)!=null&&l.length&&(o[u.id]=u.metamask.rpcUrls),o},{});this.setRPCUrls(i,[De.SOL]),e.chains=n,r=void 0},async getChains(){return r&&await r,e.chains},async getChainById(n){var o;r&&await r;const i=(o=e.chains)==null?void 0:o.find(u=>u.id===n);if(!i)throw new Error(`ChainId ${n} not found`);return i},setRPCUrls(n,i){var o;for(const u in n){const c=Number(u),l=n[c];if(l!=null&&l.length){if(!((o=e.rpcUrls[c])!=null&&o.length))e.rpcUrls[c]=Array.from(l);else if(!(i!=null&&i.includes(c))){const h=l.filter(g=>{var m;return!((m=e.rpcUrls[c])!=null&&m.includes(g))});e.rpcUrls[c].push(...h)}}}},async getRPCUrls(){return r&&await r,e.rpcUrls}}})(),b5="1.1.0";let bt=class _a extends Error{constructor(r,n={}){var c;const i=n.cause instanceof _a?n.cause.details:(c=n.cause)!=null&&c.message?n.cause.message:n.details,o=n.cause instanceof _a&&n.cause.docsPath||n.docsPath,u=[r||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: https://abitype.dev${o}`]:[],...i?[`Details: ${i}`]:[],`Version: abitype@${b5}`].join(`
`);super(u),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),n.cause&&(this.cause=n.cause),this.details=i,this.docsPath=o,this.metaMessages=n.metaMessages,this.shortMessage=r}};function un(e,r){const n=e.exec(r);return n==null?void 0:n.groups}const Al=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,yl=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,wl=/^\(.+?\).*?$/,C0=/^tuple(?<array>(\[(\d*)\])*)$/;function Da(e){let r=e.type;if(C0.test(e.type)&&"components"in e){r="(";const n=e.components.length;for(let o=0;o<n;o++){const u=e.components[o];r+=Da(u),o<n-1&&(r+=", ")}const i=un(C0,e.type);return r+=`)${(i==null?void 0:i.array)??""}`,Da({...e,type:r})}return"indexed"in e&&e.indexed&&(r=`${r} indexed`),e.name?`${r} ${e.name}`:r}function qr(e){let r="";const n=e.length;for(let i=0;i<n;i++){const o=e[i];r+=Da(o),i!==n-1&&(r+=", ")}return r}function A5(e){var r;return e.type==="function"?`function ${e.name}(${qr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${(r=e.outputs)!=null&&r.length?` returns (${qr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${qr(e.inputs)})`:e.type==="error"?`error ${e.name}(${qr(e.inputs)})`:e.type==="constructor"?`constructor(${qr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}const El=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function y5(e){return El.test(e)}function w5(e){return un(El,e)}const xl=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function E5(e){return xl.test(e)}function x5(e){return un(xl,e)}const vl=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function v5(e){return vl.test(e)}function T5(e){return un(vl,e)}const Tl=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Pl(e){return Tl.test(e)}function P5(e){return un(Tl,e)}const Il=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function I5(e){return Il.test(e)}function S5(e){return un(Il,e)}const Sl=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function B5(e){return Sl.test(e)}function R5(e){return un(Sl,e)}const C5=/^receive\(\) external payable$/;function _5(e){return C5.test(e)}const D5=new Set(["indexed"]),Na=new Set(["calldata","memory","storage"]);class N5 extends bt{constructor({type:r}){super("Unknown type.",{metaMessages:[`Type "${r}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class O5 extends bt{constructor({type:r}){super("Unknown type.",{metaMessages:[`Type "${r}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class M5 extends bt{constructor({param:r}){super("Invalid ABI parameter.",{details:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class L5 extends bt{constructor({param:r,name:n}){super("Invalid ABI parameter.",{details:r,metaMessages:[`"${n}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class F5 extends bt{constructor({param:r,type:n,modifier:i}){super("Invalid ABI parameter.",{details:r,metaMessages:[`Modifier "${i}" not allowed${n?` in "${n}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class U5 extends bt{constructor({param:r,type:n,modifier:i}){super("Invalid ABI parameter.",{details:r,metaMessages:[`Modifier "${i}" not allowed${n?` in "${n}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${i}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class k5 extends bt{constructor({abiParameter:r}){super("Invalid ABI parameter.",{details:JSON.stringify(r,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class xr extends bt{constructor({signature:r,type:n}){super(`Invalid ${n} signature.`,{details:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class G5 extends bt{constructor({signature:r}){super("Unknown signature.",{details:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class H5 extends bt{constructor({signature:r}){super("Invalid struct signature.",{details:r,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class Q5 extends bt{constructor({type:r}){super("Circular reference detected.",{metaMessages:[`Struct "${r}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class z5 extends bt{constructor({current:r,depth:n}){super("Unbalanced parentheses.",{metaMessages:[`"${r.trim()}" has too many ${n>0?"opening":"closing"} parentheses.`],details:`Depth "${n}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function W5(e,r,n){let i="";if(n)for(const o of Object.entries(n)){if(!o)continue;let u="";for(const c of o[1])u+=`[${c.type}${c.name?`:${c.name}`:""}]`;i+=`(${o[0]}{${u}})`}return r?`${r}:${e}${i}`:e}const ha=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function $5(e,r={}){if(v5(e))return V5(e,r);if(E5(e))return j5(e,r);if(y5(e))return q5(e,r);if(I5(e))return J5(e,r);if(B5(e))return K5(e);if(_5(e))return{type:"receive",stateMutability:"payable"};throw new G5({signature:e})}function V5(e,r={}){const n=T5(e);if(!n)throw new xr({signature:e,type:"function"});const i=St(n.parameters),o=[],u=i.length;for(let l=0;l<u;l++)o.push(zn(i[l],{modifiers:Na,structs:r,type:"function"}));const c=[];if(n.returns){const l=St(n.returns),h=l.length;for(let g=0;g<h;g++)c.push(zn(l[g],{modifiers:Na,structs:r,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:o,outputs:c}}function j5(e,r={}){const n=x5(e);if(!n)throw new xr({signature:e,type:"event"});const i=St(n.parameters),o=[],u=i.length;for(let c=0;c<u;c++)o.push(zn(i[c],{modifiers:D5,structs:r,type:"event"}));return{name:n.name,type:"event",inputs:o}}function q5(e,r={}){const n=w5(e);if(!n)throw new xr({signature:e,type:"error"});const i=St(n.parameters),o=[],u=i.length;for(let c=0;c<u;c++)o.push(zn(i[c],{structs:r,type:"error"}));return{name:n.name,type:"error",inputs:o}}function J5(e,r={}){const n=S5(e);if(!n)throw new xr({signature:e,type:"constructor"});const i=St(n.parameters),o=[],u=i.length;for(let c=0;c<u;c++)o.push(zn(i[c],{structs:r,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:o}}function K5(e){const r=R5(e);if(!r)throw new xr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:r.stateMutability??"nonpayable"}}const Y5=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,X5=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Z5=/^u?int$/;function zn(e,r){var y,w;const n=W5(e,r==null?void 0:r.type,r==null?void 0:r.structs);if(ha.has(n))return ha.get(n);const i=wl.test(e),o=un(i?X5:Y5,e);if(!o)throw new M5({param:e});if(o.name&&tw(o.name))throw new L5({param:e,name:o.name});const u=o.name?{name:o.name}:{},c=o.modifier==="indexed"?{indexed:!0}:{},l=(r==null?void 0:r.structs)??{};let h,g={};if(i){h="tuple";const x=St(o.type),I=[],C=x.length;for(let O=0;O<C;O++)I.push(zn(x[O],{structs:l}));g={components:I}}else if(o.type in l)h="tuple",g={components:l[o.type]};else if(Z5.test(o.type))h=`${o.type}256`;else if(o.type==="address payable")h="address";else if(h=o.type,(r==null?void 0:r.type)!=="struct"&&!Bl(h))throw new O5({type:h});if(o.modifier){if(!((w=(y=r==null?void 0:r.modifiers)==null?void 0:y.has)!=null&&w.call(y,o.modifier)))throw new F5({param:e,type:r==null?void 0:r.type,modifier:o.modifier});if(Na.has(o.modifier)&&!nw(h,!!o.array))throw new U5({param:e,type:r==null?void 0:r.type,modifier:o.modifier})}const m={type:`${h}${o.array??""}`,...u,...c,...g};return ha.set(n,m),m}function St(e,r=[],n="",i=0){const o=e.trim().length;for(let u=0;u<o;u++){const c=e[u],l=e.slice(u+1);switch(c){case",":return i===0?St(l,[...r,n.trim()]):St(l,r,`${n}${c}`,i);case"(":return St(l,r,`${n}${c}`,i+1);case")":return St(l,r,`${n}${c}`,i-1);default:return St(l,r,`${n}${c}`,i)}}if(n==="")return r;if(i!==0)throw new z5({current:n,depth:i});return r.push(n.trim()),r}function Bl(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Al.test(e)||yl.test(e)}const ew=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function tw(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Al.test(e)||yl.test(e)||ew.test(e)}function nw(e,r){return r||e==="bytes"||e==="string"||e==="tuple"}function rw(e){const r={},n=e.length;for(let c=0;c<n;c++){const l=e[c];if(!Pl(l))continue;const h=P5(l);if(!h)throw new xr({signature:l,type:"struct"});const g=h.properties.split(";"),m=[],y=g.length;for(let w=0;w<y;w++){const I=g[w].trim();if(!I)continue;const C=zn(I,{type:"struct"});m.push(C)}if(!m.length)throw new H5({signature:l});r[h.name]=m}const i={},o=Object.entries(r),u=o.length;for(let c=0;c<u;c++){const[l,h]=o[c];i[l]=Rl(h,r)}return i}const sw=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Rl(e,r,n=new Set){const i=[],o=e.length;for(let u=0;u<o;u++){const c=e[u];if(wl.test(c.type))i.push(c);else{const h=un(sw,c.type);if(!(h!=null&&h.type))throw new k5({abiParameter:c});const{array:g,type:m}=h;if(m in r){if(n.has(m))throw new Q5({type:m});i.push({...c,type:`tuple${g??""}`,components:Rl(r[m]??[],r,new Set([...n,m]))})}else if(Bl(m))i.push(c);else throw new N5({type:m})}}return i}function Cl(e){const r=rw(e),n=[],i=e.length;for(let o=0;o<i;o++){const u=e[o];Pl(u)||n.push($5(u,r))}return n}function cn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const _l="2.38.0";let Jr={getDocsUrl:({docsBaseUrl:e,docsPath:r="",docsSlug:n})=>r?`${e??"https://viem.sh"}${r}${n?`#${n}`:""}`:void 0,version:`viem@${_l}`},U=class Oa extends Error{constructor(r,n={}){var l;const i=(()=>{var h;return n.cause instanceof Oa?n.cause.details:(h=n.cause)!=null&&h.message?n.cause.message:n.details})(),o=n.cause instanceof Oa&&n.cause.docsPath||n.docsPath,u=(l=Jr.getDocsUrl)==null?void 0:l.call(Jr,{...n,docsPath:o}),c=[r||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...u?[`Docs: ${u}`]:[],...i?[`Details: ${i}`]:[],...Jr.version?[`Version: ${Jr.version}`]:[]].join(`
`);super(c,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=r,this.version=_l}walk(r){return Dl(this,r)}};function Dl(e,r){return r!=null&&r(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Dl(e.cause,r):r?null:e}class gr extends U{constructor({address:r}){super(`Address "${r}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}function Bt(e,{strict:r=!0}={}){return!e||typeof e!="string"?!1:r?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}class Nl extends U{constructor({offset:r,position:n,size:i}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${r}" is out-of-bounds (size: ${i}).`,{name:"SliceOffsetOutOfBoundsError"})}}let Ol=class extends U{constructor({size:r,targetSize:n,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${r}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}};class _0 extends U{constructor({size:r,targetSize:n,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} is expected to be ${n} ${i} long, but is ${r} ${i} long.`,{name:"InvalidBytesLengthError"})}}function vr(e,{dir:r,size:n=32}={}){return typeof e=="string"?vn(e,{dir:r,size:n}):iw(e,{dir:r,size:n})}function vn(e,{dir:r,size:n=32}={}){if(n===null)return e;const i=e.replace("0x","");if(i.length>n*2)throw new Ol({size:Math.ceil(i.length/2),targetSize:n,type:"hex"});return`0x${i[r==="right"?"padEnd":"padStart"](n*2,"0")}`}function iw(e,{dir:r,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ol({size:e.length,targetSize:n,type:"bytes"});const i=new Uint8Array(n);for(let o=0;o<n;o++){const u=r==="right";i[u?o:n-o-1]=e[u?o:e.length-o-1]}return i}let Ml=class extends U{constructor({max:r,min:n,signed:i,size:o,value:u}){super(`Number "${u}" is not in safe ${o?`${o*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${r?`(${n} to ${r})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}};class ow extends U{constructor(r){super(`Bytes value "${r}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}}class aw extends U{constructor({givenSize:r,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${r} bytes.`,{name:"SizeOverflowError"})}}function Re(e){return Bt(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function Tr(e,{dir:r="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,i=0;for(let o=0;o<n.length-1&&n[r==="left"?o:n.length-o-1].toString()==="0";o++)i++;return n=r==="left"?n.slice(i):n.slice(0,n.length-i),typeof e=="string"?(n.length===1&&r==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}function Ht(e,{size:r}){if(Re(e)>r)throw new aw({givenSize:Re(e),maxSize:r})}function nn(e,r={}){const{signed:n}=r;r.size&&Ht(e,{size:r.size});const i=BigInt(e);if(!n)return i;const o=(e.length-2)/2,u=(1n<<BigInt(o)*8n-1n)-1n;return i<=u?i:i-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function rn(e,r={}){return Number(nn(e,r))}const uw=Array.from({length:256},(e,r)=>r.toString(16).padStart(2,"0"));function bi(e,r={}){return typeof e=="number"||typeof e=="bigint"?te(e,r):typeof e=="string"?Fl(e,r):typeof e=="boolean"?Ll(e,r):He(e,r)}function Ll(e,r={}){const n=`0x${Number(e)}`;return typeof r.size=="number"?(Ht(n,{size:r.size}),vr(n,{size:r.size})):n}function He(e,r={}){let n="";for(let o=0;o<e.length;o++)n+=uw[e[o]];const i=`0x${n}`;return typeof r.size=="number"?(Ht(i,{size:r.size}),vr(i,{dir:"right",size:r.size})):i}function te(e,r={}){const{signed:n,size:i}=r,o=BigInt(e);let u;i?n?u=(1n<<BigInt(i)*8n-1n)-1n:u=2n**(BigInt(i)*8n)-1n:typeof e=="number"&&(u=BigInt(Number.MAX_SAFE_INTEGER));const c=typeof u=="bigint"&&n?-u-1n:0;if(u&&o>u||o<c){const h=typeof e=="bigint"?"n":"";throw new Ml({max:u?`${u}${h}`:void 0,min:`${c}${h}`,signed:n,size:i,value:`${e}${h}`})}const l=`0x${(n&&o<0?(1n<<BigInt(i*8))+BigInt(o):o).toString(16)}`;return i?vr(l,{size:i}):l}const cw=new TextEncoder;function Fl(e,r={}){const n=cw.encode(e);return He(n,r)}const fw=new TextEncoder;function _i(e,r={}){return typeof e=="number"||typeof e=="bigint"?dw(e,r):typeof e=="boolean"?lw(e,r):Bt(e)?sn(e,r):Qn(e,r)}function lw(e,r={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof r.size=="number"?(Ht(n,{size:r.size}),vr(n,{size:r.size})):n}const Zt={zero:48,nine:57,A:65,F:70,a:97,f:102};function D0(e){if(e>=Zt.zero&&e<=Zt.nine)return e-Zt.zero;if(e>=Zt.A&&e<=Zt.F)return e-(Zt.A-10);if(e>=Zt.a&&e<=Zt.f)return e-(Zt.a-10)}function sn(e,r={}){let n=e;r.size&&(Ht(n,{size:r.size}),n=vr(n,{dir:"right",size:r.size}));let i=n.slice(2);i.length%2&&(i=`0${i}`);const o=i.length/2,u=new Uint8Array(o);for(let c=0,l=0;c<o;c++){const h=D0(i.charCodeAt(l++)),g=D0(i.charCodeAt(l++));if(h===void 0||g===void 0)throw new U(`Invalid byte sequence ("${i[l-2]}${i[l-1]}" in "${i}").`);u[c]=h*16+g}return u}function dw(e,r){const n=te(e,r);return sn(n)}function Qn(e,r={}){const n=fw.encode(e);return typeof r.size=="number"?(Ht(n,{size:r.size}),vr(n,{dir:"right",size:r.size})):n}const fi=BigInt(2**32-1),N0=BigInt(32);function hw(e,r=!1){return r?{h:Number(e&fi),l:Number(e>>N0&fi)}:{h:Number(e>>N0&fi)|0,l:Number(e&fi)|0}}function pw(e,r=!1){const n=e.length;let i=new Uint32Array(n),o=new Uint32Array(n);for(let u=0;u<n;u++){const{h:c,l}=hw(e[u],r);[i[u],o[u]]=[c,l]}return[i,o]}const gw=(e,r,n)=>e<<n|r>>>32-n,mw=(e,r,n)=>r<<n|e>>>32-n,bw=(e,r,n)=>r<<n-32|e>>>64-n,Aw=(e,r,n)=>e<<n-32|r>>>64-n,cr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yw(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function es(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Wn(e,...r){if(!yw(e))throw new Error("Uint8Array expected");if(r.length>0&&!r.includes(e.length))throw new Error("Uint8Array expected of length "+r+", got length="+e.length)}function ww(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");es(e.outputLen),es(e.blockLen)}function ts(e,r=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(r&&e.finished)throw new Error("Hash#digest() has already been called")}function Ul(e,r){Wn(e);const n=r.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function Ew(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function mr(...e){for(let r=0;r<e.length;r++)e[r].fill(0)}function pa(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ot(e,r){return e<<32-r|e>>>r}const xw=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function vw(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Tw(e){for(let r=0;r<e.length;r++)e[r]=vw(e[r]);return e}const O0=xw?e=>e:Tw;function Pw(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Di(e){return typeof e=="string"&&(e=Pw(e)),Wn(e),e}function Iw(...e){let r=0;for(let i=0;i<e.length;i++){const o=e[i];Wn(o),r+=o.length}const n=new Uint8Array(r);for(let i=0,o=0;i<e.length;i++){const u=e[i];n.set(u,o),o+=u.length}return n}class gu{}function kl(e){const r=i=>e().update(Di(i)).digest(),n=e();return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=()=>e(),r}function Sw(e=32){if(cr&&typeof cr.getRandomValues=="function")return cr.getRandomValues(new Uint8Array(e));if(cr&&typeof cr.randomBytes=="function")return Uint8Array.from(cr.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Bw=BigInt(0),Kr=BigInt(1),Rw=BigInt(2),Cw=BigInt(7),_w=BigInt(256),Dw=BigInt(113),Gl=[],Hl=[],Ql=[];for(let e=0,r=Kr,n=1,i=0;e<24;e++){[n,i]=[i,(2*n+3*i)%5],Gl.push(2*(5*i+n)),Hl.push((e+1)*(e+2)/2%64);let o=Bw;for(let u=0;u<7;u++)r=(r<<Kr^(r>>Cw)*Dw)%_w,r&Rw&&(o^=Kr<<(Kr<<BigInt(u))-Kr);Ql.push(o)}const zl=pw(Ql,!0),Nw=zl[0],Ow=zl[1],M0=(e,r,n)=>n>32?bw(e,r,n):gw(e,r,n),L0=(e,r,n)=>n>32?Aw(e,r,n):mw(e,r,n);function Mw(e,r=24){const n=new Uint32Array(10);for(let i=24-r;i<24;i++){for(let c=0;c<10;c++)n[c]=e[c]^e[c+10]^e[c+20]^e[c+30]^e[c+40];for(let c=0;c<10;c+=2){const l=(c+8)%10,h=(c+2)%10,g=n[h],m=n[h+1],y=M0(g,m,1)^n[l],w=L0(g,m,1)^n[l+1];for(let x=0;x<50;x+=10)e[c+x]^=y,e[c+x+1]^=w}let o=e[2],u=e[3];for(let c=0;c<24;c++){const l=Hl[c],h=M0(o,u,l),g=L0(o,u,l),m=Gl[c];o=e[m],u=e[m+1],e[m]=h,e[m+1]=g}for(let c=0;c<50;c+=10){for(let l=0;l<10;l++)n[l]=e[c+l];for(let l=0;l<10;l++)e[c+l]^=~n[(l+2)%10]&n[(l+4)%10]}e[0]^=Nw[i],e[1]^=Ow[i]}mr(n)}class mu extends gu{constructor(r,n,i,o=!1,u=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=r,this.suffix=n,this.outputLen=i,this.enableXOF=o,this.rounds=u,es(i),!(0<r&&r<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Ew(this.state)}clone(){return this._cloneInto()}keccak(){O0(this.state32),Mw(this.state32,this.rounds),O0(this.state32),this.posOut=0,this.pos=0}update(r){ts(this),r=Di(r),Wn(r);const{blockLen:n,state:i}=this,o=r.length;for(let u=0;u<o;){const c=Math.min(n-this.pos,o-u);for(let l=0;l<c;l++)i[this.pos++]^=r[u++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:r,suffix:n,pos:i,blockLen:o}=this;r[i]^=n,(n&128)!==0&&i===o-1&&this.keccak(),r[o-1]^=128,this.keccak()}writeInto(r){ts(this,!1),Wn(r),this.finish();const n=this.state,{blockLen:i}=this;for(let o=0,u=r.length;o<u;){this.posOut>=i&&this.keccak();const c=Math.min(i-this.posOut,u-o);r.set(n.subarray(this.posOut,this.posOut+c),o),this.posOut+=c,o+=c}return r}xofInto(r){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(r)}xof(r){return es(r),this.xofInto(new Uint8Array(r))}digestInto(r){if(Ul(r,this),this.finished)throw new Error("digest() was already called");return this.writeInto(r),this.destroy(),r}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,mr(this.state)}_cloneInto(r){const{blockLen:n,suffix:i,outputLen:o,rounds:u,enableXOF:c}=this;return r||(r=new mu(n,i,o,c,u)),r.state32.set(this.state32),r.pos=this.pos,r.posOut=this.posOut,r.finished=this.finished,r.rounds=u,r.suffix=i,r.outputLen=o,r.enableXOF=c,r.destroyed=this.destroyed,r}}const Lw=(e,r,n)=>kl(()=>new mu(r,e,n)),Fw=Lw(1,136,256/8);function $n(e,r){const n=r||"hex",i=Fw(Bt(e,{strict:!1})?_i(e):e);return n==="bytes"?i:bi(i)}let bu=class extends Map{constructor(r){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=r}get(r){const n=super.get(r);return super.has(r)&&n!==void 0&&(this.delete(r),super.set(r,n)),n}set(r,n){if(super.set(r,n),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}};const Uw=/^0x[a-fA-F0-9]{40}$/,ga=new bu(8192);function on(e,r){const{strict:n=!0}=r??{},i=`${e}.${n}`;if(ga.has(i))return ga.get(i);const o=Uw.test(e)?e.toLowerCase()===e?!0:n?Ni(e)===e:!0:!1;return ga.set(i,o),o}const ma=new bu(8192);function Ni(e,r){if(ma.has(`${e}.${r}`))return ma.get(`${e}.${r}`);const n=e.substring(2).toLowerCase(),i=$n(Qn(n),"bytes"),o=n.split("");for(let c=0;c<40;c+=2)i[c>>1]>>4>=8&&o[c]&&(o[c]=o[c].toUpperCase()),(i[c>>1]&15)>=8&&o[c+1]&&(o[c+1]=o[c+1].toUpperCase());const u=`0x${o.join("")}`;return ma.set(`${e}.${r}`,u),u}function kw(e){const r=$n(`0x${e.substring(4)}`).substring(26);return Ni(`0x${r}`)}function Pn(e,{includeName:r=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Xw(e.type);return`${e.name}(${Au(e.inputs,{includeName:r})})`}function Au(e,{includeName:r=!1}={}){return e?e.map(n=>Gw(n,{includeName:r})).join(r?", ":","):""}function Gw(e,{includeName:r}){return e.type.startsWith("tuple")?`(${Au(e.components,{includeName:r})})${e.type.slice(5)}`:e.type+(r&&e.name?` ${e.name}`:"")}class Hw extends U{constructor({docsPath:r}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
`),{docsPath:r,name:"AbiConstructorNotFoundError"})}}class F0 extends U{constructor({docsPath:r}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
`),{docsPath:r,name:"AbiConstructorParamsNotFoundError"})}}class Qw extends U{constructor({data:r,params:n,size:i}){super([`Data size of ${i} bytes is too small for given parameters.`].join(`
`),{metaMessages:[`Params: (${Au(n,{includeName:!0})})`,`Data: ${r} (${i} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r,this.params=n,this.size=i}}class Oi extends U{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class zw extends U{constructor({expectedLength:r,givenLength:n,type:i}){super([`ABI encoding array length mismatch for type ${i}.`,`Expected length: ${r}`,`Given length: ${n}`].join(`
`),{name:"AbiEncodingArrayLengthMismatchError"})}}class Ww extends U{constructor({expectedSize:r,value:n}){super(`Size of bytes "${n}" (bytes${Re(n)}) does not match expected size (bytes${r}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class $w extends U{constructor({expectedLength:r,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${r}`,`Given length (values): ${n}`].join(`
`),{name:"AbiEncodingLengthMismatchError"})}}class Vw extends U{constructor(r,{docsPath:n}){super([`Arguments (\`args\`) were provided to "${r}", but "${r}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
`),{docsPath:n,name:"AbiErrorInputsNotFoundError"})}}class U0 extends U{constructor(r,{docsPath:n}={}){super([`Error ${r?`"${r}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
`),{docsPath:n,name:"AbiErrorNotFoundError"})}}class Wl extends U{constructor(r,{docsPath:n}){super([`Encoded error signature "${r}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${r}.`].join(`
`),{docsPath:n,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=r}}class br extends U{constructor(r,{docsPath:n}={}){super([`Function ${r?`"${r}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
`),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class $l extends U{constructor(r,{docsPath:n}){super([`Function "${r}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
`),{docsPath:n,name:"AbiFunctionOutputsNotFoundError"})}}class jw extends U{constructor(r,{docsPath:n}){super([`Encoded function signature "${r}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${r}.`].join(`
`),{docsPath:n,name:"AbiFunctionSignatureNotFoundError"})}}class qw extends U{constructor(r,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${r.type}\` in \`${Pn(r.abiItem)}\`, and`,`\`${n.type}\` in \`${Pn(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class Jw extends U{constructor({expectedSize:r,givenSize:n}){super(`Expected bytes${r}, got bytes${n}.`,{name:"BytesSizeMismatchError"})}}class Kw extends U{constructor(r,{docsPath:n}){super([`Type "${r}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
`),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Yw extends U{constructor(r,{docsPath:n}){super([`Type "${r}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
`),{docsPath:n,name:"InvalidAbiDecodingType"})}}class Vl extends U{constructor(r){super([`Value "${r}" is not a valid array.`].join(`
`),{name:"InvalidArrayError"})}}class Xw extends U{constructor(r){super([`"${r}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
`),{name:"InvalidDefinitionTypeError"})}}class k0 extends U{constructor({offset:r}){super(`Offset \`${r}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class Zw extends U{constructor({length:r,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${r}\`).`,{name:"PositionOutOfBoundsError"})}}class e6 extends U{constructor({count:r,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${r}\`).`,{name:"RecursiveReadLimitExceededError"})}}const t6={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new e6({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Zw({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new k0({offset:e});const r=this.position-e;this.assertPosition(r),this.position=r},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new k0({offset:e});const r=this.position+e;this.assertPosition(r),this.position=r},inspectByte(e){const r=e??this.position;return this.assertPosition(r),this.bytes[r]},inspectBytes(e,r){const n=r??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const r=e??this.position;return this.assertPosition(r),this.bytes[r]},inspectUint16(e){const r=e??this.position;return this.assertPosition(r+1),this.dataView.getUint16(r)},inspectUint24(e){const r=e??this.position;return this.assertPosition(r+2),(this.dataView.getUint16(r)<<8)+this.dataView.getUint8(r+2)},inspectUint32(e){const r=e??this.position;return this.assertPosition(r+3),this.dataView.getUint32(r)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,r){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=r??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const r=this.position;return this.assertPosition(e),this.position=e,()=>this.position=r},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function yu(e,{recursiveReadLimit:r=8192}={}){const n=Object.create(t6);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=r,n}function Ar(e,r,n,{strict:i}={}){return Bt(e,{strict:!1})?Ma(e,r,n,{strict:i}):Jl(e,r,n,{strict:i})}function jl(e,r){if(typeof r=="number"&&r>0&&r>Re(e)-1)throw new Nl({offset:r,position:"start",size:Re(e)})}function ql(e,r,n){if(typeof r=="number"&&typeof n=="number"&&Re(e)!==n-r)throw new Nl({offset:n,position:"end",size:Re(e)})}function Jl(e,r,n,{strict:i}={}){jl(e,r);const o=e.slice(r,n);return i&&ql(o,r,n),o}function Ma(e,r,n,{strict:i}={}){jl(e,r);const o=`0x${e.replace("0x","").slice((r??0)*2,(n??e.length)*2)}`;return i&&ql(o,r,n),o}function n6(e,r={}){typeof r.size<"u"&&Ht(e,{size:r.size});const n=He(e,r);return nn(n,r)}function r6(e,r={}){let n=e;if(typeof r.size<"u"&&(Ht(n,{size:r.size}),n=Tr(n)),n.length>1||n[0]>1)throw new ow(n);return!!n[0]}function tn(e,r={}){typeof r.size<"u"&&Ht(e,{size:r.size});const n=He(e,r);return rn(n,r)}function s6(e,r={}){let n=e;return typeof r.size<"u"&&(Ht(n,{size:r.size}),n=Tr(n,{dir:"right"})),new TextDecoder().decode(n)}function Ft(e){return typeof e[0]=="string"?hs(e):i6(e)}function i6(e){let r=0;for(const o of e)r+=o.length;const n=new Uint8Array(r);let i=0;for(const o of e)n.set(o,i),i+=o.length;return n}function hs(e){return`0x${e.reduce((r,n)=>r+n.replace("0x",""),"")}`}const o6=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Kl=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function ps(e,r){if(e.length!==r.length)throw new $w({expectedLength:e.length,givenLength:r.length});const n=a6({params:e,values:r}),i=Eu(n);return i.length===0?"0x":i}function a6({params:e,values:r}){const n=[];for(let i=0;i<e.length;i++)n.push(wu({param:e[i],value:r[i]}));return n}function wu({param:e,value:r}){const n=xu(e.type);if(n){const[i,o]=n;return c6(r,{length:i,param:{...e,type:o}})}if(e.type==="tuple")return p6(r,{param:e});if(e.type==="address")return u6(r);if(e.type==="bool")return l6(r);if(e.type.startsWith("uint")||e.type.startsWith("int")){const i=e.type.startsWith("int"),[,,o="256"]=Kl.exec(e.type)??[];return d6(r,{signed:i,size:Number(o)})}if(e.type.startsWith("bytes"))return f6(r,{param:e});if(e.type==="string")return h6(r);throw new Kw(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Eu(e){let r=0;for(let u=0;u<e.length;u++){const{dynamic:c,encoded:l}=e[u];c?r+=32:r+=Re(l)}const n=[],i=[];let o=0;for(let u=0;u<e.length;u++){const{dynamic:c,encoded:l}=e[u];c?(n.push(te(r+o,{size:32})),i.push(l),o+=Re(l)):n.push(l)}return Ft([...n,...i])}function u6(e){if(!on(e))throw new gr({address:e});return{dynamic:!1,encoded:vn(e.toLowerCase())}}function c6(e,{length:r,param:n}){const i=r===null;if(!Array.isArray(e))throw new Vl(e);if(!i&&e.length!==r)throw new zw({expectedLength:r,givenLength:e.length,type:`${n.type}[${r}]`});let o=!1;const u=[];for(let c=0;c<e.length;c++){const l=wu({param:n,value:e[c]});l.dynamic&&(o=!0),u.push(l)}if(i||o){const c=Eu(u);if(i){const l=te(u.length,{size:32});return{dynamic:!0,encoded:u.length>0?Ft([l,c]):l}}if(o)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Ft(u.map(({encoded:c})=>c))}}function f6(e,{param:r}){const[,n]=r.type.split("bytes"),i=Re(e);if(!n){let o=e;return i%32!==0&&(o=vn(o,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ft([vn(te(i,{size:32})),o])}}if(i!==Number.parseInt(n,10))throw new Ww({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:vn(e,{dir:"right"})}}function l6(e){if(typeof e!="boolean")throw new U(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:vn(Ll(e))}}function d6(e,{signed:r,size:n=256}){if(typeof n=="number"){const i=2n**(BigInt(n)-(r?1n:0n))-1n,o=r?-i-1n:0n;if(e>i||e<o)throw new Ml({max:i.toString(),min:o.toString(),signed:r,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:te(e,{size:32,signed:r})}}function h6(e){const r=Fl(e),n=Math.ceil(Re(r)/32),i=[];for(let o=0;o<n;o++)i.push(vn(Ar(r,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Ft([vn(te(Re(r),{size:32})),...i])}}function p6(e,{param:r}){let n=!1;const i=[];for(let o=0;o<r.components.length;o++){const u=r.components[o],c=Array.isArray(e)?o:u.name,l=wu({param:u,value:e[c]});i.push(l),l.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Eu(i):Ft(i.map(({encoded:o})=>o))}}function xu(e){const r=e.match(/^(.*)\[(\d+)?\]$/);return r?[r[2]?Number(r[2]):null,r[1]]:void 0}function vu(e,r){const n=typeof r=="string"?sn(r):r,i=yu(n);if(Re(n)===0&&e.length>0)throw new Oi;if(Re(r)&&Re(r)<32)throw new Qw({data:typeof r=="string"?r:He(r),params:e,size:Re(r)});let o=0;const u=[];for(let c=0;c<e.length;++c){const l=e[c];i.setPosition(o);const[h,g]=hr(i,l,{staticPosition:0});o+=g,u.push(h)}return u}function hr(e,r,{staticPosition:n}){const i=xu(r.type);if(i){const[o,u]=i;return m6(e,{...r,type:u},{length:o,staticPosition:n})}if(r.type==="tuple")return w6(e,r,{staticPosition:n});if(r.type==="address")return g6(e);if(r.type==="bool")return b6(e);if(r.type.startsWith("bytes"))return A6(e,r,{staticPosition:n});if(r.type.startsWith("uint")||r.type.startsWith("int"))return y6(e,r);if(r.type==="string")return E6(e,{staticPosition:n});throw new Yw(r.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const G0=32,La=32;function g6(e){const r=e.readBytes(32);return[Ni(He(Jl(r,-20))),32]}function m6(e,r,{length:n,staticPosition:i}){if(!n){const c=tn(e.readBytes(La)),l=i+c,h=l+G0;e.setPosition(l);const g=tn(e.readBytes(G0)),m=ns(r);let y=0;const w=[];for(let x=0;x<g;++x){e.setPosition(h+(m?x*32:y));const[I,C]=hr(e,r,{staticPosition:h});y+=C,w.push(I)}return e.setPosition(i+32),[w,32]}if(ns(r)){const c=tn(e.readBytes(La)),l=i+c,h=[];for(let g=0;g<n;++g){e.setPosition(l+g*32);const[m]=hr(e,r,{staticPosition:l});h.push(m)}return e.setPosition(i+32),[h,32]}let o=0;const u=[];for(let c=0;c<n;++c){const[l,h]=hr(e,r,{staticPosition:i+o});o+=h,u.push(l)}return[u,o]}function b6(e){return[r6(e.readBytes(32),{size:32}),32]}function A6(e,r,{staticPosition:n}){const[i,o]=r.type.split("bytes");if(!o){const c=tn(e.readBytes(32));e.setPosition(n+c);const l=tn(e.readBytes(32));if(l===0)return e.setPosition(n+32),["0x",32];const h=e.readBytes(l);return e.setPosition(n+32),[He(h),32]}return[He(e.readBytes(Number.parseInt(o,10),32)),32]}function y6(e,r){const n=r.type.startsWith("int"),i=Number.parseInt(r.type.split("int")[1]||"256",10),o=e.readBytes(32);return[i>48?n6(o,{signed:n}):tn(o,{signed:n}),32]}function w6(e,r,{staticPosition:n}){const i=r.components.length===0||r.components.some(({name:c})=>!c),o=i?[]:{};let u=0;if(ns(r)){const c=tn(e.readBytes(La)),l=n+c;for(let h=0;h<r.components.length;++h){const g=r.components[h];e.setPosition(l+u);const[m,y]=hr(e,g,{staticPosition:l});u+=y,o[i?h:g==null?void 0:g.name]=m}return e.setPosition(n+32),[o,32]}for(let c=0;c<r.components.length;++c){const l=r.components[c],[h,g]=hr(e,l,{staticPosition:n});o[i?c:l==null?void 0:l.name]=h,u+=g}return[o,u]}function E6(e,{staticPosition:r}){const n=tn(e.readBytes(32)),i=r+n;e.setPosition(i);const o=tn(e.readBytes(32));if(o===0)return e.setPosition(r+32),["",32];const u=e.readBytes(o,32),c=s6(Tr(u));return e.setPosition(r+32),[c,32]}function ns(e){var i;const{type:r}=e;if(r==="string"||r==="bytes"||r.endsWith("[]"))return!0;if(r==="tuple")return(i=e.components)==null?void 0:i.some(ns);const n=xu(e.type);return!!(n&&ns({...e,type:n[1]}))}const x6={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Yl={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},v6={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"},T6=e=>$n(_i(e));function P6(e){return T6(e)}function I6(e){let r=!0,n="",i=0,o="",u=!1;for(let c=0;c<e.length;c++){const l=e[c];if(["(",")",","].includes(l)&&(r=!0),l==="("&&i++,l===")"&&i--,!!r){if(i===0){if(l===" "&&["event","function",""].includes(o))o="";else if(o+=l,l===")"){u=!0;break}continue}if(l===" "){e[c-1]!==","&&n!==","&&n!==",("&&(n="",r=!1);continue}o+=l,n+=l}}if(!u)throw new U("Unable to normalize signature.");return o}const S6=e=>{const r=typeof e=="string"?e:A5(e);return I6(r)};function Xl(e){return P6(S6(e))}const gs=e=>Ar(Xl(e),0,4);function Zl(e){const{abi:r,data:n}=e,i=Ar(n,0,4);if(i==="0x")throw new Oi;const u=[...r||[],Yl,v6].find(c=>c.type==="error"&&i===gs(Pn(c)));if(!u)throw new Wl(i,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:u,args:"inputs"in u&&u.inputs&&u.inputs.length>0?vu(u.inputs,Ar(n,4)):void 0,errorName:u.name}}const B6=Xl;function R6(e){const{abi:r,data:n}=e,i=Ar(n,0,4),o=r.find(u=>u.type==="function"&&i===gs(Pn(u)));if(!o)throw new jw(i,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?vu(o.inputs,Ar(n,4)):void 0}}function ms(e){const{abi:r,args:n=[],name:i}=e,o=Bt(i,{strict:!1}),u=r.filter(l=>o?l.type==="function"?gs(l)===i:l.type==="event"?B6(l)===i:!1:"name"in l&&l.name===i);if(u.length===0)return;if(u.length===1)return u[0];let c;for(const l of u){if(!("inputs"in l))continue;if(!n||n.length===0){if(!l.inputs||l.inputs.length===0)return l;continue}if(!l.inputs||l.inputs.length===0||l.inputs.length!==n.length)continue;if(n.every((g,m)=>{const y="inputs"in l&&l.inputs[m];return y?Fa(g,y):!1})){if(c&&"inputs"in c&&c.inputs){const g=ed(l.inputs,c.inputs,n);if(g)throw new qw({abiItem:l,type:g[0]},{abiItem:c,type:g[1]})}c=l}}return c||u[0]}function Fa(e,r){const n=typeof e,i=r.type;switch(i){case"address":return on(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return i==="tuple"&&"components"in r?Object.values(r.components).every((o,u)=>Fa(Object.values(e)[u],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(i)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(i)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(i)?Array.isArray(e)&&e.every(o=>Fa(o,{...r,type:i.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ed(e,r,n){for(const i in e){const o=e[i],u=r[i];if(o.type==="tuple"&&u.type==="tuple"&&"components"in o&&"components"in u)return ed(o.components,u.components,n[i]);const c=[o.type,u.type];if(c.includes("address")&&c.includes("bytes20")?!0:c.includes("address")&&c.includes("string")?on(n[i],{strict:!1}):c.includes("address")&&c.includes("bytes")?on(n[i],{strict:!1}):!1)return c}}const ba="/docs/contract/decodeFunctionResult";function Mi(e){const{abi:r,args:n,functionName:i,data:o}=e;let u=r[0];if(i){const l=ms({abi:r,args:n,name:i});if(!l)throw new br(i,{docsPath:ba});u=l}if(u.type!=="function")throw new br(void 0,{docsPath:ba});if(!u.outputs)throw new $l(u.name,{docsPath:ba});const c=vu(u.outputs,o);if(c&&c.length>1)return c;if(c&&c.length===1)return c[0]}const Aa="/docs/contract/encodeDeployData";function td(e){const{abi:r,args:n,bytecode:i}=e;if(!n||n.length===0)return i;const o=r.find(c=>"type"in c&&c.type==="constructor");if(!o)throw new Hw({docsPath:Aa});if(!("inputs"in o))throw new F0({docsPath:Aa});if(!o.inputs||o.inputs.length===0)throw new F0({docsPath:Aa});const u=ps(o.inputs,n);return hs([i,u])}const ya="/docs/contract/encodeErrorResult";function H0(e){const{abi:r,errorName:n,args:i}=e;let o=r[0];if(n){const h=ms({abi:r,args:i,name:n});if(!h)throw new U0(n,{docsPath:ya});o=h}if(o.type!=="error")throw new U0(void 0,{docsPath:ya});const u=Pn(o),c=gs(u);let l="0x";if(i&&i.length>0){if(!o.inputs)throw new Vw(o.name,{docsPath:ya});l=ps(o.inputs,i)}return hs([c,l])}const Q0="/docs/contract/encodeFunctionData";function C6(e){const{abi:r,args:n,functionName:i}=e;let o=r[0];if(i){const u=ms({abi:r,args:n,name:i});if(!u)throw new br(i,{docsPath:Q0});o=u}if(o.type!=="function")throw new br(void 0,{docsPath:Q0});return{abi:[o],functionName:gs(Pn(o))}}function bs(e){const{args:r}=e,{abi:n,functionName:i}=(()=>{var l;return e.abi.length===1&&((l=e.functionName)!=null&&l.startsWith("0x"))?e:C6(e)})(),o=n[0],u=i,c="inputs"in o&&o.inputs?ps(o.inputs,r??[]):void 0;return hs([u,c??"0x"])}const wa="/docs/contract/encodeFunctionResult";function _6(e){const{abi:r,functionName:n,result:i}=e;let o=r[0];if(n){const c=ms({abi:r,name:n});if(!c)throw new br(n,{docsPath:wa});o=c}if(o.type!=="function")throw new br(void 0,{docsPath:wa});if(!o.outputs)throw new $l(o.name,{docsPath:wa});const u=(()=>{if(o.outputs.length===0)return[];if(o.outputs.length===1)return[i];if(Array.isArray(i))return i;throw new Vl(i)})();return ps(o.outputs,u)}const Ut=(e,r,n)=>JSON.stringify(e,(i,o)=>typeof o=="bigint"?o.toString():o,n);function nd({abiItem:e,args:r,includeFunctionName:n=!0,includeName:i=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((o,u)=>`${i&&o.name?`${o.name}: `:""}${typeof r[u]=="object"?Ut(r[u]):r[u]}`).join(", ")})`}function D6(e,r="hex"){const n=rd(e),i=yu(new Uint8Array(n.length));return n.encode(i),r==="hex"?He(i.bytes):i.bytes}function rd(e){return Array.isArray(e)?N6(e.map(r=>rd(r))):O6(e)}function N6(e){const r=e.reduce((o,u)=>o+u.length,0),n=sd(r);return{length:r<=55?1+r:1+n+r,encode(o){r<=55?o.pushByte(192+r):(o.pushByte(247+n),n===1?o.pushUint8(r):n===2?o.pushUint16(r):n===3?o.pushUint24(r):o.pushUint32(r));for(const{encode:u}of e)u(o)}}}function O6(e){const r=typeof e=="string"?sn(e):e,n=sd(r.length);return{length:r.length===1&&r[0]<128?1:r.length<=55?1+r.length:1+n+r.length,encode(o){r.length===1&&r[0]<128?o.pushBytes(r):r.length<=55?(o.pushByte(128+r.length),o.pushBytes(r)):(o.pushByte(183+n),n===1?o.pushUint8(r.length):n===2?o.pushUint16(r.length):n===3?o.pushUint24(r.length):o.pushUint32(r.length),o.pushBytes(r))}}}function sd(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new U("Length is too large.")}function M6(e){const{chainId:r,nonce:n,to:i}=e,o=e.contractAddress??e.address,u=$n(hs(["0x05",D6([r?te(r):"0x",o,n?te(n):"0x"])]));return i==="bytes"?sn(u):u}async function L6({hash:e,signature:r}){const n=Bt(e)?e:bi(e),{secp256k1:i}=await Promise.resolve().then(()=>require("./secp256k1-BnzJXo1b.cjs"));return`0x${(()=>{if(typeof r=="object"&&"r"in r&&"s"in r){const{r:g,s:m,v:y,yParity:w}=r,x=Number(w??y),I=z0(x);return new i.Signature(nn(g),nn(m)).addRecoveryBit(I)}const c=Bt(r)?r:bi(r);if(Re(c)!==65)throw new Error("invalid signature length");const l=rn(`0x${c.slice(130)}`),h=z0(l);return i.Signature.fromCompact(c.substring(2,130)).addRecoveryBit(h)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function z0(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function F6({hash:e,signature:r}){return kw(await L6({hash:e,signature:r}))}async function id(e){const{authorization:r,signature:n}=e;return F6({hash:M6(r),signature:n??r})}const U6={gwei:9,wei:18},k6={ether:-9,wei:9};function od(e,r){let n=e.toString();const i=n.startsWith("-");i&&(n=n.slice(1)),n=n.padStart(r,"0");let[o,u]=[n.slice(0,n.length-r),n.slice(n.length-r)];return u=u.replace(/(0+)$/,""),`${i?"-":""}${o||"0"}${u?`.${u}`:""}`}function Tu(e,r="wei"){return od(e,U6[r])}function Ze(e,r="wei"){return od(e,k6[r])}function As(e){const r=Object.entries(e).map(([i,o])=>o===void 0||o===!1?null:[i,o]).filter(Boolean),n=r.reduce((i,[o])=>Math.max(i,o.length),0);return r.map(([i,o])=>` ${`${i}:`.padEnd(n+1)} ${o}`).join(`
`)}class G6 extends U{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(`
`),{name:"FeeConflictError"})}}class H6 extends U{constructor({transaction:r}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",As(r),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Q6 extends U{constructor(r,{account:n,docsPath:i,chain:o,data:u,gas:c,gasPrice:l,maxFeePerGas:h,maxPriorityFeePerGas:g,nonce:m,to:y,value:w}){var I;const x=As({chain:o&&`${o==null?void 0:o.name} (id: ${o==null?void 0:o.id})`,from:n==null?void 0:n.address,to:y,value:typeof w<"u"&&`${Tu(w)} ${((I=o==null?void 0:o.nativeCurrency)==null?void 0:I.symbol)||"ETH"}`,data:u,gas:c,gasPrice:typeof l<"u"&&`${Ze(l)} gwei`,maxFeePerGas:typeof h<"u"&&`${Ze(h)} gwei`,maxPriorityFeePerGas:typeof g<"u"&&`${Ze(g)} gwei`,nonce:m});super(r.shortMessage,{cause:r,docsPath:i,metaMessages:[...r.metaMessages?[...r.metaMessages," "]:[],"Request Arguments:",x].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=r}}class ad extends U{constructor({blockHash:r,blockNumber:n,blockTag:i,hash:o,index:u}){let c="Transaction";i&&u!==void 0&&(c=`Transaction at block time "${i}" at index "${u}"`),r&&u!==void 0&&(c=`Transaction at block hash "${r}" at index "${u}"`),n&&u!==void 0&&(c=`Transaction at block number "${n}" at index "${u}"`),o&&(c=`Transaction with hash "${o}"`),super(`${c} could not be found.`,{name:"TransactionNotFoundError"})}}class ud extends U{constructor({hash:r}){super(`Transaction receipt with hash "${r}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class z6 extends U{constructor({hash:r}){super(`Timed out while waiting for transaction with hash "${r}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}function cd(e){const{kzg:r}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),i=typeof e.blobs[0]=="string"?e.blobs.map(u=>sn(u)):e.blobs,o=[];for(const u of i)o.push(Uint8Array.from(r.blobToKzgCommitment(u)));return n==="bytes"?o:o.map(u=>He(u))}function fd(e){const{kzg:r}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),i=typeof e.blobs[0]=="string"?e.blobs.map(c=>sn(c)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(c=>sn(c)):e.commitments,u=[];for(let c=0;c<i.length;c++){const l=i[c],h=o[c];u.push(Uint8Array.from(r.computeBlobKzgProof(l,h)))}return n==="bytes"?u:u.map(c=>He(c))}function W6(e,r,n,i){if(typeof e.setBigUint64=="function")return e.setBigUint64(r,n,i);const o=BigInt(32),u=BigInt(4294967295),c=Number(n>>o&u),l=Number(n&u),h=i?4:0,g=i?0:4;e.setUint32(r+h,c,i),e.setUint32(r+g,l,i)}function $6(e,r,n){return e&r^~e&n}function V6(e,r,n){return e&r^e&n^r&n}class j6 extends gu{constructor(r,n,i,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=r,this.outputLen=n,this.padOffset=i,this.isLE=o,this.buffer=new Uint8Array(r),this.view=pa(this.buffer)}update(r){ts(this),r=Di(r),Wn(r);const{view:n,buffer:i,blockLen:o}=this,u=r.length;for(let c=0;c<u;){const l=Math.min(o-this.pos,u-c);if(l===o){const h=pa(r);for(;o<=u-c;c+=o)this.process(h,c);continue}i.set(r.subarray(c,c+l),this.pos),this.pos+=l,c+=l,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=r.length,this.roundClean(),this}digestInto(r){ts(this),Ul(r,this),this.finished=!0;const{buffer:n,view:i,blockLen:o,isLE:u}=this;let{pos:c}=this;n[c++]=128,mr(this.buffer.subarray(c)),this.padOffset>o-c&&(this.process(i,0),c=0);for(let y=c;y<o;y++)n[y]=0;W6(i,o-8,BigInt(this.length*8),u),this.process(i,0);const l=pa(r),h=this.outputLen;if(h%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const g=h/4,m=this.get();if(g>m.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<g;y++)l.setUint32(4*y,m[y],u)}digest(){const{buffer:r,outputLen:n}=this;this.digestInto(r);const i=r.slice(0,n);return this.destroy(),i}_cloneInto(r){r||(r=new this.constructor),r.set(...this.get());const{blockLen:n,buffer:i,length:o,finished:u,destroyed:c,pos:l}=this;return r.destroyed=c,r.finished=u,r.length=o,r.pos=l,o%n&&r.buffer.set(i),r}clone(){return this._cloneInto()}}const yn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),q6=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wn=new Uint32Array(64);class J6 extends j6{constructor(r=32){super(64,r,8,!1),this.A=yn[0]|0,this.B=yn[1]|0,this.C=yn[2]|0,this.D=yn[3]|0,this.E=yn[4]|0,this.F=yn[5]|0,this.G=yn[6]|0,this.H=yn[7]|0}get(){const{A:r,B:n,C:i,D:o,E:u,F:c,G:l,H:h}=this;return[r,n,i,o,u,c,l,h]}set(r,n,i,o,u,c,l,h){this.A=r|0,this.B=n|0,this.C=i|0,this.D=o|0,this.E=u|0,this.F=c|0,this.G=l|0,this.H=h|0}process(r,n){for(let y=0;y<16;y++,n+=4)wn[y]=r.getUint32(n,!1);for(let y=16;y<64;y++){const w=wn[y-15],x=wn[y-2],I=Ot(w,7)^Ot(w,18)^w>>>3,C=Ot(x,17)^Ot(x,19)^x>>>10;wn[y]=C+wn[y-7]+I+wn[y-16]|0}let{A:i,B:o,C:u,D:c,E:l,F:h,G:g,H:m}=this;for(let y=0;y<64;y++){const w=Ot(l,6)^Ot(l,11)^Ot(l,25),x=m+w+$6(l,h,g)+q6[y]+wn[y]|0,C=(Ot(i,2)^Ot(i,13)^Ot(i,22))+V6(i,o,u)|0;m=g,g=h,h=l,l=c+x|0,c=u,u=o,o=i,i=x+C|0}i=i+this.A|0,o=o+this.B|0,u=u+this.C|0,c=c+this.D|0,l=l+this.E|0,h=h+this.F|0,g=g+this.G|0,m=m+this.H|0,this.set(i,o,u,c,l,h,g,m)}roundClean(){mr(wn)}destroy(){this.set(0,0,0,0,0,0,0,0),mr(this.buffer)}}const ld=kl(()=>new J6),K6=ld;function Y6(e,r){return K6(Bt(e,{strict:!1})?_i(e):e)}function X6(e){const{commitment:r,version:n=1}=e,i=e.to??(typeof r=="string"?"hex":"bytes"),o=Y6(r);return o.set([n],0),i==="bytes"?o:He(o)}function Z6(e){const{commitments:r,version:n}=e,i=e.to,o=[];for(const u of r)o.push(X6({commitment:u,to:i,version:n}));return o}const W0=6,dd=32,Pu=4096,hd=dd*Pu,$0=hd*W0-1-1*Pu*W0;class e2 extends U{constructor({maxSize:r,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${r} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class t2 extends U{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}function n2(e){const r=typeof e.data=="string"?sn(e.data):e.data,n=Re(r);if(!n)throw new t2;if(n>$0)throw new e2({maxSize:$0,size:n});const i=[];let o=!0,u=0;for(;o;){const c=yu(new Uint8Array(hd));let l=0;for(;l<Pu;){const h=r.slice(u,u+(dd-1));if(c.pushByte(0),c.pushBytes(h),h.length<31){c.pushByte(128),o=!1;break}l++,u+=31}i.push(c)}return i.map(c=>He(c.bytes))}function r2(e){const{data:r,kzg:n,to:i}=e,o=e.blobs??n2({data:r}),u=e.commitments??cd({blobs:o,kzg:n,to:i}),c=e.proofs??fd({blobs:o,commitments:u,kzg:n,to:i}),l=[];for(let h=0;h<o.length;h++)l.push({blob:o[h],commitment:u[h],proof:c[h]});return l}const s2=2n**256n-1n;class Ua extends U{constructor({blockNumber:r,chain:n,contract:i}){super(`Chain "${n.name}" does not support contract "${i.name}".`,{metaMessages:["This could be due to any of the following:",...r&&i.blockCreated&&i.blockCreated>r?[`- The contract "${i.name}" was not deployed until block ${i.blockCreated} (current block ${r}).`]:[`- The chain does not have the contract "${i.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class i2 extends U{constructor({chain:r,currentChainId:n}){super(`The current chain of the wallet (id: ${n}) does not match the target chain for the transaction (id: ${r.id} – ${r.name}).`,{metaMessages:[`Current Chain ID: ${n}`,`Expected Chain ID: ${r.id} – ${r.name}`],name:"ChainMismatchError"})}}class o2 extends U{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
`),{name:"ChainNotFoundError"})}}class pd extends U{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class lr extends U{constructor({cause:r,message:n}={}){var o;const i=(o=n==null?void 0:n.replace("execution reverted: ",""))==null?void 0:o.replace("execution reverted","");super(`Execution reverted ${i?`with reason: ${i}`:"for an unknown reason"}.`,{cause:r,name:"ExecutionRevertedError"})}}Object.defineProperty(lr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(lr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Ai extends U{constructor({cause:r,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Ze(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:r,name:"FeeCapTooHighError"})}}Object.defineProperty(Ai,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class ka extends U{constructor({cause:r,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Ze(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:r,name:"FeeCapTooLowError"})}}Object.defineProperty(ka,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Ga extends U{constructor({cause:r,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:r,name:"NonceTooHighError"})}}Object.defineProperty(Ga,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Ha extends U{constructor({cause:r,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
`),{cause:r,name:"NonceTooLowError"})}}Object.defineProperty(Ha,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Qa extends U{constructor({cause:r,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:r,name:"NonceMaxValueError"})}}Object.defineProperty(Qa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class za extends U{constructor({cause:r}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
`),{cause:r,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(za,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Wa extends U{constructor({cause:r,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:r,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Wa,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class $a extends U{constructor({cause:r,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:r,name:"IntrinsicGasTooLowError"})}}Object.defineProperty($a,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Va extends U{constructor({cause:r}){super("The transaction type is not supported for this chain.",{cause:r,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Va,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class yi extends U{constructor({cause:r,maxPriorityFeePerGas:n,maxFeePerGas:i}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${Ze(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${i?` = ${Ze(i)} gwei`:""}).`].join(`
`),{cause:r,name:"TipAboveFeeCapError"})}}Object.defineProperty(yi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class Li extends U{constructor({cause:r}){super(`An error occurred while executing: ${r==null?void 0:r.shortMessage}`,{cause:r,name:"UnknownNodeError"})}}function a2(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new H6({transaction:e})}const u2=e=>e,Iu=e=>e;class c2 extends U{constructor({body:r,cause:n,details:i,headers:o,status:u,url:c}){super("HTTP request failed.",{cause:n,details:i,metaMessages:[u&&`Status: ${u}`,`URL: ${Iu(c)}`,r&&`Request body: ${Ut(r)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=r,this.headers=o,this.status=u,this.url=c}}class gd extends U{constructor({body:r,error:n,url:i}){super("RPC Request failed.",{cause:n,details:n.message,metaMessages:[`URL: ${Iu(i)}`,`Request body: ${Ut(r)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=n.code,this.data=n.data}}const f2=-1;class md extends U{constructor(r,{code:n,docsPath:i,metaMessages:o,name:u,shortMessage:c}){super(c,{cause:r,docsPath:i,metaMessages:o||(r==null?void 0:r.metaMessages),name:u||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=u||r.name,this.code=r instanceof gd?r.code:n??f2}}class bd extends md{constructor(r,n){super(r,n),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=n.data}}class Fi extends md{constructor(r){super(r,{code:Fi.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Fi,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class Ui extends bd{constructor(r){super(r,{code:Ui.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Ui,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class ki extends bd{constructor(r){super(r,{code:ki.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(ki,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});async function ja(e){return new Promise(r=>setTimeout(r,e))}function qa(e,{delay:r=100,retryCount:n=2,shouldRetry:i=()=>!0}={}){return new Promise((o,u)=>{const c=async({count:l=0}={})=>{const h=async({error:g})=>{const m=typeof r=="function"?r({count:l,error:g}):r;m&&await ja(m),c({count:l+1})};try{const g=await e();o(g)}catch(g){if(l<n&&await i({count:l,error:g}))return h({error:g});u(g)}};c()})}const l2="0.1.1";function d2(){return l2}let Ad=class Ja extends Error{constructor(r,n={}){const i=(()=>{var h;if(n.cause instanceof Ja){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&"details"in n.cause&&typeof n.cause.details=="string"?n.cause.details:(h=n.cause)!=null&&h.message?n.cause.message:n.details})(),o=n.cause instanceof Ja&&n.cause.docsPath||n.docsPath,c=`https://oxlib.sh${o??""}`,l=[r||"An error occurred.",...n.metaMessages?["",...n.metaMessages]:[],...i||o?["",i?`Details: ${i}`:void 0,o?`See: ${c}`:void 0]:[]].filter(h=>typeof h=="string").join(`
`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${d2()}`}),this.cause=n.cause,this.details=i,this.docs=c,this.docsPath=o,this.shortMessage=r}walk(r){return yd(this,r)}};function yd(e,r){return r!=null&&r(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?yd(e.cause,r):r?null:e}function h2(e,r={}){const{dir:n,size:i=32}=r;if(i===0)return e;const o=e.replace("0x","");if(o.length>i*2)throw new m2({size:Math.ceil(o.length/2),targetSize:i,type:"Hex"});return`0x${o[n==="right"?"padEnd":"padStart"](i*2,"0")}`}function en(e,r={}){const{signed:n,size:i}=r,o=BigInt(e);let u;i?n?u=(1n<<BigInt(i)*8n-1n)-1n:u=2n**(BigInt(i)*8n)-1n:typeof e=="number"&&(u=BigInt(Number.MAX_SAFE_INTEGER));const c=typeof u=="bigint"&&n?-u-1n:0;if(u&&o>u||o<c){const g=typeof e=="bigint"?"n":"";throw new g2({max:u?`${u}${g}`:void 0,min:`${c}${g}`,signed:n,size:i,value:`${e}${g}`})}const h=`0x${(n&&o<0?(1n<<BigInt(i*8))+BigInt(o):o).toString(16)}`;return i?p2(h,i):h}function p2(e,r){return h2(e,{dir:"left",size:r})}class g2 extends Ad{constructor({max:r,min:n,signed:i,size:o,value:u}){super(`Number \`${u}\` is not in safe${o?` ${o*8}-bit`:""}${i?" signed":" unsigned"} integer range ${r?`(\`${n}\` to \`${r}\`)`:`(above \`${n}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class m2 extends Ad{constructor({size:r,targetSize:n,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (\`${r}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function b2(e){return{address:e.address,amount:en(e.amount),index:en(e.index),validatorIndex:en(e.validatorIndex)}}function A2(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:en(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:en(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:en(e.gasLimit)},...typeof e.number=="bigint"&&{number:en(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:en(e.prevRandao)},...typeof e.time=="bigint"&&{time:en(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(b2)}}}const Ka=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Ya=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],y2=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],w2=[...y2,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],V0=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],E2="0x82ad56cb",x2="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",v2="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",wd="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class T2 extends U{constructor({address:r}){super(`State for account "${r}" is set multiple times.`,{name:"AccountStateConflictError"})}}class P2 extends U{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function j0(e){return e.reduce((r,{slot:n,value:i})=>`${r} ${n}: ${i}
`,"")}function I2(e){return e.reduce((r,{address:n,...i})=>{let o=`${r} ${n}:
`;return i.nonce&&(o+=` nonce: ${i.nonce}
`),i.balance&&(o+=` balance: ${i.balance}
`),i.code&&(o+=` code: ${i.code}
`),i.state&&(o+=` state:
`,o+=j0(i.state)),i.stateDiff&&(o+=` stateDiff:
`,o+=j0(i.stateDiff)),o},` State Override:
`).slice(0,-1)}class S2 extends U{constructor(r,{account:n,docsPath:i,chain:o,data:u,gas:c,gasPrice:l,maxFeePerGas:h,maxPriorityFeePerGas:g,nonce:m,to:y,value:w,stateOverride:x}){var O;const I=n?cn(n):void 0;let C=As({from:I==null?void 0:I.address,to:y,value:typeof w<"u"&&`${Tu(w)} ${((O=o==null?void 0:o.nativeCurrency)==null?void 0:O.symbol)||"ETH"}`,data:u,gas:c,gasPrice:typeof l<"u"&&`${Ze(l)} gwei`,maxFeePerGas:typeof h<"u"&&`${Ze(h)} gwei`,maxPriorityFeePerGas:typeof g<"u"&&`${Ze(g)} gwei`,nonce:m});x&&(C+=`
${I2(x)}`),super(r.shortMessage,{cause:r,docsPath:i,metaMessages:[...r.metaMessages?[...r.metaMessages," "]:[],"Raw Call Arguments:",C].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=r}}class B2 extends U{constructor(r,{abi:n,args:i,contractAddress:o,docsPath:u,functionName:c,sender:l}){const h=ms({abi:n,args:i,name:c}),g=h?nd({abiItem:h,args:i,includeFunctionName:!1,includeName:!1}):void 0,m=h?Pn(h,{includeName:!0}):void 0,y=As({address:o&&u2(o),function:m,args:g&&g!=="()"&&`${[...Array((c==null?void 0:c.length)??0).keys()].map(()=>" ").join("")}${g}`,sender:l});super(r.shortMessage||`An unknown error occurred while executing the contract function "${c}".`,{cause:r,docsPath:u,metaMessages:[...r.metaMessages?[...r.metaMessages," "]:[],y&&"Contract Call:",y].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=n,this.args=i,this.cause=r,this.contractAddress=o,this.functionName=c,this.sender=l}}class Xa extends U{constructor({abi:r,data:n,functionName:i,message:o}){let u,c,l,h;if(n&&n!=="0x")try{c=Zl({abi:r,data:n});const{abiItem:m,errorName:y,args:w}=c;if(y==="Error")h=w[0];else if(y==="Panic"){const[x]=w;h=x6[x]}else{const x=m?Pn(m,{includeName:!0}):void 0,I=m&&w?nd({abiItem:m,args:w,includeFunctionName:!1,includeName:!1}):void 0;l=[x?`Error: ${x}`:"",I&&I!=="()"?` ${[...Array((y==null?void 0:y.length)??0).keys()].map(()=>" ").join("")}${I}`:""]}}catch(m){u=m}else o&&(h=o);let g;u instanceof Wl&&(g=u.signature,l=[`Unable to decode signature "${g}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${g}.`]),super(h&&h!=="execution reverted"||g?[`The contract function "${i}" reverted with the following ${g?"signature":"reason"}:`,h||g].join(`
`):`The contract function "${i}" reverted.`,{cause:u,metaMessages:l,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=c,this.raw=n,this.reason=h,this.signature=g}}class R2 extends U{constructor({functionName:r}){super(`The contract function "${r}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${r}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class C2 extends U{constructor({factory:r}){super(`Deployment for counterfactual contract call failed${r?` for factory "${r}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class Su extends U{constructor({data:r,message:n}){super(n||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r}}function Bu({blockNumber:e,chain:r,contract:n}){var o;const i=(o=r==null?void 0:r.contracts)==null?void 0:o[n];if(!i)throw new Ua({chain:r,contract:{name:n}});if(e&&i.blockCreated&&i.blockCreated>e)throw new Ua({blockNumber:e,chain:r,contract:{name:n,blockCreated:i.blockCreated}});return i.address}function Ru(e,r){const n=(e.details||"").toLowerCase(),i=e instanceof U?e.walk(o=>(o==null?void 0:o.code)===lr.code):e;return i instanceof U?new lr({cause:e,message:i.details}):lr.nodeMessage.test(n)?new lr({cause:e,message:e.details}):Ai.nodeMessage.test(n)?new Ai({cause:e,maxFeePerGas:r==null?void 0:r.maxFeePerGas}):ka.nodeMessage.test(n)?new ka({cause:e,maxFeePerGas:r==null?void 0:r.maxFeePerGas}):Ga.nodeMessage.test(n)?new Ga({cause:e,nonce:r==null?void 0:r.nonce}):Ha.nodeMessage.test(n)?new Ha({cause:e,nonce:r==null?void 0:r.nonce}):Qa.nodeMessage.test(n)?new Qa({cause:e,nonce:r==null?void 0:r.nonce}):za.nodeMessage.test(n)?new za({cause:e}):Wa.nodeMessage.test(n)?new Wa({cause:e,gas:r==null?void 0:r.gas}):$a.nodeMessage.test(n)?new $a({cause:e,gas:r==null?void 0:r.gas}):Va.nodeMessage.test(n)?new Va({cause:e}):yi.nodeMessage.test(n)?new yi({cause:e,maxFeePerGas:r==null?void 0:r.maxFeePerGas,maxPriorityFeePerGas:r==null?void 0:r.maxPriorityFeePerGas}):new Li({cause:e})}function _2(e,{docsPath:r,...n}){const i=(()=>{const o=Ru(e,n);return o instanceof Li?e:o})();return new S2(i,{docsPath:r,...n})}function Cu(e,{format:r}){if(!r)return{};const n={};function i(u){const c=Object.keys(u);for(const l of c)l in e&&(n[l]=e[l]),u[l]&&typeof u[l]=="object"&&!Array.isArray(u[l])&&i(u[l])}const o=r(e||{});return i(o),n}const D2={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function _u(e,r){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=N2(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(i=>He(i)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=te(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=te(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=te(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=te(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=te(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=te(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=D2[e.type]),typeof e.value<"u"&&(n.value=te(e.value)),n}function N2(e){return e.map(r=>({address:r.address,r:r.r?te(BigInt(r.r)):r.r,s:r.s?te(BigInt(r.s)):r.s,chainId:te(r.chainId),nonce:te(r.nonce),...typeof r.yParity<"u"?{yParity:te(r.yParity)}:{},...typeof r.v<"u"&&typeof r.yParity>"u"?{v:te(r.v)}:{}}))}function Du(){let e=()=>{},r=()=>{};return{promise:new Promise((i,o)=>{e=i,r=o}),resolve:e,reject:r}}const Ea=new Map;function O2({fn:e,id:r,shouldSplitBatch:n,wait:i=0,sort:o}){const u=async()=>{const m=h();c();const y=m.map(({args:w})=>w);y.length!==0&&e(y).then(w=>{o&&Array.isArray(w)&&w.sort(o);for(let x=0;x<m.length;x++){const{resolve:I}=m[x];I==null||I([w[x],w])}}).catch(w=>{for(let x=0;x<m.length;x++){const{reject:I}=m[x];I==null||I(w)}})},c=()=>Ea.delete(r),l=()=>h().map(({args:m})=>m),h=()=>Ea.get(r)||[],g=m=>Ea.set(r,[...h(),m]);return{flush:c,async schedule(m){const{promise:y,resolve:w,reject:x}=Du();return(n==null?void 0:n([...l(),m]))&&u(),h().length>0?(g({args:m,resolve:w,reject:x}),y):(g({args:m,resolve:w,reject:x}),setTimeout(u,i),y)}}}function q0(e){if(!(!e||e.length===0))return e.reduce((r,{slot:n,value:i})=>{if(n.length!==66)throw new _0({size:n.length,targetSize:66,type:"hex"});if(i.length!==66)throw new _0({size:i.length,targetSize:66,type:"hex"});return r[n]=i,r},{})}function M2(e){const{balance:r,nonce:n,state:i,stateDiff:o,code:u}=e,c={};if(u!==void 0&&(c.code=u),r!==void 0&&(c.balance=te(r)),n!==void 0&&(c.nonce=te(n)),i!==void 0&&(c.state=q0(i)),o!==void 0){if(c.state)throw new P2;c.stateDiff=q0(o)}return c}function Ed(e){if(!e)return;const r={};for(const{address:n,...i}of e){if(!on(n,{strict:!1}))throw new gr({address:n});if(r[n])throw new T2({address:n});r[n]=M2(i)}return r}function Gi(e){const{account:r,gasPrice:n,maxFeePerGas:i,maxPriorityFeePerGas:o,to:u}=e,c=r?cn(r):void 0;if(c&&!on(c.address))throw new gr({address:c.address});if(u&&!on(u))throw new gr({address:u});if(typeof n<"u"&&(typeof i<"u"||typeof o<"u"))throw new G6;if(i&&i>s2)throw new Ai({maxFeePerGas:i});if(o&&i&&o>i)throw new yi({maxFeePerGas:i,maxPriorityFeePerGas:o})}async function xd(e,r){var fe,Ee,qe,Le;const{account:n=e.account,authorizationList:i,batch:o=!!((fe=e.batch)!=null&&fe.multicall),blockNumber:u,blockTag:c=e.experimental_blockTag??"latest",accessList:l,blobs:h,blockOverrides:g,code:m,data:y,factory:w,factoryData:x,gas:I,gasPrice:C,maxFeePerBlobGas:O,maxFeePerGas:S,maxPriorityFeePerGas:G,nonce:Q,to:_,value:T,stateOverride:R,...k}=r,F=n?cn(n):void 0;if(m&&(w||x))throw new U("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(m&&_)throw new U("Cannot provide both `code` & `to` as parameters.");const W=m&&y,$=w&&x&&_&&y,ne=W||$,ce=W?vd({code:m,data:y}):$?U2({data:y,factory:w,factoryData:x,to:_}):y;try{Gi(r);const ve=(typeof u=="bigint"?te(u):void 0)||c,At=g?A2(g):void 0,ut=Ed(R),et=(Le=(qe=(Ee=e.chain)==null?void 0:Ee.formatters)==null?void 0:qe.transactionRequest)==null?void 0:Le.format,Pr=(et||_u)({...Cu(k,{format:et}),from:F==null?void 0:F.address,accessList:l,authorizationList:i,blobs:h,data:ce,gas:I,gasPrice:C,maxFeePerBlobGas:O,maxFeePerGas:S,maxPriorityFeePerGas:G,nonce:Q,to:ne?void 0:_,value:T},"call");if(o&&L2({request:Pr})&&!ut&&!At)try{return await F2(e,{...Pr,blockNumber:u,blockTag:c})}catch(tt){if(!(tt instanceof pd)&&!(tt instanceof Ua))throw tt}const Wi=(()=>{const tt=[Pr,ve];return ut&&At?[...tt,ut,At]:ut?[...tt,ut]:At?[...tt,{},At]:tt})(),Qt=await e.request({method:"eth_call",params:Wi});return Qt==="0x"?{data:void 0}:{data:Qt}}catch(We){const ve=k2(We),{offchainLookup:At,offchainLookupSignature:ut}=await Promise.resolve().then(()=>require("./ccip-8652SeHi.cjs"));if(e.ccipRead!==!1&&(ve==null?void 0:ve.slice(0,10))===ut&&_)return{data:await At(e,{data:ve,to:_})};throw ne&&(ve==null?void 0:ve.slice(0,10))==="0x101bb98d"?new C2({factory:w}):_2(We,{...r,account:F,chain:e.chain})}}function L2({request:e}){const{data:r,to:n,...i}=e;return!(!r||r.startsWith(E2)||!n||Object.values(i).filter(o=>typeof o<"u").length>0)}async function F2(e,r){var C;const{batchSize:n=1024,deployless:i=!1,wait:o=0}=typeof((C=e.batch)==null?void 0:C.multicall)=="object"?e.batch.multicall:{},{blockNumber:u,blockTag:c=e.experimental_blockTag??"latest",data:l,to:h}=r,g=(()=>{if(i)return null;if(r.multicallAddress)return r.multicallAddress;if(e.chain)return Bu({blockNumber:u,chain:e.chain,contract:"multicall3"});throw new pd})(),y=(typeof u=="bigint"?te(u):void 0)||c,{schedule:w}=O2({id:`${e.uid}.${y}`,wait:o,shouldSplitBatch(O){return O.reduce((G,{data:Q})=>G+(Q.length-2),0)>n*2},fn:async O=>{const S=O.map(_=>({allowFailure:!0,callData:_.data,target:_.to})),G=bs({abi:Ka,args:[S],functionName:"aggregate3"}),Q=await e.request({method:"eth_call",params:[{...g===null?{data:vd({code:wd,data:G})}:{to:g,data:G}},y]});return Mi({abi:Ka,args:[S],functionName:"aggregate3",data:Q||"0x"})}}),[{returnData:x,success:I}]=await w({data:l,to:h});if(!I)throw new Su({data:x});return x==="0x"?{data:void 0}:{data:x}}function vd(e){const{code:r,data:n}=e;return td({abi:Cl(["constructor(bytes, bytes)"]),bytecode:x2,args:[r,n]})}function U2(e){const{data:r,factory:n,factoryData:i,to:o}=e;return td({abi:Cl(["constructor(address, bytes, address, bytes)"]),bytecode:v2,args:[o,r,n,i]})}function k2(e){var n;if(!(e instanceof U))return;const r=e.walk();return typeof(r==null?void 0:r.data)=="object"?(n=r.data)==null?void 0:n.data:r.data}const Nu="x-batch-gateway:true";async function Td(e){const{data:r,ccipRequest:n}=e,{args:[i]}=R6({abi:Ya,data:r}),o=[],u=[];return await Promise.all(i.map(async(c,l)=>{try{u[l]=c.urls.includes(Nu)?await Td({data:c.data,ccipRequest:n}):await n(c),o[l]=!1}catch(h){o[l]=!0,u[l]=G2(h)}})),_6({abi:Ya,functionName:"query",result:[o,u]})}function G2(e){return e.name==="HttpRequestError"&&e.status?H0({abi:Ya,errorName:"HttpError",args:[e.status,e.shortMessage]}):H0({abi:[Yl],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}function H2({chain:e,currentChainId:r}){if(!e)throw new o2;if(r!==e.id)throw new i2({chain:e,currentChainId:r})}function Q2(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const z2=3;function Za(e,{abi:r,address:n,args:i,docsPath:o,functionName:u,sender:c}){const l=e instanceof Su?e:e instanceof U?e.walk(I=>"data"in I)||e.walk():{},{code:h,data:g,details:m,message:y,shortMessage:w}=l,x=e instanceof Oi?new R2({functionName:u}):[z2,Fi.code].includes(h)&&(g||m||y||w)?new Xa({abi:r,data:typeof g=="object"?g.data:g,functionName:u,message:l instanceof gd?m:w??y}):e;return new B2(x,{abi:r,args:i,contractAddress:n,docsPath:o,functionName:u,sender:c})}class W2 extends U{constructor(r,{account:n,docsPath:i,chain:o,data:u,gas:c,gasPrice:l,maxFeePerGas:h,maxPriorityFeePerGas:g,nonce:m,to:y,value:w}){var I;const x=As({from:n==null?void 0:n.address,to:y,value:typeof w<"u"&&`${Tu(w)} ${((I=o==null?void 0:o.nativeCurrency)==null?void 0:I.symbol)||"ETH"}`,data:u,gas:c,gasPrice:typeof l<"u"&&`${Ze(l)} gwei`,maxFeePerGas:typeof h<"u"&&`${Ze(h)} gwei`,maxPriorityFeePerGas:typeof g<"u"&&`${Ze(g)} gwei`,nonce:m});super(r.shortMessage,{cause:r,docsPath:i,metaMessages:[...r.metaMessages?[...r.metaMessages," "]:[],"Estimate Gas Arguments:",x].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=r}}function $2(e,{docsPath:r,...n}){const i=(()=>{const o=Ru(e,n);return o instanceof Li?e:o})();return new W2(i,{docsPath:r,...n})}function Pd(e,{docsPath:r,...n}){const i=(()=>{const o=Ru(e,n);return o instanceof Li?e:o})();return new Q6(i,{docsPath:r,...n})}const Id={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Sd(e,r){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?rn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Id[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=V2(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}function V2(e){return e.map(r=>({address:r.address,chainId:Number(r.chainId),nonce:Number(r.nonce),r:r.r,s:r.s,yParity:Number(r.yParity)}))}function j2(e,r){const n=(e.transactions??[]).map(i=>typeof i=="string"?i:Sd(i));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}function q2(e,{args:r,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:r,eventName:n}:{}}}const Bd={"0x0":"reverted","0x1":"success"};function J2(e,r){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(i=>q2(i)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?rn(e.transactionIndex):null,status:e.status?Bd[e.status]:null,type:e.type?Id[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}function se(e,r,n){const i=e[r.name];if(typeof i=="function")return i;const o=e[n];return typeof o=="function"?o:u=>r(e,u)}async function K2(e,{address:r,blockTag:n="latest",blockNumber:i}){const o=await e.request({method:"eth_getTransactionCount",params:[r,typeof i=="bigint"?te(i):n]},{dedupe:!!i});return rn(o)}class Y2 extends U{constructor({domain:r}){super(`Invalid domain "${Ut(r)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class X2 extends U{constructor({primaryType:r,types:n}){super(`Invalid primary type \`${r}\` must be one of \`${JSON.stringify(Object.keys(n))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class Z2 extends U{constructor({type:r}){super(`Struct type "${r}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function eE(e){const{domain:r,message:n,primaryType:i,types:o}=e,u=(h,g)=>{const m={...g};for(const y of h){const{name:w,type:x}=y;x==="address"&&(m[w]=m[w].toLowerCase())}return m},c=o.EIP712Domain?r?u(o.EIP712Domain,r):{}:{},l=(()=>{if(i!=="EIP712Domain")return u(o[i],n)})();return Ut({domain:c,message:l,primaryType:i,types:o})}function tE(e){const{domain:r,message:n,primaryType:i,types:o}=e,u=(c,l)=>{for(const h of c){const{name:g,type:m}=h,y=l[g],w=m.match(Kl);if(w&&(typeof y=="number"||typeof y=="bigint")){const[C,O,S]=w;te(y,{signed:O==="int",size:Number.parseInt(S,10)/8})}if(m==="address"&&typeof y=="string"&&!on(y))throw new gr({address:y});const x=m.match(o6);if(x){const[C,O]=x;if(O&&Re(y)!==Number.parseInt(O,10))throw new Jw({expectedSize:Number.parseInt(O,10),givenSize:Re(y)})}const I=o[m];I&&(rE(m),u(I,y))}};if(o.EIP712Domain&&r){if(typeof r!="object")throw new Y2({domain:r});u(o.EIP712Domain,r)}if(i!=="EIP712Domain")if(o[i])u(o[i],n);else throw new X2({primaryType:i,types:o})}function nE({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function rE(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Z2({type:e})}class Rd extends U{constructor({docsPath:r}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
`),{docsPath:r,docsSlug:"account",name:"AccountNotFoundError"})}}class xa extends U{constructor({docsPath:r,metaMessages:n,type:i}){super(`Account type "${i}" is not supported.`,{docsPath:r,metaMessages:n,name:"AccountTypeNotSupportedError"})}}const sE=Q2({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),iE=async e=>{const r=(await we.getRPCUrls())[e];if(!(r!=null&&r.length))throw new Error(`RPC URL not found for chainId: ${e}`);return r},Cd={[De.ETH]:"0x578853aa776Eef10CeE6c4dd2B5862bdcE767A8B",[De.POL]:"0x91EDd8708062bd4233f4Dd0FCE15A7cb4d500091"},oE=e=>Cd[e],J0=[{constant:!0,inputs:[{internalType:"string[]",name:"keys",type:"string[]"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getData",outputs:[{internalType:"address",name:"resolver",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"string[]",name:"values",type:"string[]"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"exists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],aE={[Be.EVM]:"ETH",[Be.MVM]:"SUI",[Be.SVM]:"SOL",[Be.UTXO]:"BTC",[Be.TVM]:"TRON"},uE={[De.ETH]:"ETH",[De.BTC]:"BTC",[De.SUI]:"SUI",[De.SOL]:"SOL",[De.BAS]:"BASE",[De.POL]:"MATIC",[De.ARB]:"ARB1",[De.AVA]:"AVAX"},cE={[Be.EVM]:"EVM",[Be.UTXO]:"BTC",[Be.SVM]:"SOL",[Be.MVM]:"SUI",[Be.TVM]:"TRON"},li={},Vn=async e=>{var c;if(li[e])return li[e];const n=(await iE(e)).map(l=>l.startsWith("wss")?le.webSocket(l):le.http(l,{batch:{batchSize:64}})),i=await we.getChainById(e),o={...i,...i.metamask,name:i.metamask.chainName,rpcUrls:{default:{http:i.metamask.rpcUrls},public:{http:i.metamask.rpcUrls}}};if(o.id===De.ETH&&(o.contracts={...sE.contracts,...o.contracts}),o.id===De.ETH||o.id===De.POL){const l=Cd[o.id];o.contracts={...o.contracts,unsProxyReader:{address:l}}}const u=we.getProvider(Be.EVM);return li[e]=le.createClient({chain:o,transport:le.fallback(n,(c=u==null?void 0:u.options)==null?void 0:c.fallbackTransportConfig),batch:{multicall:!0}}),li[e]},kt=async(e,r,n,i)=>{var o,u;try{return await se(e,r,n)(i)}catch(c){if(!((o=e.account)!=null&&o.address))throw c;const l=(u=e.chain)==null?void 0:u.id;if(!l)throw c;const h=await Vn(l);return await se(h,r,n)(i)}};function fE(e){var n,i,o,u,c,l;if(!(e instanceof U))return!1;const r=e.walk(h=>h instanceof Xa);return r instanceof Xa?((n=r.data)==null?void 0:n.errorName)==="HttpError"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((o=r.data)==null?void 0:o.errorName)==="ResolverNotContract"||((u=r.data)==null?void 0:u.errorName)==="ResolverNotFound"||((c=r.data)==null?void 0:c.errorName)==="ReverseAddressMismatch"||((l=r.data)==null?void 0:l.errorName)==="UnsupportedResolverProfile":!1}function _d(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const r=`0x${e.slice(1,65)}`;return Bt(r)?r:null}function eu(e){let r=new Uint8Array(32).fill(0);if(!e)return He(r);const n=e.split(".");for(let i=n.length-1;i>=0;i-=1){const o=_d(n[i]),u=o?_i(o):$n(Qn(n[i]),"bytes");r=$n(Ft([r,u]),"bytes")}return He(r)}function lE(e){return`[${e.slice(2)}]`}function dE(e){const r=new Uint8Array(32).fill(0);return e?_d(e)||$n(Qn(e)):He(r)}function hE(e){const r=e.replace(/^\.|\.$/gm,"");if(r.length===0)return new Uint8Array(1);const n=new Uint8Array(Qn(r).byteLength+2);let i=0;const o=r.split(".");for(let u=0;u<o.length;u++){let c=Qn(o[u]);c.byteLength>255&&(c=Qn(lE(dE(o[u])))),n[i]=c.length,n.set(c,i+1),i+=c.length+1}return n.byteLength!==i+1?n.slice(0,i+1):n}async function In(e,r){const{abi:n,address:i,args:o,functionName:u,...c}=r,l=bs({abi:n,args:o,functionName:u});try{const{data:h}=await se(e,xd,"call")({...c,data:l,to:i});return Mi({abi:n,args:o,functionName:u,data:h||"0x"})}catch(h){throw Za(h,{abi:n,address:i,args:o,docsPath:"/docs/contract/readContract",functionName:u})}}async function pE(e,r){const{blockNumber:n,blockTag:i,coinType:o,name:u,gatewayUrls:c,strict:l}=r,{chain:h}=e,g=(()=>{if(r.universalResolverAddress)return r.universalResolverAddress;if(!h)throw new Error("client chain not configured. universalResolverAddress is required.");return Bu({blockNumber:n,chain:h,contract:"ensUniversalResolver"})})(),m=h==null?void 0:h.ensTlds;if(m&&!m.some(w=>u.endsWith(w)))return null;const y=o!=null?[eu(u),BigInt(o)]:[eu(u)];try{const w=bs({abi:V0,functionName:"addr",args:y}),x={address:g,abi:w2,functionName:"resolveWithGateways",args:[bi(hE(u)),w,c??[Nu]],blockNumber:n,blockTag:i},C=await se(e,In,"readContract")(x);if(C[0]==="0x")return null;const O=Mi({abi:V0,args:y,functionName:"addr",data:C[0]});return O==="0x"||Tr(O)==="0x00"?null:O}catch(w){if(l)throw w;if(fE(w))return null;throw w}}class gE extends U{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Ou extends U{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class mE extends U{constructor({maxPriorityFeePerGas:r}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Ze(r)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Dd extends U{constructor({blockHash:r,blockNumber:n}){let i="Block";r&&(i=`Block at hash "${r}"`),n&&(i=`Block at number "${n}"`),super(`${i} could not be found.`,{name:"BlockNotFoundError"})}}async function yr(e,{blockHash:r,blockNumber:n,blockTag:i=e.experimental_blockTag??"latest",includeTransactions:o}={}){var g,m,y;const u=o??!1,c=n!==void 0?te(n):void 0;let l=null;if(r?l=await e.request({method:"eth_getBlockByHash",params:[r,u]},{dedupe:!0}):l=await e.request({method:"eth_getBlockByNumber",params:[c||i,u]},{dedupe:!!c}),!l)throw new Dd({blockHash:r,blockNumber:n});return(((y=(m=(g=e.chain)==null?void 0:g.formatters)==null?void 0:m.block)==null?void 0:y.format)||j2)(l,"getBlock")}async function Nd(e){const r=await e.request({method:"eth_gasPrice"});return BigInt(r)}async function bE(e,r){var u,c;const{block:n,chain:i=e.chain,request:o}=r||{};try{const l=((u=i==null?void 0:i.fees)==null?void 0:u.maxPriorityFeePerGas)??((c=i==null?void 0:i.fees)==null?void 0:c.defaultPriorityFee);if(typeof l=="function"){const g=n||await se(e,yr,"getBlock")({}),m=await l({block:g,client:e,request:o});if(m===null)throw new Error;return m}if(typeof l<"u")return l;const h=await e.request({method:"eth_maxPriorityFeePerGas"});return nn(h)}catch{const[l,h]=await Promise.all([n?Promise.resolve(n):se(e,yr,"getBlock")({}),se(e,Nd,"getGasPrice")({})]);if(typeof l.baseFeePerGas!="bigint")throw new Ou;const g=h-l.baseFeePerGas;return g<0n?0n:g}}async function K0(e,r){var w,x;const{block:n,chain:i=e.chain,request:o,type:u="eip1559"}=r||{},c=await(async()=>{var I,C;return typeof((I=i==null?void 0:i.fees)==null?void 0:I.baseFeeMultiplier)=="function"?i.fees.baseFeeMultiplier({block:n,client:e,request:o}):((C=i==null?void 0:i.fees)==null?void 0:C.baseFeeMultiplier)??1.2})();if(c<1)throw new gE;const h=10**(((w=c.toString().split(".")[1])==null?void 0:w.length)??0),g=I=>I*BigInt(Math.ceil(c*h))/BigInt(h),m=n||await se(e,yr,"getBlock")({});if(typeof((x=i==null?void 0:i.fees)==null?void 0:x.estimateFeesPerGas)=="function"){const I=await i.fees.estimateFeesPerGas({block:n,client:e,multiply:g,request:o,type:u});if(I!==null)return I}if(u==="eip1559"){if(typeof m.baseFeePerGas!="bigint")throw new Ou;const I=typeof(o==null?void 0:o.maxPriorityFeePerGas)=="bigint"?o.maxPriorityFeePerGas:await bE(e,{block:m,chain:i,request:o}),C=g(m.baseFeePerGas);return{maxFeePerGas:(o==null?void 0:o.maxFeePerGas)??C+I,maxPriorityFeePerGas:I}}return{gasPrice:(o==null?void 0:o.gasPrice)??g(await se(e,Nd,"getGasPrice")({}))}}async function wi(e){const r=await e.request({method:"eth_chainId"},{dedupe:!0});return rn(r)}const Od=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Y0=new Map;async function Md(e,r){const{account:n=e.account,blobs:i,chain:o,gas:u,kzg:c,nonce:l,nonceManager:h,parameters:g=Od,type:m}=r,y=n&&cn(n),w={...r,...y?{from:y==null?void 0:y.address}:{}};let x;async function I(){return x||(x=await se(e,yr,"getBlock")({blockTag:"latest"}),x)}let C;async function O(){return C||(o?o.id:typeof r.chainId<"u"?r.chainId:(C=await se(e,wi,"getChainId")({}),C))}if(g.includes("nonce")&&typeof l>"u"&&y)if(h){const S=await O();w.nonce=await h.consume({address:y.address,chainId:S,client:e})}else w.nonce=await se(e,K2,"getTransactionCount")({address:y.address,blockTag:"pending"});if((g.includes("blobVersionedHashes")||g.includes("sidecars"))&&i&&c){const S=cd({blobs:i,kzg:c});if(g.includes("blobVersionedHashes")){const G=Z6({commitments:S,to:"hex"});w.blobVersionedHashes=G}if(g.includes("sidecars")){const G=fd({blobs:i,commitments:S,kzg:c}),Q=r2({blobs:i,commitments:S,proofs:G,to:"hex"});w.sidecars=Q}}if(g.includes("chainId")&&(w.chainId=await O()),(g.includes("fees")||g.includes("type"))&&typeof m>"u")try{w.type=a2(w)}catch{let S=Y0.get(e.uid);if(typeof S>"u"){const G=await I();S=typeof(G==null?void 0:G.baseFeePerGas)=="bigint",Y0.set(e.uid,S)}w.type=S?"eip1559":"legacy"}if(g.includes("fees"))if(w.type!=="legacy"&&w.type!=="eip2930"){if(typeof w.maxFeePerGas>"u"||typeof w.maxPriorityFeePerGas>"u"){const S=await I(),{maxFeePerGas:G,maxPriorityFeePerGas:Q}=await K0(e,{block:S,chain:o,request:w});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<Q)throw new mE({maxPriorityFeePerGas:Q});w.maxPriorityFeePerGas=Q,w.maxFeePerGas=G}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new Ou;if(typeof r.gasPrice>"u"){const S=await I(),{gasPrice:G}=await K0(e,{block:S,chain:o,request:w,type:"legacy"});w.gasPrice=G}}return g.includes("gas")&&typeof u>"u"&&(w.gas=await se(e,Ld,"estimateGas")({...w,account:y&&{address:y.address,type:"json-rpc"}})),Gi(w),delete w.parameters,w}async function Ld(e,r){var o,u,c;const{account:n=e.account}=r,i=n?cn(n):void 0;try{const{accessList:l,authorizationList:h,blobs:g,blobVersionedHashes:m,blockNumber:y,blockTag:w,data:x,gas:I,gasPrice:C,maxFeePerBlobGas:O,maxFeePerGas:S,maxPriorityFeePerGas:G,nonce:Q,value:_,stateOverride:T,...R}=await Md(e,{...r,parameters:(i==null?void 0:i.type)==="local"?void 0:["blobVersionedHashes"]}),F=(typeof y=="bigint"?te(y):void 0)||w,W=Ed(T),$=await(async()=>{if(R.to)return R.to;if(h&&h.length>0)return await id({authorization:h[0]}).catch(()=>{throw new U("`to` is required. Could not infer from `authorizationList`")})})();Gi(r);const ne=(c=(u=(o=e.chain)==null?void 0:o.formatters)==null?void 0:u.transactionRequest)==null?void 0:c.format,fe=(ne||_u)({...Cu(R,{format:ne}),from:i==null?void 0:i.address,accessList:l,authorizationList:h,blobs:g,blobVersionedHashes:m,data:x,gas:I,gasPrice:C,maxFeePerBlobGas:O,maxFeePerGas:S,maxPriorityFeePerGas:G,nonce:Q,to:$,value:_},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:W?[fe,F??e.experimental_blockTag??"latest",W]:F?[fe,F]:[fe]}))}catch(l){throw $2(l,{...r,account:i,chain:e.chain})}}async function AE(e,{address:r,blockNumber:n,blockTag:i=e.experimental_blockTag??"latest"}){const o=typeof n=="bigint"?te(n):void 0,u=await e.request({method:"eth_getBalance",params:[r,o||i]});return BigInt(u)}const yE=new Map,wE=new Map;function EE(e){const r=(o,u)=>({clear:()=>u.delete(o),get:()=>u.get(o),set:c=>u.set(o,c)}),n=r(e,yE),i=r(e,wE);return{clear:()=>{n.clear(),i.clear()},promise:n,response:i}}async function xE(e,{cacheKey:r,cacheTime:n=Number.POSITIVE_INFINITY}){const i=EE(r),o=i.response.get();if(o&&n>0&&Date.now()-o.created.getTime()<n)return o.data;let u=i.promise.get();u||(u=e(),i.promise.set(u));try{const c=await u;return i.response.set({created:new Date,data:c}),c}finally{i.promise.clear()}}const vE=e=>`blockNumber.${e}`;async function Mu(e,{cacheTime:r=e.cacheTime}={}){const n=await xE(()=>e.request({method:"eth_blockNumber"}),{cacheKey:vE(e.uid),cacheTime:r});return BigInt(n)}async function TE(e,{address:r,blockNumber:n,blockTag:i="latest"}){const o=n!==void 0?te(n):void 0,u=await e.request({method:"eth_getCode",params:[r,o||i]},{dedupe:!!o});if(u!=="0x")return u}async function PE(e,{blockHash:r,blockNumber:n,blockTag:i,hash:o,index:u}){var m,y,w;const c=i||"latest",l=n!==void 0?te(n):void 0;let h=null;if(o?h=await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):r?h=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[r,te(u)]},{dedupe:!0}):h=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[l||c,te(u)]},{dedupe:!!l}),!h)throw new ad({blockHash:r,blockNumber:n,blockTag:c,hash:o,index:u});return(((w=(y=(m=e.chain)==null?void 0:m.formatters)==null?void 0:y.transaction)==null?void 0:w.format)||Sd)(h,"getTransaction")}async function va(e,{hash:r}){var o,u,c;const n=await e.request({method:"eth_getTransactionReceipt",params:[r]},{dedupe:!0});if(!n)throw new ud({hash:r});return(((c=(u=(o=e.chain)==null?void 0:o.formatters)==null?void 0:u.transactionReceipt)==null?void 0:c.format)||J2)(n,"getTransactionReceipt")}async function Lu(e,r){var G;const{account:n,authorizationList:i,allowFailure:o=!0,blockNumber:u,blockOverrides:c,blockTag:l,stateOverride:h}=r,g=r.contracts,{batchSize:m=r.batchSize??1024,deployless:y=r.deployless??!1}=typeof((G=e.batch)==null?void 0:G.multicall)=="object"?e.batch.multicall:{},w=(()=>{if(r.multicallAddress)return r.multicallAddress;if(y)return null;if(e.chain)return Bu({blockNumber:u,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),x=[[]];let I=0,C=0;for(let Q=0;Q<g.length;Q++){const{abi:_,address:T,args:R,functionName:k}=g[Q];try{const F=bs({abi:_,args:R,functionName:k});C+=(F.length-2)/2,m>0&&C>m&&x[I].length>0&&(I++,C=(F.length-2)/2,x[I]=[]),x[I]=[...x[I],{allowFailure:!0,callData:F,target:T}]}catch(F){const W=Za(F,{abi:_,address:T,args:R,docsPath:"/docs/contract/multicall",functionName:k,sender:n});if(!o)throw W;x[I]=[...x[I],{allowFailure:!0,callData:"0x",target:T}]}}const O=await Promise.allSettled(x.map(Q=>se(e,In,"readContract")({...w===null?{code:wd}:{address:w},abi:Ka,account:n,args:[Q],authorizationList:i,blockNumber:u,blockOverrides:c,blockTag:l,functionName:"aggregate3",stateOverride:h}))),S=[];for(let Q=0;Q<O.length;Q++){const _=O[Q];if(_.status==="rejected"){if(!o)throw _.reason;for(let R=0;R<x[Q].length;R++)S.push({status:"failure",error:_.reason,result:void 0});continue}const T=_.value;for(let R=0;R<T.length;R++){const{returnData:k,success:F}=T[R],{callData:W}=x[Q][R],{abi:$,address:ne,functionName:ce,args:fe}=g[S.length];try{if(W==="0x")throw new Oi;if(!F)throw new Su({data:k});const Ee=Mi({abi:$,args:fe,data:k,functionName:ce});S.push(o?{result:Ee,status:"success"}:Ee)}catch(Ee){const qe=Za(Ee,{abi:$,address:ne,args:fe,docsPath:"/docs/contract/multicall",functionName:ce});if(!o)throw qe;S.push({error:qe,result:void 0,status:"failure"})}}}if(S.length!==g.length)throw new U("multicall results mismatch");return S}const Ta=new Map,X0=new Map;let IE=0;function Ei(e,r,n){const i=++IE,o=()=>Ta.get(e)||[],u=()=>{const m=o();Ta.set(e,m.filter(y=>y.id!==i))},c=()=>{const m=o();if(!m.some(w=>w.id===i))return;const y=X0.get(e);if(m.length===1&&y){const w=y();w instanceof Promise&&w.catch(()=>{})}u()},l=o();if(Ta.set(e,[...l,{id:i,fns:r}]),l&&l.length>0)return c;const h={};for(const m in r)h[m]=((...y)=>{var x,I;const w=o();if(w.length!==0)for(const C of w)(I=(x=C.fns)[m])==null||I.call(x,...y)});const g=n(h);return typeof g=="function"&&X0.set(e,g),c}function Fd(e,{emitOnBegin:r,initialWaitTime:n,interval:i}){let o=!0;const u=()=>o=!1;return(async()=>{let l;r&&(l=await e({unpoll:u}));const h=await(n==null?void 0:n(l))??i;await ja(h);const g=async()=>{o&&(await e({unpoll:u}),await ja(i),g())};g()})(),u}function SE(e,{emitOnBegin:r=!1,emitMissed:n=!1,onBlockNumber:i,onError:o,poll:u,pollingInterval:c=e.pollingInterval}){const l=typeof u<"u"?u:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc"));let h;return l?(()=>{const y=Ut(["watchBlockNumber",e.uid,r,n,c]);return Ei(y,{onBlockNumber:i,onError:o},w=>Fd(async()=>{var x;try{const I=await se(e,Mu,"getBlockNumber")({cacheTime:0});if(h!==void 0){if(I===h)return;if(I-h>1&&n)for(let C=h+1n;C<I;C++)w.onBlockNumber(C,h),h=C}(h===void 0||I>h)&&(w.onBlockNumber(I,h),h=I)}catch(I){(x=w.onError)==null||x.call(w,I)}},{emitOnBegin:r,interval:c}))})():(()=>{const y=Ut(["watchBlockNumber",e.uid,r,n]);return Ei(y,{onBlockNumber:i,onError:o},w=>{let x=!0,I=()=>x=!1;return(async()=>{try{const C=(()=>{if(e.transport.type==="fallback"){const S=e.transport.transports.find(G=>G.config.type==="webSocket"||G.config.type==="ipc");return S?S.value:e.transport}return e.transport})(),{unsubscribe:O}=await C.subscribe({params:["newHeads"],onData(S){var Q;if(!x)return;const G=nn((Q=S.result)==null?void 0:Q.number);w.onBlockNumber(G,h),h=G},onError(S){var G;(G=w.onError)==null||G.call(w,S)}});I=O,x||I()}catch(C){o==null||o(C)}})(),()=>I()})})()}async function BE(e,r){const{checkReplacement:n=!0,confirmations:i=1,hash:o,onReplaced:u,retryCount:c=6,retryDelay:l=({count:T})=>~~(1<<T)*200,timeout:h=18e4}=r,g=Ut(["waitForTransactionReceipt",e.uid,o]),m=(()=>{var T;return r.pollingInterval?r.pollingInterval:(T=e.chain)!=null&&T.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval})();let y,w,x,I=!1,C,O;const{promise:S,resolve:G,reject:Q}=Du(),_=h?setTimeout(()=>{O==null||O(),C==null||C(),Q(new z6({hash:o}))},h):void 0;return C=Ei(g,{onReplaced:u,resolve:G,reject:Q},async T=>{if(x=await se(e,va,"getTransactionReceipt")({hash:o}).catch(()=>{}),x&&i<=1){clearTimeout(_),T.resolve(x),C==null||C();return}O=se(e,SE,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:m,async onBlockNumber(R){const k=W=>{clearTimeout(_),O==null||O(),W(),C==null||C()};let F=R;if(!I)try{if(x){if(i>1&&(!x.blockNumber||F-x.blockNumber+1n<i))return;k(()=>T.resolve(x));return}if(n&&!y&&(I=!0,await qa(async()=>{y=await se(e,PE,"getTransaction")({hash:o}),y.blockNumber&&(F=y.blockNumber)},{delay:l,retryCount:c}),I=!1),x=await se(e,va,"getTransactionReceipt")({hash:o}),i>1&&(!x.blockNumber||F-x.blockNumber+1n<i))return;k(()=>T.resolve(x))}catch(W){if(W instanceof ad||W instanceof ud){if(!y){I=!1;return}try{w=y,I=!0;const $=await qa(()=>se(e,yr,"getBlock")({blockNumber:F,includeTransactions:!0}),{delay:l,retryCount:c,shouldRetry:({error:fe})=>fe instanceof Dd});I=!1;const ne=$.transactions.find(({from:fe,nonce:Ee})=>fe===w.from&&Ee===w.nonce);if(!ne||(x=await se(e,va,"getTransactionReceipt")({hash:ne.hash}),i>1&&(!x.blockNumber||F-x.blockNumber+1n<i)))return;let ce="replaced";ne.to===w.to&&ne.value===w.value&&ne.input===w.input?ce="repriced":ne.from===ne.to&&ne.value===0n&&(ce="cancelled"),k(()=>{var fe;(fe=T.onReplaced)==null||fe.call(T,{reason:ce,replacedTransaction:w,transaction:ne,transactionReceipt:x}),T.resolve(x)})}catch($){k(()=>T.reject($))}}else k(()=>T.reject(W))}}})}),S}async function RE(e,{serializedTransaction:r}){return e.request({method:"eth_sendRawTransaction",params:[r]},{retryCount:0})}const Pa=new bu(128);async function Fu(e,r){var G,Q,_,T;const{account:n=e.account,chain:i=e.chain,accessList:o,authorizationList:u,blobs:c,data:l,gas:h,gasPrice:g,maxFeePerBlobGas:m,maxFeePerGas:y,maxPriorityFeePerGas:w,nonce:x,type:I,value:C,...O}=r;if(typeof n>"u")throw new Rd({docsPath:"/docs/actions/wallet/sendTransaction"});const S=n?cn(n):null;try{Gi(r);const R=await(async()=>{if(r.to)return r.to;if(r.to!==null&&u&&u.length>0)return await id({authorization:u[0]}).catch(()=>{throw new U("`to` is required. Could not infer from `authorizationList`.")})})();if((S==null?void 0:S.type)==="json-rpc"||S===null){let k;i!==null&&(k=await se(e,wi,"getChainId")({}),H2({currentChainId:k,chain:i}));const F=(_=(Q=(G=e.chain)==null?void 0:G.formatters)==null?void 0:Q.transactionRequest)==null?void 0:_.format,$=(F||_u)({...Cu(O,{format:F}),accessList:o,authorizationList:u,blobs:c,chainId:k,data:l,from:S==null?void 0:S.address,gas:h,gasPrice:g,maxFeePerBlobGas:m,maxFeePerGas:y,maxPriorityFeePerGas:w,nonce:x,to:R,type:I,value:C},"sendTransaction"),ne=Pa.get(e.uid),ce=ne?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:ce,params:[$]},{retryCount:0})}catch(fe){if(ne===!1)throw fe;const Ee=fe;if(Ee.name==="InvalidInputRpcError"||Ee.name==="InvalidParamsRpcError"||Ee.name==="MethodNotFoundRpcError"||Ee.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[$]},{retryCount:0}).then(qe=>(Pa.set(e.uid,!0),qe)).catch(qe=>{const Le=qe;throw Le.name==="MethodNotFoundRpcError"||Le.name==="MethodNotSupportedRpcError"?(Pa.set(e.uid,!1),Ee):Le});throw Ee}}if((S==null?void 0:S.type)==="local"){const k=await se(e,Md,"prepareTransactionRequest")({account:S,accessList:o,authorizationList:u,blobs:c,chain:i,data:l,gas:h,gasPrice:g,maxFeePerBlobGas:m,maxFeePerGas:y,maxPriorityFeePerGas:w,nonce:x,nonceManager:S.nonceManager,parameters:[...Od,"sidecars"],type:I,value:C,...O,to:R}),F=(T=i==null?void 0:i.serializers)==null?void 0:T.transaction,W=await S.signTransaction(k,{serializer:F});return await se(e,RE,"sendRawTransaction")({serializedTransaction:W})}throw(S==null?void 0:S.type)==="smart"?new xa({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new xa({docsPath:"/docs/actions/wallet/sendTransaction",type:S==null?void 0:S.type})}catch(R){throw R instanceof xa?R:Pd(R,{...r,account:S,chain:r.chain||void 0})}}async function CE(e){var n;return((n=e.account)==null?void 0:n.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(i=>Ni(i))}const Ud="0x5792579257925792579257925792579257925792579257925792579257925792",kd=te(0,{size:32});async function _E(e,r){const{account:n=e.account,capabilities:i,chain:o=e.chain,experimental_fallback:u,experimental_fallbackDelay:c=32,forceAtomic:l=!1,id:h,version:g="2.0.0"}=r,m=n?cn(n):null,y=r.calls.map(w=>{const x=w,I=x.abi?bs({abi:x.abi,functionName:x.functionName,args:x.args}):x.data;return{data:x.dataSuffix&&I?Ft([I,x.dataSuffix]):I,to:x.to,value:x.value?te(x.value):void 0}});try{const w=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:l,calls:y,capabilities:i,chainId:te(o.id),from:m==null?void 0:m.address,id:h,version:g}]},{retryCount:0});return typeof w=="string"?{id:w}:w}catch(w){const x=w;if(u&&(x.name==="MethodNotFoundRpcError"||x.name==="MethodNotSupportedRpcError"||x.name==="UnknownRpcError"||x.details.toLowerCase().includes("does not exist / is not available")||x.details.toLowerCase().includes("missing or invalid. request()")||x.details.toLowerCase().includes("did not match any variant of untagged enum")||x.details.toLowerCase().includes("account upgraded to unsupported contract")||x.details.toLowerCase().includes("eip-7702 not supported")||x.details.toLowerCase().includes("unsupported wc_ method")||x.details.toLowerCase().includes("feature toggled misconfigured"))){if(i&&Object.values(i).some(G=>!G.optional)){const G="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Ui(new U(G,{details:G}))}if(l&&y.length>1){const S="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new ki(new U(S,{details:S}))}const I=[];for(const S of y){const G=Fu(e,{account:m,chain:o,data:S.data,to:S.to,value:S.value?nn(S.value):void 0});I.push(G),c>0&&await new Promise(Q=>setTimeout(Q,c))}const C=await Promise.allSettled(I);if(C.every(S=>S.status==="rejected"))throw C[0].reason;const O=C.map(S=>S.status==="fulfilled"?S.value:kd);return{id:Ft([...O,te(o.id,{size:32}),Ud])}}throw Pd(w,{...r,account:m,chain:r.chain})}}async function DE(e,r){async function n(m){if(m.endsWith(Ud.slice(2))){const w=Tr(Ma(m,-64,-32)),x=Ma(m,0,-64).slice(2).match(/.{1,64}/g),I=await Promise.all(x.map(O=>kd.slice(2)!==O?e.request({method:"eth_getTransactionReceipt",params:[`0x${O}`]},{dedupe:!0}):void 0)),C=I.some(O=>O===null)?100:I.every(O=>(O==null?void 0:O.status)==="0x1")?200:I.every(O=>(O==null?void 0:O.status)==="0x0")?500:600;return{atomic:!1,chainId:rn(w),receipts:I.filter(Boolean),status:C,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[m]})}const{atomic:i=!1,chainId:o,receipts:u,version:c="2.0.0",...l}=await n(r.id),[h,g]=(()=>{const m=l.status;return m>=100&&m<200?["pending",m]:m>=200&&m<300?["success",m]:m>=300&&m<700?["failure",m]:m==="CONFIRMED"?["success",200]:m==="PENDING"?["pending",100]:[void 0,m]})();return{...l,atomic:i,chainId:o?rn(o):void 0,receipts:(u==null?void 0:u.map(m=>({...m,blockNumber:nn(m.blockNumber),gasUsed:nn(m.gasUsed),status:Bd[m.status]})))??[],statusCode:g,status:h,version:c}}async function NE(e,r={}){const{account:n=e.account,chainId:i}=r,o=n?cn(n):void 0,u=i?[o==null?void 0:o.address,[te(i)]]:[o==null?void 0:o.address],c=await e.request({method:"wallet_getCapabilities",params:u}),l={};for(const[h,g]of Object.entries(c)){l[Number(h)]={};for(let[m,y]of Object.entries(g))m==="addSubAccount"&&(m="unstable_addSubAccount"),l[Number(h)][m]=y}return typeof i=="number"?l[i]:l}class OE extends U{constructor(r){super(`Call bundle failed with status: ${r.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=r}}async function ME(e,r){const{id:n,pollingInterval:i=e.pollingInterval,status:o=({statusCode:C})=>C===200||C>=300,retryCount:u=4,retryDelay:c=({count:C})=>~~(1<<C)*200,timeout:l=6e4,throwOnFailure:h=!1}=r,g=Ut(["waitForCallsStatus",e.uid,n]),{promise:m,resolve:y,reject:w}=Du();let x;const I=Ei(g,{resolve:y,reject:w},C=>{const O=Fd(async()=>{const S=G=>{clearTimeout(x),O(),G(),I()};try{const G=await qa(async()=>{const Q=await se(e,DE,"getCallsStatus")({id:n});if(h&&Q.status==="failure")throw new OE(Q);return Q},{retryCount:u,delay:c});if(!o(G))return;S(()=>C.resolve(G))}catch(G){S(()=>C.reject(G))}},{interval:i,emitOnBegin:!0});return O});return x=l?setTimeout(()=>{I(),clearTimeout(x),w(new LE({id:n}))},l):void 0,await m}class LE extends U{constructor({id:r}){super(`Timed out while waiting for call bundle with id "${r}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}async function xi(e,r){const{account:n=e.account,domain:i,message:o,primaryType:u}=r;if(!n)throw new Rd({docsPath:"/docs/actions/wallet/signTypedData"});const c=cn(n),l={EIP712Domain:nE({domain:i}),...r.types};if(tE({domain:i,message:o,primaryType:u,types:l}),c.signTypedData)return c.signTypedData({domain:i,message:o,primaryType:u,types:l});const h=eE({domain:i,message:o,primaryType:u,types:l});return e.request({method:"eth_signTypedData_v4",params:[c.address,h]},{retryCount:0})}const FE="0x0000000000000000000000000000000000000000",UE="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";BigInt("0xffffffffffff");BigInt("0xffffffffffffffffffffffffffffffffffffffff");const Hi=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,Uu=e=>e===FE||e===UE,ku=le.parseAbi(["function callDiamondWithPermit2(bytes, ((address, uint256), uint256, uint256), bytes) external","function callDiamondWithEIP2612Signature(address, uint256, uint256, uint8, bytes32, bytes32, bytes) external payable","function nextNonce(address) external view returns (uint256)","function callDiamondWithPermit2Witness(bytes, address, ((address, uint256), uint256, uint256), bytes) external payable"]),Fn=le.parseAbi(["function permit(address, address, uint256, uint256, uint8, bytes32, bytes32) external","function DOMAIN_SEPARATOR() external view returns (bytes32)","function nonces(address) external view returns (uint256)","function name() external view returns (string)","function version() external view returns (string)","function PERMIT_TYPEHASH() external view returns (bytes32)","function eip712Domain() external view returns (bytes1, string, string, uint256, address, bytes32, uint256[])"]),kE=le.parseAbi(["function approve(address, uint256) external returns (bool)"]),GE=le.parseAbi(["function allowance(address, address) external view returns (uint256)"]),HE=le.parseAbi(["function getEthBalance(address) external view returns (uint256)"]),Gd=le.parseAbi(["function balanceOf(address) external view returns (uint256)"]),QE=e=>{if(!e.length)return;const r=[...e].sort((i,o)=>i>o?1:i<o?-1:0),n=Math.floor(r.length/2);return r.length%2===0?(r[n-1]+r[n])/2n:r[n]},zE=e=>({...e,...e.metamask,blockExplorers:e.metamask.blockExplorerUrls.reduce((r,n,i)=>(r[i===0?"default":`${i}`]={name:n,url:n},r),{}),name:e.metamask.chainName,rpcUrls:{default:{http:e.metamask.rpcUrls},public:{http:e.metamask.rpcUrls}},contracts:{...e.multicallAddress?{multicall3:{address:e.multicallAddress}}:void 0}}),Hd=async e=>{const n=(await kt(e,yr,"getBlock",{includeTransactions:!0})).transactions.filter(c=>c.maxPriorityFeePerGas).map(c=>c.maxPriorityFeePerGas);if(!n.length)return;let i=0n;for(const c of n)i+=c;const o=QE(n)??0n,u=i/BigInt(n.length);return o>u?u:o},Gu=async e=>{var n;return(n=(await we.getChains()).find(i=>i.id===e))==null?void 0:n.multicallAddress},vi=e=>{if(e.chainId)return Number(e.chainId);if(!e.salt)return null;try{const r=Number(e.salt);return Number.isNaN(r)?null:r}catch{return null}},WE=e=>e==null?void 0:e.startsWith("0xef0100"),$E=async(e,r,n,i)=>{try{return await kt(e,In,"readContract",{address:r,abi:GE,functionName:"allowance",args:[n,i]})}catch{return 0n}},VE=Hi,Qd=Hi,zd=Hi,jE="0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f",qE="0x36c25de3e541d5d970f66e4210d728721220fff5c077cc6cd008b3a0c62adab7",JE="0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb",KE={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]};function YE({name:e,version:r,chainId:n,verifyingContract:i,withSalt:o=!1}){const u=le.keccak256(le.toBytes(e)),c=le.keccak256(le.toBytes(r)),l=o?le.encodeAbiParameters(le.parseAbiParameters("bytes32, bytes32, bytes32, address, bytes32"),[qE,u,c,i,le.pad(le.toHex(n),{size:32})]):le.encodeAbiParameters(le.parseAbiParameters("bytes32, bytes32, bytes32, uint256, address"),[jE,u,c,BigInt(n),i]);return le.keccak256(l)}function Z0({name:e,version:r,chainId:n,verifyingContract:i,domainSeparator:o}){if(!e||!o)return{isValid:!1,domain:{}};for(const u of[!1,!0]){const c=YE({name:e,version:r,chainId:n,verifyingContract:i,withSalt:u});if(o.toLowerCase()===c.toLowerCase())return{isValid:!0,domain:u?{name:e,version:r,verifyingContract:i,salt:le.pad(le.toHex(n),{size:32})}:{name:e,version:r,chainId:n,verifyingContract:i}}}return{isValid:!1,domain:{}}}const XE=async e=>{try{const r=await kt(e,TE,"getCode",{address:e.account.address});return!!(!r||r==="0x"||WE(r))}catch{return!1}},ZE=async(e,r,n)=>{try{const i=await Gu(r),o=[{address:n,abi:Fn,functionName:"eip712Domain"},{address:n,abi:Fn,functionName:"nonces",args:[e.account.address]}];if(i)try{const[I,C]=await kt(e,Lu,"multicall",{contracts:o,multicallAddress:i});if(I.status!=="success"||C.status!=="success"||!I.result||C.result===void 0)throw new Error("EIP-5267 multicall failed");const[,O,S,G,Q,_]=I.result;if(Number(G)!==r||Q.toLowerCase()!==n.toLowerCase())return;const R=_!==le.zeroHash?{name:O,version:S,verifyingContract:n,salt:_}:{name:O,version:S,chainId:r,verifyingContract:n};return{name:O,version:S,domain:R,permitTypehash:void 0,nonce:C.result}}catch{}const[u,c]=await Promise.allSettled(o.map(I=>kt(e,In,"readContract",I)));if(u.status!=="fulfilled"||c.status!=="fulfilled")return;const[,l,h,g,m,y]=u.value;if(Number(g)!==r||m.toLowerCase()!==n.toLowerCase())return;const x=y!==le.zeroHash?{name:l,version:h,verifyingContract:n,salt:y}:{name:l,version:h,chainId:r,verifyingContract:n};return{name:l,version:h,domain:x,permitTypehash:void 0,nonce:c.value}}catch{return}},ex=async(e,r,n)=>{try{const i=await ZE(e,r,n);if(i)return i;const o=await Gu(r),u=[{address:n,abi:Fn,functionName:"name"},{address:n,abi:Fn,functionName:"DOMAIN_SEPARATOR"},{address:n,abi:Fn,functionName:"PERMIT_TYPEHASH"},{address:n,abi:Fn,functionName:"nonces",args:[e.account.address]},{address:n,abi:Fn,functionName:"version"}];if(o)try{const[C,O,S,G,Q]=await kt(e,Lu,"multicall",{contracts:u,multicallAddress:o});if(C.status!=="success"||O.status!=="success"||G.status!=="success"||!C.result||!O.result||G.result===void 0)throw new Error("Multicall failed");const{isValid:_,domain:T}=Z0({name:C.result,version:Q.result??"1",chainId:r,verifyingContract:n,domainSeparator:O.result});return _?{name:C.result,domain:T,permitTypehash:S.result,nonce:G.result,version:Q.result??"1"}:void 0}catch{}const[c,l,h,g,m]=await Promise.allSettled(u.map(C=>kt(e,In,"readContract",C)));if(c.status!=="fulfilled"||l.status!=="fulfilled"||g.status!=="fulfilled")return;const y=c.value,w=m.status==="fulfilled"?m.value:"1",{isValid:x,domain:I}=Z0({name:y,version:w,chainId:r,verifyingContract:n,domainSeparator:l.value});return x?{name:y,domain:I,permitTypehash:h.status==="fulfilled"?h.value:void 0,nonce:g.value,version:w}:void 0}catch{return}},tx=async(e,{chainId:r,tokenAddress:n,spenderAddress:i,amount:o})=>{if(!await XE(e))return;const c=await ex(e,r,n);if(!c||c.permitTypehash===JE)return;const l=BigInt(Math.floor(Date.now()/1e3)+1800).toString(),h={owner:e.account.address,spender:i,value:o.toString(),nonce:c.nonce.toString(),deadline:l};return{primaryType:"Permit",domain:c.domain,types:KE,message:h}};var Ne;(function(e){e.RPCError="RPCError",e.ProviderError="ProviderError",e.ServerError="ServerError",e.TransactionError="TransactionError",e.ValidationError="ValidationError",e.BalanceError="BalanceError",e.NotFoundError="NotFoundError",e.UnknownError="UnknownError",e.SlippageError="SlippageError",e.HTTPError="HTTPError"})(Ne||(Ne={}));var ie;(function(e){e[e.InternalError=1e3]="InternalError",e[e.ValidationError=1001]="ValidationError",e[e.TransactionUnderpriced=1002]="TransactionUnderpriced",e[e.TransactionFailed=1003]="TransactionFailed",e[e.Timeout=1004]="Timeout",e[e.ProviderUnavailable=1005]="ProviderUnavailable",e[e.NotFound=1006]="NotFound",e[e.ChainSwitchError=1007]="ChainSwitchError",e[e.TransactionUnprepared=1008]="TransactionUnprepared",e[e.GasLimitError=1009]="GasLimitError",e[e.TransactionCanceled=1010]="TransactionCanceled",e[e.SlippageError=1011]="SlippageError",e[e.SignatureRejected=1012]="SignatureRejected",e[e.BalanceError=1013]="BalanceError",e[e.AllowanceRequired=1014]="AllowanceRequired",e[e.InsufficientFunds=1015]="InsufficientFunds",e[e.ExchangeRateUpdateCanceled=1016]="ExchangeRateUpdateCanceled",e[e.WalletChangedDuringExecution=1017]="WalletChangedDuringExecution",e[e.TransactionExpired=1018]="TransactionExpired",e[e.TransactionSimulationFailed=1019]="TransactionSimulationFailed",e[e.TransactionConflict=1020]="TransactionConflict",e[e.TransactionNotFound=1021]="TransactionNotFound",e[e.TransactionRejected=1022]="TransactionRejected",e[e.RateLimitExceeded=1023]="RateLimitExceeded",e[e.ThirdPartyError=1024]="ThirdPartyError",e[e.InsufficientGas=1025]="InsufficientGas"})(ie||(ie={}));var Mt;(function(e){e.UnknownError="Unknown error occurred.",e.SlippageError="The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.",e.GasLimitLow="Gas limit is too low.",e.TransactionUnderpriced="Transaction is underpriced.",e.TransactionReverted="Transaction was reverted."})(Mt||(Mt={}));const nx=e=>{let r=e;for(;r!=null&&r.cause;)r=r.cause;return r};class Rt extends Error{constructor(n,i,o,u){super(o);X(this,"code");X(this,"cause");this.name=n,this.code=i,this.cause=u;const c=nx(this.cause);c!=null&&c.stack&&(this.stack=c.stack)}}class tu extends Rt{constructor(r,n,i){super(Ne.ProviderError,r,n,i)}}class Me extends Rt{constructor(r,n,i){super(Ne.TransactionError,r,n,i)}}class rx extends Rt{constructor(r,n){super(Ne.UnknownError,ie.InternalError,r,n)}}class sx extends Rt{constructor(r,n){super(Ne.BalanceError,ie.BalanceError,r,n)}}class ix extends Rt{constructor(r){super(Ne.ServerError,ie.InternalError,r)}}class an extends Rt{constructor(r){super(Ne.ValidationError,ie.ValidationError,r)}}const Wd="@lifi/sdk",rs="3.12.14";class Gt extends Error{constructor(n,i,o){const u=`${n.message?`[${n.name}] ${n.message}`:"Unknown error occurred"}
LI.FI SDK version: ${rs}`;super(u);X(this,"step");X(this,"process");X(this,"code");X(this,"name","SDKError");X(this,"cause");this.name="SDKError",this.step=i,this.process=o,this.cause=n,this.stack=this.cause.stack,this.code=n.code}}const ox=new Map([[400,{type:Ne.ValidationError,code:ie.ValidationError}],[404,{type:Ne.NotFoundError,code:ie.NotFound}],[409,{type:Ne.SlippageError,code:ie.SlippageError,message:Mt.SlippageError}],[424,{type:Ne.ServerError,code:ie.ThirdPartyError}],[429,{type:Ne.ServerError,code:ie.RateLimitExceeded}],[500,{type:Ne.ServerError,code:ie.InternalError}]]),ax=e=>ox.get(e)??{type:Ne.ServerError,code:ie.InternalError},ux=e=>{const r=e.status||e.status===0?e.status:"",n=e.statusText||"",i=`${r} ${n}`.trim();return`Request failed with ${i?`status code ${i}`:"an unknown error"}`};class cx extends Rt{constructor(n,i,o){const u=ax(n.status),c=u!=null&&u.message?`
${u.message}`:"",l=ux(n)+c;super(Ne.HTTPError,u.code,l);X(this,"response");X(this,"status");X(this,"url");X(this,"fetchOptions");X(this,"type");X(this,"responseBody");this.type=u.type,this.response=n,this.status=n.status,this.message=l,this.url=i,this.fetchOptions=o}async buildAdditionalDetails(){var n,i;this.type&&(this.message=`[${this.type}] ${this.message}`);try{this.responseBody=await this.response.json(),this.responseBody&&(this.message+=this.message.endsWith(".")?` ${(n=this.responseBody)==null?void 0:n.message.toString()}`:`. ${(i=this.responseBody)==null?void 0:i.message.toString()}`)}catch{}return this}}function ss(e){return new Promise(r=>{setTimeout(()=>r(null),e)})}const el={retries:1},fx=({retries:e,...r})=>({...r}),jn=async(e,r={retries:el.retries})=>{var c;const{userId:n,integrator:i,widgetVersion:o,apiKey:u}=we.get();if(!i)throw new Gt(new an("You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk"));r.retries=r.retries??el.retries;try{u&&(r.headers={...r.headers,"x-lifi-api-key":u}),n&&(r.headers={...r.headers,"x-lifi-userid":n}),o&&(r.headers={...r.headers,"x-lifi-widget":o}),rs&&(r.headers={...r.headers,"x-lifi-sdk":rs}),r.headers={...r.headers,"x-lifi-integrator":i};const l=await fetch(e,fx(r));if(!l.ok)throw new cx(l,e,r);return await l.json()}catch(l){if(r.retries>0&&l.status===500)return await ss(500),jn(e,{...r,retries:r.retries-1});throw await((c=l.buildAdditionalDetails)==null?void 0:c.call(l)),new Gt(l)}},lx=e=>{const{id:r,type:n,tool:i,action:o,estimate:u}=e;return typeof r=="string"&&["swap","cross","lifi"].includes(n)&&typeof i=="string"&&dx(o)&&hx(u)},dx=e=>{const{fromChainId:r,fromAmount:n,fromToken:i,toChainId:o,toToken:u}=e;return typeof r=="number"&&typeof n=="string"&&n!==""&&nu(i)&&typeof o=="number"&&nu(u)},hx=e=>{const{fromAmount:r,toAmount:n,toAmountMin:i,approvalAddress:o}=e;return typeof r=="string"&&r!==""&&typeof n=="string"&&n!==""&&typeof i=="string"&&i!==""&&(typeof o=="string"||o===null)},nu=e=>{const{address:r,decimals:n,chainId:i}=e;return typeof r=="string"&&typeof n=="number"&&typeof i=="number"};class px extends Map{constructor(n){super();X(this,"maxSize");this.maxSize=n}set(n,i){return super.set(n,i),this.maxSize&&this.size>this.maxSize&&this.delete(this.keys().next().value),this}}const di=new px(8192);function gx(e,{enabled:r=!0,id:n}){if(!r||!n)return e();if(di.get(n))return di.get(n);const i=e().finally(()=>di.delete(n));return di.set(n,i),i}const mx=async(e,r)=>(lx(e),await jn(`${we.get().apiUrl}/advanced/stepTransaction`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:r==null?void 0:r.signal})),bx=async(e,r)=>{if(!e.txHash)throw new Gt(new an('Required parameter "txHash" is missing.'));const n=new URLSearchParams(e);return await jn(`${we.get().apiUrl}/status?${n}`,{signal:r==null?void 0:r.signal})},Ax=async(e,r)=>{var u,c,l,h,g,m,y,w,x,I,C,O,S,G,Q,_;const n=["fromChain","fromToken","fromAddress","fromAmount","toChain","toToken"];for(const T of n)if(!e[T])throw new Gt(new an(`Required parameter "${T}" is missing.`));const i=we.get();e.integrator??(e.integrator=i.integrator),e.order??(e.order=(u=i.routeOptions)==null?void 0:u.order),e.slippage??(e.slippage=(c=i.routeOptions)==null?void 0:c.slippage),e.referrer??(e.referrer=(l=i.routeOptions)==null?void 0:l.referrer),e.fee??(e.fee=(h=i.routeOptions)==null?void 0:h.fee),e.allowBridges??(e.allowBridges=(m=(g=i.routeOptions)==null?void 0:g.bridges)==null?void 0:m.allow),e.denyBridges??(e.denyBridges=(w=(y=i.routeOptions)==null?void 0:y.bridges)==null?void 0:w.deny),e.preferBridges??(e.preferBridges=(I=(x=i.routeOptions)==null?void 0:x.bridges)==null?void 0:I.prefer),e.allowExchanges??(e.allowExchanges=(O=(C=i.routeOptions)==null?void 0:C.exchanges)==null?void 0:O.allow),e.denyExchanges??(e.denyExchanges=(G=(S=i.routeOptions)==null?void 0:S.exchanges)==null?void 0:G.deny),e.preferExchanges??(e.preferExchanges=(_=(Q=i.routeOptions)==null?void 0:Q.exchanges)==null?void 0:_.prefer);for(const T of Object.keys(e))e[T]||delete e[T];const o=await jn(`${we.get().apiUrl}/relayer/quote?${new URLSearchParams(e)}`,{signal:r==null?void 0:r.signal});if(o.status==="error")throw new Rt(Ne.ServerError,o.data.code,o.data.message);return o.data},yx=async(e,r)=>{const n=["typedData"];for(const u of n)if(!e[u])throw new Gt(new an(`Required parameter "${u}" is missing.`));const i=e.typedData.some(u=>u.primaryType==="PermitWitnessTransferFrom")?"/relayer/relay":"/advanced/relay",o=await jn(`${we.get().apiUrl}${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e,(u,c)=>typeof c=="bigint"?c.toString():c),signal:r==null?void 0:r.signal});if(o.status==="error")throw new Rt(Ne.ServerError,o.data.code,o.data.message);return o.data},wx=async(e,r)=>{if(!e.taskId)throw new Gt(new an('Required parameter "taskId" is missing.'));const{taskId:n,...i}=e,o=new URLSearchParams(i),u=await jn(`${we.get().apiUrl}/relayer/status/${n}?${o}`,{signal:r==null?void 0:r.signal});if(u.status==="error")throw new Rt(Ne.ServerError,u.data.code,u.data.message);return u.data},$d=async(e,r)=>{if(e)for(const o of Object.keys(e))e[o]||delete e[o];const n=new URLSearchParams(e).toString();return(await gx(()=>jn(`${we.get().apiUrl}/chains?${n}`,{signal:r==null?void 0:r.signal}),{id:`${$d.name}.${n}`})).chains},Lt={state:{},get(e){return this.state[e]},create(e){var r;return this.state[e.route.id]={...this.state[e.route.id],...e,executors:((r=this.state[e.route.id])==null?void 0:r.executors)??[]},this.state[e.route.id]},update(e){this.state[e.route.id]&&(this.state[e.route.id]={...this.state[e.route.id],...e})},delete(e){delete this.state[e]}},Ex={TOKEN_ALLOWANCE:{STARTED:"Setting token allowance",PENDING:"Waiting for token allowance",DONE:"Token allowance set"},SWAP:{STARTED:"Preparing swap transaction",ACTION_REQUIRED:"Sign swap transaction",MESSAGE_REQUIRED:"Sign swap message",PENDING:"Waiting for swap transaction",DONE:"Swap completed"},CROSS_CHAIN:{STARTED:"Preparing bridge transaction",ACTION_REQUIRED:"Sign bridge transaction",MESSAGE_REQUIRED:"Sign bridge message",PENDING:"Waiting for bridge transaction",DONE:"Bridge transaction confirmed"},RECEIVING_CHAIN:{PENDING:"Waiting for destination chain",DONE:"Bridge completed"},PERMIT:{STARTED:"Preparing transaction",ACTION_REQUIRED:"Sign permit message",PENDING:"Waiting for permit message",DONE:"Permit message signed"}},xx={PENDING:{BRIDGE_NOT_AVAILABLE:"Bridge communication is temporarily unavailable.",CHAIN_NOT_AVAILABLE:"RPC communication is temporarily unavailable.",UNKNOWN_ERROR:"An unexpected error occurred. Please seek assistance in the LI.FI discord server.",WAIT_SOURCE_CONFIRMATIONS:"The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.",WAIT_DESTINATION_TRANSACTION:"The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain."},DONE:{PARTIAL:"Some of the received tokens are not the requested destination tokens.",REFUNDED:"The tokens were refunded to the sender address.",COMPLETED:"The transfer is complete."},FAILED:{},INVALID:{},NOT_FOUND:{}};function tl(e,r){return Ex[e][r]}function vx(e,r){return r?xx[e][r]:void 0}class Tx{constructor(r){X(this,"routeId");X(this,"shouldUpdate",!0);X(this,"initExecutionObject",r=>(r.execution||(r.execution={status:"PENDING",process:[],startedAt:Date.now()},this.updateStepInRoute(r)),r.execution.status==="FAILED"&&(r.execution.startedAt=Date.now(),r.execution.status="PENDING",this.updateStepInRoute(r)),r.execution));X(this,"findOrCreateProcess",({step:r,type:n,chainId:i,status:o,startedAt:u})=>{const c=this.findProcess(r,n,o);if(c)return c;const l={type:n,startedAt:u??Date.now(),message:tl(n,o??"STARTED"),status:o??"STARTED",chainId:i};return r.execution.process.push(l),this.updateStepInRoute(r),l});X(this,"updateProcess",(r,n,i,o)=>{if(!r.execution)throw new Error("Can't update an empty step execution.");const u=this.findProcess(r,n);if(!u)throw new Error("Can't find a process for the given type.");switch(i){case"CANCELLED":u.doneAt=Date.now();break;case"FAILED":u.doneAt=Date.now(),r.execution.status="FAILED";break;case"DONE":u.doneAt=Date.now();break;case"PENDING":r.execution.status="PENDING",u.pendingAt=Date.now();break;case"ACTION_REQUIRED":r.execution.status="ACTION_REQUIRED",u.actionRequiredAt=Date.now();break}if(u.status=i,u.message=tl(n,i),o)for(const[c,l]of Object.entries(o))u[c]=l;return r.execution.process=[...r.execution.process.filter(c=>c.status==="DONE"),...r.execution.process.filter(c=>c.status!=="DONE")],this.updateStepInRoute(r),u});X(this,"removeProcess",(r,n)=>{if(!r.execution)throw new Error("Execution hasn't been initialized.");const i=r.execution.process.findIndex(o=>o.type===n);r.execution.process.splice(i,1),this.updateStepInRoute(r)});X(this,"updateStepInRoute",r=>{var o,u;if(!this.shouldUpdate)return r;const n=Lt.get(this.routeId);if(!n)throw new Error("Execution data not found.");const i=n.route.steps.findIndex(c=>c.id===r.id);if(i===-1)throw new Error("Couldn't find a step to update.");return n.route.steps[i]={...n.route.steps[i],...r},(u=(o=n.executionOptions)==null?void 0:o.updateRouteHook)==null||u.call(o,n.route),n.route.steps[i]});this.routeId=r}updateExecution(r,n,i){if(!r.execution)throw Error("Can't update empty execution.");return r.execution.status=n,n==="DONE"&&(r.execution.doneAt=Date.now()),i&&(r.execution={...r.execution,...i}),this.updateStepInRoute(r),r}findProcess(r,n,i){var u;if(!((u=r.execution)!=null&&u.process))throw new Error("Execution hasn't been initialized.");const o=r.execution.process.find(c=>c.type===n);return o&&i&&o.status!==i&&(o.status=i,this.updateStepInRoute(r)),o}allowUpdates(r){this.shouldUpdate=r}}const Px={allowInteraction:!0,allowUpdates:!0,allowExecution:!0};let Ix=class{constructor(r){X(this,"executionOptions");X(this,"statusManager");X(this,"allowUserInteraction",!0);X(this,"allowExecution",!0);X(this,"setInteraction",r=>{const n={...Px,...r};this.allowUserInteraction=n.allowInteraction,this.statusManager.allowUpdates(n.allowUpdates),this.allowExecution=n.allowExecution});this.statusManager=new Tx(r.routeId),this.executionOptions=r.executionOptions}};const Sx=async(e,r)=>{const n=await Bx(e,[r]);return n.length?n[0]:null};async function Bx(e,r){const n=r.reduce((o,u)=>(o[u.chainId]||(o[u.chainId]=[]),o[u.chainId].push(u),o),{}),i=await Rx(e,n);return Object.values(i).flat()}async function Rx(e,r){if(!e)throw new an("Missing walletAddress.");if(Object.values(r).flat().filter(l=>!nu(l)).length)throw new an("Invalid tokens passed.");const o=we.get().providers.find(l=>l.isAddress(e));if(!o)throw new Error(`SDK Token Provider for ${e} is not found.`);const u={},c=await Promise.allSettled(Object.keys(r).map(async l=>{const h=Number.parseInt(l,10),g=await we.getChainById(h);if(o.type===g.chainType){const m=await o.getBalance(e,r[h]);u[h]=m}else u[h]=r[h]}));if(we.get().debug)for(const l of c)l.status;return u}const Vd=async(e,r,n=0)=>{const i=await Sx(e,r.action.fromToken);if(i){const o=i.amount??0n,u=BigInt(r.action.fromAmount);if(o<u)if(n<=3)await ss(200),await Vd(e,r,n+1);else if(u*BigInt((1-(r.action.slippage??0))*1e9)/1000000000n<=o)r.action.fromAmount=o.toString();else{const c=le.formatUnits(u,i.decimals),l=le.formatUnits(o,i.decimals);let h=`Your ${i.symbol} balance is too low, you try to transfer ${c} ${i.symbol}, but your wallet only holds ${l} ${i.symbol}. No funds have been sent.`;throw o!==0n&&(h+=`If the problem consists, please delete this transfer and start a new one with a maximum of ${l} ${i.symbol}.`),new sx("The balance is too low.",new Error(h))}}},Cx=.005;function _x(e,r){const n=e.action.slippage||Cx,i=BigInt(e.estimate.toAmountMin),o=BigInt(r.estimate.toAmountMin),u=i-o;let c=0;return i>0&&(c=Number(u*1000000000n/i)/1e9),c<=n}const Dx=async(e,r,n,i,o)=>{var c;if(_x(r,n))return e.updateStepInRoute(n);let u;if(i&&(u=await((c=o==null?void 0:o.acceptExchangeRateUpdateHook)==null?void 0:c.call(o,{oldToAmount:r.estimate.toAmount,newToAmount:n.estimate.toAmount,toToken:n.action.toToken}))),!u)throw new Me(ie.ExchangeRateUpdateCanceled,`Exchange rate has changed!
Transaction was not sent, your funds are still in your wallet.
The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);return e.updateStepInRoute(n)},Nx=async(e,r)=>{const i=`It appears that your transaction may not have been successful.
However, to confirm this, please check your ${(await we.getChainById(e.action.toChainId)).name} wallet for ${e.action.toToken.symbol}.`;return r?`${i}
You can also check the <a href="${r}" target="_blank" rel="nofollow noreferrer">block explorer</a> for more information.`:i},jd=async(e,r=5e3,n=3,i=()=>!0)=>{let o,u=0;for(;!o;)try{o=await e(),o||await ss(r)}catch(c){if(!i(u,c)||(u++,u===n))throw c;await ss(r)}return o},nl={};async function Ox(e,r,n,i,o=5e3){const u=()=>bx({fromChain:n.action.fromChainId,fromAddress:n.action.fromAddress,toChain:n.action.toChainId,txHash:r,...n.tool!=="custom"&&{bridge:n.tool}}).then(h=>{switch(h.status){case"DONE":return h;case"PENDING":e==null||e.updateProcess(n,i,"PENDING",{substatus:h.substatus,substatusMessage:h.substatusMessage||vx(h.status,h.substatus),txLink:h.bridgeExplorerLink});return;case"NOT_FOUND":return;default:return Promise.reject()}}).catch(h=>{process.env.NODE_ENV});let c=nl[r];c||(c=jd(u,o),nl[r]=c);const l=await c;if(!("receiving"in l))throw new ix("Status doesn't contain destination chain information.");return l}async function rl(e,r,n,i,o,u){const c=r.txHash||r.taskId;let l=r.type;try{if(!c)throw new Error("Transaction hash is undefined.");n.id!==i.id&&(l=o.findOrCreateProcess({step:e,type:"RECEIVING_CHAIN",status:"PENDING",chainId:i.id,startedAt:r.doneAt}).type);const g=await Ox(o,c,e,l,u),m=g.receiving;return o.updateProcess(e,l,"DONE",{substatus:g.substatus,substatusMessage:g.substatusMessage,txHash:m==null?void 0:m.txHash,txLink:(m==null?void 0:m.txLink)||`${i.metamask.blockExplorerUrls[0]}tx/${m==null?void 0:m.txHash}`}),o.updateExecution(e,"DONE",{...g.sending.amount&&{fromAmount:g.sending.amount},...(m==null?void 0:m.amount)&&{toAmount:m.amount},...(m==null?void 0:m.token)&&{toToken:m.token},internalTxLink:g==null?void 0:g.lifiExplorerLink,externalTxLink:g==null?void 0:g.bridgeExplorerLink,gasCosts:[{amount:g.sending.gasAmount,amountUSD:g.sending.gasAmountUSD,token:g.sending.gasToken,estimate:g.sending.gasUsed,limit:g.sending.gasUsed,price:g.sending.gasPrice,type:"SEND"}]}),e}catch(h){const g=await Nx(e,`${i.metamask.blockExplorerUrls[0]}tx/${c}`);throw o.updateProcess(e,l,"FAILED",{error:{code:ie.TransactionFailed,message:"Failed while waiting for status of destination chain transaction.",htmlMessage:g}}),o.updateExecution(e,"FAILED"),h}}const Mx=async(e,r)=>{try{return await(await fetch(`https://api.tenderly.co/api/v1/public-contract/${r}/tx/${e}`)).json()}catch{}},ru=async(e,r,n)=>{if(e instanceof Gt)return e.step=e.step??r,e.process=e.process??n,e;const i=await Lx(e,r,n);return new Gt(i,r,n)},Lx=async(e,r,n)=>{var i,o,u,c,l,h,g,m;if(e.name==="UserRejectedRequestError"||((i=e.cause)==null?void 0:i.name)==="UserRejectedRequestError"||e.name==="UnknownBundleIdError")return new Me(ie.SignatureRejected,e.message,e);if(((o=e.cause)==null?void 0:o.code)===-32e3||e.name==="TransactionExecutionError"&&((c=(u=e.cause)==null?void 0:u.details)!=null&&c.includes("rejected")))return new Me(ie.SignatureRejected,e.message,e);if(((l=e.cause)==null?void 0:l.code)===-32603)return new Me(ie.TransactionRejected,e.message,e);if(e.name==="InsufficientPrefundError"||((h=e.cause)==null?void 0:h.name)==="InsufficientPrefundError"||((m=(g=e.cause)==null?void 0:g.cause)==null?void 0:m.name)==="InsufficientPrefundError")return new Me(ie.InsufficientGas,e.message,e);if(r&&(n!=null&&n.txHash)&&e.code===ie.TransactionFailed&&e.message===Mt.TransactionReverted){const y=await Mx(n.txHash,r.action.fromChainId),w=y==null?void 0:y.error_message;if(w!=null&&w.toLowerCase().includes("out of gas"))return new Me(ie.GasLimitError,Mt.GasLimitLow,e)}return e instanceof Rt?e:new rx(e.message||Mt.UnknownError,e)},Fx=e=>{var u,c,l,h;if(((u=e.cause)==null?void 0:u.code)===le.AtomicReadyWalletRejectedUpgradeError.code)return!0;const r=(l=(c=e.cause)==null?void 0:c.details)==null?void 0:l.toLowerCase(),n=e.name==="TransactionExecutionError"||((h=e.cause)==null?void 0:h.name)==="TransactionExecutionError",i=(r==null?void 0:r.includes("rejected"))&&(r==null?void 0:r.includes("upgrade")),o=r==null?void 0:r.includes("7702");return n&&(i||o)},su=(e,r)=>{var c,l,h,g;if(e.primaryType!=="Permit"||Number(e.domain.chainId)!==Number(r.domain.chainId)||e.domain.salt&&e.domain.salt!==r.domain.salt)return!1;const n=e.message;if(!n||((c=n.spender)==null?void 0:c.toLowerCase())!==((l=r.message.spender)==null?void 0:l.toLowerCase())||((h=n.owner)==null?void 0:h.toLowerCase())!==((g=r.message.owner)==null?void 0:g.toLowerCase())||BigInt(n.value||0)<BigInt(r.message.value||0))return!1;const o=parseInt(n.deadline||0,10),u=Math.floor(Date.now()/1e3)+300;return!(o<=u)},Ux=async(e,r,n,i,o,u)=>{var h;const c=le.encodeFunctionData({abi:kE,functionName:"approve",args:[n,i]});if(u)return c;let l={to:r,data:c,maxPriorityFeePerGas:((h=e.account)==null?void 0:h.type)==="local"?await Hd(e):void 0};if(o!=null&&o.updateTransactionRequestHook){const g=await o.updateTransactionRequestHook({requestType:"approve",...l});l={...l,...g}}return se(e,Fu,"sendTransaction")({to:l.to,account:e.account,data:l.data,gas:l.gas,gasPrice:l.gasPrice,maxFeePerGas:l.maxFeePerGas,maxPriorityFeePerGas:l.maxPriorityFeePerGas})};async function qd({client:e,chainId:r,txHash:n,onReplaced:i}){let{transactionReceipt:o,replacementReason:u}=await sl(e,n,i);if(!(o!=null&&o.status)){const c=await Vn(r),l=await sl(c,n,i);o=l.transactionReceipt,u=l.replacementReason}if((o==null?void 0:o.status)==="reverted")throw new Me(ie.TransactionFailed,"Transaction was reverted.");if(u==="cancelled"||u==="replaced")throw new Me(ie.TransactionCanceled,"Transaction was canceled or replaced.");return o}async function sl(e,r,n){let i,o;try{o=await BE(e,{hash:r,onReplaced:u=>{i=u.reason,n==null||n(u)}})}catch{}return{transactionReceipt:o,replacementReason:i}}const kx=async({checkClient:e,chain:r,step:n,statusManager:i,executionOptions:o,allowUserInteraction:u=!1,batchingSupported:c=!1,permit2Supported:l=!1,disableMessageSigning:h=!1})=>{var y;let g,m=[];try{const w=(y=n.typedData)==null?void 0:y.filter(T=>T.primaryType==="Permit");if(!h&&(w!=null&&w.length)){g=i.findOrCreateProcess({step:n,type:"PERMIT",chainId:n.action.fromChainId}),m=g.signedTypedData??m;for(const R of w){if(m.find(ce=>su(ce,R)))continue;if(g=i.updateProcess(n,g.type,"ACTION_REQUIRED"),!u)return{status:"ACTION_REQUIRED"};const F=vi(R.domain)||n.action.fromChainId,W=await e(n,g,F);if(!W)return{status:"ACTION_REQUIRED"};const $=await se(W,xi,"signTypedData")({account:W.account,domain:R.domain,types:R.types,primaryType:R.primaryType,message:R.message}),ne={...R,signature:$};m.push(ne),g=i.updateProcess(n,g.type,"ACTION_REQUIRED",{signedTypedData:m})}if(i.updateProcess(n,g.type,"DONE",{signedTypedData:m}),m.find(R=>vi(R.domain)===n.action.fromChainId))return{status:"NATIVE_PERMIT",data:m}}g=i.findOrCreateProcess({step:n,type:"TOKEN_ALLOWANCE",chainId:n.action.fromChainId});const x=await e(n,g);if(!x)return{status:"ACTION_REQUIRED"};if(g.txHash&&g.status!=="DONE")return await il(x,g.txHash,g.type,n,r,i),{status:"DONE",data:m};i.updateProcess(n,g.type,"STARTED");const I=l?r.permit2:n.estimate.approvalAddress,C=BigInt(n.action.fromAmount),O=await $E(x,n.action.fromToken.address,x.account.address,I);if(C<=O)return i.updateProcess(n,g.type,"DONE"),{status:"DONE",data:m};const S=!!r.permit2Proxy&&!c&&!h;let G;if(S&&(G=await kt(x,tx,"getNativePermit",{chainId:r.id,tokenAddress:n.action.fromToken.address,spenderAddress:r.permit2Proxy,amount:C})),S&&G){if(m=m.length?m:g.signedTypedData||[],!m.find(R=>su(R,G))){if(i.updateProcess(n,g.type,"ACTION_REQUIRED"),!u)return{status:"ACTION_REQUIRED"};const R=await se(x,xi,"signTypedData")({account:x.account,domain:G.domain,types:G.types,primaryType:G.primaryType,message:G.message}),k={...G,signature:R};m.push(k)}return i.updateProcess(n,g.type,"DONE",{signedTypedData:m}),{status:"NATIVE_PERMIT",data:m}}if(i.updateProcess(n,g.type,"ACTION_REQUIRED",{txHash:void 0,txLink:void 0}),!u)return{status:"ACTION_REQUIRED"};const Q=l?Hi:C,_=await Ux(x,n.action.fromToken.address,I,Q,o,c);return c?(i.updateProcess(n,g.type,"DONE"),{status:"BATCH_APPROVAL",data:{call:{to:n.action.fromToken.address,data:_,chainId:n.action.fromToken.chainId},signedTypedData:m}}):(await il(x,_,g.type,n,r,i),{status:"DONE",data:m})}catch(w){g||(g=i.findOrCreateProcess({step:n,type:"TOKEN_ALLOWANCE",chainId:n.action.fromChainId}));const x=await ru(w,n,g);throw i.updateProcess(n,g.type,"FAILED",{error:{message:x.cause.message,code:x.code}}),i.updateExecution(n,"FAILED"),x}},il=async(e,r,n,i,o,u)=>{const c=o.metamask.blockExplorerUrls[0],l=m=>`${c}tx/${m}`;u.updateProcess(i,n,"PENDING",{txHash:r,txLink:l(r)});const h=await qd({client:e,chainId:o.id,txHash:r,onReplaced(m){const y=m.transaction.hash;u.updateProcess(i,n,"PENDING",{txHash:y,txLink:l(y)})}}),g=(h==null?void 0:h.transactionHash)||r;u.updateProcess(i,n,"DONE",{txHash:g,txLink:l(g)})};async function Gx({client:e,chainId:r,skipReady:n=!1}){var o,u,c,l,h;const i=e??await((u=(o=we.getProvider(Be.EVM))==null?void 0:o.getWalletClient)==null?void 0:u.call(o));if(!i)throw new Error("WalletClient is not provided.");try{const g=await Promise.race([se(i,NE,"getCapabilities")({chainId:r}),ss(2e3)]);return((c=g==null?void 0:g.atomicBatch)==null?void 0:c.supported)||((l=g==null?void 0:g.atomic)==null?void 0:l.status)==="supported"||!n&&((h=g==null?void 0:g.atomic)==null?void 0:h.status)==="ready"||!1}catch{return!1}}const Hx=(e,r,n,i,o)=>{const{v:u,r:c,s:l}=le.parseSignature(i);return le.encodeFunctionData({abi:ku,functionName:"callDiamondWithEIP2612Signature",args:[e,r,n,Number(u),c,l,o]})},Qx=(e,r,n,i,o,u,c,l)=>le.encodeFunctionData({abi:ku,functionName:"callDiamondWithPermit2",args:[o,[[e,r],n,i],u]}),zx=async(e,r,n,i)=>{const o=await kt(e,In,"readContract",{address:r.permit2Proxy,abi:ku,functionName:"nextNonce",args:[e.account.address]});return{permitted:{token:n,amount:i},spender:r.permit2Proxy,nonce:o,deadline:BigInt(Math.floor(Date.now()/1e3)+1800)}},Wx=process.env.NODE_ENV==="production",Ia="Invariant failed";function is(e,r){if(e)return;if(Wx)throw new Error(Ia);const n=typeof r=="function"?r():r,i=n?`${Ia}: ${n}`:Ia;throw new Error(i)}const $x="Permit2";function Jd(e,r){return{name:$x,chainId:r,verifyingContract:e}}const Qi=[{name:"token",type:"address"},{name:"amount",type:"uint256"}],Vx={TokenPermissions:Qi,PermitTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},jx={TokenPermissions:Qi,PermitBatchTransferFrom:[{name:"permitted",type:"TokenPermissions[]"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]};function qx(e){return!Array.isArray(e.permitted)}function Jx(e,r,n,i){is(zd>=e.deadline,"SIG_DEADLINE_OUT_OF_RANGE"),is(Qd>=e.nonce,"NONCE_OUT_OF_RANGE");const o=Jd(r,n);Kd(e.permitted);const u=i?{TokenPermissions:Qi,...i.witnessType,PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:i.witnessTypeName}]}:Vx,c=i?Object.assign(e,{witness:i.witness}):e;return{domain:o,types:u,message:c}}function Kx(e,r,n,i){is(zd>=e.deadline,"SIG_DEADLINE_OUT_OF_RANGE"),is(Qd>=e.nonce,"NONCE_OUT_OF_RANGE");const o=Jd(r,n);e.permitted.forEach(Kd);const u=i?{...i.witnessType,TokenPermissions:Qi,PermitBatchWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions[]"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:i.witnessTypeName}]}:jx,c=i?Object.assign(e,{witness:i.witness}):e;return{domain:o,types:u,message:c}}function Yx(e,r,n,i){return qx(e)?Jx(e,r,n,i):Kx(e,r,n,i)}function Kd(e){is(VE>=e.amount,"AMOUNT_OUT_OF_RANGE")}async function Xx(e){const{client:r,chain:n,tokenAddress:i,amount:o,data:u,witness:c}=e,l=await zx(r,n,i,o),h=c?{witness:{diamondAddress:n.diamondAddress,diamondCalldataHash:le.keccak256(u)},witnessTypeName:"LiFiCall",witnessType:{LiFiCall:[{name:"diamondAddress",type:"address"},{name:"diamondCalldataHash",type:"bytes32"}]}}:void 0,g=Yx(l,n.permit2,n.id,h),m=c?"PermitWitnessTransferFrom":"PermitTransferFrom",y=await se(r,xi,"signTypedData")({account:r.account,primaryType:m,domain:g.domain,types:g.types,message:g.message});return{...g,primaryType:m,signature:y}}const Zx=async(e,r,n,i,o,u,c)=>{if(await se(e,wi,"getChainId")(void 0)===o)return e;if(u)try{if(!(c!=null&&c.switchChainHook))throw new tu(ie.ChainSwitchError,"Chain switch hook is not provided.");const h=await c.switchChainHook(o);let g;if(h&&(g=await se(h,wi,"getChainId")(void 0)),g!==o)throw new tu(ie.ChainSwitchError,"Chain switch required.");return h}catch(h){throw r.updateProcess(n,i.type,"FAILED",{error:{message:h.message,code:ie.ChainSwitchError}}),r.updateExecution(n,"FAILED"),h}};function Sa(e){return!!e.typedData&&e.typedData.length>0}function e8(e,r){var n;return!!((n=e.typedData)!=null&&n.some(i=>i.primaryType==="PermitWitnessTransferFrom"))||!1}const t8=async(e,r,n)=>{var o;const i=await se(e,ME,"waitForCallsStatus")({id:r,timeout:864e5});if(i.status==="success"){if(!((o=i.receipts)!=null&&o.length)||!i.receipts.every(c=>c.transactionHash)||i.receipts.some(c=>c.status==="reverted"))throw n==null||n(i),new Me(ie.TransactionFailed,"Transaction was reverted.");return i.receipts.at(-1)}throw i.statusCode>=400&&i.statusCode<500?(n==null||n(i),new Me(ie.TransactionCanceled,"Transaction was canceled.")):(n==null||n(i),new Me(ie.TransactionFailed,"Transaction failed."))},n8=async(e,r)=>jd(async()=>{var i;const n=await wx({taskId:e,fromChain:r.action.fromChainId,toChain:r.action.toChainId,...r.tool!=="custom"&&{bridge:r.tool}}).catch(o=>{process.env.NODE_ENV});switch(n==null?void 0:n.status){case"PENDING":return;case"DONE":{const o=(i=n==null?void 0:n.transactionStatus)==null?void 0:i.sending;return{status:"success",gasUsed:o==null?void 0:o.gasUsed,transactionHash:n==null?void 0:n.metadata.txHash,transactionLink:o==null?void 0:o.txLink}}case"FAILED":throw new Me(ie.TransactionFailed,"Transaction was reverted.");default:throw new Me(ie.TransactionNotFound,"Transaction not found.")}},5e3,3,(n,i)=>!(i instanceof Me&&i.code===ie.TransactionFailed));class r8 extends Ix{constructor(n){super(n);X(this,"client");X(this,"checkClient",async(n,i,o)=>{var l,h;const u=await Zx(this.client,this.statusManager,n,i,o??n.action.fromChainId,this.allowUserInteraction,this.executionOptions);u&&(this.client=u);let c=(l=this.client.account)==null?void 0:l.address;if(!c){const g=await se(this.client,CE,"getAddresses")(void 0);c=g==null?void 0:g[0]}if((c==null?void 0:c.toLowerCase())!==((h=n.action.fromAddress)==null?void 0:h.toLowerCase())){const g="The wallet address that requested the quote does not match the wallet address attempting to sign the transaction.";throw this.statusManager.updateProcess(n,i.type,"FAILED",{error:{code:ie.WalletChangedDuringExecution,message:g}}),this.statusManager.updateExecution(n,"FAILED"),await ru(new Me(ie.WalletChangedDuringExecution,g),n,i)}return u});X(this,"waitForTransaction",async({step:n,process:i,fromChain:o,toChain:u,isBridgeExecution:c})=>{const l=g=>{if(g!=null&&g.transactionHash&&g.transactionHash!==i.txHash){const m=Bt(g.transactionHash,{strict:!0})?g.transactionHash:void 0;i=this.statusManager.updateProcess(n,i.type,"PENDING",{txHash:m,txLink:g.transactionLink||(m?`${o.metamask.blockExplorerUrls[0]}tx/${m}`:void 0)})}};let h;switch(i.txType){case"batched":h=await t8(this.client,i.taskId,g=>{var y;const m=(y=g.receipts)==null?void 0:y.find(w=>w.status==="reverted");m&&l(m)});break;case"relayed":h=await n8(i.taskId,n);break;default:h=await qd({client:this.client,chainId:o.id,txHash:i.txHash,onReplaced:g=>{this.statusManager.updateProcess(n,i.type,"PENDING",{txHash:g.transaction.hash,txLink:`${o.metamask.blockExplorerUrls[0]}tx/${g.transaction.hash}`})}})}l(h),c&&(i=this.statusManager.updateProcess(n,i.type,"DONE")),await rl(n,i,o,u,this.statusManager)});X(this,"prepareUpdatedStep",async(n,i)=>{var y,w,x;const{execution:o,...u}=n,c=Sa(n),l=e8(n);let h;if(c&&l)h={...await Ax({fromChain:u.action.fromChainId,fromToken:u.action.fromToken.address,fromAddress:u.action.fromAddress,fromAmount:u.action.fromAmount,toChain:u.action.toChainId,toToken:u.action.toToken.address,slippage:u.action.slippage,toAddress:u.action.toAddress,allowBridges:[u.tool]}),id:u.id};else{const I=i==null?void 0:i.filter(G=>G.signature),{typedData:C,...O}=u,S=I!=null&&I.length?{...O,typedData:I}:O;h=await mx(S)}const g=await Dx(this.statusManager,n,h,this.allowUserInteraction,this.executionOptions);if(Object.assign(n,{...g,execution:n.execution,typedData:h.typedData??n.typedData}),!n.transactionRequest&&!((y=n.typedData)!=null&&y.length))throw new Me(ie.TransactionUnprepared,"Unable to prepare transaction.");let m;if(n.transactionRequest&&(m={to:n.transactionRequest.to,from:n.transactionRequest.from,data:n.transactionRequest.data,value:n.transactionRequest.value?BigInt(n.transactionRequest.value):void 0,gas:n.transactionRequest.gasLimit?BigInt(n.transactionRequest.gasLimit):void 0,maxPriorityFeePerGas:((w=this.client.account)==null?void 0:w.type)==="local"?await Hd(this.client):n.transactionRequest.maxPriorityFeePerGas?BigInt(n.transactionRequest.maxPriorityFeePerGas):void 0}),(x=this.executionOptions)!=null&&x.updateTransactionRequestHook&&m){const I=await this.executionOptions.updateTransactionRequestHook({requestType:"transaction",...m});m={...m,...I}}return{transactionRequest:m,isRelayerTransaction:Sa(h)}});X(this,"estimateTransactionRequest",async(n,i)=>{n.to=i.permit2Proxy;try{const o=await kt(this.client,Ld,"estimateGas",{account:this.client.account,to:n.to,data:n.data,value:n.value});n.gas=n.gas&&n.gas>o?n.gas:o}catch{n.gas&&(n.gas=n.gas+80000n)}return n});X(this,"executeStep",async(n,i=!1)=>{var G,Q,_;n.execution=this.statusManager.initExecutionObject(n);const o=(G=n.execution)==null?void 0:G.process.find(T=>T.type==="RECEIVING_CHAIN");if(o&&o.substatus!=="WAIT_DESTINATION_TRANSACTION"&&!await this.checkClient(n,o))return n;const u=await we.getChainById(n.action.fromChainId),c=await we.getChainById(n.action.toChainId),l=[];let h=[];const g=i||n.tool==="thorswap"||Sa(n)?!1:await Gx({client:this.client,chainId:u.id}),m=u.id!==c.id,y=m?"CROSS_CHAIN":"SWAP",w=n.execution.process.find(T=>T.type===y),x=u.nativeToken.address===n.action.fromToken.address&&Uu(n.action.fromToken.address),I=((Q=this.executionOptions)==null?void 0:Q.disableMessageSigning)||n.type!=="lifi",C=!!u.permit2&&!!u.permit2Proxy&&!g&&!x&&!I&&!!n.estimate.approvalAddress;if(!(w!=null&&w.txHash)&&!(w!=null&&w.taskId)&&!x&&!!n.estimate.approvalAddress){const T=await kx({checkClient:this.checkClient,chain:u,step:n,statusManager:this.statusManager,executionOptions:this.executionOptions,allowUserInteraction:this.allowUserInteraction,batchingSupported:g,permit2Supported:C,disableMessageSigning:I});switch(T.status){case"BATCH_APPROVAL":l.push(T.data.call),h=T.data.signedTypedData;break;case"NATIVE_PERMIT":h=T.data;break;case"DONE":h=T.data;break;default:if(!this.allowUserInteraction)return n;break}}let S=this.statusManager.findProcess(n,y);try{if((S==null?void 0:S.status)==="DONE")return await rl(n,S,u,c,this.statusManager),n;if(S!=null&&S.txHash||S!=null&&S.taskId)return await this.checkClient(n,S)&&await this.waitForTransaction({step:n,process:S,fromChain:u,toChain:c,isBridgeExecution:m}),n;S=this.statusManager.findOrCreateProcess({step:n,type:y,status:"STARTED",chainId:u.id}),await Vd(this.client.account.address,n);let{transactionRequest:T,isRelayerTransaction:R}=await this.prepareUpdatedStep(n,h);if(!await this.checkClient(n,S)||(S=this.statusManager.updateProcess(n,S.type,"ACTION_REQUIRED"),!this.allowUserInteraction))return n;let F,W,$="standard",ne;if(g&&T){const ce={chainId:u.id,data:T.data,to:T.to,value:T.value};l.push(ce);const{id:fe}=await se(this.client,_E,"sendCalls")({account:this.client.account,calls:l});W=fe,$="batched"}else if(R){const ce=(_=n.typedData)==null?void 0:_.filter(Le=>!h.some(We=>su(We,Le)));if(!(ce!=null&&ce.length))throw new Me(ie.TransactionUnprepared,"Unable to prepare transaction. Typed data for transfer is not found.");this.statusManager.updateProcess(n,S.type,"MESSAGE_REQUIRED");for(const Le of ce){if(!this.allowUserInteraction)return n;const We=vi(Le.domain)||u.id,ve=await this.checkClient(n,S,We);if(!ve)return n;const At=await se(ve,xi,"signTypedData")({account:ve.account,primaryType:Le.primaryType,domain:Le.domain,types:Le.types,message:Le.message});h.push({...Le,signature:At})}this.statusManager.updateProcess(n,S.type,"PENDING");const{execution:fe,...Ee}=n,qe=await yx({...Ee,typedData:h});W=qe.taskId,$="relayed",ne=qe.txLink}else{if(!T)throw new Me(ie.TransactionUnprepared,"Unable to prepare transaction. Transaction request is not found.");const ce=h.find(fe=>fe.primaryType==="Permit"&&vi(fe.domain)===u.id);if(ce)T.data=Hx(n.action.fromToken.address,BigInt(n.action.fromAmount),ce.message.deadline,ce.signature,T.data);else if(C){this.statusManager.updateProcess(n,S.type,"MESSAGE_REQUIRED");const fe=await Xx({client:this.client,chain:u,tokenAddress:n.action.fromToken.address,amount:BigInt(n.action.fromAmount),data:T.data});T.data=Qx(n.action.fromToken.address,BigInt(n.action.fromAmount),fe.message.nonce,fe.message.deadline,T.data,fe.signature),this.statusManager.updateProcess(n,S.type,"ACTION_REQUIRED")}(ce||C)&&(T=await this.estimateTransactionRequest(T,u)),F=await se(this.client,Fu,"sendTransaction")({to:T.to,account:this.client.account,data:T.data,value:T.value,gas:T.gas,gasPrice:T.gasPrice,maxFeePerGas:T.maxFeePerGas,maxPriorityFeePerGas:T.maxPriorityFeePerGas,chain:zE(u)})}return S=this.statusManager.updateProcess(n,S.type,"PENDING",{txHash:F,taskId:W,txType:$,txLink:$==="standard"&&F?`${u.metamask.blockExplorerUrls[0]}tx/${F}`:ne}),await this.waitForTransaction({step:n,process:S,fromChain:u,toChain:c,isBridgeExecution:m}),n}catch(T){if(Fx(T)&&!i)return n.execution=void 0,this.executeStep(n,!0);const R=await ru(T,n,S);throw S=this.statusManager.updateProcess(n,(S==null?void 0:S.type)||y,"FAILED",{error:{message:R.cause.message,code:R.code}}),this.statusManager.updateExecution(n,"FAILED"),R}});this.client=n.client}}const s8=async(e,r)=>{if(r.length===0)return[];const{chainId:n}=r[0];for(const o of r)o.chainId;const i=await Gu(n);return i&&r.length>1?i8(n,r,e,i):o8(n,r,e)},i8=async(e,r,n,i)=>{const o=await Vn(e),u=r.map(h=>Uu(h.address)?{address:i,abi:HE,functionName:"getEthBalance",args:[n]}:{address:h.address,abi:Gd,functionName:"balanceOf",args:[n]}),[c,l]=await Promise.all([Mu(o),Lu(o,{contracts:u,multicallAddress:i})]);return l.length?r.map((h,g)=>({...h,amount:l[g].result,blockNumber:c})):[]},o8=async(e,r,n)=>{const i=await Vn(e),o=r.map(h=>Uu(h.address)?AE(i,{address:n}):In(i,{address:h.address,abi:Gd,functionName:"balanceOf",args:[n]})),[u,c]=await Promise.all([Mu(i),Promise.allSettled(o)]);return r.map((h,g)=>{const m=c[g];return m.status==="rejected"?{...h,blockNumber:u}:{...h,amount:m.value,blockNumber:u}})};var a8="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";const ol=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),al=4;function u8(e){let r=0;function n(){return e[r++]<<8|e[r++]}let i=n(),o=1,u=[0,1];for(let T=1;T<i;T++)u.push(o+=n());let c=n(),l=r;r+=c;let h=0,g=0;function m(){return h==0&&(g=g<<8|e[r++],h=8),g>>--h&1}const y=31,w=2**y,x=w>>>1,I=x>>1,C=w-1;let O=0;for(let T=0;T<y;T++)O=O<<1|m();let S=[],G=0,Q=w;for(;;){let T=Math.floor(((O-G+1)*o-1)/Q),R=0,k=i;for(;k-R>1;){let $=R+k>>>1;T<u[$]?k=$:R=$}if(R==0)break;S.push(R);let F=G+Math.floor(Q*u[R]/o),W=G+Math.floor(Q*u[R+1]/o)-1;for(;((F^W)&x)==0;)O=O<<1&C|m(),F=F<<1&C,W=W<<1&C|1;for(;F&~W&I;)O=O&x|O<<1&C>>>1|m(),F=F<<1^x,W=(W^x)<<1|x|1;G=F,Q=1+W-F}let _=i-4;return S.map(T=>{switch(T-_){case 3:return _+65792+(e[l++]<<16|e[l++]<<8|e[l++]);case 2:return _+256+(e[l++]<<8|e[l++]);case 1:return _+e[l++];default:return T-1}})}function c8(e){let r=0;return()=>e[r++]}function Yd(e){return c8(u8(f8(e)))}function f8(e){let r=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((o,u)=>r[o.charCodeAt(0)]=u);let n=e.length,i=new Uint8Array(6*n>>3);for(let o=0,u=0,c=0,l=0;o<n;o++)l=l<<6|r[e.charCodeAt(o)],c+=6,c>=8&&(i[u++]=l>>(c-=8));return i}function l8(e){return e&1?~e>>1:e>>1}function d8(e,r){let n=Array(e);for(let i=0,o=0;i<e;i++)n[i]=o+=l8(r());return n}function os(e,r=0){let n=[];for(;;){let i=e(),o=e();if(!o)break;r+=i;for(let u=0;u<o;u++)n.push(r+u);r+=o+1}return n}function Xd(e){return as(()=>{let r=os(e);if(r.length)return r})}function Zd(e){let r=[];for(;;){let n=e();if(n==0)break;r.push(h8(n,e))}for(;;){let n=e()-1;if(n<0)break;r.push(p8(n,e))}return r.flat()}function as(e){let r=[];for(;;){let n=e(r.length);if(!n)break;r.push(n)}return r}function eh(e,r,n){let i=Array(e).fill().map(()=>[]);for(let o=0;o<r;o++)d8(e,n).forEach((u,c)=>i[c].push(u));return i}function h8(e,r){let n=1+r(),i=r(),o=as(r);return eh(o.length,1+e,r).flatMap((c,l)=>{let[h,...g]=c;return Array(o[l]).fill().map((m,y)=>{let w=y*i;return[h+y*n,g.map(x=>x+w)]})})}function p8(e,r){let n=1+r();return eh(n,1+e,r).map(o=>[o[0],o.slice(1)])}function g8(e){let r=[],n=os(e);return o(i([]),[]),r;function i(u){let c=e(),l=as(()=>{let h=os(e).map(g=>n[g]);if(h.length)return i(h)});return{S:c,B:l,Q:u}}function o({S:u,B:c},l,h){if(!(u&4&&h===l[l.length-1])){u&2&&(h=l[l.length-1]),u&1&&r.push(l);for(let g of c)for(let m of g.Q)o(g,[...l,m],h)}}}function m8(e){return e.toString(16).toUpperCase().padStart(2,"0")}function th(e){return`{${m8(e)}}`}function b8(e){let r=[];for(let n=0,i=e.length;n<i;){let o=e.codePointAt(n);n+=o<65536?1:2,r.push(o)}return r}function wr(e){let n=e.length;if(n<4096)return String.fromCodePoint(...e);let i=[];for(let o=0;o<n;)i.push(String.fromCodePoint(...e.slice(o,o+=4096)));return i.join("")}function A8(e,r){let n=e.length,i=n-r.length;for(let o=0;i==0&&o<n;o++)i=e[o]-r[o];return i}var y8="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";const us=44032,Ti=4352,Pi=4449,Ii=4519,nh=19,rh=21,Er=28,Si=rh*Er,w8=nh*Si,E8=us+w8,x8=Ti+nh,v8=Pi+rh,T8=Ii+Er;function Yr(e){return e>>24&255}function sh(e){return e&16777215}let iu,ul,ou,mi;function P8(){let e=Yd(y8);iu=new Map(Xd(e).flatMap((r,n)=>r.map(i=>[i,n+1<<24]))),ul=new Set(os(e)),ou=new Map,mi=new Map;for(let[r,n]of Zd(e)){if(!ul.has(r)&&n.length==2){let[i,o]=n,u=mi.get(i);u||(u=new Map,mi.set(i,u)),u.set(o,r)}ou.set(r,n.reverse())}}function ih(e){return e>=us&&e<E8}function I8(e,r){if(e>=Ti&&e<x8&&r>=Pi&&r<v8)return us+(e-Ti)*Si+(r-Pi)*Er;if(ih(e)&&r>Ii&&r<T8&&(e-us)%Er==0)return e+(r-Ii);{let n=mi.get(e);return n&&(n=n.get(r),n)?n:-1}}function oh(e){iu||P8();let r=[],n=[],i=!1;function o(u){let c=iu.get(u);c&&(i=!0,u|=c),r.push(u)}for(let u of e)for(;;){if(u<128)r.push(u);else if(ih(u)){let c=u-us,l=c/Si|0,h=c%Si/Er|0,g=c%Er;o(Ti+l),o(Pi+h),g>0&&o(Ii+g)}else{let c=ou.get(u);c?n.push(...c):o(u)}if(!n.length)break;u=n.pop()}if(i&&r.length>1){let u=Yr(r[0]);for(let c=1;c<r.length;c++){let l=Yr(r[c]);if(l==0||u<=l){u=l;continue}let h=c-1;for(;;){let g=r[h+1];if(r[h+1]=r[h],r[h]=g,!h||(u=Yr(r[--h]),u<=l))break}u=Yr(r[c])}}return r}function S8(e){let r=[],n=[],i=-1,o=0;for(let u of e){let c=Yr(u),l=sh(u);if(i==-1)c==0?i=l:r.push(l);else if(o>0&&o>=c)c==0?(r.push(i,...n),n.length=0,i=l):n.push(l),o=c;else{let h=I8(i,l);h>=0?i=h:o==0&&c==0?(r.push(i),i=l):(n.push(l),o=c)}}return i>=0&&r.push(i,...n),r}function ah(e){return oh(e).map(sh)}function B8(e){return S8(oh(e))}const cl=45,uh=".",ch=65039,fh=1,Bi=e=>Array.from(e);function cs(e,r){return e.P.has(r)||e.Q.has(r)}class R8 extends Array{get is_emoji(){return!0}}let au,lh,Un,uu,dh,pr,Ba,fr,Ln,fl,cu;function Hu(){if(au)return;let e=Yd(a8);const r=()=>os(e),n=()=>new Set(r()),i=(m,y)=>y.forEach(w=>m.add(w));au=new Map(Zd(e)),lh=n(),Un=r(),uu=new Set(r().map(m=>Un[m])),Un=new Set(Un),dh=n(),n();let o=Xd(e),u=e();const c=()=>{let m=new Set;return r().forEach(y=>i(m,o[y])),i(m,r()),m};pr=as(m=>{let y=as(e).map(w=>w+96);if(y.length){let w=m>=u;y[0]-=32,y=wr(y),w&&(y=`Restricted[${y}]`);let x=c(),I=c(),C=!e();return{N:y,P:x,Q:I,M:C,R:w}}}),Ba=n(),fr=new Map;let l=r().concat(Bi(Ba)).sort((m,y)=>m-y);l.forEach((m,y)=>{let w=e(),x=l[y]=w?l[y-w]:{V:[],M:new Map};x.V.push(m),Ba.has(m)||fr.set(m,x)});for(let{V:m,M:y}of new Set(fr.values())){let w=[];for(let I of m){let C=pr.filter(S=>cs(S,I)),O=w.find(({G:S})=>C.some(G=>S.has(G)));O||(O={G:new Set,V:[]},w.push(O)),O.V.push(I),i(O.G,C)}let x=w.flatMap(I=>Bi(I.G));for(let{G:I,V:C}of w){let O=new Set(x.filter(S=>!I.has(S)));for(let S of C)y.set(S,O)}}Ln=new Set;let h=new Set;const g=m=>Ln.has(m)?h.add(m):Ln.add(m);for(let m of pr){for(let y of m.P)g(y);for(let y of m.Q)g(y)}for(let m of Ln)!fr.has(m)&&!h.has(m)&&fr.set(m,fh);i(Ln,ah(Ln)),fl=g8(e).map(m=>R8.from(m)).sort(A8),cu=new Map;for(let m of fl){let y=[cu];for(let w of m){let x=y.map(I=>{let C=I.get(w);return C||(C=new Map,I.set(w,C)),C});w===ch?y.push(...x):y=x}for(let w of y)w.V=m}}function Qu(e){return(hh(e)?"":`${zu(zi([e]))} `)+th(e)}function zu(e){return`"${e}"`}function C8(e){if(e.length>=4&&e[2]==cl&&e[3]==cl)throw new Error(`invalid label extension: "${wr(e.slice(0,4))}"`)}function _8(e){for(let n=e.lastIndexOf(95);n>0;)if(e[--n]!==95)throw new Error("underscore allowed only at start")}function D8(e){let r=e[0],n=ol.get(r);if(n)throw Zr(`leading ${n}`);let i=e.length,o=-1;for(let u=1;u<i;u++){r=e[u];let c=ol.get(r);if(c){if(o==u)throw Zr(`${n} + ${c}`);o=u+1,n=c}}if(o==i)throw Zr(`trailing ${n}`)}function zi(e,r=1/0,n=th){let i=[];N8(e[0])&&i.push("◌"),e.length>r&&(r>>=1,e=[...e.slice(0,r),8230,...e.slice(-r)]);let o=0,u=e.length;for(let c=0;c<u;c++){let l=e[c];hh(l)&&(i.push(wr(e.slice(o,c))),i.push(n(l)),o=c+1)}return i.push(wr(e.slice(o,u))),i.join("")}function N8(e,r){return Hu(),Un.has(e)}function hh(e){return Hu(),dh.has(e)}function O8(e){return U8(M8(e,B8,H8))}function M8(e,r,n){if(!e)return[];Hu();let i=0;return e.split(uh).map(o=>{let u=b8(o),c={input:u,offset:i};i+=u.length+1;try{let l=c.tokens=G8(u,r,n),h=l.length,g;if(!h)throw new Error("empty label");let m=c.output=l.flat();if(_8(m),!(c.emoji=h>1||l[0].is_emoji)&&m.every(w=>w<128))C8(m),g="ASCII";else{let w=l.flatMap(x=>x.is_emoji?[]:x);if(!w.length)g="Emoji";else{if(Un.has(m[0]))throw Zr("leading combining mark");for(let C=1;C<h;C++){let O=l[C];if(!O.is_emoji&&Un.has(O[0]))throw Zr(`emoji + combining mark: "${wr(l[C-1])} + ${zi([O[0]])}"`)}D8(m);let x=Bi(new Set(w)),[I]=F8(x);k8(I,w),L8(I,x),g=I.N}}c.type=g}catch(l){c.error=l}return c})}function L8(e,r){let n,i=[];for(let o of r){let u=fr.get(o);if(u===fh)return;if(u){let c=u.M.get(o);if(n=n?n.filter(l=>c.has(l)):Bi(c),!n.length)return}else i.push(o)}if(n){for(let o of n)if(i.every(u=>cs(o,u)))throw new Error(`whole-script confusable: ${e.N}/${o.N}`)}}function F8(e){let r=pr;for(let n of e){let i=r.filter(o=>cs(o,n));if(!i.length)throw pr.some(o=>cs(o,n))?gh(r[0],n):ph(n);if(r=i,i.length==1)break}return r}function U8(e){return e.map(({input:r,error:n,output:i})=>{if(n){let o=n.message;throw new Error(e.length==1?o:`Invalid label ${zu(zi(r,63))}: ${o}`)}return wr(i)}).join(uh)}function ph(e){return new Error(`disallowed character: ${Qu(e)}`)}function gh(e,r){let n=Qu(r),i=pr.find(o=>o.P.has(r));return i&&(n=`${i.N} ${n}`),new Error(`illegal mixture: ${e.N} + ${n}`)}function Zr(e){return new Error(`illegal placement: ${e}`)}function k8(e,r){for(let n of r)if(!cs(e,n))throw gh(e,n);if(e.M){let n=ah(r);for(let i=1,o=n.length;i<o;i++)if(uu.has(n[i])){let u=i+1;for(let c;u<o&&uu.has(c=n[u]);u++)for(let l=i;l<u;l++)if(n[l]==c)throw new Error(`duplicate non-spacing marks: ${Qu(c)}`);if(u-i>al)throw new Error(`excessive non-spacing marks: ${zu(zi(n.slice(i-1,u)))} (${u-i}/${al})`);i=u}}}function G8(e,r,n){let i=[],o=[];for(e=e.slice().reverse();e.length;){let u=Q8(e);if(u)o.length&&(i.push(r(o)),o=[]),i.push(n(u));else{let c=e.pop();if(Ln.has(c))o.push(c);else{let l=au.get(c);if(l)o.push(...l);else if(!lh.has(c))throw ph(c)}}}return o.length&&i.push(r(o)),i}function H8(e){return e.filter(r=>r!=ch)}function Q8(e,r){let n=cu,i,o=e.length;for(;o&&(n=n.get(e[--o]),!!n);){let{V:u}=n;u&&(i=u,e.length=o)}return i}var hi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function z8(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function W8(e){return O8(e)}function $8(e){return W8(e)}const V8=async e=>{try{const r=await Vn(De.ETH);return await pE(r,{name:$8(e)})}catch{return}},j8=async(e,r,n,i)=>{try{const o=await Vn(De.ETH),u=await Vn(De.POL),c=eu(e),l=[];if(n){const g=cE[r],m=uE[n];g&&(i&&l.push(`token.${g}.${m}.${i}.address`),m&&l.push(`token.${g}.${m}.address`),l.push(`token.${g}.address`))}const h=aE[r];l.push(`crypto.${h}.address`);for(const g of l){const m=await ll(u,{name:c,key:g})||await ll(o,{name:c,key:g});if(m)return m}return}catch{return}};async function ll(e,r){var x;const{name:n,key:i}=r,o=(x=e.chain)==null?void 0:x.id;if(!o)throw new Error("Chain ID not available");const u=oE(o);if(!u)throw new Error(`UNS contracts are not deployed on chain ${o}`);const c=se(e,In,"readContract"),l={abi:J0,address:u,functionName:"exists",args:[BigInt(n)]};if(!await c(l))return;const g={abi:J0,address:u,functionName:"getData",args:[[i],BigInt(n)]},m=await c(g),[,,y]=m,w=y[0];if(!(w==="0x"||w===""||Tr(w)==="0x00"))return w}async function q8(e,r,n){return await V8(e)||await j8(e,Be.EVM,r,n)}function J8(e){const r=e??{};return{get type(){return Be.EVM},get options(){return r},isAddress:le.isAddress,resolveAddress:q8,getBalance:s8,getWalletClient:r.getWalletClient,async getStepExecutor(n){var u;if(!r.getWalletClient)throw new Error("Client is not provided.");const i=await r.getWalletClient();return new r8({client:i,routeId:n.routeId,executionOptions:{...n.executionOptions,switchChainHook:r.switchChain??((u=n.executionOptions)==null?void 0:u.switchChainHook)}})},setOptions(n){Object.assign(r,n)}}}const K8=e=>{for(let r=0;r<e.steps.length;r++){const n=e.steps[r];if(n.execution){const i=n.execution.process.findLastIndex(o=>{var u;return(!!o.txHash||!!o.taskId||!!((u=o.signedTypedData)!=null&&u.length))&&o.status!=="FAILED"});i>=0?n.execution.process=n.execution.process.slice(0,i+1):n.execution.process=[]}n.transactionRequest=void 0}},mh=async(e,r)=>{var o;const n=structuredClone(e);let i=(o=Lt.get(n.id))==null?void 0:o.promise;return i||(Lt.create({route:n,executionOptions:r}),i=X8(n),Lt.update({route:n,promise:i}),i)},Y8=async(e,r)=>{const n=Lt.get(e.id);if(n&&!n.executors.some(o=>!o.allowExecution)){if(Wu(e,{executeInBackground:r==null?void 0:r.executeInBackground}),!n.promise)throw new Error("Route execution promise not found.");return n.promise}return K8(e),mh(e,r)},X8=async e=>{var r,n,i,o;for(let u=0;u<e.steps.length;u++){const c=Lt.get(e.id);if(!c)break;const l=e.steps[u],h=e.steps[u-1];if(((r=l.execution)==null?void 0:r.status)!=="DONE"){(n=h==null?void 0:h.execution)!=null&&n.toAmount&&(l.action.fromAmount=h.execution.toAmount,(i=l.includedSteps)!=null&&i.length&&(l.includedSteps[0].action.fromAmount=h.execution.toAmount));try{const g=l.action.fromAddress;if(!g)throw new Error("Action fromAddress is not specified.");const m=we.get().providers.find(x=>x.isAddress(g));if(!m)throw new tu(ie.ProviderUnavailable,"SDK Execution Provider not found.");const y=await m.getStepExecutor({routeId:e.id,executionOptions:c.executionOptions});if(c.executors.push(y),c.executionOptions&&Wu(e,c.executionOptions),((o=(await y.executeStep(l)).execution)==null?void 0:o.status)!=="DONE"&&fu(e),!y.allowExecution)return e}catch(g){throw fu(e),g}}}return Lt.delete(e.id),e},Wu=(e,r)=>{const n=Lt.get(e.id);if(n){if("executeInBackground"in r)for(const i of n.executors)i.setInteraction({allowInteraction:!(r!=null&&r.executeInBackground),allowUpdates:!0});n.executionOptions={...n.executionOptions,...r}}},fu=e=>{const r=Lt.get(e.id);if(!r)return e;for(const n of r.executors)n.setInteraction({allowInteraction:!1,allowUpdates:!1,allowExecution:!1});return Lt.delete(e.id),r.route},Z8=async(e,r)=>{try{(await(await fetch(`https://registry.npmjs.org/${e??Wd}/latest`)).json()).version>(r??rs)}catch{}};function ev(e){if(!e.integrator)throw new Error("Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk");const r=we.set(e);return!e.disableVersionCheck&&process.env.NODE_ENV==="development"&&Z8(Wd,rs),r}async function tv(){we.loading=$d({chainTypes:[Be.EVM,Be.SVM,Be.UTXO,Be.MVM]}).then(e=>we.setChains(e)).catch(),await we.loading}function nv(e){const r=ev(e);return r.preloadChains&&tv(),r}const rv=e=>{var n,i;if(!e.estimate.fromAmountUSD)throw new Gt(new an("Missing 'fromAmountUSD' in step estimate."));if(!e.estimate.toAmountUSD)throw new Gt(new an("Missing 'toAmountUSD' in step estimate."));return{id:e.id,fromChainId:e.action.fromToken.chainId,fromToken:e.action.fromToken,fromAmount:e.action.fromAmount,fromAmountUSD:e.estimate.fromAmountUSD,fromAddress:e.action.fromAddress,toChainId:e.action.toToken.chainId,toToken:e.action.toToken,toAmount:e.estimate.toAmount,toAmountMin:e.estimate.toAmountMin,toAmountUSD:e.estimate.toAmountUSD,toAddress:e.action.toAddress||e.action.fromAddress,gasCostUSD:((i=(n=e.estimate.gasCosts)==null?void 0:n[0])==null?void 0:i.amountUSD)||"0",steps:[e],insurance:{state:"NOT_INSURABLE",feeAmountUsd:"0"}}};function sv(e){if(!e.integrator)throw new Error("Integrator name is required");return Tn.set(e)}const Tn=(()=>{const e={integrator:"zksync easy-onramp",apiUrl:"https://easy-onramp-api.zksync.dev/api",services:[],provider:null,dev:!1};return{get(){return e},set(r){const{...n}=r;return Object.assign(e,n),r.provider&&nv({integrator:"ZKsync Easy OnRamp",providers:[r.provider]}),e}}})();async function iv(e){const r=Tn.get().apiUrl,n=new URL(`${r}/quotes`),i=new URLSearchParams;i.append("to",e.toAddress),i.append("chainId",e.chainId.toString()),i.append("token",e.toToken),i.append("routeType","buy");const o=Tn.get().services;if(o.length>0&&i.append("services",o.join(",")),e.fiatCurrency&&i.append("fiatCurrency",e.fiatCurrency),e.fiatAmount&&i.append("fiatAmount",e.fiatAmount.toString()),Tn.get().dev&&i.append("dev","true"),typeof window<"u"&&window.location){const c=`${window.location.protocol}//${window.location.host}`;i.append("domain",c)}return await fetch(`${n}?${i.toString()}`).then(c=>c.json()).then(c=>c).catch(c=>{throw c})}async function ov(){const e=Tn.get().apiUrl,r=new URL(`${e}/config`);return await fetch(r).then(i=>i.json()).then(i=>i).catch(i=>{throw i})}var Xr={exports:{}};/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/var av=Xr.exports,dl;function uv(){return dl||(dl=1,(function(e,r){(function(){var n,i="4.17.21",o=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",l="Invalid `variable` option passed into `_.template`",h="__lodash_hash_undefined__",g=500,m="__lodash_placeholder__",y=1,w=2,x=4,I=1,C=2,O=1,S=2,G=4,Q=8,_=16,T=32,R=64,k=128,F=256,W=512,$=30,ne="...",ce=800,fe=16,Ee=1,qe=2,Le=3,We=1/0,ve=9007199254740991,At=17976931348623157e292,ut=NaN,et=4294967295,qu=et-1,Pr=et>>>1,Wi=[["ary",k],["bind",O],["bindKey",S],["curry",Q],["curryRight",_],["flip",W],["partial",T],["partialRight",R],["rearg",F]],Qt="[object Arguments]",tt="[object Array]",Ch="[object AsyncFunction]",Ir="[object Boolean]",Sr="[object Date]",_h="[object DOMException]",ys="[object Error]",ws="[object Function]",Ju="[object GeneratorFunction]",yt="[object Map]",Br="[object Number]",Dh="[object Null]",zt="[object Object]",Ku="[object Promise]",Nh="[object Proxy]",Rr="[object RegExp]",wt="[object Set]",Cr="[object String]",Es="[object Symbol]",Oh="[object Undefined]",_r="[object WeakMap]",Mh="[object WeakSet]",Dr="[object ArrayBuffer]",qn="[object DataView]",$i="[object Float32Array]",Vi="[object Float64Array]",ji="[object Int8Array]",qi="[object Int16Array]",Ji="[object Int32Array]",Ki="[object Uint8Array]",Yi="[object Uint8ClampedArray]",Xi="[object Uint16Array]",Zi="[object Uint32Array]",Lh=/\b__p \+= '';/g,Fh=/\b(__p \+=) '' \+/g,Uh=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Yu=/&(?:amp|lt|gt|quot|#39);/g,Xu=/[&<>"']/g,kh=RegExp(Yu.source),Gh=RegExp(Xu.source),Hh=/<%-([\s\S]+?)%>/g,Qh=/<%([\s\S]+?)%>/g,Zu=/<%=([\s\S]+?)%>/g,zh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wh=/^\w*$/,$h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,eo=/[\\^$.*+?()[\]{}|]/g,Vh=RegExp(eo.source),to=/^\s+/,jh=/\s/,qh=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Jh=/\{\n\/\* \[wrapped with (.+)\] \*/,Kh=/,? & /,Yh=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Xh=/[()=,{}\[\]\/\s]/,Zh=/\\(\\)?/g,ep=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ec=/\w*$/,tp=/^[-+]0x[0-9a-f]+$/i,np=/^0b[01]+$/i,rp=/^\[object .+?Constructor\]$/,sp=/^0o[0-7]+$/i,ip=/^(?:0|[1-9]\d*)$/,op=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,xs=/($^)/,ap=/['\n\r\u2028\u2029\\]/g,vs="\\ud800-\\udfff",up="\\u0300-\\u036f",cp="\\ufe20-\\ufe2f",fp="\\u20d0-\\u20ff",tc=up+cp+fp,nc="\\u2700-\\u27bf",rc="a-z\\xdf-\\xf6\\xf8-\\xff",lp="\\xac\\xb1\\xd7\\xf7",dp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",hp="\\u2000-\\u206f",pp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",sc="A-Z\\xc0-\\xd6\\xd8-\\xde",ic="\\ufe0e\\ufe0f",oc=lp+dp+hp+pp,no="['’]",gp="["+vs+"]",ac="["+oc+"]",Ts="["+tc+"]",uc="\\d+",mp="["+nc+"]",cc="["+rc+"]",fc="[^"+vs+oc+uc+nc+rc+sc+"]",ro="\\ud83c[\\udffb-\\udfff]",bp="(?:"+Ts+"|"+ro+")",lc="[^"+vs+"]",so="(?:\\ud83c[\\udde6-\\uddff]){2}",io="[\\ud800-\\udbff][\\udc00-\\udfff]",Jn="["+sc+"]",dc="\\u200d",hc="(?:"+cc+"|"+fc+")",Ap="(?:"+Jn+"|"+fc+")",pc="(?:"+no+"(?:d|ll|m|re|s|t|ve))?",gc="(?:"+no+"(?:D|LL|M|RE|S|T|VE))?",mc=bp+"?",bc="["+ic+"]?",yp="(?:"+dc+"(?:"+[lc,so,io].join("|")+")"+bc+mc+")*",wp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ep="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ac=bc+mc+yp,xp="(?:"+[mp,so,io].join("|")+")"+Ac,vp="(?:"+[lc+Ts+"?",Ts,so,io,gp].join("|")+")",Tp=RegExp(no,"g"),Pp=RegExp(Ts,"g"),oo=RegExp(ro+"(?="+ro+")|"+vp+Ac,"g"),Ip=RegExp([Jn+"?"+cc+"+"+pc+"(?="+[ac,Jn,"$"].join("|")+")",Ap+"+"+gc+"(?="+[ac,Jn+hc,"$"].join("|")+")",Jn+"?"+hc+"+"+pc,Jn+"+"+gc,Ep,wp,uc,xp].join("|"),"g"),Sp=RegExp("["+dc+vs+tc+ic+"]"),Bp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Rp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Cp=-1,be={};be[$i]=be[Vi]=be[ji]=be[qi]=be[Ji]=be[Ki]=be[Yi]=be[Xi]=be[Zi]=!0,be[Qt]=be[tt]=be[Dr]=be[Ir]=be[qn]=be[Sr]=be[ys]=be[ws]=be[yt]=be[Br]=be[zt]=be[Rr]=be[wt]=be[Cr]=be[_r]=!1;var me={};me[Qt]=me[tt]=me[Dr]=me[qn]=me[Ir]=me[Sr]=me[$i]=me[Vi]=me[ji]=me[qi]=me[Ji]=me[yt]=me[Br]=me[zt]=me[Rr]=me[wt]=me[Cr]=me[Es]=me[Ki]=me[Yi]=me[Xi]=me[Zi]=!0,me[ys]=me[ws]=me[_r]=!1;var _p={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Dp={"&":"&","<":"<",">":">",'"':""","'":"'"},Np={"&":"&","<":"<",">":">",""":'"',"'":"'"},Op={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Mp=parseFloat,Lp=parseInt,yc=typeof hi=="object"&&hi&&hi.Object===Object&&hi,Fp=typeof self=="object"&&self&&self.Object===Object&&self,Fe=yc||Fp||Function("return this")(),ao=r&&!r.nodeType&&r,Sn=ao&&!0&&e&&!e.nodeType&&e,wc=Sn&&Sn.exports===ao,uo=wc&&yc.process,ct=(function(){try{var v=Sn&&Sn.require&&Sn.require("util").types;return v||uo&&uo.binding&&uo.binding("util")}catch{}})(),Ec=ct&&ct.isArrayBuffer,xc=ct&&ct.isDate,vc=ct&&ct.isMap,Tc=ct&&ct.isRegExp,Pc=ct&&ct.isSet,Ic=ct&&ct.isTypedArray;function nt(v,D,B){switch(B.length){case 0:return v.call(D);case 1:return v.call(D,B[0]);case 2:return v.call(D,B[0],B[1]);case 3:return v.call(D,B[0],B[1],B[2])}return v.apply(D,B)}function Up(v,D,B,z){for(var K=-1,de=v==null?0:v.length;++K<de;){var Ce=v[K];D(z,Ce,B(Ce),v)}return z}function ft(v,D){for(var B=-1,z=v==null?0:v.length;++B<z&&D(v[B],B,v)!==!1;);return v}function kp(v,D){for(var B=v==null?0:v.length;B--&&D(v[B],B,v)!==!1;);return v}function Sc(v,D){for(var B=-1,z=v==null?0:v.length;++B<z;)if(!D(v[B],B,v))return!1;return!0}function fn(v,D){for(var B=-1,z=v==null?0:v.length,K=0,de=[];++B<z;){var Ce=v[B];D(Ce,B,v)&&(de[K++]=Ce)}return de}function Ps(v,D){var B=v==null?0:v.length;return!!B&&Kn(v,D,0)>-1}function co(v,D,B){for(var z=-1,K=v==null?0:v.length;++z<K;)if(B(D,v[z]))return!0;return!1}function Ae(v,D){for(var B=-1,z=v==null?0:v.length,K=Array(z);++B<z;)K[B]=D(v[B],B,v);return K}function ln(v,D){for(var B=-1,z=D.length,K=v.length;++B<z;)v[K+B]=D[B];return v}function fo(v,D,B,z){var K=-1,de=v==null?0:v.length;for(z&&de&&(B=v[++K]);++K<de;)B=D(B,v[K],K,v);return B}function Gp(v,D,B,z){var K=v==null?0:v.length;for(z&&K&&(B=v[--K]);K--;)B=D(B,v[K],K,v);return B}function lo(v,D){for(var B=-1,z=v==null?0:v.length;++B<z;)if(D(v[B],B,v))return!0;return!1}var Hp=ho("length");function Qp(v){return v.split("")}function zp(v){return v.match(Yh)||[]}function Bc(v,D,B){var z;return B(v,function(K,de,Ce){if(D(K,de,Ce))return z=de,!1}),z}function Is(v,D,B,z){for(var K=v.length,de=B+(z?1:-1);z?de--:++de<K;)if(D(v[de],de,v))return de;return-1}function Kn(v,D,B){return D===D?t1(v,D,B):Is(v,Rc,B)}function Wp(v,D,B,z){for(var K=B-1,de=v.length;++K<de;)if(z(v[K],D))return K;return-1}function Rc(v){return v!==v}function Cc(v,D){var B=v==null?0:v.length;return B?go(v,D)/B:ut}function ho(v){return function(D){return D==null?n:D[v]}}function po(v){return function(D){return v==null?n:v[D]}}function _c(v,D,B,z,K){return K(v,function(de,Ce,ge){B=z?(z=!1,de):D(B,de,Ce,ge)}),B}function $p(v,D){var B=v.length;for(v.sort(D);B--;)v[B]=v[B].value;return v}function go(v,D){for(var B,z=-1,K=v.length;++z<K;){var de=D(v[z]);de!==n&&(B=B===n?de:B+de)}return B}function mo(v,D){for(var B=-1,z=Array(v);++B<v;)z[B]=D(B);return z}function Vp(v,D){return Ae(D,function(B){return[B,v[B]]})}function Dc(v){return v&&v.slice(0,Lc(v)+1).replace(to,"")}function rt(v){return function(D){return v(D)}}function bo(v,D){return Ae(D,function(B){return v[B]})}function Nr(v,D){return v.has(D)}function Nc(v,D){for(var B=-1,z=v.length;++B<z&&Kn(D,v[B],0)>-1;);return B}function Oc(v,D){for(var B=v.length;B--&&Kn(D,v[B],0)>-1;);return B}function jp(v,D){for(var B=v.length,z=0;B--;)v[B]===D&&++z;return z}var qp=po(_p),Jp=po(Dp);function Kp(v){return"\\"+Op[v]}function Yp(v,D){return v==null?n:v[D]}function Yn(v){return Sp.test(v)}function Xp(v){return Bp.test(v)}function Zp(v){for(var D,B=[];!(D=v.next()).done;)B.push(D.value);return B}function Ao(v){var D=-1,B=Array(v.size);return v.forEach(function(z,K){B[++D]=[K,z]}),B}function Mc(v,D){return function(B){return v(D(B))}}function dn(v,D){for(var B=-1,z=v.length,K=0,de=[];++B<z;){var Ce=v[B];(Ce===D||Ce===m)&&(v[B]=m,de[K++]=B)}return de}function Ss(v){var D=-1,B=Array(v.size);return v.forEach(function(z){B[++D]=z}),B}function e1(v){var D=-1,B=Array(v.size);return v.forEach(function(z){B[++D]=[z,z]}),B}function t1(v,D,B){for(var z=B-1,K=v.length;++z<K;)if(v[z]===D)return z;return-1}function n1(v,D,B){for(var z=B+1;z--;)if(v[z]===D)return z;return z}function Xn(v){return Yn(v)?s1(v):Hp(v)}function Et(v){return Yn(v)?i1(v):Qp(v)}function Lc(v){for(var D=v.length;D--&&jh.test(v.charAt(D)););return D}var r1=po(Np);function s1(v){for(var D=oo.lastIndex=0;oo.test(v);)++D;return D}function i1(v){return v.match(oo)||[]}function o1(v){return v.match(Ip)||[]}var a1=(function v(D){D=D==null?Fe:Zn.defaults(Fe.Object(),D,Zn.pick(Fe,Rp));var B=D.Array,z=D.Date,K=D.Error,de=D.Function,Ce=D.Math,ge=D.Object,yo=D.RegExp,u1=D.String,lt=D.TypeError,Bs=B.prototype,c1=de.prototype,er=ge.prototype,Rs=D["__core-js_shared__"],Cs=c1.toString,pe=er.hasOwnProperty,f1=0,Fc=(function(){var t=/[^.]+$/.exec(Rs&&Rs.keys&&Rs.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})(),_s=er.toString,l1=Cs.call(ge),d1=Fe._,h1=yo("^"+Cs.call(pe).replace(eo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ds=wc?D.Buffer:n,hn=D.Symbol,Ns=D.Uint8Array,Uc=Ds?Ds.allocUnsafe:n,Os=Mc(ge.getPrototypeOf,ge),kc=ge.create,Gc=er.propertyIsEnumerable,Ms=Bs.splice,Hc=hn?hn.isConcatSpreadable:n,Or=hn?hn.iterator:n,Bn=hn?hn.toStringTag:n,Ls=(function(){try{var t=Nn(ge,"defineProperty");return t({},"",{}),t}catch{}})(),p1=D.clearTimeout!==Fe.clearTimeout&&D.clearTimeout,g1=z&&z.now!==Fe.Date.now&&z.now,m1=D.setTimeout!==Fe.setTimeout&&D.setTimeout,Fs=Ce.ceil,Us=Ce.floor,wo=ge.getOwnPropertySymbols,b1=Ds?Ds.isBuffer:n,Qc=D.isFinite,A1=Bs.join,y1=Mc(ge.keys,ge),_e=Ce.max,Qe=Ce.min,w1=z.now,E1=D.parseInt,zc=Ce.random,x1=Bs.reverse,Eo=Nn(D,"DataView"),Mr=Nn(D,"Map"),xo=Nn(D,"Promise"),tr=Nn(D,"Set"),Lr=Nn(D,"WeakMap"),Fr=Nn(ge,"create"),ks=Lr&&new Lr,nr={},v1=On(Eo),T1=On(Mr),P1=On(xo),I1=On(tr),S1=On(Lr),Gs=hn?hn.prototype:n,Ur=Gs?Gs.valueOf:n,Wc=Gs?Gs.toString:n;function p(t){if(Te(t)&&!Y(t)&&!(t instanceof ae)){if(t instanceof dt)return t;if(pe.call(t,"__wrapped__"))return Vf(t)}return new dt(t)}var rr=(function(){function t(){}return function(s){if(!xe(s))return{};if(kc)return kc(s);t.prototype=s;var a=new t;return t.prototype=n,a}})();function Hs(){}function dt(t,s){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=n}p.templateSettings={escape:Hh,evaluate:Qh,interpolate:Zu,variable:"",imports:{_:p}},p.prototype=Hs.prototype,p.prototype.constructor=p,dt.prototype=rr(Hs.prototype),dt.prototype.constructor=dt;function ae(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=et,this.__views__=[]}function B1(){var t=new ae(this.__wrapped__);return t.__actions__=Je(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Je(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Je(this.__views__),t}function R1(){if(this.__filtered__){var t=new ae(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function C1(){var t=this.__wrapped__.value(),s=this.__dir__,a=Y(t),f=s<0,d=a?t.length:0,b=Qg(0,d,this.__views__),A=b.start,E=b.end,P=E-A,N=f?E:A-1,M=this.__iteratees__,L=M.length,H=0,V=Qe(P,this.__takeCount__);if(!a||!f&&d==P&&V==P)return gf(t,this.__actions__);var q=[];e:for(;P--&&H<V;){N+=s;for(var ee=-1,J=t[N];++ee<L;){var oe=M[ee],ue=oe.iteratee,ot=oe.type,je=ue(J);if(ot==qe)J=je;else if(!je){if(ot==Ee)continue e;break e}}q[H++]=J}return q}ae.prototype=rr(Hs.prototype),ae.prototype.constructor=ae;function Rn(t){var s=-1,a=t==null?0:t.length;for(this.clear();++s<a;){var f=t[s];this.set(f[0],f[1])}}function _1(){this.__data__=Fr?Fr(null):{},this.size=0}function D1(t){var s=this.has(t)&&delete this.__data__[t];return this.size-=s?1:0,s}function N1(t){var s=this.__data__;if(Fr){var a=s[t];return a===h?n:a}return pe.call(s,t)?s[t]:n}function O1(t){var s=this.__data__;return Fr?s[t]!==n:pe.call(s,t)}function M1(t,s){var a=this.__data__;return this.size+=this.has(t)?0:1,a[t]=Fr&&s===n?h:s,this}Rn.prototype.clear=_1,Rn.prototype.delete=D1,Rn.prototype.get=N1,Rn.prototype.has=O1,Rn.prototype.set=M1;function Wt(t){var s=-1,a=t==null?0:t.length;for(this.clear();++s<a;){var f=t[s];this.set(f[0],f[1])}}function L1(){this.__data__=[],this.size=0}function F1(t){var s=this.__data__,a=Qs(s,t);if(a<0)return!1;var f=s.length-1;return a==f?s.pop():Ms.call(s,a,1),--this.size,!0}function U1(t){var s=this.__data__,a=Qs(s,t);return a<0?n:s[a][1]}function k1(t){return Qs(this.__data__,t)>-1}function G1(t,s){var a=this.__data__,f=Qs(a,t);return f<0?(++this.size,a.push([t,s])):a[f][1]=s,this}Wt.prototype.clear=L1,Wt.prototype.delete=F1,Wt.prototype.get=U1,Wt.prototype.has=k1,Wt.prototype.set=G1;function $t(t){var s=-1,a=t==null?0:t.length;for(this.clear();++s<a;){var f=t[s];this.set(f[0],f[1])}}function H1(){this.size=0,this.__data__={hash:new Rn,map:new(Mr||Wt),string:new Rn}}function Q1(t){var s=ei(this,t).delete(t);return this.size-=s?1:0,s}function z1(t){return ei(this,t).get(t)}function W1(t){return ei(this,t).has(t)}function $1(t,s){var a=ei(this,t),f=a.size;return a.set(t,s),this.size+=a.size==f?0:1,this}$t.prototype.clear=H1,$t.prototype.delete=Q1,$t.prototype.get=z1,$t.prototype.has=W1,$t.prototype.set=$1;function Cn(t){var s=-1,a=t==null?0:t.length;for(this.__data__=new $t;++s<a;)this.add(t[s])}function V1(t){return this.__data__.set(t,h),this}function j1(t){return this.__data__.has(t)}Cn.prototype.add=Cn.prototype.push=V1,Cn.prototype.has=j1;function xt(t){var s=this.__data__=new Wt(t);this.size=s.size}function q1(){this.__data__=new Wt,this.size=0}function J1(t){var s=this.__data__,a=s.delete(t);return this.size=s.size,a}function K1(t){return this.__data__.get(t)}function Y1(t){return this.__data__.has(t)}function X1(t,s){var a=this.__data__;if(a instanceof Wt){var f=a.__data__;if(!Mr||f.length<o-1)return f.push([t,s]),this.size=++a.size,this;a=this.__data__=new $t(f)}return a.set(t,s),this.size=a.size,this}xt.prototype.clear=q1,xt.prototype.delete=J1,xt.prototype.get=K1,xt.prototype.has=Y1,xt.prototype.set=X1;function $c(t,s){var a=Y(t),f=!a&&Mn(t),d=!a&&!f&&An(t),b=!a&&!f&&!d&&ar(t),A=a||f||d||b,E=A?mo(t.length,u1):[],P=E.length;for(var N in t)(s||pe.call(t,N))&&!(A&&(N=="length"||d&&(N=="offset"||N=="parent")||b&&(N=="buffer"||N=="byteLength"||N=="byteOffset")||Jt(N,P)))&&E.push(N);return E}function Vc(t){var s=t.length;return s?t[No(0,s-1)]:n}function Z1(t,s){return ti(Je(t),_n(s,0,t.length))}function eg(t){return ti(Je(t))}function vo(t,s,a){(a!==n&&!vt(t[s],a)||a===n&&!(s in t))&&Vt(t,s,a)}function kr(t,s,a){var f=t[s];(!(pe.call(t,s)&&vt(f,a))||a===n&&!(s in t))&&Vt(t,s,a)}function Qs(t,s){for(var a=t.length;a--;)if(vt(t[a][0],s))return a;return-1}function tg(t,s,a,f){return pn(t,function(d,b,A){s(f,d,a(d),A)}),f}function jc(t,s){return t&&_t(s,Oe(s),t)}function ng(t,s){return t&&_t(s,Ye(s),t)}function Vt(t,s,a){s=="__proto__"&&Ls?Ls(t,s,{configurable:!0,enumerable:!0,value:a,writable:!0}):t[s]=a}function To(t,s){for(var a=-1,f=s.length,d=B(f),b=t==null;++a<f;)d[a]=b?n:sa(t,s[a]);return d}function _n(t,s,a){return t===t&&(a!==n&&(t=t<=a?t:a),s!==n&&(t=t>=s?t:s)),t}function ht(t,s,a,f,d,b){var A,E=s&y,P=s&w,N=s&x;if(a&&(A=d?a(t,f,d,b):a(t)),A!==n)return A;if(!xe(t))return t;var M=Y(t);if(M){if(A=Wg(t),!E)return Je(t,A)}else{var L=ze(t),H=L==ws||L==Ju;if(An(t))return Af(t,E);if(L==zt||L==Qt||H&&!d){if(A=P||H?{}:Ff(t),!E)return P?Ng(t,ng(A,t)):Dg(t,jc(A,t))}else{if(!me[L])return d?t:{};A=$g(t,L,E)}}b||(b=new xt);var V=b.get(t);if(V)return V;b.set(t,A),d0(t)?t.forEach(function(J){A.add(ht(J,s,a,J,t,b))}):f0(t)&&t.forEach(function(J,oe){A.set(oe,ht(J,s,a,oe,t,b))});var q=N?P?Wo:zo:P?Ye:Oe,ee=M?n:q(t);return ft(ee||t,function(J,oe){ee&&(oe=J,J=t[oe]),kr(A,oe,ht(J,s,a,oe,t,b))}),A}function rg(t){var s=Oe(t);return function(a){return qc(a,t,s)}}function qc(t,s,a){var f=a.length;if(t==null)return!f;for(t=ge(t);f--;){var d=a[f],b=s[d],A=t[d];if(A===n&&!(d in t)||!b(A))return!1}return!0}function Jc(t,s,a){if(typeof t!="function")throw new lt(c);return Vr(function(){t.apply(n,a)},s)}function Gr(t,s,a,f){var d=-1,b=Ps,A=!0,E=t.length,P=[],N=s.length;if(!E)return P;a&&(s=Ae(s,rt(a))),f?(b=co,A=!1):s.length>=o&&(b=Nr,A=!1,s=new Cn(s));e:for(;++d<E;){var M=t[d],L=a==null?M:a(M);if(M=f||M!==0?M:0,A&&L===L){for(var H=N;H--;)if(s[H]===L)continue e;P.push(M)}else b(s,L,f)||P.push(M)}return P}var pn=vf(Ct),Kc=vf(Io,!0);function sg(t,s){var a=!0;return pn(t,function(f,d,b){return a=!!s(f,d,b),a}),a}function zs(t,s,a){for(var f=-1,d=t.length;++f<d;){var b=t[f],A=s(b);if(A!=null&&(E===n?A===A&&!it(A):a(A,E)))var E=A,P=b}return P}function ig(t,s,a,f){var d=t.length;for(a=Z(a),a<0&&(a=-a>d?0:d+a),f=f===n||f>d?d:Z(f),f<0&&(f+=d),f=a>f?0:p0(f);a<f;)t[a++]=s;return t}function Yc(t,s){var a=[];return pn(t,function(f,d,b){s(f,d,b)&&a.push(f)}),a}function Ue(t,s,a,f,d){var b=-1,A=t.length;for(a||(a=jg),d||(d=[]);++b<A;){var E=t[b];s>0&&a(E)?s>1?Ue(E,s-1,a,f,d):ln(d,E):f||(d[d.length]=E)}return d}var Po=Tf(),Xc=Tf(!0);function Ct(t,s){return t&&Po(t,s,Oe)}function Io(t,s){return t&&Xc(t,s,Oe)}function Ws(t,s){return fn(s,function(a){return Kt(t[a])})}function Dn(t,s){s=mn(s,t);for(var a=0,f=s.length;t!=null&&a<f;)t=t[Dt(s[a++])];return a&&a==f?t:n}function Zc(t,s,a){var f=s(t);return Y(t)?f:ln(f,a(t))}function $e(t){return t==null?t===n?Oh:Dh:Bn&&Bn in ge(t)?Hg(t):em(t)}function So(t,s){return t>s}function og(t,s){return t!=null&&pe.call(t,s)}function ag(t,s){return t!=null&&s in ge(t)}function ug(t,s,a){return t>=Qe(s,a)&&t<_e(s,a)}function Bo(t,s,a){for(var f=a?co:Ps,d=t[0].length,b=t.length,A=b,E=B(b),P=1/0,N=[];A--;){var M=t[A];A&&s&&(M=Ae(M,rt(s))),P=Qe(M.length,P),E[A]=!a&&(s||d>=120&&M.length>=120)?new Cn(A&&M):n}M=t[0];var L=-1,H=E[0];e:for(;++L<d&&N.length<P;){var V=M[L],q=s?s(V):V;if(V=a||V!==0?V:0,!(H?Nr(H,q):f(N,q,a))){for(A=b;--A;){var ee=E[A];if(!(ee?Nr(ee,q):f(t[A],q,a)))continue e}H&&H.push(q),N.push(V)}}return N}function cg(t,s,a,f){return Ct(t,function(d,b,A){s(f,a(d),b,A)}),f}function Hr(t,s,a){s=mn(s,t),t=Hf(t,s);var f=t==null?t:t[Dt(gt(s))];return f==null?n:nt(f,t,a)}function ef(t){return Te(t)&&$e(t)==Qt}function fg(t){return Te(t)&&$e(t)==Dr}function lg(t){return Te(t)&&$e(t)==Sr}function Qr(t,s,a,f,d){return t===s?!0:t==null||s==null||!Te(t)&&!Te(s)?t!==t&&s!==s:dg(t,s,a,f,Qr,d)}function dg(t,s,a,f,d,b){var A=Y(t),E=Y(s),P=A?tt:ze(t),N=E?tt:ze(s);P=P==Qt?zt:P,N=N==Qt?zt:N;var M=P==zt,L=N==zt,H=P==N;if(H&&An(t)){if(!An(s))return!1;A=!0,M=!1}if(H&&!M)return b||(b=new xt),A||ar(t)?Of(t,s,a,f,d,b):kg(t,s,P,a,f,d,b);if(!(a&I)){var V=M&&pe.call(t,"__wrapped__"),q=L&&pe.call(s,"__wrapped__");if(V||q){var ee=V?t.value():t,J=q?s.value():s;return b||(b=new xt),d(ee,J,a,f,b)}}return H?(b||(b=new xt),Gg(t,s,a,f,d,b)):!1}function hg(t){return Te(t)&&ze(t)==yt}function Ro(t,s,a,f){var d=a.length,b=d,A=!f;if(t==null)return!b;for(t=ge(t);d--;){var E=a[d];if(A&&E[2]?E[1]!==t[E[0]]:!(E[0]in t))return!1}for(;++d<b;){E=a[d];var P=E[0],N=t[P],M=E[1];if(A&&E[2]){if(N===n&&!(P in t))return!1}else{var L=new xt;if(f)var H=f(N,M,P,t,s,L);if(!(H===n?Qr(M,N,I|C,f,L):H))return!1}}return!0}function tf(t){if(!xe(t)||Jg(t))return!1;var s=Kt(t)?h1:rp;return s.test(On(t))}function pg(t){return Te(t)&&$e(t)==Rr}function gg(t){return Te(t)&&ze(t)==wt}function mg(t){return Te(t)&&ai(t.length)&&!!be[$e(t)]}function nf(t){return typeof t=="function"?t:t==null?Xe:typeof t=="object"?Y(t)?of(t[0],t[1]):sf(t):P0(t)}function Co(t){if(!$r(t))return y1(t);var s=[];for(var a in ge(t))pe.call(t,a)&&a!="constructor"&&s.push(a);return s}function bg(t){if(!xe(t))return Zg(t);var s=$r(t),a=[];for(var f in t)f=="constructor"&&(s||!pe.call(t,f))||a.push(f);return a}function _o(t,s){return t<s}function rf(t,s){var a=-1,f=Ke(t)?B(t.length):[];return pn(t,function(d,b,A){f[++a]=s(d,b,A)}),f}function sf(t){var s=Vo(t);return s.length==1&&s[0][2]?kf(s[0][0],s[0][1]):function(a){return a===t||Ro(a,t,s)}}function of(t,s){return qo(t)&&Uf(s)?kf(Dt(t),s):function(a){var f=sa(a,t);return f===n&&f===s?ia(a,t):Qr(s,f,I|C)}}function $s(t,s,a,f,d){t!==s&&Po(s,function(b,A){if(d||(d=new xt),xe(b))Ag(t,s,A,a,$s,f,d);else{var E=f?f(Ko(t,A),b,A+"",t,s,d):n;E===n&&(E=b),vo(t,A,E)}},Ye)}function Ag(t,s,a,f,d,b,A){var E=Ko(t,a),P=Ko(s,a),N=A.get(P);if(N){vo(t,a,N);return}var M=b?b(E,P,a+"",t,s,A):n,L=M===n;if(L){var H=Y(P),V=!H&&An(P),q=!H&&!V&&ar(P);M=P,H||V||q?Y(E)?M=E:Pe(E)?M=Je(E):V?(L=!1,M=Af(P,!0)):q?(L=!1,M=yf(P,!0)):M=[]:jr(P)||Mn(P)?(M=E,Mn(E)?M=g0(E):(!xe(E)||Kt(E))&&(M=Ff(P))):L=!1}L&&(A.set(P,M),d(M,P,f,b,A),A.delete(P)),vo(t,a,M)}function af(t,s){var a=t.length;if(a)return s+=s<0?a:0,Jt(s,a)?t[s]:n}function uf(t,s,a){s.length?s=Ae(s,function(b){return Y(b)?function(A){return Dn(A,b.length===1?b[0]:b)}:b}):s=[Xe];var f=-1;s=Ae(s,rt(j()));var d=rf(t,function(b,A,E){var P=Ae(s,function(N){return N(b)});return{criteria:P,index:++f,value:b}});return $p(d,function(b,A){return _g(b,A,a)})}function yg(t,s){return cf(t,s,function(a,f){return ia(t,f)})}function cf(t,s,a){for(var f=-1,d=s.length,b={};++f<d;){var A=s[f],E=Dn(t,A);a(E,A)&&zr(b,mn(A,t),E)}return b}function wg(t){return function(s){return Dn(s,t)}}function Do(t,s,a,f){var d=f?Wp:Kn,b=-1,A=s.length,E=t;for(t===s&&(s=Je(s)),a&&(E=Ae(t,rt(a)));++b<A;)for(var P=0,N=s[b],M=a?a(N):N;(P=d(E,M,P,f))>-1;)E!==t&&Ms.call(E,P,1),Ms.call(t,P,1);return t}function ff(t,s){for(var a=t?s.length:0,f=a-1;a--;){var d=s[a];if(a==f||d!==b){var b=d;Jt(d)?Ms.call(t,d,1):Lo(t,d)}}return t}function No(t,s){return t+Us(zc()*(s-t+1))}function Eg(t,s,a,f){for(var d=-1,b=_e(Fs((s-t)/(a||1)),0),A=B(b);b--;)A[f?b:++d]=t,t+=a;return A}function Oo(t,s){var a="";if(!t||s<1||s>ve)return a;do s%2&&(a+=t),s=Us(s/2),s&&(t+=t);while(s);return a}function re(t,s){return Yo(Gf(t,s,Xe),t+"")}function xg(t){return Vc(ur(t))}function vg(t,s){var a=ur(t);return ti(a,_n(s,0,a.length))}function zr(t,s,a,f){if(!xe(t))return t;s=mn(s,t);for(var d=-1,b=s.length,A=b-1,E=t;E!=null&&++d<b;){var P=Dt(s[d]),N=a;if(P==="__proto__"||P==="constructor"||P==="prototype")return t;if(d!=A){var M=E[P];N=f?f(M,P,E):n,N===n&&(N=xe(M)?M:Jt(s[d+1])?[]:{})}kr(E,P,N),E=E[P]}return t}var lf=ks?function(t,s){return ks.set(t,s),t}:Xe,Tg=Ls?function(t,s){return Ls(t,"toString",{configurable:!0,enumerable:!1,value:aa(s),writable:!0})}:Xe;function Pg(t){return ti(ur(t))}function pt(t,s,a){var f=-1,d=t.length;s<0&&(s=-s>d?0:d+s),a=a>d?d:a,a<0&&(a+=d),d=s>a?0:a-s>>>0,s>>>=0;for(var b=B(d);++f<d;)b[f]=t[f+s];return b}function Ig(t,s){var a;return pn(t,function(f,d,b){return a=s(f,d,b),!a}),!!a}function Vs(t,s,a){var f=0,d=t==null?f:t.length;if(typeof s=="number"&&s===s&&d<=Pr){for(;f<d;){var b=f+d>>>1,A=t[b];A!==null&&!it(A)&&(a?A<=s:A<s)?f=b+1:d=b}return d}return Mo(t,s,Xe,a)}function Mo(t,s,a,f){var d=0,b=t==null?0:t.length;if(b===0)return 0;s=a(s);for(var A=s!==s,E=s===null,P=it(s),N=s===n;d<b;){var M=Us((d+b)/2),L=a(t[M]),H=L!==n,V=L===null,q=L===L,ee=it(L);if(A)var J=f||q;else N?J=q&&(f||H):E?J=q&&H&&(f||!V):P?J=q&&H&&!V&&(f||!ee):V||ee?J=!1:J=f?L<=s:L<s;J?d=M+1:b=M}return Qe(b,qu)}function df(t,s){for(var a=-1,f=t.length,d=0,b=[];++a<f;){var A=t[a],E=s?s(A):A;if(!a||!vt(E,P)){var P=E;b[d++]=A===0?0:A}}return b}function hf(t){return typeof t=="number"?t:it(t)?ut:+t}function st(t){if(typeof t=="string")return t;if(Y(t))return Ae(t,st)+"";if(it(t))return Wc?Wc.call(t):"";var s=t+"";return s=="0"&&1/t==-We?"-0":s}function gn(t,s,a){var f=-1,d=Ps,b=t.length,A=!0,E=[],P=E;if(a)A=!1,d=co;else if(b>=o){var N=s?null:Fg(t);if(N)return Ss(N);A=!1,d=Nr,P=new Cn}else P=s?[]:E;e:for(;++f<b;){var M=t[f],L=s?s(M):M;if(M=a||M!==0?M:0,A&&L===L){for(var H=P.length;H--;)if(P[H]===L)continue e;s&&P.push(L),E.push(M)}else d(P,L,a)||(P!==E&&P.push(L),E.push(M))}return E}function Lo(t,s){return s=mn(s,t),t=Hf(t,s),t==null||delete t[Dt(gt(s))]}function pf(t,s,a,f){return zr(t,s,a(Dn(t,s)),f)}function js(t,s,a,f){for(var d=t.length,b=f?d:-1;(f?b--:++b<d)&&s(t[b],b,t););return a?pt(t,f?0:b,f?b+1:d):pt(t,f?b+1:0,f?d:b)}function gf(t,s){var a=t;return a instanceof ae&&(a=a.value()),fo(s,function(f,d){return d.func.apply(d.thisArg,ln([f],d.args))},a)}function Fo(t,s,a){var f=t.length;if(f<2)return f?gn(t[0]):[];for(var d=-1,b=B(f);++d<f;)for(var A=t[d],E=-1;++E<f;)E!=d&&(b[d]=Gr(b[d]||A,t[E],s,a));return gn(Ue(b,1),s,a)}function mf(t,s,a){for(var f=-1,d=t.length,b=s.length,A={};++f<d;){var E=f<b?s[f]:n;a(A,t[f],E)}return A}function Uo(t){return Pe(t)?t:[]}function ko(t){return typeof t=="function"?t:Xe}function mn(t,s){return Y(t)?t:qo(t,s)?[t]:$f(he(t))}var Sg=re;function bn(t,s,a){var f=t.length;return a=a===n?f:a,!s&&a>=f?t:pt(t,s,a)}var bf=p1||function(t){return Fe.clearTimeout(t)};function Af(t,s){if(s)return t.slice();var a=t.length,f=Uc?Uc(a):new t.constructor(a);return t.copy(f),f}function Go(t){var s=new t.constructor(t.byteLength);return new Ns(s).set(new Ns(t)),s}function Bg(t,s){var a=s?Go(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.byteLength)}function Rg(t){var s=new t.constructor(t.source,ec.exec(t));return s.lastIndex=t.lastIndex,s}function Cg(t){return Ur?ge(Ur.call(t)):{}}function yf(t,s){var a=s?Go(t.buffer):t.buffer;return new t.constructor(a,t.byteOffset,t.length)}function wf(t,s){if(t!==s){var a=t!==n,f=t===null,d=t===t,b=it(t),A=s!==n,E=s===null,P=s===s,N=it(s);if(!E&&!N&&!b&&t>s||b&&A&&P&&!E&&!N||f&&A&&P||!a&&P||!d)return 1;if(!f&&!b&&!N&&t<s||N&&a&&d&&!f&&!b||E&&a&&d||!A&&d||!P)return-1}return 0}function _g(t,s,a){for(var f=-1,d=t.criteria,b=s.criteria,A=d.length,E=a.length;++f<A;){var P=wf(d[f],b[f]);if(P){if(f>=E)return P;var N=a[f];return P*(N=="desc"?-1:1)}}return t.index-s.index}function Ef(t,s,a,f){for(var d=-1,b=t.length,A=a.length,E=-1,P=s.length,N=_e(b-A,0),M=B(P+N),L=!f;++E<P;)M[E]=s[E];for(;++d<A;)(L||d<b)&&(M[a[d]]=t[d]);for(;N--;)M[E++]=t[d++];return M}function xf(t,s,a,f){for(var d=-1,b=t.length,A=-1,E=a.length,P=-1,N=s.length,M=_e(b-E,0),L=B(M+N),H=!f;++d<M;)L[d]=t[d];for(var V=d;++P<N;)L[V+P]=s[P];for(;++A<E;)(H||d<b)&&(L[V+a[A]]=t[d++]);return L}function Je(t,s){var a=-1,f=t.length;for(s||(s=B(f));++a<f;)s[a]=t[a];return s}function _t(t,s,a,f){var d=!a;a||(a={});for(var b=-1,A=s.length;++b<A;){var E=s[b],P=f?f(a[E],t[E],E,a,t):n;P===n&&(P=t[E]),d?Vt(a,E,P):kr(a,E,P)}return a}function Dg(t,s){return _t(t,jo(t),s)}function Ng(t,s){return _t(t,Mf(t),s)}function qs(t,s){return function(a,f){var d=Y(a)?Up:tg,b=s?s():{};return d(a,t,j(f,2),b)}}function sr(t){return re(function(s,a){var f=-1,d=a.length,b=d>1?a[d-1]:n,A=d>2?a[2]:n;for(b=t.length>3&&typeof b=="function"?(d--,b):n,A&&Ve(a[0],a[1],A)&&(b=d<3?n:b,d=1),s=ge(s);++f<d;){var E=a[f];E&&t(s,E,f,b)}return s})}function vf(t,s){return function(a,f){if(a==null)return a;if(!Ke(a))return t(a,f);for(var d=a.length,b=s?d:-1,A=ge(a);(s?b--:++b<d)&&f(A[b],b,A)!==!1;);return a}}function Tf(t){return function(s,a,f){for(var d=-1,b=ge(s),A=f(s),E=A.length;E--;){var P=A[t?E:++d];if(a(b[P],P,b)===!1)break}return s}}function Og(t,s,a){var f=s&O,d=Wr(t);function b(){var A=this&&this!==Fe&&this instanceof b?d:t;return A.apply(f?a:this,arguments)}return b}function Pf(t){return function(s){s=he(s);var a=Yn(s)?Et(s):n,f=a?a[0]:s.charAt(0),d=a?bn(a,1).join(""):s.slice(1);return f[t]()+d}}function ir(t){return function(s){return fo(v0(x0(s).replace(Tp,"")),t,"")}}function Wr(t){return function(){var s=arguments;switch(s.length){case 0:return new t;case 1:return new t(s[0]);case 2:return new t(s[0],s[1]);case 3:return new t(s[0],s[1],s[2]);case 4:return new t(s[0],s[1],s[2],s[3]);case 5:return new t(s[0],s[1],s[2],s[3],s[4]);case 6:return new t(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new t(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var a=rr(t.prototype),f=t.apply(a,s);return xe(f)?f:a}}function Mg(t,s,a){var f=Wr(t);function d(){for(var b=arguments.length,A=B(b),E=b,P=or(d);E--;)A[E]=arguments[E];var N=b<3&&A[0]!==P&&A[b-1]!==P?[]:dn(A,P);if(b-=N.length,b<a)return Cf(t,s,Js,d.placeholder,n,A,N,n,n,a-b);var M=this&&this!==Fe&&this instanceof d?f:t;return nt(M,this,A)}return d}function If(t){return function(s,a,f){var d=ge(s);if(!Ke(s)){var b=j(a,3);s=Oe(s),a=function(E){return b(d[E],E,d)}}var A=t(s,a,f);return A>-1?d[b?s[A]:A]:n}}function Sf(t){return qt(function(s){var a=s.length,f=a,d=dt.prototype.thru;for(t&&s.reverse();f--;){var b=s[f];if(typeof b!="function")throw new lt(c);if(d&&!A&&Zs(b)=="wrapper")var A=new dt([],!0)}for(f=A?f:a;++f<a;){b=s[f];var E=Zs(b),P=E=="wrapper"?$o(b):n;P&&Jo(P[0])&&P[1]==(k|Q|T|F)&&!P[4].length&&P[9]==1?A=A[Zs(P[0])].apply(A,P[3]):A=b.length==1&&Jo(b)?A[E]():A.thru(b)}return function(){var N=arguments,M=N[0];if(A&&N.length==1&&Y(M))return A.plant(M).value();for(var L=0,H=a?s[L].apply(this,N):M;++L<a;)H=s[L].call(this,H);return H}})}function Js(t,s,a,f,d,b,A,E,P,N){var M=s&k,L=s&O,H=s&S,V=s&(Q|_),q=s&W,ee=H?n:Wr(t);function J(){for(var oe=arguments.length,ue=B(oe),ot=oe;ot--;)ue[ot]=arguments[ot];if(V)var je=or(J),at=jp(ue,je);if(f&&(ue=Ef(ue,f,d,V)),b&&(ue=xf(ue,b,A,V)),oe-=at,V&&oe<N){var Ie=dn(ue,je);return Cf(t,s,Js,J.placeholder,a,ue,Ie,E,P,N-oe)}var Tt=L?a:this,Xt=H?Tt[t]:t;return oe=ue.length,E?ue=tm(ue,E):q&&oe>1&&ue.reverse(),M&&P<oe&&(ue.length=P),this&&this!==Fe&&this instanceof J&&(Xt=ee||Wr(Xt)),Xt.apply(Tt,ue)}return J}function Bf(t,s){return function(a,f){return cg(a,t,s(f),{})}}function Ks(t,s){return function(a,f){var d;if(a===n&&f===n)return s;if(a!==n&&(d=a),f!==n){if(d===n)return f;typeof a=="string"||typeof f=="string"?(a=st(a),f=st(f)):(a=hf(a),f=hf(f)),d=t(a,f)}return d}}function Ho(t){return qt(function(s){return s=Ae(s,rt(j())),re(function(a){var f=this;return t(s,function(d){return nt(d,f,a)})})})}function Ys(t,s){s=s===n?" ":st(s);var a=s.length;if(a<2)return a?Oo(s,t):s;var f=Oo(s,Fs(t/Xn(s)));return Yn(s)?bn(Et(f),0,t).join(""):f.slice(0,t)}function Lg(t,s,a,f){var d=s&O,b=Wr(t);function A(){for(var E=-1,P=arguments.length,N=-1,M=f.length,L=B(M+P),H=this&&this!==Fe&&this instanceof A?b:t;++N<M;)L[N]=f[N];for(;P--;)L[N++]=arguments[++E];return nt(H,d?a:this,L)}return A}function Rf(t){return function(s,a,f){return f&&typeof f!="number"&&Ve(s,a,f)&&(a=f=n),s=Yt(s),a===n?(a=s,s=0):a=Yt(a),f=f===n?s<a?1:-1:Yt(f),Eg(s,a,f,t)}}function Xs(t){return function(s,a){return typeof s=="string"&&typeof a=="string"||(s=mt(s),a=mt(a)),t(s,a)}}function Cf(t,s,a,f,d,b,A,E,P,N){var M=s&Q,L=M?A:n,H=M?n:A,V=M?b:n,q=M?n:b;s|=M?T:R,s&=~(M?R:T),s&G||(s&=-4);var ee=[t,s,d,V,L,q,H,E,P,N],J=a.apply(n,ee);return Jo(t)&&Qf(J,ee),J.placeholder=f,zf(J,t,s)}function Qo(t){var s=Ce[t];return function(a,f){if(a=mt(a),f=f==null?0:Qe(Z(f),292),f&&Qc(a)){var d=(he(a)+"e").split("e"),b=s(d[0]+"e"+(+d[1]+f));return d=(he(b)+"e").split("e"),+(d[0]+"e"+(+d[1]-f))}return s(a)}}var Fg=tr&&1/Ss(new tr([,-0]))[1]==We?function(t){return new tr(t)}:fa;function _f(t){return function(s){var a=ze(s);return a==yt?Ao(s):a==wt?e1(s):Vp(s,t(s))}}function jt(t,s,a,f,d,b,A,E){var P=s&S;if(!P&&typeof t!="function")throw new lt(c);var N=f?f.length:0;if(N||(s&=-97,f=d=n),A=A===n?A:_e(Z(A),0),E=E===n?E:Z(E),N-=d?d.length:0,s&R){var M=f,L=d;f=d=n}var H=P?n:$o(t),V=[t,s,a,f,d,M,L,b,A,E];if(H&&Xg(V,H),t=V[0],s=V[1],a=V[2],f=V[3],d=V[4],E=V[9]=V[9]===n?P?0:t.length:_e(V[9]-N,0),!E&&s&(Q|_)&&(s&=-25),!s||s==O)var q=Og(t,s,a);else s==Q||s==_?q=Mg(t,s,E):(s==T||s==(O|T))&&!d.length?q=Lg(t,s,a,f):q=Js.apply(n,V);var ee=H?lf:Qf;return zf(ee(q,V),t,s)}function Df(t,s,a,f){return t===n||vt(t,er[a])&&!pe.call(f,a)?s:t}function Nf(t,s,a,f,d,b){return xe(t)&&xe(s)&&(b.set(s,t),$s(t,s,n,Nf,b),b.delete(s)),t}function Ug(t){return jr(t)?n:t}function Of(t,s,a,f,d,b){var A=a&I,E=t.length,P=s.length;if(E!=P&&!(A&&P>E))return!1;var N=b.get(t),M=b.get(s);if(N&&M)return N==s&&M==t;var L=-1,H=!0,V=a&C?new Cn:n;for(b.set(t,s),b.set(s,t);++L<E;){var q=t[L],ee=s[L];if(f)var J=A?f(ee,q,L,s,t,b):f(q,ee,L,t,s,b);if(J!==n){if(J)continue;H=!1;break}if(V){if(!lo(s,function(oe,ue){if(!Nr(V,ue)&&(q===oe||d(q,oe,a,f,b)))return V.push(ue)})){H=!1;break}}else if(!(q===ee||d(q,ee,a,f,b))){H=!1;break}}return b.delete(t),b.delete(s),H}function kg(t,s,a,f,d,b,A){switch(a){case qn:if(t.byteLength!=s.byteLength||t.byteOffset!=s.byteOffset)return!1;t=t.buffer,s=s.buffer;case Dr:return!(t.byteLength!=s.byteLength||!b(new Ns(t),new Ns(s)));case Ir:case Sr:case Br:return vt(+t,+s);case ys:return t.name==s.name&&t.message==s.message;case Rr:case Cr:return t==s+"";case yt:var E=Ao;case wt:var P=f&I;if(E||(E=Ss),t.size!=s.size&&!P)return!1;var N=A.get(t);if(N)return N==s;f|=C,A.set(t,s);var M=Of(E(t),E(s),f,d,b,A);return A.delete(t),M;case Es:if(Ur)return Ur.call(t)==Ur.call(s)}return!1}function Gg(t,s,a,f,d,b){var A=a&I,E=zo(t),P=E.length,N=zo(s),M=N.length;if(P!=M&&!A)return!1;for(var L=P;L--;){var H=E[L];if(!(A?H in s:pe.call(s,H)))return!1}var V=b.get(t),q=b.get(s);if(V&&q)return V==s&&q==t;var ee=!0;b.set(t,s),b.set(s,t);for(var J=A;++L<P;){H=E[L];var oe=t[H],ue=s[H];if(f)var ot=A?f(ue,oe,H,s,t,b):f(oe,ue,H,t,s,b);if(!(ot===n?oe===ue||d(oe,ue,a,f,b):ot)){ee=!1;break}J||(J=H=="constructor")}if(ee&&!J){var je=t.constructor,at=s.constructor;je!=at&&"constructor"in t&&"constructor"in s&&!(typeof je=="function"&&je instanceof je&&typeof at=="function"&&at instanceof at)&&(ee=!1)}return b.delete(t),b.delete(s),ee}function qt(t){return Yo(Gf(t,n,Jf),t+"")}function zo(t){return Zc(t,Oe,jo)}function Wo(t){return Zc(t,Ye,Mf)}var $o=ks?function(t){return ks.get(t)}:fa;function Zs(t){for(var s=t.name+"",a=nr[s],f=pe.call(nr,s)?a.length:0;f--;){var d=a[f],b=d.func;if(b==null||b==t)return d.name}return s}function or(t){var s=pe.call(p,"placeholder")?p:t;return s.placeholder}function j(){var t=p.iteratee||ua;return t=t===ua?nf:t,arguments.length?t(arguments[0],arguments[1]):t}function ei(t,s){var a=t.__data__;return qg(s)?a[typeof s=="string"?"string":"hash"]:a.map}function Vo(t){for(var s=Oe(t),a=s.length;a--;){var f=s[a],d=t[f];s[a]=[f,d,Uf(d)]}return s}function Nn(t,s){var a=Yp(t,s);return tf(a)?a:n}function Hg(t){var s=pe.call(t,Bn),a=t[Bn];try{t[Bn]=n;var f=!0}catch{}var d=_s.call(t);return f&&(s?t[Bn]=a:delete t[Bn]),d}var jo=wo?function(t){return t==null?[]:(t=ge(t),fn(wo(t),function(s){return Gc.call(t,s)}))}:la,Mf=wo?function(t){for(var s=[];t;)ln(s,jo(t)),t=Os(t);return s}:la,ze=$e;(Eo&&ze(new Eo(new ArrayBuffer(1)))!=qn||Mr&&ze(new Mr)!=yt||xo&&ze(xo.resolve())!=Ku||tr&&ze(new tr)!=wt||Lr&&ze(new Lr)!=_r)&&(ze=function(t){var s=$e(t),a=s==zt?t.constructor:n,f=a?On(a):"";if(f)switch(f){case v1:return qn;case T1:return yt;case P1:return Ku;case I1:return wt;case S1:return _r}return s});function Qg(t,s,a){for(var f=-1,d=a.length;++f<d;){var b=a[f],A=b.size;switch(b.type){case"drop":t+=A;break;case"dropRight":s-=A;break;case"take":s=Qe(s,t+A);break;case"takeRight":t=_e(t,s-A);break}}return{start:t,end:s}}function zg(t){var s=t.match(Jh);return s?s[1].split(Kh):[]}function Lf(t,s,a){s=mn(s,t);for(var f=-1,d=s.length,b=!1;++f<d;){var A=Dt(s[f]);if(!(b=t!=null&&a(t,A)))break;t=t[A]}return b||++f!=d?b:(d=t==null?0:t.length,!!d&&ai(d)&&Jt(A,d)&&(Y(t)||Mn(t)))}function Wg(t){var s=t.length,a=new t.constructor(s);return s&&typeof t[0]=="string"&&pe.call(t,"index")&&(a.index=t.index,a.input=t.input),a}function Ff(t){return typeof t.constructor=="function"&&!$r(t)?rr(Os(t)):{}}function $g(t,s,a){var f=t.constructor;switch(s){case Dr:return Go(t);case Ir:case Sr:return new f(+t);case qn:return Bg(t,a);case $i:case Vi:case ji:case qi:case Ji:case Ki:case Yi:case Xi:case Zi:return yf(t,a);case yt:return new f;case Br:case Cr:return new f(t);case Rr:return Rg(t);case wt:return new f;case Es:return Cg(t)}}function Vg(t,s){var a=s.length;if(!a)return t;var f=a-1;return s[f]=(a>1?"& ":"")+s[f],s=s.join(a>2?", ":" "),t.replace(qh,`{
/* [wrapped with `+s+`] */
`)}function jg(t){return Y(t)||Mn(t)||!!(Hc&&t&&t[Hc])}function Jt(t,s){var a=typeof t;return s=s??ve,!!s&&(a=="number"||a!="symbol"&&ip.test(t))&&t>-1&&t%1==0&&t<s}function Ve(t,s,a){if(!xe(a))return!1;var f=typeof s;return(f=="number"?Ke(a)&&Jt(s,a.length):f=="string"&&s in a)?vt(a[s],t):!1}function qo(t,s){if(Y(t))return!1;var a=typeof t;return a=="number"||a=="symbol"||a=="boolean"||t==null||it(t)?!0:Wh.test(t)||!zh.test(t)||s!=null&&t in ge(s)}function qg(t){var s=typeof t;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?t!=="__proto__":t===null}function Jo(t){var s=Zs(t),a=p[s];if(typeof a!="function"||!(s in ae.prototype))return!1;if(t===a)return!0;var f=$o(a);return!!f&&t===f[0]}function Jg(t){return!!Fc&&Fc in t}var Kg=Rs?Kt:da;function $r(t){var s=t&&t.constructor,a=typeof s=="function"&&s.prototype||er;return t===a}function Uf(t){return t===t&&!xe(t)}function kf(t,s){return function(a){return a==null?!1:a[t]===s&&(s!==n||t in ge(a))}}function Yg(t){var s=ii(t,function(f){return a.size===g&&a.clear(),f}),a=s.cache;return s}function Xg(t,s){var a=t[1],f=s[1],d=a|f,b=d<(O|S|k),A=f==k&&a==Q||f==k&&a==F&&t[7].length<=s[8]||f==(k|F)&&s[7].length<=s[8]&&a==Q;if(!(b||A))return t;f&O&&(t[2]=s[2],d|=a&O?0:G);var E=s[3];if(E){var P=t[3];t[3]=P?Ef(P,E,s[4]):E,t[4]=P?dn(t[3],m):s[4]}return E=s[5],E&&(P=t[5],t[5]=P?xf(P,E,s[6]):E,t[6]=P?dn(t[5],m):s[6]),E=s[7],E&&(t[7]=E),f&k&&(t[8]=t[8]==null?s[8]:Qe(t[8],s[8])),t[9]==null&&(t[9]=s[9]),t[0]=s[0],t[1]=d,t}function Zg(t){var s=[];if(t!=null)for(var a in ge(t))s.push(a);return s}function em(t){return _s.call(t)}function Gf(t,s,a){return s=_e(s===n?t.length-1:s,0),function(){for(var f=arguments,d=-1,b=_e(f.length-s,0),A=B(b);++d<b;)A[d]=f[s+d];d=-1;for(var E=B(s+1);++d<s;)E[d]=f[d];return E[s]=a(A),nt(t,this,E)}}function Hf(t,s){return s.length<2?t:Dn(t,pt(s,0,-1))}function tm(t,s){for(var a=t.length,f=Qe(s.length,a),d=Je(t);f--;){var b=s[f];t[f]=Jt(b,a)?d[b]:n}return t}function Ko(t,s){if(!(s==="constructor"&&typeof t[s]=="function")&&s!="__proto__")return t[s]}var Qf=Wf(lf),Vr=m1||function(t,s){return Fe.setTimeout(t,s)},Yo=Wf(Tg);function zf(t,s,a){var f=s+"";return Yo(t,Vg(f,nm(zg(f),a)))}function Wf(t){var s=0,a=0;return function(){var f=w1(),d=fe-(f-a);if(a=f,d>0){if(++s>=ce)return arguments[0]}else s=0;return t.apply(n,arguments)}}function ti(t,s){var a=-1,f=t.length,d=f-1;for(s=s===n?f:s;++a<s;){var b=No(a,d),A=t[b];t[b]=t[a],t[a]=A}return t.length=s,t}var $f=Yg(function(t){var s=[];return t.charCodeAt(0)===46&&s.push(""),t.replace($h,function(a,f,d,b){s.push(d?b.replace(Zh,"$1"):f||a)}),s});function Dt(t){if(typeof t=="string"||it(t))return t;var s=t+"";return s=="0"&&1/t==-We?"-0":s}function On(t){if(t!=null){try{return Cs.call(t)}catch{}try{return t+""}catch{}}return""}function nm(t,s){return ft(Wi,function(a){var f="_."+a[0];s&a[1]&&!Ps(t,f)&&t.push(f)}),t.sort()}function Vf(t){if(t instanceof ae)return t.clone();var s=new dt(t.__wrapped__,t.__chain__);return s.__actions__=Je(t.__actions__),s.__index__=t.__index__,s.__values__=t.__values__,s}function rm(t,s,a){(a?Ve(t,s,a):s===n)?s=1:s=_e(Z(s),0);var f=t==null?0:t.length;if(!f||s<1)return[];for(var d=0,b=0,A=B(Fs(f/s));d<f;)A[b++]=pt(t,d,d+=s);return A}function sm(t){for(var s=-1,a=t==null?0:t.length,f=0,d=[];++s<a;){var b=t[s];b&&(d[f++]=b)}return d}function im(){var t=arguments.length;if(!t)return[];for(var s=B(t-1),a=arguments[0],f=t;f--;)s[f-1]=arguments[f];return ln(Y(a)?Je(a):[a],Ue(s,1))}var om=re(function(t,s){return Pe(t)?Gr(t,Ue(s,1,Pe,!0)):[]}),am=re(function(t,s){var a=gt(s);return Pe(a)&&(a=n),Pe(t)?Gr(t,Ue(s,1,Pe,!0),j(a,2)):[]}),um=re(function(t,s){var a=gt(s);return Pe(a)&&(a=n),Pe(t)?Gr(t,Ue(s,1,Pe,!0),n,a):[]});function cm(t,s,a){var f=t==null?0:t.length;return f?(s=a||s===n?1:Z(s),pt(t,s<0?0:s,f)):[]}function fm(t,s,a){var f=t==null?0:t.length;return f?(s=a||s===n?1:Z(s),s=f-s,pt(t,0,s<0?0:s)):[]}function lm(t,s){return t&&t.length?js(t,j(s,3),!0,!0):[]}function dm(t,s){return t&&t.length?js(t,j(s,3),!0):[]}function hm(t,s,a,f){var d=t==null?0:t.length;return d?(a&&typeof a!="number"&&Ve(t,s,a)&&(a=0,f=d),ig(t,s,a,f)):[]}function jf(t,s,a){var f=t==null?0:t.length;if(!f)return-1;var d=a==null?0:Z(a);return d<0&&(d=_e(f+d,0)),Is(t,j(s,3),d)}function qf(t,s,a){var f=t==null?0:t.length;if(!f)return-1;var d=f-1;return a!==n&&(d=Z(a),d=a<0?_e(f+d,0):Qe(d,f-1)),Is(t,j(s,3),d,!0)}function Jf(t){var s=t==null?0:t.length;return s?Ue(t,1):[]}function pm(t){var s=t==null?0:t.length;return s?Ue(t,We):[]}function gm(t,s){var a=t==null?0:t.length;return a?(s=s===n?1:Z(s),Ue(t,s)):[]}function mm(t){for(var s=-1,a=t==null?0:t.length,f={};++s<a;){var d=t[s];f[d[0]]=d[1]}return f}function Kf(t){return t&&t.length?t[0]:n}function bm(t,s,a){var f=t==null?0:t.length;if(!f)return-1;var d=a==null?0:Z(a);return d<0&&(d=_e(f+d,0)),Kn(t,s,d)}function Am(t){var s=t==null?0:t.length;return s?pt(t,0,-1):[]}var ym=re(function(t){var s=Ae(t,Uo);return s.length&&s[0]===t[0]?Bo(s):[]}),wm=re(function(t){var s=gt(t),a=Ae(t,Uo);return s===gt(a)?s=n:a.pop(),a.length&&a[0]===t[0]?Bo(a,j(s,2)):[]}),Em=re(function(t){var s=gt(t),a=Ae(t,Uo);return s=typeof s=="function"?s:n,s&&a.pop(),a.length&&a[0]===t[0]?Bo(a,n,s):[]});function xm(t,s){return t==null?"":A1.call(t,s)}function gt(t){var s=t==null?0:t.length;return s?t[s-1]:n}function vm(t,s,a){var f=t==null?0:t.length;if(!f)return-1;var d=f;return a!==n&&(d=Z(a),d=d<0?_e(f+d,0):Qe(d,f-1)),s===s?n1(t,s,d):Is(t,Rc,d,!0)}function Tm(t,s){return t&&t.length?af(t,Z(s)):n}var Pm=re(Yf);function Yf(t,s){return t&&t.length&&s&&s.length?Do(t,s):t}function Im(t,s,a){return t&&t.length&&s&&s.length?Do(t,s,j(a,2)):t}function Sm(t,s,a){return t&&t.length&&s&&s.length?Do(t,s,n,a):t}var Bm=qt(function(t,s){var a=t==null?0:t.length,f=To(t,s);return ff(t,Ae(s,function(d){return Jt(d,a)?+d:d}).sort(wf)),f});function Rm(t,s){var a=[];if(!(t&&t.length))return a;var f=-1,d=[],b=t.length;for(s=j(s,3);++f<b;){var A=t[f];s(A,f,t)&&(a.push(A),d.push(f))}return ff(t,d),a}function Xo(t){return t==null?t:x1.call(t)}function Cm(t,s,a){var f=t==null?0:t.length;return f?(a&&typeof a!="number"&&Ve(t,s,a)?(s=0,a=f):(s=s==null?0:Z(s),a=a===n?f:Z(a)),pt(t,s,a)):[]}function _m(t,s){return Vs(t,s)}function Dm(t,s,a){return Mo(t,s,j(a,2))}function Nm(t,s){var a=t==null?0:t.length;if(a){var f=Vs(t,s);if(f<a&&vt(t[f],s))return f}return-1}function Om(t,s){return Vs(t,s,!0)}function Mm(t,s,a){return Mo(t,s,j(a,2),!0)}function Lm(t,s){var a=t==null?0:t.length;if(a){var f=Vs(t,s,!0)-1;if(vt(t[f],s))return f}return-1}function Fm(t){return t&&t.length?df(t):[]}function Um(t,s){return t&&t.length?df(t,j(s,2)):[]}function km(t){var s=t==null?0:t.length;return s?pt(t,1,s):[]}function Gm(t,s,a){return t&&t.length?(s=a||s===n?1:Z(s),pt(t,0,s<0?0:s)):[]}function Hm(t,s,a){var f=t==null?0:t.length;return f?(s=a||s===n?1:Z(s),s=f-s,pt(t,s<0?0:s,f)):[]}function Qm(t,s){return t&&t.length?js(t,j(s,3),!1,!0):[]}function zm(t,s){return t&&t.length?js(t,j(s,3)):[]}var Wm=re(function(t){return gn(Ue(t,1,Pe,!0))}),$m=re(function(t){var s=gt(t);return Pe(s)&&(s=n),gn(Ue(t,1,Pe,!0),j(s,2))}),Vm=re(function(t){var s=gt(t);return s=typeof s=="function"?s:n,gn(Ue(t,1,Pe,!0),n,s)});function jm(t){return t&&t.length?gn(t):[]}function qm(t,s){return t&&t.length?gn(t,j(s,2)):[]}function Jm(t,s){return s=typeof s=="function"?s:n,t&&t.length?gn(t,n,s):[]}function Zo(t){if(!(t&&t.length))return[];var s=0;return t=fn(t,function(a){if(Pe(a))return s=_e(a.length,s),!0}),mo(s,function(a){return Ae(t,ho(a))})}function Xf(t,s){if(!(t&&t.length))return[];var a=Zo(t);return s==null?a:Ae(a,function(f){return nt(s,n,f)})}var Km=re(function(t,s){return Pe(t)?Gr(t,s):[]}),Ym=re(function(t){return Fo(fn(t,Pe))}),Xm=re(function(t){var s=gt(t);return Pe(s)&&(s=n),Fo(fn(t,Pe),j(s,2))}),Zm=re(function(t){var s=gt(t);return s=typeof s=="function"?s:n,Fo(fn(t,Pe),n,s)}),eb=re(Zo);function tb(t,s){return mf(t||[],s||[],kr)}function nb(t,s){return mf(t||[],s||[],zr)}var rb=re(function(t){var s=t.length,a=s>1?t[s-1]:n;return a=typeof a=="function"?(t.pop(),a):n,Xf(t,a)});function Zf(t){var s=p(t);return s.__chain__=!0,s}function sb(t,s){return s(t),t}function ni(t,s){return s(t)}var ib=qt(function(t){var s=t.length,a=s?t[0]:0,f=this.__wrapped__,d=function(b){return To(b,t)};return s>1||this.__actions__.length||!(f instanceof ae)||!Jt(a)?this.thru(d):(f=f.slice(a,+a+(s?1:0)),f.__actions__.push({func:ni,args:[d],thisArg:n}),new dt(f,this.__chain__).thru(function(b){return s&&!b.length&&b.push(n),b}))});function ob(){return Zf(this)}function ab(){return new dt(this.value(),this.__chain__)}function ub(){this.__values__===n&&(this.__values__=h0(this.value()));var t=this.__index__>=this.__values__.length,s=t?n:this.__values__[this.__index__++];return{done:t,value:s}}function cb(){return this}function fb(t){for(var s,a=this;a instanceof Hs;){var f=Vf(a);f.__index__=0,f.__values__=n,s?d.__wrapped__=f:s=f;var d=f;a=a.__wrapped__}return d.__wrapped__=t,s}function lb(){var t=this.__wrapped__;if(t instanceof ae){var s=t;return this.__actions__.length&&(s=new ae(this)),s=s.reverse(),s.__actions__.push({func:ni,args:[Xo],thisArg:n}),new dt(s,this.__chain__)}return this.thru(Xo)}function db(){return gf(this.__wrapped__,this.__actions__)}var hb=qs(function(t,s,a){pe.call(t,a)?++t[a]:Vt(t,a,1)});function pb(t,s,a){var f=Y(t)?Sc:sg;return a&&Ve(t,s,a)&&(s=n),f(t,j(s,3))}function gb(t,s){var a=Y(t)?fn:Yc;return a(t,j(s,3))}var mb=If(jf),bb=If(qf);function Ab(t,s){return Ue(ri(t,s),1)}function yb(t,s){return Ue(ri(t,s),We)}function wb(t,s,a){return a=a===n?1:Z(a),Ue(ri(t,s),a)}function e0(t,s){var a=Y(t)?ft:pn;return a(t,j(s,3))}function t0(t,s){var a=Y(t)?kp:Kc;return a(t,j(s,3))}var Eb=qs(function(t,s,a){pe.call(t,a)?t[a].push(s):Vt(t,a,[s])});function xb(t,s,a,f){t=Ke(t)?t:ur(t),a=a&&!f?Z(a):0;var d=t.length;return a<0&&(a=_e(d+a,0)),ui(t)?a<=d&&t.indexOf(s,a)>-1:!!d&&Kn(t,s,a)>-1}var vb=re(function(t,s,a){var f=-1,d=typeof s=="function",b=Ke(t)?B(t.length):[];return pn(t,function(A){b[++f]=d?nt(s,A,a):Hr(A,s,a)}),b}),Tb=qs(function(t,s,a){Vt(t,a,s)});function ri(t,s){var a=Y(t)?Ae:rf;return a(t,j(s,3))}function Pb(t,s,a,f){return t==null?[]:(Y(s)||(s=s==null?[]:[s]),a=f?n:a,Y(a)||(a=a==null?[]:[a]),uf(t,s,a))}var Ib=qs(function(t,s,a){t[a?0:1].push(s)},function(){return[[],[]]});function Sb(t,s,a){var f=Y(t)?fo:_c,d=arguments.length<3;return f(t,j(s,4),a,d,pn)}function Bb(t,s,a){var f=Y(t)?Gp:_c,d=arguments.length<3;return f(t,j(s,4),a,d,Kc)}function Rb(t,s){var a=Y(t)?fn:Yc;return a(t,oi(j(s,3)))}function Cb(t){var s=Y(t)?Vc:xg;return s(t)}function _b(t,s,a){(a?Ve(t,s,a):s===n)?s=1:s=Z(s);var f=Y(t)?Z1:vg;return f(t,s)}function Db(t){var s=Y(t)?eg:Pg;return s(t)}function Nb(t){if(t==null)return 0;if(Ke(t))return ui(t)?Xn(t):t.length;var s=ze(t);return s==yt||s==wt?t.size:Co(t).length}function Ob(t,s,a){var f=Y(t)?lo:Ig;return a&&Ve(t,s,a)&&(s=n),f(t,j(s,3))}var Mb=re(function(t,s){if(t==null)return[];var a=s.length;return a>1&&Ve(t,s[0],s[1])?s=[]:a>2&&Ve(s[0],s[1],s[2])&&(s=[s[0]]),uf(t,Ue(s,1),[])}),si=g1||function(){return Fe.Date.now()};function Lb(t,s){if(typeof s!="function")throw new lt(c);return t=Z(t),function(){if(--t<1)return s.apply(this,arguments)}}function n0(t,s,a){return s=a?n:s,s=t&&s==null?t.length:s,jt(t,k,n,n,n,n,s)}function r0(t,s){var a;if(typeof s!="function")throw new lt(c);return t=Z(t),function(){return--t>0&&(a=s.apply(this,arguments)),t<=1&&(s=n),a}}var ea=re(function(t,s,a){var f=O;if(a.length){var d=dn(a,or(ea));f|=T}return jt(t,f,s,a,d)}),s0=re(function(t,s,a){var f=O|S;if(a.length){var d=dn(a,or(s0));f|=T}return jt(s,f,t,a,d)});function i0(t,s,a){s=a?n:s;var f=jt(t,Q,n,n,n,n,n,s);return f.placeholder=i0.placeholder,f}function o0(t,s,a){s=a?n:s;var f=jt(t,_,n,n,n,n,n,s);return f.placeholder=o0.placeholder,f}function a0(t,s,a){var f,d,b,A,E,P,N=0,M=!1,L=!1,H=!0;if(typeof t!="function")throw new lt(c);s=mt(s)||0,xe(a)&&(M=!!a.leading,L="maxWait"in a,b=L?_e(mt(a.maxWait)||0,s):b,H="trailing"in a?!!a.trailing:H);function V(Ie){var Tt=f,Xt=d;return f=d=n,N=Ie,A=t.apply(Xt,Tt),A}function q(Ie){return N=Ie,E=Vr(oe,s),M?V(Ie):A}function ee(Ie){var Tt=Ie-P,Xt=Ie-N,I0=s-Tt;return L?Qe(I0,b-Xt):I0}function J(Ie){var Tt=Ie-P,Xt=Ie-N;return P===n||Tt>=s||Tt<0||L&&Xt>=b}function oe(){var Ie=si();if(J(Ie))return ue(Ie);E=Vr(oe,ee(Ie))}function ue(Ie){return E=n,H&&f?V(Ie):(f=d=n,A)}function ot(){E!==n&&bf(E),N=0,f=P=d=E=n}function je(){return E===n?A:ue(si())}function at(){var Ie=si(),Tt=J(Ie);if(f=arguments,d=this,P=Ie,Tt){if(E===n)return q(P);if(L)return bf(E),E=Vr(oe,s),V(P)}return E===n&&(E=Vr(oe,s)),A}return at.cancel=ot,at.flush=je,at}var Fb=re(function(t,s){return Jc(t,1,s)}),Ub=re(function(t,s,a){return Jc(t,mt(s)||0,a)});function kb(t){return jt(t,W)}function ii(t,s){if(typeof t!="function"||s!=null&&typeof s!="function")throw new lt(c);var a=function(){var f=arguments,d=s?s.apply(this,f):f[0],b=a.cache;if(b.has(d))return b.get(d);var A=t.apply(this,f);return a.cache=b.set(d,A)||b,A};return a.cache=new(ii.Cache||$t),a}ii.Cache=$t;function oi(t){if(typeof t!="function")throw new lt(c);return function(){var s=arguments;switch(s.length){case 0:return!t.call(this);case 1:return!t.call(this,s[0]);case 2:return!t.call(this,s[0],s[1]);case 3:return!t.call(this,s[0],s[1],s[2])}return!t.apply(this,s)}}function Gb(t){return r0(2,t)}var Hb=Sg(function(t,s){s=s.length==1&&Y(s[0])?Ae(s[0],rt(j())):Ae(Ue(s,1),rt(j()));var a=s.length;return re(function(f){for(var d=-1,b=Qe(f.length,a);++d<b;)f[d]=s[d].call(this,f[d]);return nt(t,this,f)})}),ta=re(function(t,s){var a=dn(s,or(ta));return jt(t,T,n,s,a)}),u0=re(function(t,s){var a=dn(s,or(u0));return jt(t,R,n,s,a)}),Qb=qt(function(t,s){return jt(t,F,n,n,n,s)});function zb(t,s){if(typeof t!="function")throw new lt(c);return s=s===n?s:Z(s),re(t,s)}function Wb(t,s){if(typeof t!="function")throw new lt(c);return s=s==null?0:_e(Z(s),0),re(function(a){var f=a[s],d=bn(a,0,s);return f&&ln(d,f),nt(t,this,d)})}function $b(t,s,a){var f=!0,d=!0;if(typeof t!="function")throw new lt(c);return xe(a)&&(f="leading"in a?!!a.leading:f,d="trailing"in a?!!a.trailing:d),a0(t,s,{leading:f,maxWait:s,trailing:d})}function Vb(t){return n0(t,1)}function jb(t,s){return ta(ko(s),t)}function qb(){if(!arguments.length)return[];var t=arguments[0];return Y(t)?t:[t]}function Jb(t){return ht(t,x)}function Kb(t,s){return s=typeof s=="function"?s:n,ht(t,x,s)}function Yb(t){return ht(t,y|x)}function Xb(t,s){return s=typeof s=="function"?s:n,ht(t,y|x,s)}function Zb(t,s){return s==null||qc(t,s,Oe(s))}function vt(t,s){return t===s||t!==t&&s!==s}var eA=Xs(So),tA=Xs(function(t,s){return t>=s}),Mn=ef((function(){return arguments})())?ef:function(t){return Te(t)&&pe.call(t,"callee")&&!Gc.call(t,"callee")},Y=B.isArray,nA=Ec?rt(Ec):fg;function Ke(t){return t!=null&&ai(t.length)&&!Kt(t)}function Pe(t){return Te(t)&&Ke(t)}function rA(t){return t===!0||t===!1||Te(t)&&$e(t)==Ir}var An=b1||da,sA=xc?rt(xc):lg;function iA(t){return Te(t)&&t.nodeType===1&&!jr(t)}function oA(t){if(t==null)return!0;if(Ke(t)&&(Y(t)||typeof t=="string"||typeof t.splice=="function"||An(t)||ar(t)||Mn(t)))return!t.length;var s=ze(t);if(s==yt||s==wt)return!t.size;if($r(t))return!Co(t).length;for(var a in t)if(pe.call(t,a))return!1;return!0}function aA(t,s){return Qr(t,s)}function uA(t,s,a){a=typeof a=="function"?a:n;var f=a?a(t,s):n;return f===n?Qr(t,s,n,a):!!f}function na(t){if(!Te(t))return!1;var s=$e(t);return s==ys||s==_h||typeof t.message=="string"&&typeof t.name=="string"&&!jr(t)}function cA(t){return typeof t=="number"&&Qc(t)}function Kt(t){if(!xe(t))return!1;var s=$e(t);return s==ws||s==Ju||s==Ch||s==Nh}function c0(t){return typeof t=="number"&&t==Z(t)}function ai(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ve}function xe(t){var s=typeof t;return t!=null&&(s=="object"||s=="function")}function Te(t){return t!=null&&typeof t=="object"}var f0=vc?rt(vc):hg;function fA(t,s){return t===s||Ro(t,s,Vo(s))}function lA(t,s,a){return a=typeof a=="function"?a:n,Ro(t,s,Vo(s),a)}function dA(t){return l0(t)&&t!=+t}function hA(t){if(Kg(t))throw new K(u);return tf(t)}function pA(t){return t===null}function gA(t){return t==null}function l0(t){return typeof t=="number"||Te(t)&&$e(t)==Br}function jr(t){if(!Te(t)||$e(t)!=zt)return!1;var s=Os(t);if(s===null)return!0;var a=pe.call(s,"constructor")&&s.constructor;return typeof a=="function"&&a instanceof a&&Cs.call(a)==l1}var ra=Tc?rt(Tc):pg;function mA(t){return c0(t)&&t>=-ve&&t<=ve}var d0=Pc?rt(Pc):gg;function ui(t){return typeof t=="string"||!Y(t)&&Te(t)&&$e(t)==Cr}function it(t){return typeof t=="symbol"||Te(t)&&$e(t)==Es}var ar=Ic?rt(Ic):mg;function bA(t){return t===n}function AA(t){return Te(t)&&ze(t)==_r}function yA(t){return Te(t)&&$e(t)==Mh}var wA=Xs(_o),EA=Xs(function(t,s){return t<=s});function h0(t){if(!t)return[];if(Ke(t))return ui(t)?Et(t):Je(t);if(Or&&t[Or])return Zp(t[Or]());var s=ze(t),a=s==yt?Ao:s==wt?Ss:ur;return a(t)}function Yt(t){if(!t)return t===0?t:0;if(t=mt(t),t===We||t===-We){var s=t<0?-1:1;return s*At}return t===t?t:0}function Z(t){var s=Yt(t),a=s%1;return s===s?a?s-a:s:0}function p0(t){return t?_n(Z(t),0,et):0}function mt(t){if(typeof t=="number")return t;if(it(t))return ut;if(xe(t)){var s=typeof t.valueOf=="function"?t.valueOf():t;t=xe(s)?s+"":s}if(typeof t!="string")return t===0?t:+t;t=Dc(t);var a=np.test(t);return a||sp.test(t)?Lp(t.slice(2),a?2:8):tp.test(t)?ut:+t}function g0(t){return _t(t,Ye(t))}function xA(t){return t?_n(Z(t),-ve,ve):t===0?t:0}function he(t){return t==null?"":st(t)}var vA=sr(function(t,s){if($r(s)||Ke(s)){_t(s,Oe(s),t);return}for(var a in s)pe.call(s,a)&&kr(t,a,s[a])}),m0=sr(function(t,s){_t(s,Ye(s),t)}),ci=sr(function(t,s,a,f){_t(s,Ye(s),t,f)}),TA=sr(function(t,s,a,f){_t(s,Oe(s),t,f)}),PA=qt(To);function IA(t,s){var a=rr(t);return s==null?a:jc(a,s)}var SA=re(function(t,s){t=ge(t);var a=-1,f=s.length,d=f>2?s[2]:n;for(d&&Ve(s[0],s[1],d)&&(f=1);++a<f;)for(var b=s[a],A=Ye(b),E=-1,P=A.length;++E<P;){var N=A[E],M=t[N];(M===n||vt(M,er[N])&&!pe.call(t,N))&&(t[N]=b[N])}return t}),BA=re(function(t){return t.push(n,Nf),nt(b0,n,t)});function RA(t,s){return Bc(t,j(s,3),Ct)}function CA(t,s){return Bc(t,j(s,3),Io)}function _A(t,s){return t==null?t:Po(t,j(s,3),Ye)}function DA(t,s){return t==null?t:Xc(t,j(s,3),Ye)}function NA(t,s){return t&&Ct(t,j(s,3))}function OA(t,s){return t&&Io(t,j(s,3))}function MA(t){return t==null?[]:Ws(t,Oe(t))}function LA(t){return t==null?[]:Ws(t,Ye(t))}function sa(t,s,a){var f=t==null?n:Dn(t,s);return f===n?a:f}function FA(t,s){return t!=null&&Lf(t,s,og)}function ia(t,s){return t!=null&&Lf(t,s,ag)}var UA=Bf(function(t,s,a){s!=null&&typeof s.toString!="function"&&(s=_s.call(s)),t[s]=a},aa(Xe)),kA=Bf(function(t,s,a){s!=null&&typeof s.toString!="function"&&(s=_s.call(s)),pe.call(t,s)?t[s].push(a):t[s]=[a]},j),GA=re(Hr);function Oe(t){return Ke(t)?$c(t):Co(t)}function Ye(t){return Ke(t)?$c(t,!0):bg(t)}function HA(t,s){var a={};return s=j(s,3),Ct(t,function(f,d,b){Vt(a,s(f,d,b),f)}),a}function QA(t,s){var a={};return s=j(s,3),Ct(t,function(f,d,b){Vt(a,d,s(f,d,b))}),a}var zA=sr(function(t,s,a){$s(t,s,a)}),b0=sr(function(t,s,a,f){$s(t,s,a,f)}),WA=qt(function(t,s){var a={};if(t==null)return a;var f=!1;s=Ae(s,function(b){return b=mn(b,t),f||(f=b.length>1),b}),_t(t,Wo(t),a),f&&(a=ht(a,y|w|x,Ug));for(var d=s.length;d--;)Lo(a,s[d]);return a});function $A(t,s){return A0(t,oi(j(s)))}var VA=qt(function(t,s){return t==null?{}:yg(t,s)});function A0(t,s){if(t==null)return{};var a=Ae(Wo(t),function(f){return[f]});return s=j(s),cf(t,a,function(f,d){return s(f,d[0])})}function jA(t,s,a){s=mn(s,t);var f=-1,d=s.length;for(d||(d=1,t=n);++f<d;){var b=t==null?n:t[Dt(s[f])];b===n&&(f=d,b=a),t=Kt(b)?b.call(t):b}return t}function qA(t,s,a){return t==null?t:zr(t,s,a)}function JA(t,s,a,f){return f=typeof f=="function"?f:n,t==null?t:zr(t,s,a,f)}var y0=_f(Oe),w0=_f(Ye);function KA(t,s,a){var f=Y(t),d=f||An(t)||ar(t);if(s=j(s,4),a==null){var b=t&&t.constructor;d?a=f?new b:[]:xe(t)?a=Kt(b)?rr(Os(t)):{}:a={}}return(d?ft:Ct)(t,function(A,E,P){return s(a,A,E,P)}),a}function YA(t,s){return t==null?!0:Lo(t,s)}function XA(t,s,a){return t==null?t:pf(t,s,ko(a))}function ZA(t,s,a,f){return f=typeof f=="function"?f:n,t==null?t:pf(t,s,ko(a),f)}function ur(t){return t==null?[]:bo(t,Oe(t))}function ey(t){return t==null?[]:bo(t,Ye(t))}function ty(t,s,a){return a===n&&(a=s,s=n),a!==n&&(a=mt(a),a=a===a?a:0),s!==n&&(s=mt(s),s=s===s?s:0),_n(mt(t),s,a)}function ny(t,s,a){return s=Yt(s),a===n?(a=s,s=0):a=Yt(a),t=mt(t),ug(t,s,a)}function ry(t,s,a){if(a&&typeof a!="boolean"&&Ve(t,s,a)&&(s=a=n),a===n&&(typeof s=="boolean"?(a=s,s=n):typeof t=="boolean"&&(a=t,t=n)),t===n&&s===n?(t=0,s=1):(t=Yt(t),s===n?(s=t,t=0):s=Yt(s)),t>s){var f=t;t=s,s=f}if(a||t%1||s%1){var d=zc();return Qe(t+d*(s-t+Mp("1e-"+((d+"").length-1))),s)}return No(t,s)}var sy=ir(function(t,s,a){return s=s.toLowerCase(),t+(a?E0(s):s)});function E0(t){return oa(he(t).toLowerCase())}function x0(t){return t=he(t),t&&t.replace(op,qp).replace(Pp,"")}function iy(t,s,a){t=he(t),s=st(s);var f=t.length;a=a===n?f:_n(Z(a),0,f);var d=a;return a-=s.length,a>=0&&t.slice(a,d)==s}function oy(t){return t=he(t),t&&Gh.test(t)?t.replace(Xu,Jp):t}function ay(t){return t=he(t),t&&Vh.test(t)?t.replace(eo,"\\$&"):t}var uy=ir(function(t,s,a){return t+(a?"-":"")+s.toLowerCase()}),cy=ir(function(t,s,a){return t+(a?" ":"")+s.toLowerCase()}),fy=Pf("toLowerCase");function ly(t,s,a){t=he(t),s=Z(s);var f=s?Xn(t):0;if(!s||f>=s)return t;var d=(s-f)/2;return Ys(Us(d),a)+t+Ys(Fs(d),a)}function dy(t,s,a){t=he(t),s=Z(s);var f=s?Xn(t):0;return s&&f<s?t+Ys(s-f,a):t}function hy(t,s,a){t=he(t),s=Z(s);var f=s?Xn(t):0;return s&&f<s?Ys(s-f,a)+t:t}function py(t,s,a){return a||s==null?s=0:s&&(s=+s),E1(he(t).replace(to,""),s||0)}function gy(t,s,a){return(a?Ve(t,s,a):s===n)?s=1:s=Z(s),Oo(he(t),s)}function my(){var t=arguments,s=he(t[0]);return t.length<3?s:s.replace(t[1],t[2])}var by=ir(function(t,s,a){return t+(a?"_":"")+s.toLowerCase()});function Ay(t,s,a){return a&&typeof a!="number"&&Ve(t,s,a)&&(s=a=n),a=a===n?et:a>>>0,a?(t=he(t),t&&(typeof s=="string"||s!=null&&!ra(s))&&(s=st(s),!s&&Yn(t))?bn(Et(t),0,a):t.split(s,a)):[]}var yy=ir(function(t,s,a){return t+(a?" ":"")+oa(s)});function wy(t,s,a){return t=he(t),a=a==null?0:_n(Z(a),0,t.length),s=st(s),t.slice(a,a+s.length)==s}function Ey(t,s,a){var f=p.templateSettings;a&&Ve(t,s,a)&&(s=n),t=he(t),s=ci({},s,f,Df);var d=ci({},s.imports,f.imports,Df),b=Oe(d),A=bo(d,b),E,P,N=0,M=s.interpolate||xs,L="__p += '",H=yo((s.escape||xs).source+"|"+M.source+"|"+(M===Zu?ep:xs).source+"|"+(s.evaluate||xs).source+"|$","g"),V="//# sourceURL="+(pe.call(s,"sourceURL")?(s.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Cp+"]")+`
`;t.replace(H,function(J,oe,ue,ot,je,at){return ue||(ue=ot),L+=t.slice(N,at).replace(ap,Kp),oe&&(E=!0,L+=`' +
__e(`+oe+`) +
'`),je&&(P=!0,L+=`';
`+je+`;
__p += '`),ue&&(L+=`' +
((__t = (`+ue+`)) == null ? '' : __t) +
'`),N=at+J.length,J}),L+=`';
`;var q=pe.call(s,"variable")&&s.variable;if(!q)L=`with (obj) {
`+L+`
}
`;else if(Xh.test(q))throw new K(l);L=(P?L.replace(Lh,""):L).replace(Fh,"$1").replace(Uh,"$1;"),L="function("+(q||"obj")+`) {
`+(q?"":`obj || (obj = {});
`)+"var __t, __p = ''"+(E?", __e = _.escape":"")+(P?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+L+`return __p
}`;var ee=T0(function(){return de(b,V+"return "+L).apply(n,A)});if(ee.source=L,na(ee))throw ee;return ee}function xy(t){return he(t).toLowerCase()}function vy(t){return he(t).toUpperCase()}function Ty(t,s,a){if(t=he(t),t&&(a||s===n))return Dc(t);if(!t||!(s=st(s)))return t;var f=Et(t),d=Et(s),b=Nc(f,d),A=Oc(f,d)+1;return bn(f,b,A).join("")}function Py(t,s,a){if(t=he(t),t&&(a||s===n))return t.slice(0,Lc(t)+1);if(!t||!(s=st(s)))return t;var f=Et(t),d=Oc(f,Et(s))+1;return bn(f,0,d).join("")}function Iy(t,s,a){if(t=he(t),t&&(a||s===n))return t.replace(to,"");if(!t||!(s=st(s)))return t;var f=Et(t),d=Nc(f,Et(s));return bn(f,d).join("")}function Sy(t,s){var a=$,f=ne;if(xe(s)){var d="separator"in s?s.separator:d;a="length"in s?Z(s.length):a,f="omission"in s?st(s.omission):f}t=he(t);var b=t.length;if(Yn(t)){var A=Et(t);b=A.length}if(a>=b)return t;var E=a-Xn(f);if(E<1)return f;var P=A?bn(A,0,E).join(""):t.slice(0,E);if(d===n)return P+f;if(A&&(E+=P.length-E),ra(d)){if(t.slice(E).search(d)){var N,M=P;for(d.global||(d=yo(d.source,he(ec.exec(d))+"g")),d.lastIndex=0;N=d.exec(M);)var L=N.index;P=P.slice(0,L===n?E:L)}}else if(t.indexOf(st(d),E)!=E){var H=P.lastIndexOf(d);H>-1&&(P=P.slice(0,H))}return P+f}function By(t){return t=he(t),t&&kh.test(t)?t.replace(Yu,r1):t}var Ry=ir(function(t,s,a){return t+(a?" ":"")+s.toUpperCase()}),oa=Pf("toUpperCase");function v0(t,s,a){return t=he(t),s=a?n:s,s===n?Xp(t)?o1(t):zp(t):t.match(s)||[]}var T0=re(function(t,s){try{return nt(t,n,s)}catch(a){return na(a)?a:new K(a)}}),Cy=qt(function(t,s){return ft(s,function(a){a=Dt(a),Vt(t,a,ea(t[a],t))}),t});function _y(t){var s=t==null?0:t.length,a=j();return t=s?Ae(t,function(f){if(typeof f[1]!="function")throw new lt(c);return[a(f[0]),f[1]]}):[],re(function(f){for(var d=-1;++d<s;){var b=t[d];if(nt(b[0],this,f))return nt(b[1],this,f)}})}function Dy(t){return rg(ht(t,y))}function aa(t){return function(){return t}}function Ny(t,s){return t==null||t!==t?s:t}var Oy=Sf(),My=Sf(!0);function Xe(t){return t}function ua(t){return nf(typeof t=="function"?t:ht(t,y))}function Ly(t){return sf(ht(t,y))}function Fy(t,s){return of(t,ht(s,y))}var Uy=re(function(t,s){return function(a){return Hr(a,t,s)}}),ky=re(function(t,s){return function(a){return Hr(t,a,s)}});function ca(t,s,a){var f=Oe(s),d=Ws(s,f);a==null&&!(xe(s)&&(d.length||!f.length))&&(a=s,s=t,t=this,d=Ws(s,Oe(s)));var b=!(xe(a)&&"chain"in a)||!!a.chain,A=Kt(t);return ft(d,function(E){var P=s[E];t[E]=P,A&&(t.prototype[E]=function(){var N=this.__chain__;if(b||N){var M=t(this.__wrapped__),L=M.__actions__=Je(this.__actions__);return L.push({func:P,args:arguments,thisArg:t}),M.__chain__=N,M}return P.apply(t,ln([this.value()],arguments))})}),t}function Gy(){return Fe._===this&&(Fe._=d1),this}function fa(){}function Hy(t){return t=Z(t),re(function(s){return af(s,t)})}var Qy=Ho(Ae),zy=Ho(Sc),Wy=Ho(lo);function P0(t){return qo(t)?ho(Dt(t)):wg(t)}function $y(t){return function(s){return t==null?n:Dn(t,s)}}var Vy=Rf(),jy=Rf(!0);function la(){return[]}function da(){return!1}function qy(){return{}}function Jy(){return""}function Ky(){return!0}function Yy(t,s){if(t=Z(t),t<1||t>ve)return[];var a=et,f=Qe(t,et);s=j(s),t-=et;for(var d=mo(f,s);++a<t;)s(a);return d}function Xy(t){return Y(t)?Ae(t,Dt):it(t)?[t]:Je($f(he(t)))}function Zy(t){var s=++f1;return he(t)+s}var e5=Ks(function(t,s){return t+s},0),t5=Qo("ceil"),n5=Ks(function(t,s){return t/s},1),r5=Qo("floor");function s5(t){return t&&t.length?zs(t,Xe,So):n}function i5(t,s){return t&&t.length?zs(t,j(s,2),So):n}function o5(t){return Cc(t,Xe)}function a5(t,s){return Cc(t,j(s,2))}function u5(t){return t&&t.length?zs(t,Xe,_o):n}function c5(t,s){return t&&t.length?zs(t,j(s,2),_o):n}var f5=Ks(function(t,s){return t*s},1),l5=Qo("round"),d5=Ks(function(t,s){return t-s},0);function h5(t){return t&&t.length?go(t,Xe):0}function p5(t,s){return t&&t.length?go(t,j(s,2)):0}return p.after=Lb,p.ary=n0,p.assign=vA,p.assignIn=m0,p.assignInWith=ci,p.assignWith=TA,p.at=PA,p.before=r0,p.bind=ea,p.bindAll=Cy,p.bindKey=s0,p.castArray=qb,p.chain=Zf,p.chunk=rm,p.compact=sm,p.concat=im,p.cond=_y,p.conforms=Dy,p.constant=aa,p.countBy=hb,p.create=IA,p.curry=i0,p.curryRight=o0,p.debounce=a0,p.defaults=SA,p.defaultsDeep=BA,p.defer=Fb,p.delay=Ub,p.difference=om,p.differenceBy=am,p.differenceWith=um,p.drop=cm,p.dropRight=fm,p.dropRightWhile=lm,p.dropWhile=dm,p.fill=hm,p.filter=gb,p.flatMap=Ab,p.flatMapDeep=yb,p.flatMapDepth=wb,p.flatten=Jf,p.flattenDeep=pm,p.flattenDepth=gm,p.flip=kb,p.flow=Oy,p.flowRight=My,p.fromPairs=mm,p.functions=MA,p.functionsIn=LA,p.groupBy=Eb,p.initial=Am,p.intersection=ym,p.intersectionBy=wm,p.intersectionWith=Em,p.invert=UA,p.invertBy=kA,p.invokeMap=vb,p.iteratee=ua,p.keyBy=Tb,p.keys=Oe,p.keysIn=Ye,p.map=ri,p.mapKeys=HA,p.mapValues=QA,p.matches=Ly,p.matchesProperty=Fy,p.memoize=ii,p.merge=zA,p.mergeWith=b0,p.method=Uy,p.methodOf=ky,p.mixin=ca,p.negate=oi,p.nthArg=Hy,p.omit=WA,p.omitBy=$A,p.once=Gb,p.orderBy=Pb,p.over=Qy,p.overArgs=Hb,p.overEvery=zy,p.overSome=Wy,p.partial=ta,p.partialRight=u0,p.partition=Ib,p.pick=VA,p.pickBy=A0,p.property=P0,p.propertyOf=$y,p.pull=Pm,p.pullAll=Yf,p.pullAllBy=Im,p.pullAllWith=Sm,p.pullAt=Bm,p.range=Vy,p.rangeRight=jy,p.rearg=Qb,p.reject=Rb,p.remove=Rm,p.rest=zb,p.reverse=Xo,p.sampleSize=_b,p.set=qA,p.setWith=JA,p.shuffle=Db,p.slice=Cm,p.sortBy=Mb,p.sortedUniq=Fm,p.sortedUniqBy=Um,p.split=Ay,p.spread=Wb,p.tail=km,p.take=Gm,p.takeRight=Hm,p.takeRightWhile=Qm,p.takeWhile=zm,p.tap=sb,p.throttle=$b,p.thru=ni,p.toArray=h0,p.toPairs=y0,p.toPairsIn=w0,p.toPath=Xy,p.toPlainObject=g0,p.transform=KA,p.unary=Vb,p.union=Wm,p.unionBy=$m,p.unionWith=Vm,p.uniq=jm,p.uniqBy=qm,p.uniqWith=Jm,p.unset=YA,p.unzip=Zo,p.unzipWith=Xf,p.update=XA,p.updateWith=ZA,p.values=ur,p.valuesIn=ey,p.without=Km,p.words=v0,p.wrap=jb,p.xor=Ym,p.xorBy=Xm,p.xorWith=Zm,p.zip=eb,p.zipObject=tb,p.zipObjectDeep=nb,p.zipWith=rb,p.entries=y0,p.entriesIn=w0,p.extend=m0,p.extendWith=ci,ca(p,p),p.add=e5,p.attempt=T0,p.camelCase=sy,p.capitalize=E0,p.ceil=t5,p.clamp=ty,p.clone=Jb,p.cloneDeep=Yb,p.cloneDeepWith=Xb,p.cloneWith=Kb,p.conformsTo=Zb,p.deburr=x0,p.defaultTo=Ny,p.divide=n5,p.endsWith=iy,p.eq=vt,p.escape=oy,p.escapeRegExp=ay,p.every=pb,p.find=mb,p.findIndex=jf,p.findKey=RA,p.findLast=bb,p.findLastIndex=qf,p.findLastKey=CA,p.floor=r5,p.forEach=e0,p.forEachRight=t0,p.forIn=_A,p.forInRight=DA,p.forOwn=NA,p.forOwnRight=OA,p.get=sa,p.gt=eA,p.gte=tA,p.has=FA,p.hasIn=ia,p.head=Kf,p.identity=Xe,p.includes=xb,p.indexOf=bm,p.inRange=ny,p.invoke=GA,p.isArguments=Mn,p.isArray=Y,p.isArrayBuffer=nA,p.isArrayLike=Ke,p.isArrayLikeObject=Pe,p.isBoolean=rA,p.isBuffer=An,p.isDate=sA,p.isElement=iA,p.isEmpty=oA,p.isEqual=aA,p.isEqualWith=uA,p.isError=na,p.isFinite=cA,p.isFunction=Kt,p.isInteger=c0,p.isLength=ai,p.isMap=f0,p.isMatch=fA,p.isMatchWith=lA,p.isNaN=dA,p.isNative=hA,p.isNil=gA,p.isNull=pA,p.isNumber=l0,p.isObject=xe,p.isObjectLike=Te,p.isPlainObject=jr,p.isRegExp=ra,p.isSafeInteger=mA,p.isSet=d0,p.isString=ui,p.isSymbol=it,p.isTypedArray=ar,p.isUndefined=bA,p.isWeakMap=AA,p.isWeakSet=yA,p.join=xm,p.kebabCase=uy,p.last=gt,p.lastIndexOf=vm,p.lowerCase=cy,p.lowerFirst=fy,p.lt=wA,p.lte=EA,p.max=s5,p.maxBy=i5,p.mean=o5,p.meanBy=a5,p.min=u5,p.minBy=c5,p.stubArray=la,p.stubFalse=da,p.stubObject=qy,p.stubString=Jy,p.stubTrue=Ky,p.multiply=f5,p.nth=Tm,p.noConflict=Gy,p.noop=fa,p.now=si,p.pad=ly,p.padEnd=dy,p.padStart=hy,p.parseInt=py,p.random=ry,p.reduce=Sb,p.reduceRight=Bb,p.repeat=gy,p.replace=my,p.result=jA,p.round=l5,p.runInContext=v,p.sample=Cb,p.size=Nb,p.snakeCase=by,p.some=Ob,p.sortedIndex=_m,p.sortedIndexBy=Dm,p.sortedIndexOf=Nm,p.sortedLastIndex=Om,p.sortedLastIndexBy=Mm,p.sortedLastIndexOf=Lm,p.startCase=yy,p.startsWith=wy,p.subtract=d5,p.sum=h5,p.sumBy=p5,p.template=Ey,p.times=Yy,p.toFinite=Yt,p.toInteger=Z,p.toLength=p0,p.toLower=xy,p.toNumber=mt,p.toSafeInteger=xA,p.toString=he,p.toUpper=vy,p.trim=Ty,p.trimEnd=Py,p.trimStart=Iy,p.truncate=Sy,p.unescape=By,p.uniqueId=Zy,p.upperCase=Ry,p.upperFirst=oa,p.each=e0,p.eachRight=t0,p.first=Kf,ca(p,(function(){var t={};return Ct(p,function(s,a){pe.call(p.prototype,a)||(t[a]=s)}),t})(),{chain:!1}),p.VERSION=i,ft(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){p[t].placeholder=p}),ft(["drop","take"],function(t,s){ae.prototype[t]=function(a){a=a===n?1:_e(Z(a),0);var f=this.__filtered__&&!s?new ae(this):this.clone();return f.__filtered__?f.__takeCount__=Qe(a,f.__takeCount__):f.__views__.push({size:Qe(a,et),type:t+(f.__dir__<0?"Right":"")}),f},ae.prototype[t+"Right"]=function(a){return this.reverse()[t](a).reverse()}}),ft(["filter","map","takeWhile"],function(t,s){var a=s+1,f=a==Ee||a==Le;ae.prototype[t]=function(d){var b=this.clone();return b.__iteratees__.push({iteratee:j(d,3),type:a}),b.__filtered__=b.__filtered__||f,b}}),ft(["head","last"],function(t,s){var a="take"+(s?"Right":"");ae.prototype[t]=function(){return this[a](1).value()[0]}}),ft(["initial","tail"],function(t,s){var a="drop"+(s?"":"Right");ae.prototype[t]=function(){return this.__filtered__?new ae(this):this[a](1)}}),ae.prototype.compact=function(){return this.filter(Xe)},ae.prototype.find=function(t){return this.filter(t).head()},ae.prototype.findLast=function(t){return this.reverse().find(t)},ae.prototype.invokeMap=re(function(t,s){return typeof t=="function"?new ae(this):this.map(function(a){return Hr(a,t,s)})}),ae.prototype.reject=function(t){return this.filter(oi(j(t)))},ae.prototype.slice=function(t,s){t=Z(t);var a=this;return a.__filtered__&&(t>0||s<0)?new ae(a):(t<0?a=a.takeRight(-t):t&&(a=a.drop(t)),s!==n&&(s=Z(s),a=s<0?a.dropRight(-s):a.take(s-t)),a)},ae.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},ae.prototype.toArray=function(){return this.take(et)},Ct(ae.prototype,function(t,s){var a=/^(?:filter|find|map|reject)|While$/.test(s),f=/^(?:head|last)$/.test(s),d=p[f?"take"+(s=="last"?"Right":""):s],b=f||/^find/.test(s);d&&(p.prototype[s]=function(){var A=this.__wrapped__,E=f?[1]:arguments,P=A instanceof ae,N=E[0],M=P||Y(A),L=function(oe){var ue=d.apply(p,ln([oe],E));return f&&H?ue[0]:ue};M&&a&&typeof N=="function"&&N.length!=1&&(P=M=!1);var H=this.__chain__,V=!!this.__actions__.length,q=b&&!H,ee=P&&!V;if(!b&&M){A=ee?A:new ae(this);var J=t.apply(A,E);return J.__actions__.push({func:ni,args:[L],thisArg:n}),new dt(J,H)}return q&&ee?t.apply(this,E):(J=this.thru(L),q?f?J.value()[0]:J.value():J)})}),ft(["pop","push","shift","sort","splice","unshift"],function(t){var s=Bs[t],a=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",f=/^(?:pop|shift)$/.test(t);p.prototype[t]=function(){var d=arguments;if(f&&!this.__chain__){var b=this.value();return s.apply(Y(b)?b:[],d)}return this[a](function(A){return s.apply(Y(A)?A:[],d)})}}),Ct(ae.prototype,function(t,s){var a=p[s];if(a){var f=a.name+"";pe.call(nr,f)||(nr[f]=[]),nr[f].push({name:s,func:a})}}),nr[Js(n,S).name]=[{name:"wrapper",func:n}],ae.prototype.clone=B1,ae.prototype.reverse=R1,ae.prototype.value=C1,p.prototype.at=ib,p.prototype.chain=ob,p.prototype.commit=ab,p.prototype.next=ub,p.prototype.plant=fb,p.prototype.reverse=lb,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=db,p.prototype.first=p.prototype.head,Or&&(p.prototype[Or]=cb),p}),Zn=a1();Sn?((Sn.exports=Zn)._=Zn,ao._=Zn):Fe._=Zn}).call(av)})(Xr,Xr.exports)),Xr.exports}var dr=uv();const Ge=[];for(let e=0;e<256;++e)Ge.push((e+256).toString(16).slice(1));function cv(e,r=0){return(Ge[e[r+0]]+Ge[e[r+1]]+Ge[e[r+2]]+Ge[e[r+3]]+"-"+Ge[e[r+4]]+Ge[e[r+5]]+"-"+Ge[e[r+6]]+Ge[e[r+7]]+"-"+Ge[e[r+8]]+Ge[e[r+9]]+"-"+Ge[e[r+10]]+Ge[e[r+11]]+Ge[e[r+12]]+Ge[e[r+13]]+Ge[e[r+14]]+Ge[e[r+15]]).toLowerCase()}let Ra;const fv=new Uint8Array(16);function lv(){if(!Ra){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ra=crypto.getRandomValues.bind(crypto)}return Ra(fv)}const dv=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),hl={randomUUID:dv};function hv(e,r,n){var o;e=e||{};const i=e.random??((o=e.rng)==null?void 0:o.call(e))??lv();if(i.length<16)throw new Error("Random bytes length must be >= 16");return i[6]=i[6]&15|64,i[8]=i[8]&63|128,cv(i)}function pv(e,r,n){return hl.randomUUID&&!e?hl.randomUUID():hv(e)}const ye={state:{},get(e){return this.state[e]?dr.cloneDeep(this.state[e]):void 0},getExecutionOptions(e){var r,n,i,o;return{allowExecution:(n=(r=this.state[e])==null?void 0:r.executionOptions)==null?void 0:n.allowExecution,executeInBackground:(o=(i=this.state[e])==null?void 0:i.executionOptions)==null?void 0:o.executeInBackground}},set(e,r){const n=gv(e);return this.state[n.id]={route:n,executionOptions:{allowExecution:!0,executeInBackground:!1,...r}},dr.cloneDeep(this.state[n.id])},update(e,r){var i,o;const n=dr.cloneDeep(r);if(this.state[e]){this.state[e]={...this.state[e],route:{...this.state[e].route,...n.route??{}},executionOptions:{...this.state[e].executionOptions,...n.executionOptions??{}}};const u=dr.cloneDeep(this.state[e].route);return(o=(i=this.state[e].executionOptions)==null?void 0:i.onUpdateHook)==null||o.call(i,u),u}},delete(e){delete this.state[e]}};function gv(e){if(!e.id){const r=pv();e.id=r,e.steps.forEach((n,i)=>{n.id=`${r}:${i}`})}return e}class mv{constructor(r){X(this,"routeId");X(this,"stepId");X(this,"_step");this.routeId=r.id.split(":")[0],this.stepId=+r.id.split(":")[1],this._step=dr.cloneDeep(r),this.initExecution()}initExecution(){this._step.execution||(this._step.execution={status:"PENDING",process:[]}),this._step.execution.status==="FAILED"&&(this._step.execution.status="PENDING"),this.updateStepInRoute()}get step(){return this._step}get executionOptions(){return ye.getExecutionOptions(this.routeId)??{}}get executionStopped(){return this.executionOptions==null?!0:!this.executionOptions.allowExecution}get interactionDisabled(){return this.executionOptions.executeInBackground==null?!1:this.executionOptions.executeInBackground}get allStepsCompleted(){return this._step.execution.process.every(r=>r.status==="DONE")}completeStep(){return this.allStepsCompleted?(this._step.execution.status="DONE",this.updateStepInRoute()):this.updateStepInRoute(!0),this._step}findOrCreateProcess(r){const n=this.getProcessByType(r.type);return n&&n.status==="DONE"?this.updateProcess(n):(this._step.execution.process.push(r),this.updateProcess(r))}updateProcess({type:r,status:n,message:i,params:o}){const u=this.getProcessByType(r);if(!u)throw new Error("Can't find a process for the given type.");switch(n){case"FAILED":this._step.execution.status="FAILED";break;case"PENDING":this._step.execution.status="PENDING";break;case"ACTION_REQUIRED":this._step.execution.status="ACTION_REQUIRED";break}if(u.status=n,u.message=i,o)for(const[l,h]of Object.entries(o))u[l]=h;const c=n==="FAILED"||n==="ACTION_REQUIRED"&&this.interactionDisabled;return this.updateStepInRoute(c),u}updateStepInRoute(r=!1){const n=ye.get(this.routeId);n&&(n.route.steps[this.stepId]=this._step,ye.update(this.routeId,{route:n.route}),r&&ju(this.routeId))}injectLifiSteps(r){const n=ye.get(this.routeId).route;this._step={...r.steps[0],type:"lifi_token_swap",id:`${this.routeId}:${this.stepId}`},n.steps[this.stepId]={...this._step,lifiRoute:r},ye.update(this.routeId,{route:n})}getProcessByType(r){if(!this._step.execution)throw new Error("Can't find a process in an empty execution");return this._step.execution.process.find(n=>n.type===r)??null}}class bh{constructor(r,n){X(this,"routeId");X(this,"stepManager");this.routeId=r.id,this.stepManager=new mv(dr.cloneDeep(n))}get route(){return ye.get(this.routeId).route}}class bv extends bh{constructor(r,n){super(r,n)}async executeStep(){let r;try{if(this.stepManager.step.lifiRoute)r=await Y8(this.stepManager.step.lifiRoute,{updateRouteHook:this.onUpdateHook.bind(this),executeInBackground:this.stepManager.executionOptions.executeInBackground});else{const n=rv(this.stepManager.step.swapQuote);r=await mh(n,{updateRouteHook:this.onUpdateHook.bind(this),executeInBackground:this.stepManager.executionOptions.executeInBackground})}this.stepManager.injectLifiSteps(r)}catch{}finally{return this.stepManager.completeStep()}}onUpdateHook(r){this.processRoute(r)}processRoute(r){var i,o,u;const n=(o=(i=r.steps[0].execution)==null?void 0:i.process)==null?void 0:o[r.steps[0].execution.process.length-1];if(n&&n.status==="FAILED"&&!n.message)switch((u=n.error)==null?void 0:u.code){case 1002:n.message=Mt.TransactionUnderpriced;break;case 1003:n.message=Mt.TransactionReverted;break;case 1007:n.message="Chain switch is required.";break;case 1009:n.message=Mt.GasLimitLow;break;case 1010:n.message="Transaction was cancelled.";break;case 1011:n.message=Mt.SlippageError;break;case 1012:n.message="Signature required.";break;case 1013:n.message="The balance is too low to complete transaction.";break;case 1015:n.message="Insufficient funds to complete transaction.";break;case 1017:n.message="Wallet was changed during execution.";break;default:n.message="Action failed.";break}this.stepManager.injectLifiSteps(r)}}var pi={exports:{}},pl;function Av(){if(pl)return pi.exports;pl=1;var e=typeof Reflect=="object"?Reflect:null,r=e&&typeof e.apply=="function"?e.apply:function(T,R,k){return Function.prototype.apply.call(T,R,k)},n;e&&typeof e.ownKeys=="function"?n=e.ownKeys:Object.getOwnPropertySymbols?n=function(T){return Object.getOwnPropertyNames(T).concat(Object.getOwnPropertySymbols(T))}:n=function(T){return Object.getOwnPropertyNames(T)};function i(_){}var o=Number.isNaN||function(T){return T!==T};function u(){u.init.call(this)}pi.exports=u,pi.exports.once=S,u.EventEmitter=u,u.prototype._events=void 0,u.prototype._eventsCount=0,u.prototype._maxListeners=void 0;var c=10;function l(_){if(typeof _!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof _)}Object.defineProperty(u,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(_){if(typeof _!="number"||_<0||o(_))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+_+".");c=_}}),u.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},u.prototype.setMaxListeners=function(T){if(typeof T!="number"||T<0||o(T))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+T+".");return this._maxListeners=T,this};function h(_){return _._maxListeners===void 0?u.defaultMaxListeners:_._maxListeners}u.prototype.getMaxListeners=function(){return h(this)},u.prototype.emit=function(T){for(var R=[],k=1;k<arguments.length;k++)R.push(arguments[k]);var F=T==="error",W=this._events;if(W!==void 0)F=F&&W.error===void 0;else if(!F)return!1;if(F){var $;if(R.length>0&&($=R[0]),$ instanceof Error)throw $;var ne=new Error("Unhandled error."+($?" ("+$.message+")":""));throw ne.context=$,ne}var ce=W[T];if(ce===void 0)return!1;if(typeof ce=="function")r(ce,this,R);else for(var fe=ce.length,Ee=I(ce,fe),k=0;k<fe;++k)r(Ee[k],this,R);return!0};function g(_,T,R,k){var F,W,$;if(l(R),W=_._events,W===void 0?(W=_._events=Object.create(null),_._eventsCount=0):(W.newListener!==void 0&&(_.emit("newListener",T,R.listener?R.listener:R),W=_._events),$=W[T]),$===void 0)$=W[T]=R,++_._eventsCount;else if(typeof $=="function"?$=W[T]=k?[R,$]:[$,R]:k?$.unshift(R):$.push(R),F=h(_),F>0&&$.length>F&&!$.warned){$.warned=!0;var ne=new Error("Possible EventEmitter memory leak detected. "+$.length+" "+String(T)+" listeners added. Use emitter.setMaxListeners() to increase limit");ne.name="MaxListenersExceededWarning",ne.emitter=_,ne.type=T,ne.count=$.length}return _}u.prototype.addListener=function(T,R){return g(this,T,R,!1)},u.prototype.on=u.prototype.addListener,u.prototype.prependListener=function(T,R){return g(this,T,R,!0)};function m(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function y(_,T,R){var k={fired:!1,wrapFn:void 0,target:_,type:T,listener:R},F=m.bind(k);return F.listener=R,k.wrapFn=F,F}u.prototype.once=function(T,R){return l(R),this.on(T,y(this,T,R)),this},u.prototype.prependOnceListener=function(T,R){return l(R),this.prependListener(T,y(this,T,R)),this},u.prototype.removeListener=function(T,R){var k,F,W,$,ne;if(l(R),F=this._events,F===void 0)return this;if(k=F[T],k===void 0)return this;if(k===R||k.listener===R)--this._eventsCount===0?this._events=Object.create(null):(delete F[T],F.removeListener&&this.emit("removeListener",T,k.listener||R));else if(typeof k!="function"){for(W=-1,$=k.length-1;$>=0;$--)if(k[$]===R||k[$].listener===R){ne=k[$].listener,W=$;break}if(W<0)return this;W===0?k.shift():C(k,W),k.length===1&&(F[T]=k[0]),F.removeListener!==void 0&&this.emit("removeListener",T,ne||R)}return this},u.prototype.off=u.prototype.removeListener,u.prototype.removeAllListeners=function(T){var R,k,F;if(k=this._events,k===void 0)return this;if(k.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):k[T]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete k[T]),this;if(arguments.length===0){var W=Object.keys(k),$;for(F=0;F<W.length;++F)$=W[F],$!=="removeListener"&&this.removeAllListeners($);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(R=k[T],typeof R=="function")this.removeListener(T,R);else if(R!==void 0)for(F=R.length-1;F>=0;F--)this.removeListener(T,R[F]);return this};function w(_,T,R){var k=_._events;if(k===void 0)return[];var F=k[T];return F===void 0?[]:typeof F=="function"?R?[F.listener||F]:[F]:R?O(F):I(F,F.length)}u.prototype.listeners=function(T){return w(this,T,!0)},u.prototype.rawListeners=function(T){return w(this,T,!1)},u.listenerCount=function(_,T){return typeof _.listenerCount=="function"?_.listenerCount(T):x.call(_,T)},u.prototype.listenerCount=x;function x(_){var T=this._events;if(T!==void 0){var R=T[_];if(typeof R=="function")return 1;if(R!==void 0)return R.length}return 0}u.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function I(_,T){for(var R=new Array(T),k=0;k<T;++k)R[k]=_[k];return R}function C(_,T){for(;T+1<_.length;T++)_[T]=_[T+1];_.pop()}function O(_){for(var T=new Array(_.length),R=0;R<T.length;++R)T[R]=_[R].listener||_[R];return T}function S(_,T){return new Promise(function(R,k){function F($){_.removeListener(T,W),k($)}function W(){typeof _.removeListener=="function"&&_.removeListener("error",F),R([].slice.call(arguments))}Q(_,T,W,{once:!0}),T!=="error"&&G(_,F,{once:!0})})}function G(_,T,R){typeof _.on=="function"&&Q(_,"error",T,R)}function Q(_,T,R,k){if(typeof _.on=="function")k.once?_.once(T,R):_.on(T,R);else if(typeof _.addEventListener=="function")_.addEventListener(T,function F(W){k.once&&_.removeEventListener(T,F),R(W)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof _)}return pi.exports}var yv=Av();const wv=z8(yv),Ah="%[a-f0-9]{2}",gl=new RegExp("("+Ah+")|([^%]+?)","gi"),ml=new RegExp("("+Ah+")+","gi");function lu(e,r){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;r=r||1;const n=e.slice(0,r),i=e.slice(r);return Array.prototype.concat.call([],lu(n),lu(i))}function Ev(e){try{return decodeURIComponent(e)}catch{let r=e.match(gl)||[];for(let n=1;n<r.length;n++)e=lu(r,n).join(""),r=e.match(gl)||[];return e}}function xv(e){const r={"%FE%FF":"��","%FF%FE":"��"};let n=ml.exec(e);for(;n;){try{r[n[0]]=decodeURIComponent(n[0])}catch{const o=Ev(n[0]);o!==n[0]&&(r[n[0]]=o)}n=ml.exec(e)}r["%C2"]="�";const i=Object.keys(r);for(const o of i)e=e.replace(new RegExp(o,"g"),r[o]);return e}function vv(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return xv(e)}}function Tv(e,r){const n={};if(Array.isArray(r))for(const i of r){const o=Object.getOwnPropertyDescriptor(e,i);o!=null&&o.enumerable&&Object.defineProperty(n,i,o)}else for(const i of Reflect.ownKeys(e)){const o=Object.getOwnPropertyDescriptor(e,i);if(o.enumerable){const u=e[i];r(i,u,e)&&Object.defineProperty(n,i,o)}}return n}function yh(e,r){if(!(typeof e=="string"&&typeof r=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e===""||r==="")return[];const n=e.indexOf(r);return n===-1?[]:[e.slice(0,n),e.slice(n+r.length)]}const Pv=e=>e==null,Iv=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,r=>`%${r.charCodeAt(0).toString(16).toUpperCase()}`),du=Symbol("encodeFragmentIdentifier");function Sv(e){switch(e.arrayFormat){case"index":return r=>(n,i)=>{const o=n.length;return i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?n:i===null?[...n,[Se(r,e),"[",o,"]"].join("")]:[...n,[Se(r,e),"[",Se(o,e),"]=",Se(i,e)].join("")]};case"bracket":return r=>(n,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?n:i===null?[...n,[Se(r,e),"[]"].join("")]:[...n,[Se(r,e),"[]=",Se(i,e)].join("")];case"colon-list-separator":return r=>(n,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?n:i===null?[...n,[Se(r,e),":list="].join("")]:[...n,[Se(r,e),":list=",Se(i,e)].join("")];case"comma":case"separator":case"bracket-separator":{const r=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(i,o)=>o===void 0||e.skipNull&&o===null||e.skipEmptyString&&o===""?i:(o=o===null?"":o,i.length===0?[[Se(n,e),r,Se(o,e)].join("")]:[[i,Se(o,e)].join(e.arrayFormatSeparator)])}default:return r=>(n,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?n:i===null?[...n,Se(r,e)]:[...n,[Se(r,e),"=",Se(i,e)].join("")]}}function Bv(e){let r;switch(e.arrayFormat){case"index":return(n,i,o)=>{if(r=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!r){o[n]=i;return}o[n]===void 0&&(o[n]={}),o[n][r[1]]=i};case"bracket":return(n,i,o)=>{if(r=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!r){o[n]=i;return}if(o[n]===void 0){o[n]=[i];return}o[n]=[...o[n],i]};case"colon-list-separator":return(n,i,o)=>{if(r=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!r){o[n]=i;return}if(o[n]===void 0){o[n]=[i];return}o[n]=[...o[n],i]};case"comma":case"separator":return(n,i,o)=>{const c=typeof i=="string"&&i.includes(e.arrayFormatSeparator)?i.split(e.arrayFormatSeparator).map(l=>kn(l,e)):i===null?i:kn(i,e);o[n]=c};case"bracket-separator":return(n,i,o)=>{const u=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!u){o[n]=i&&kn(i,e);return}const c=i===null?[]:kn(i,e).split(e.arrayFormatSeparator);if(o[n]===void 0){o[n]=c;return}o[n]=[...o[n],...c]};default:return(n,i,o)=>{if(o[n]===void 0){o[n]=i;return}o[n]=[...[o[n]].flat(),i]}}}function wh(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Se(e,r){return r.encode?r.strict?Iv(e):encodeURIComponent(e):e}function kn(e,r){return r.decode?vv(e):e}function Eh(e){return Array.isArray(e)?e.sort():typeof e=="object"?Eh(Object.keys(e)).sort((r,n)=>Number(r)-Number(n)).map(r=>e[r]):e}function xh(e){const r=e.indexOf("#");return r!==-1&&(e=e.slice(0,r)),e}function Rv(e){let r="";const n=e.indexOf("#");return n!==-1&&(r=e.slice(n)),r}function bl(e,r,n){return n==="string"&&typeof e=="string"?e:typeof n=="function"&&typeof e=="string"?n(e):n==="boolean"&&e===null?!0:n==="boolean"&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")?e.toLowerCase()==="true":n==="boolean"&&e!==null&&(e.toLowerCase()==="1"||e.toLowerCase()==="0")?e.toLowerCase()==="1":n==="string[]"&&r.arrayFormat!=="none"&&typeof e=="string"?[e]:n==="number[]"&&r.arrayFormat!=="none"&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?[Number(e)]:n==="number"&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?Number(e):r.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")?e.toLowerCase()==="true":r.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?Number(e):e}function $u(e){e=xh(e);const r=e.indexOf("?");return r===-1?"":e.slice(r+1)}function Vu(e,r){r={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...r},wh(r.arrayFormatSeparator);const n=Bv(r),i=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return i;for(const o of e.split("&")){if(o==="")continue;const u=r.decode?o.replaceAll("+"," "):o;let[c,l]=yh(u,"=");c===void 0&&(c=u),l=l===void 0?null:["comma","separator","bracket-separator"].includes(r.arrayFormat)?l:kn(l,r),n(kn(c,r),l,i)}for(const[o,u]of Object.entries(i))if(typeof u=="object"&&u!==null&&r.types[o]!=="string")for(const[c,l]of Object.entries(u)){const h=r.types[o],g=typeof h=="function"?h:h?h.replace("[]",""):void 0;u[c]=bl(l,r,g)}else typeof u=="object"&&u!==null&&r.types[o]==="string"?i[o]=Object.values(u).join(r.arrayFormatSeparator):i[o]=bl(u,r,r.types[o]);return r.sort===!1?i:(r.sort===!0?Object.keys(i).sort():Object.keys(i).sort(r.sort)).reduce((o,u)=>{const c=i[u];return o[u]=c&&typeof c=="object"&&!Array.isArray(c)?Eh(c):c,o},Object.create(null))}function vh(e,r){if(!e)return"";r={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...r},wh(r.arrayFormatSeparator);const n=c=>r.skipNull&&Pv(e[c])||r.skipEmptyString&&e[c]==="",i=Sv(r),o={};for(const[c,l]of Object.entries(e))n(c)||(o[c]=l);const u=Object.keys(o);return r.sort!==!1&&u.sort(r.sort),u.map(c=>{let l=e[c];if(r.replacer&&(l=r.replacer(c,l),l===void 0)||l===void 0)return"";if(l===null)return Se(c,r);if(Array.isArray(l)){if(l.length===0&&r.arrayFormat==="bracket-separator")return Se(c,r)+"[]";let h=l;return r.replacer&&(h=l.map((g,m)=>r.replacer(`${c}[${m}]`,g)).filter(g=>g!==void 0)),h.reduce(i(c),[]).join("&")}return Se(c,r)+"="+Se(l,r)}).filter(c=>c.length>0).join("&")}function Th(e,r){var o;r={decode:!0,...r};let[n,i]=yh(e,"#");return n===void 0&&(n=e),{url:((o=n==null?void 0:n.split("?"))==null?void 0:o[0])??"",query:Vu($u(e),r),...r&&r.parseFragmentIdentifier&&i?{fragmentIdentifier:kn(i,r)}:{}}}function Ph(e,r){r={encode:!0,strict:!0,[du]:!0,...r};const n=xh(e.url).split("?")[0]||"",i=$u(e.url),o={...Vu(i,{sort:!1,...r}),...e.query};let u=vh(o,r);u&&(u=`?${u}`);let c=Rv(e.url);if(typeof e.fragmentIdentifier=="string"){const l=new URL(n);l.hash=e.fragmentIdentifier,c=r[du]?l.hash:`#${e.fragmentIdentifier}`}return`${n}${u}${c}`}function Ih(e,r,n){n={parseFragmentIdentifier:!0,[du]:!1,...n};const{url:i,query:o,fragmentIdentifier:u}=Th(e,n);return Ph({url:i,query:Tv(o,r),fragmentIdentifier:u},n)}function Cv(e,r,n){const i=Array.isArray(r)?o=>!r.includes(o):(o,u)=>!r(o,u);return Ih(e,i,n)}const _v=Object.freeze(Object.defineProperty({__proto__:null,exclude:Cv,extract:$u,parse:Vu,parseUrl:Th,pick:Ih,stringify:vh,stringifyUrl:Ph},Symbol.toStringTag,{value:"Module"}));var hu=(e=>(e.TRANSAK_WIDGET_INITIALISED="TRANSAK_WIDGET_INITIALISED",e.TRANSAK_ORDER_CREATED="TRANSAK_ORDER_CREATED",e.TRANSAK_ORDER_SUCCESSFUL="TRANSAK_ORDER_SUCCESSFUL",e.TRANSAK_ORDER_CANCELLED="TRANSAK_ORDER_CANCELLED",e.TRANSAK_ORDER_FAILED="TRANSAK_ORDER_FAILED",e.TRANSAK_WALLET_REDIRECTION="TRANSAK_WALLET_REDIRECTION",e.TRANSAK_WIDGET_CLOSE_REQUEST="TRANSAK_WIDGET_CLOSE_REQUEST",e.TRANSAK_WIDGET_CLOSE="TRANSAK_WIDGET_CLOSE",e))(hu||{}),Dv={name:"@transak/transak-sdk",version:"4.0.0"},pu=e=>{if(!e)return!1;try{return!!new URL(e)}catch{return!1}},Nv=e=>{if(!pu(e))throw new Error("Invalid URL");return e};function Sh(e){let{name:r,version:n}=Dv,{referrer:i,widgetUrl:o}=e||{};if(!pu(i)||!pu(o))throw new Error("referrer and widgetUrl are required and must be valid URLs");let u=_v.stringifyUrl({url:o,query:{sdkName:r,sdkVersion:n}},{arrayFormat:"comma"});return Nv(u)}function Bh(e){let r=document.createElement("iframe");return Object.assign(r,{id:"transakIframe",allow:"camera;microphone;payment",src:e}),r}function Ov(){return`
#transakIframe{
width: 100%;
height: 100%;
border: none;
}
`}function Mv(){var r;let e=document.createElement("style");return e.innerHTML=Ov(),(r=document.getElementsByTagName("head")[0])==null||r.appendChild(e),e}function Lv(e){let r=Mv(),n=Bh(Sh(e));if(e.containerId){let i=document.getElementById(e.containerId);if(i)i.appendChild(n);else throw new Error("[Transak SDK] => Please enter a valid containerId")}return{styleElement:r,iframeElement:n}}var Fv=`
<svg id="transakCloseIcon" viewBox="0 0 612 612" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M306,0C136.992,0,0,136.992,0,306s136.992,306,306,306c168.988,0,306-137.012,306-306S475.008,0,306,0z M414.19,387.147
c7.478,7.478,7.478,19.584,0,27.043c-7.479,7.478-19.584,7.478-27.043,0l-81.032-81.033l-81.588,81.588
c-7.535,7.516-19.737,7.516-27.253,0c-7.535-7.535-7.535-19.737,0-27.254l81.587-81.587l-81.033-81.033
c-7.478-7.478-7.478-19.584,0-27.042c7.478-7.478,19.584-7.478,27.042,0l81.033,81.033l82.181-82.18
c7.535-7.535,19.736-7.535,27.253,0c7.535,7.535,7.535,19.737,0,27.253l-82.181,82.181L414.19,387.147z" />
</svg>
`;function Uv(e,r,n){return`
#transakRoot {
z-index: 9997;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.6);
}
#transakModal {
z-index: 9998;
position: fixed;
width: ${r};
height: calc(${n} - 24px);
top: 50%;
left: 50%;
transform: translate(-50%, calc(-50% - 12px));
margin-top: 24px;
}
#transakCloseIcon {
z-index: 9999;
position: absolute;
width: 36px;
height: 36px;
top: -24px;
right: 0;
transition: 0.5s;
color: #${e};
background: white;
border-radius: 50%;
}
#transakCloseIcon:hover,
#transakCloseIcon:focus {
color: white;
background: #${e};
cursor: pointer;
}
#transakIframe{
width: 100%;
height: 100%;
border: none;
border-radius: 10px;
background: white;
}
@media screen and (max-width: 600px) {
#transakModal {
width: 100%;
height: calc(100% - 24px);
}
#transakIframe{
border-radius: 10px 10px 0 0;
}
}
`}function kv(e){var u;let{themeColor:r="1461db",widgetWidth:n="480px",widgetHeight:i="650px"}=e,o=document.createElement("style");return o.innerHTML=Uv(r,n,i),(u=document.getElementsByTagName("head")[0])==null||u.appendChild(o),o}function Gv(e,r){var c;let n=kv(e),i=document.createElement("div"),o=document.createElement("div"),u=Bh(Sh(e));return Object.assign(o,{id:"transakModal",innerHTML:Fv}),o.appendChild(u),Object.assign(i,{id:"transakRoot",onclick:()=>r()}),i.appendChild(o),document.getElementsByTagName("body")[0].appendChild(i),(c=document.getElementById("transakCloseIcon"))==null||c.addEventListener("click",()=>r()),{styleElement:n,rootElement:i,iframeElement:u}}var Ca=new wv.EventEmitter,Gn,Hn,fs,En,xn,gi,Ri,Ci,ls,ds,It=(gi=class{constructor(e){Nt(this,Gn);Nt(this,Hn);Nt(this,fs);Nt(this,En);Nt(this,xn,!1);X(this,"init",()=>{ke(this,xn)||(ke(this,Ri).call(this),Pt(this,xn,!0))});X(this,"cleanup",()=>{var e,r;(e=ke(this,Hn))==null||e.remove(),ke(this,ls).call(this),(r=ke(this,En))==null||r.remove(),Pt(this,xn,!1)});X(this,"close",()=>{var e,r;(e=ke(this,Hn))==null||e.remove(),(r=ke(this,fs))==null||r.remove(),ke(this,ls).call(this),Pt(this,En,void 0),Pt(this,xn,!1)});Nt(this,Ri,()=>{if(window.addEventListener("message",ke(this,ds)),ke(this,Gn).containerId){let{styleElement:e,iframeElement:r}=Lv(ke(this,Gn));Pt(this,Hn,e),Pt(this,En,r)}else{let{styleElement:e,rootElement:r,iframeElement:n}=Gv(ke(this,Gn),ke(this,Ci));Pt(this,Hn,e),Pt(this,fs,r),Pt(this,En,n)}});Nt(this,Ci,()=>{var e,r;(r=(e=ke(this,En))==null?void 0:e.contentWindow)==null||r.postMessage({event_id:"TRANSAK_WIDGET_CLOSE_REQUEST"},"*")});Nt(this,ls,()=>{Ca.removeAllListeners(),window.removeEventListener("message",ke(this,ds))});Nt(this,ds,e=>{var r;(r=e==null?void 0:e.data)!=null&&r.event_id&&ke(this,xn)&&Ca.emit(e.data.event_id,e.data.data)});if(!(e!=null&&e.widgetUrl))throw new Error("[Transak SDK] => widgetUrl is required");Pt(this,Gn,e)}},Gn=new WeakMap,Hn=new WeakMap,fs=new WeakMap,En=new WeakMap,xn=new WeakMap,Ri=new WeakMap,Ci=new WeakMap,ls=new WeakMap,ds=new WeakMap,X(gi,"EVENTS",hu),X(gi,"on",(e,r)=>{hu[e]&&Ca.on(e,r)}),gi);async function Hv(e){const r=Tn.get().apiUrl,n=new URL(`${r}/order-status/transak`);return n.searchParams.append("orderId",e),Tn.get().dev&&n.searchParams.append("dev","true"),await fetch(n).then(o=>o.json()).then(o=>o).catch(o=>{throw o})}class Qv extends bh{constructor(r,n){super(r,n)}async executeStep(){const r=this.stepManager.step;if(r.type==="onramp_via_link")try{const n=await this.openOnRampLink();if(n.status!=="DONE")return ju(this.stepManager.routeId),r;await this.checkOrderStatus(n.orderId)}catch(n){throw new Error(`TRANSAK_STEP_ERROR: ${n.message}`)}return this.stepManager.completeStep()}async checkOrderStatus(r){if(!r)throw new Error("No Order ID provided to check status.");const n="STATUS_CHECK",i=this.stepManager.findOrCreateProcess({status:"PENDING",type:n,message:"Checking order status with Transak."});return new Promise(o=>{const u=async l=>{const h=await Hv(r);if(this.stepManager.executionStopped)return clearInterval(l),o(i);if(h.status==="AWAITING_PAYMENT_FROM_USER"||h.status==="PAYMENT_DONE_MARKED_BY_USER")this.stepManager.updateProcess({status:"PENDING",type:n,message:"Transak order is awaiting for payment."});else if(h.status==="PROCESSING"||h.status==="PENDING_DELIVERY_FROM_TRANSAK")this.stepManager.updateProcess({status:"PENDING",type:n,message:"Payment is pending processing with Transak."});else if(h.status==="ON_HOLD_PENDING_DELIVERY_FROM_TRANSAK")this.stepManager.updateProcess({status:"PENDING",type:n,message:`Order is on hold pending delivery from Transak. Order ID: ${r}`});else{if(h.status==="COMPLETED")return clearInterval(l),o(this.stepManager.updateProcess({status:"DONE",type:n,message:"Payment completed successfully.",params:{toAmount:h.cryptoAmount,toToken:h.cryptoCurrency,fromAmount:h.fiatAmount,fromCurrency:h.fiatCurrency}}));if(h.status==="CANCELLED")return clearInterval(l),o(this.stepManager.updateProcess({status:"CANCELLED",type:n,message:"Payment was cancelled."}));if(h.status==="EXPIRED")return clearInterval(l),o(this.stepManager.updateProcess({status:"CANCELLED",type:n,message:"Order expired."}));if(h.status==="REFUNDED")return clearInterval(l),o(this.stepManager.updateProcess({status:"CANCELLED",type:n,message:"Order was refunded."}));if(h.status==="FAILED")return clearInterval(l),o(this.stepManager.updateProcess({status:"FAILED",type:n,message:"Order failed: "+h.statusMessage}))}},c=setInterval(async()=>{await u(c)},3e3)})}async openOnRampLink(){const r="EXTERNAL",n=this.stepManager.findOrCreateProcess({status:"ACTION_REQUIRED",type:r,message:"Complete payment process in Transak window."});return new Promise(i=>{if(n.status==="DONE"&&n.orderId||this.stepManager.executionStopped||this.stepManager.interactionDisabled)return i(n);const o={widgetUrl:this.stepManager.step.link,referrer:`${window.location.protocol}//${window.location.host}`},u=new It(o);u.init(),It.on(It.EVENTS.TRANSAK_WIDGET_CLOSE,()=>(u.close(),i(this.stepManager.updateProcess({status:"CANCELLED",type:r,message:"Payment window was closed before completing the process."})))),It.on(It.EVENTS.TRANSAK_ORDER_SUCCESSFUL,c=>{if(c&&typeof c=="object"&&"id"in c&&"status"in c){const l=c.id;return u.close(),i(this.stepManager.updateProcess({status:"DONE",type:r,message:`Payment completed with Transak. Order ID: ${l}`,params:{orderId:l}}))}else return u.close(),i(this.stepManager.updateProcess({status:"FAILED",type:r,message:"Invalid order data received from Transak."}))}),It.on(It.EVENTS.TRANSAK_WIDGET_CLOSE_REQUEST,()=>(u.close(),i(this.stepManager.updateProcess({status:"CANCELLED",type:r,message:"Payment window was closed."})))),It.on(It.EVENTS.TRANSAK_ORDER_FAILED,c=>{const l=(c==null?void 0:c.id)||"unknown";return u.close(),i(this.stepManager.updateProcess({status:"FAILED",type:r,message:`Payment failed with Transak. Order ID: ${l}`,params:{orderId:l}}))}),It.on(It.EVENTS.TRANSAK_ORDER_CANCELLED,()=>(u.close(),i(this.stepManager.updateProcess({status:"CANCELLED",type:r,message:"Order was cancelled."}))))})}}function zv(e,r){if(r.type==="onramp_via_link")switch(e.provider.key){case"transak":return new Qv(e,r)}else if(r.type==="lifi_token_swap")return new bv(e,r);throw new Error(`No executor found for ${r.type}`)}async function Rh(e,r){if(e.id){const o=ye.get(e.id);if(o!=null&&o.promise)return o.promise}const n=ye.set({...e,status:"RUNNING"},r),i=jv(n);return ye.update(n.route.id,{promise:i}),i}function Wv(e,r){const n=ye.get(e.id);if(n&&"executeInBackground"in r){ye.update(e.id,{executionOptions:r});const i=n.route.steps.find(o=>o.type.includes("lifi"));i&&i.lifiRoute&&Wu(i.lifiRoute,{executeInBackground:r.executeInBackground})}}function ju(e){const r=ye.get(e);if(!r)return;ye.update(e,{route:{...r.route,status:"HALTING"},executionOptions:{allowExecution:!1}});const n=r.route.steps.find(i=>i.type.includes("lifi"));n&&n.lifiRoute&&fu(n.lifiRoute)}async function $v(e,r){if(!e.id)return Promise.reject({error:new Error("Quote does not have an id. Please call executeRoute instead."),route:e});const n=ye.get(e.id);if(n)return n.promise;const i=await Vv(e);return Rh(i,r)}async function Vv(e){for(let r=0;r<e.steps.length;r++){const n=e.steps[r];n.execution&&(n.execution.process=n.execution.process.filter(i=>i.status==="DONE"))}return e}async function jv(e){var o,u;for(let c=0;c<e.route.steps.length;c++){if(((o=e.route.steps[c].execution)==null?void 0:o.status)==="DONE")continue;const h=zv(e.route,e.route.steps[c]);try{await h.executeStep();const g=ye.get(e.route.id);if(g&&!((u=g.executionOptions)!=null&&u.allowExecution)){const m=ye.update(g.route.id,{route:{...g.route,status:"HALTED"}});return ye.delete(m.id),m}}catch(g){const m=ye.get(e.route.id);throw ye.update(m.route.id,{route:{...m.route,status:"HALTED"}}),ye.delete(m.route.id),new Error("ERROR in SDK",g)}}const r=ye.get(e.route.id),n=r.route.steps.every(c=>{var l;return((l=c.execution)==null?void 0:l.status)==="DONE"});let i;return n?i=ye.update(r.route.id,{route:{...r.route,status:"DONE"}}):i=ye.update(r.route.id,{route:{...r.route,status:"HALTED"}}),ye.delete(i.id),i}function qv(e,r,n="include"){return r.length?e.map(o=>({...o,paymentMethods:o.paymentMethods.filter(u=>{const c=r.includes(u.method);return n==="include"?c:!c})})).filter(o=>o.paymentMethods.length>0):[...e]}function Jv(e,r,n){return{type:e,provider:n,...r}}function Kv(e,r=!0,n="asc"){const i=(o,u)=>{const c=n==="asc"?1:-1;return(o.pay.totalFeeFiat-u.pay.totalFeeFiat)*c};return r?e.map(o=>({...o,paymentMethods:[...o.paymentMethods].sort(i)})):e.flatMap(o=>o.paymentMethods.map(u=>({...o,paymentMethods:[u]}))).sort((o,u)=>i(o.paymentMethods[0],u.paymentMethods[0]))}function Yv(e){return e.flatMap(n=>n.paymentMethods.map(i=>({...n,paymentMethods:[i]}))).sort((n,i)=>n.paymentMethods[0].receive.amountFiat-i.paymentMethods[0].receive.amountFiat)}function Xv(e){return e.map(r=>({...r,paymentMethods:r.paymentMethods.sort((n,i)=>n.receive.amountFiat-i.receive.amountFiat)}))}exports.BaseError=U;exports.EVM=J8;exports.Hash=gu;exports.HttpRequestError=c2;exports.InvalidAddressError=gr;exports.abytes=Wn;exports.aexists=ts;exports.ahash=ww;exports.anumber=es;exports.call=xd;exports.clean=mr;exports.concat=Ft;exports.concatBytes=Iw;exports.config=Tn;exports.createOnRampConfig=sv;exports.decodeErrorResult=Zl;exports.encodeAbiParameters=ps;exports.executeRoute=Rh;exports.fetchConfig=ov;exports.fetchQuotes=iv;exports.filterByPaymentMethod=qv;exports.getUrl=Iu;exports.isAddress=on;exports.isHex=Bt;exports.localBatchGatewayRequest=Td;exports.localBatchGatewayUrl=Nu;exports.quoteToRoute=Jv;exports.randomBytes=Sw;exports.resumeRouteExecution=$v;exports.sha256=ld;exports.sortByFees=Kv;exports.sortByHighestReturn=Yv;exports.sortProviderQuotes=Xv;exports.stopRouteExecution=ju;exports.stringify=Ut;exports.toBytes=Di;exports.updateRouteExecution=Wv;
//# sourceMappingURL=index-CCy6TOun.cjs.map