@depay/widgets 11.1.1 → 11.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- function t(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}function e(e){return function(){var n=this,r=arguments;return new Promise((function(i,o){var a=e.apply(n,r);function s(e){t(a,i,o,s,u,"next",e)}function u(e){t(a,i,o,s,u,"throw",e)}s(void 0)}))}}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function o(t){var e={exports:{}};return t(e,e.exports),e.exports}var a=o((function(t){function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})),s=o((function(t){var e=a.default;function n(){t.exports=n=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var r={},i=Object.prototype,o=i.hasOwnProperty,a=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),s=new S(r||[]);return a(o,"_invoke",{value:A(t,n,s)}),o}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var p={};function m(){}function g(){}function y(){}var v={};h(v,u,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(I([])));w&&w!==i&&o.call(w,u)&&(v=w);var M=y.prototype=m.prototype=Object.create(v);function k(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,n){function r(i,a,s,u){var c=f(t[i],t,a);if("throw"!==c.type){var l=c.arg,h=l.value;return h&&"object"==e(h)&&o.call(h,"__await")?n.resolve(h.__await).then((function(t){r("next",t,s,u)}),(function(t){r("throw",t,s,u)})):n.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return r("throw",t,s,u)}))}u(c.arg)}var i;a(this,"_invoke",{value:function(t,e){function o(){return new n((function(n,i){r(t,e,n,i)}))}return i=i?i.then(o,o):o()}})}function A(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return T()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=f(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var i=f(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(o.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:T}}function T(){return{value:void 0,done:!0}}return g.prototype=y,a(M,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:g,configurable:!0}),g.displayName=h(y,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,h(t,l,"GeneratorFunction")),t.prototype=Object.create(M),t},r.awrap=function(t){return{__await:t}},k(L.prototype),h(L.prototype,c,(function(){return this})),r.AsyncIterator=L,r.async=function(t,e,n,i,o){void 0===o&&(o=Promise);var a=new L(d(t,e,n,i),o);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(M),h(M,l,"Generator"),h(M,u,(function(){return this})),h(M,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},r.values=I,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),N(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:I(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},r}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),u=s(),c=u;try{regeneratorRuntime=u}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=u:Function("r","regeneratorRuntime = r")(u)}const l="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGZpbGw9IiNGMEI5MEIiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==";var h={name:"bsc",id:"0x38",networkId:"56",namespace:"eip155",label:"BNB Smart Chain",fullName:"BNB Smart Chain Mainnet",logo:l,currency:{name:"BNB",symbol:"BNB",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"},stables:{usd:["0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d","0x55d398326f99059fF775485246999027B3197955","0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"]},explorer:"https://bscscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://bscscan.com/tx/${t.id||t}`:e?`https://bscscan.com/token/${e}`:n?`https://bscscan.com/address/${n}`:void 0,endpoints:["https://bsc-dataseed.binance.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed3.defibit.io"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"BNB",name:"Binance Coin",decimals:18,logo:l,type:"NATIVE"},{address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",symbol:"WBNB",name:"Wrapped BNB",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png",type:"20"},{address:"0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56",symbol:"BUSD",name:"BUSD Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56/logo.png",type:"20"},{address:"0x55d398326f99059fF775485246999027B3197955",symbol:"USDT",name:"Tether USD",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x55d398326f99059fF775485246999027B3197955/logo.png",type:"20"},{address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",symbol:"USDC",name:"USD Coin",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d/logo.png",type:"20"},{address:"0x2170Ed0880ac9A755fd29B2688956BD959F933F8",symbol:"ETH",name:"Ethereum Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2170Ed0880ac9A755fd29B2688956BD959F933F8/logo.png",type:"20"},{address:"0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",symbol:"Cake",name:"PancakeSwap Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82/logo.png",type:"20"},{address:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c",symbol:"BTCB",name:"BTCB Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c/logo.png",type:"20"},{address:"0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb",symbol:"DEPAY",name:"DePay",decimals:18,logo:"https://integrate.depay.com/tokens/bsc/0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb/image",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const d="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiCgkgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8Zz4KCQk8cGF0aCBmaWxsPSIjMzQzNDM0IiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGZpbGw9IiM4QzhDOEMiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggZmlsbD0iIzNDM0MzQiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGZpbGw9IiM4QzhDOEMiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiMxNDE0MTQiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBmaWxsPSIjMzkzOTM5IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K";var f={name:"ethereum",id:"0x1",networkId:"1",namespace:"eip155",label:"Ethereum",fullName:"Ethereum Mainnet",logo:d,currency:{name:"Ether",symbol:"ETH",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},stables:{usd:["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0x6B175474E89094C44Da98b954EedeAC495271d0F"]},explorer:"https://etherscan.io",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://etherscan.io/tx/${t.id||t}`:e?`https://etherscan.io/token/${e}`:n?`https://etherscan.io/address/${n}`:void 0,endpoints:["https://rpc.ankr.com/eth","https://eth.llamarpc.com","https://ethereum.publicnode.com"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"ETH",name:"Ether",decimals:18,logo:d,type:"NATIVE"},{address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",symbol:"WETH",name:"Wrapped Ether",decimals:18,logo:"https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",type:"20"},{address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",type:"20"},{address:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",symbol:"WBTC",name:"Wrapped BTC",decimals:8,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png",type:"20"},{address:"0xdAC17F958D2ee523a2206206994597C13D831ec7",symbol:"USDT",name:"Tether USD",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",type:"20"},{address:"0x6B175474E89094C44Da98b954EedeAC495271d0F",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png",type:"20"},{address:"0x853d955aCEf822Db058eb8505911ED77F175b99e",symbol:"FRAX",name:"Frax",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x853d955aCEf822Db058eb8505911ED77F175b99e/logo.png",type:"20"},{address:"0x8E870D67F660D95d5be530380D0eC0bd388289E1",symbol:"USDP",name:"Pax Dollar",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x8E870D67F660D95d5be530380D0eC0bd388289E1/logo.png",type:"20"},{address:"0x956F47F50A910163D8BF957Cf5846D573E7f87CA",symbol:"FEI",name:"Fei USD",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x956F47F50A910163D8BF957Cf5846D573E7f87CA/logo.png",type:"20"},{address:"0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb",symbol:"DEPAY",name:"DePay",decimals:18,logo:"https://integrate.depay.com/tokens/ethereum/0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb/image",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const p="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K";var m={name:"fantom",id:"0xFA",networkId:"250",namespace:"eip155",label:"Fantom",fullName:"Fantom Opera",logo:p,currency:{name:"Fantom",symbol:"FTM",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83"},stables:{usd:["0x04068DA6C83AFCFA0e13ba15A6696662335D5B75","0x049d68029688eAbF473097a2fC38ef61633A3C7A","0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E"]},explorer:"https://ftmscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://ftmscan.com/tx/${t.id||t}`:e?`https://ftmscan.com/token/${e}`:n?`https://ftmscan.com/address/${n}`:void 0,endpoints:["https://rpc.ftm.tools","https://fantom.publicnode.com","https://rpc2.fantom.network"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"FTM",name:"Fantom",decimals:18,logo:p,type:"NATIVE"},{address:"0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",symbol:"WFTM",name:"Wrapped Fantom",decimals:18,logo:p,type:"20"},{address:"0x04068DA6C83AFCFA0e13ba15A6696662335D5B75",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://assets.spooky.fi/tokens/USDC.png",type:"20"},{address:"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://assets.spooky.fi/tokens/DAI.png",type:"20"},{address:"0x049d68029688eAbF473097a2fC38ef61633A3C7A",symbol:"fUSDT",name:"Frapped USDT",decimals:6,logo:"https://assets.spooky.fi/tokens/fUSDT.png",type:"20"},{address:"0x74b23882a30290451A17c44f4F05243b6b58C76d",symbol:"ETH",name:"Ethereum",decimals:18,logo:"https://assets.spooky.fi/tokens/wETH.png",type:"20"},{address:"0x321162Cd933E2Be498Cd2267a90534A804051b11",symbol:"BTC",name:"Bitcoin",decimals:8,logo:"https://assets.spooky.fi/tokens/wBTC.png",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const g="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODI0N0U1IiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==";var y={name:"polygon",id:"0x89",networkId:"137",namespace:"eip155",label:"Polygon",fullName:"Polygon Mainnet",logo:g,currency:{name:"Polygon",symbol:"MATIC",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},stables:{usd:["0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174","0xc2132D05D31c914a87C6611C10748AEb04B58e8F","0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"]},explorer:"https://polygonscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://polygonscan.com/tx/${t.id||t}`:e?`https://polygonscan.com/token/${e}`:n?`https://polygonscan.com/address/${n}`:void 0,endpoints:["https://polygon-rpc.com","https://poly-rpc.gateway.pokt.network","https://polygon.llamarpc.com"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"MATIC",name:"Polygon",decimals:18,logo:g,type:"NATIVE"},{address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",symbol:"WMATIC",name:"Wrapped Matic",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0/logo.png",type:"20"},{address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",symbol:"WETH",name:"Wrapped Ether",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",type:"20"},{address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",type:"20"},{address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F",symbol:"USDT",name:"Tether USD",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",type:"20"},{address:"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",symbol:"miMATIC",name:"miMATIC",decimals:18,logo:"https://raw.githubusercontent.com/0xlaozi/qidao/main/images/mimatic-red.png",type:"20"},{address:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png",type:"20"},{address:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",symbol:"WBTC",name:"Wrapped BTC",decimals:8,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const v="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNPTEFOQV9TVkdJRF8xIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjM1LjU5NzQiIHkxPSI3NzIuOTI3NyIgeDI9IjE4LjE0MjIiIHkyPSI4MDYuMzYxNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTc2NS43NjUpIj4KCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMEZGQTMiLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEQzFGRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggZmlsbD0idXJsKCNTT0xBTkFfU1ZHSURfMSkiIGQ9Ik0xMiwyOS4xYzAuMi0wLjIsMC41LTAuMywwLjctMC4zSDM4YzAuNSwwLDAuNywwLjYsMC40LDAuOWwtNSw1Yy0wLjIsMC4yLTAuNSwwLjMtMC43LDAuM0g3LjQKCUM2LjksMzUsNi43LDM0LjQsNywzNEwxMiwyOS4xeiIvPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzAwMDAwMTYwODY5NzIyMjI5NDY0Mzk5NzMwMDAwMDA5NDA3MDIxNTc4MjQ4MDg3NzExXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNy45NTk1IiB5MT0iNzY5LjEyNDQiIHgyPSIxMC41MDQzIiB5Mj0iODAyLjU1ODIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIC03NjUuNzY1KSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDBGRkEzIi8+Cgk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojREMxRkZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfMDAwMDAxNjA4Njk3MjIyMjk0NjQzOTk3MzAwMDAwMDk0MDcwMjE1NzgyNDgwODc3MTFfKTsiIGQ9Ik0xMiwxMC42YzAuMi0wLjIsMC41LTAuMywwLjctMC4zSDM4CgljMC41LDAsMC43LDAuNiwwLjQsMC45bC01LDVjLTAuMiwwLjItMC41LDAuMy0wLjcsMC4zSDcuNGMtMC41LDAtMC43LTAuNi0wLjQtMC45TDEyLDEwLjZ6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMDAwMDAxMzkyODMyMTczNzg2NTYwOTQ4NjAwMDAwMDM2OTQ4OTUzNzkwNzgxMTY3ODJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMxLjc0MDYiIHkxPSI3NzEuMDk4NSIgeDI9IjE0LjI4NTUiIHkyPSI4MDQuNTMyMyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTc2NS43NjUpIj4KCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMEZGQTMiLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEQzFGRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8wMDAwMDEzOTI4MzIxNzM3ODY1NjA5NDg2MDAwMDAwMzY5NDg5NTM3OTA3ODExNjc4Ml8pOyIgZD0iTTMzLjQsMTkuOGMtMC4yLTAuMi0wLjUtMC4zLTAuNy0wLjNINy40CgljLTAuNSwwLTAuNywwLjYtMC40LDAuOWw1LDVjMC4yLDAuMiwwLjUsMC4zLDAuNywwLjNIMzhjMC41LDAsMC43LTAuNiwwLjQtMC45TDMzLjQsMTkuOHoiLz4KPC9zdmc+Cg==";var b={name:"solana",networkId:"mainnetBeta",namespace:"solana",label:"Solana",fullName:"Solana",logo:v,currency:{name:"Solana",symbol:"SOL",decimals:9,address:"11111111111111111111111111111111"},wrapped:{address:"So11111111111111111111111111111111111111112"},stables:{usd:["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"]},explorer:"https://solscan.io",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://solscan.io/tx/${t.id||t}`:e?`https://solscan.io/token/${e}`:n?`https://solscan.io/address/${n}`:void 0,endpoints:["https://solana-mainnet.phantom.app/YBPpkkN4g91xDiAnTE9r0RcMkjg0sKUIWvAfoFVJ","https://mainnet-beta.solflare.network","https://solana-mainnet.rpc.extrnode.com"],rpc:"https://api.mainnet-beta.solana.com",tokens:[{address:"11111111111111111111111111111111",symbol:"SOL",name:"Solana",decimals:9,logo:v,type:"NATIVE"},{address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://img.raydium.io/icon/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.png",type:"SPL"},{address:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",symbol:"USDT",name:"USDT",decimals:6,logo:"https://img.raydium.io/icon/Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB.png",type:"SPL"},{address:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",symbol:"stSOL",name:"Lido Staked SOL",decimals:9,logo:"https://img.raydium.io/icon/7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj.png",type:"SPL"},{address:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",symbol:"wBTC",name:"Wrapped Bitcoin (Sollet)",decimals:6,logo:"https://img.raydium.io/icon/9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E.png",type:"SPL"},{address:"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",symbol:"BONK",name:"BONK",decimals:5,logo:"https://img.raydium.io/icon/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263.png",type:"SPL"}],zero:"0",maxInt:"340282366920938463463374607431768211455"};const w="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiCgkgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8cGF0aCBmaWxsPSIjMDAzN0MxIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=";var M={name:"velas",id:"0x6a",networkId:"106",namespace:"eip155",label:"VELAS",fullName:"Velas EVM Mainnet",logo:w,currency:{name:"Velas",symbol:"VLX",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xc579D1f3CF86749E05CD06f7ADe17856c2CE3126"},stables:{usd:["0xc111c29A988AE0C0087D97b33C6E6766808A3BD3","0x01445C31581c354b7338AC35693AB2001B50b9aE"]},explorer:"https://evmexplorer.velas.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://evmexplorer.velas.com/tx/${t.id||t}`:e?`https://evmexplorer.velas.com/token/${e}`:n?`https://evmexplorer.velas.com/address/${n}`:void 0,endpoints:["https://mainnet.velas.com/rpc","https://evmexplorer.velas.com/rpc","https://explorer.velas.com/rpc"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"VLX",name:"Velas",decimals:18,logo:w,type:"NATIVE"},{address:"0xc579D1f3CF86749E05CD06f7ADe17856c2CE3126",symbol:"WVLX",name:"Wrapped Velas",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xc579d1f3cf86749e05cd06f7ade17856c2ce3126/logo.png?raw=true",type:"20"},{address:"0xc111c29A988AE0C0087D97b33C6E6766808A3BD3",symbol:"BUSD",name:"Multichain BUSD",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xc111c29a988ae0c0087d97b33c6e6766808a3bd3/logo.png?raw=true",type:"20"},{address:"0x01445C31581c354b7338AC35693AB2001B50b9aE",symbol:"USDT",name:"Multichain USDT",decimals:6,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0x01445c31581c354b7338ac35693ab2001b50b9ae/logo.png?raw=true",type:"20"},{address:"0x85219708c49aa701871Ad330A94EA0f41dFf24Ca",symbol:"ETH",name:"ETH",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0x85219708c49aa701871ad330a94ea0f41dff24ca/logo.png?raw=true",type:"20"},{address:"0xaBf26902Fd7B624e0db40D31171eA9ddDf078351",symbol:"WAG",name:"WagyuSwap",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xabf26902fd7b624e0db40d31171ea9dddf078351/logo.png?raw=true",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const k=[f,h,y,b,m,M];for(var L={ethereum:f,bsc:h,polygon:y,solana:b,fantom:m,velas:M,all:k,findById:function(t){let e=t;e.match("0x0")&&(e=e.replace(/0x0+/,"0x"));let n=k.find((t=>t.id&&t.id.toLowerCase()==e.toLowerCase()));return n},findByNetworkId:function(t){t=t.toString();let e=k.find((e=>e.networkId==t));return e},findByName:function(t){return k.find((e=>e.name==t))}},A=function(t){var e=C(t),n=e[0],r=e[1];return 3*(n+r)/4-r},x=function(t){var e,n,r=C(t),i=r[0],o=r[1],a=new I(function(t,e,n){return 3*(e+n)/4-n}(0,i,o)),s=0,u=o>0?i-4:i;for(n=0;n<u;n+=4)e=S[t.charCodeAt(n)]<<18|S[t.charCodeAt(n+1)]<<12|S[t.charCodeAt(n+2)]<<6|S[t.charCodeAt(n+3)],a[s++]=e>>16&255,a[s++]=e>>8&255,a[s++]=255&e;2===o&&(e=S[t.charCodeAt(n)]<<2|S[t.charCodeAt(n+1)]>>4,a[s++]=255&e);1===o&&(e=S[t.charCodeAt(n)]<<10|S[t.charCodeAt(n+1)]<<4|S[t.charCodeAt(n+2)]>>2,a[s++]=e>>8&255,a[s++]=255&e);return a},E=function(t){for(var e,n=t.length,r=n%3,i=[],o=16383,a=0,s=n-r;a<s;a+=o)i.push(D(t,a,a+o>s?s:a+o));1===r?(e=t[n-1],i.push(N[e>>2]+N[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],i.push(N[e>>10]+N[e>>4&63]+N[e<<2&63]+"="));return i.join("")},N=[],S=[],I="undefined"!=typeof Uint8Array?Uint8Array:Array,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=0;j<64;++j)N[j]=T[j],S[T.charCodeAt(j)]=j;function C(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function D(t,e,n){for(var r,i,o=[],a=e;a<n;a+=3)r=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(N[(i=r)>>18&63]+N[i>>12&63]+N[i>>6&63]+N[63&i]);return o.join("")}S["-".charCodeAt(0)]=62,S["_".charCodeAt(0)]=63;var O={byteLength:A,toByteArray:x,fromByteArray:E},_=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,h=n?i-1:0,d=n?-1:1,f=t[e+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+t[e+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+t[e+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,r),o-=c}return(f?-1:1)*a*Math.pow(2,o-r)},z=function(t,e,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,h=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+f]=255&s,f+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;t[n+f]=255&a,f+=p,a/=256,c-=8);t[n+f-p]|=128*m},P=o((function(t,e){const n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=function(t){+t!=t&&(t=0);return o.alloc(+t)},e.INSPECT_MAX_BYTES=50;const r=2147483647;function i(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,o.prototype),e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|d(t,e);let r=i(n);const a=r.write(t,e);a!==n&&(r=r.slice(0,a));return r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(J(t,Uint8Array)){const e=new Uint8Array(t);return l(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(J(t,ArrayBuffer)||t&&J(t.buffer,ArrayBuffer))return l(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(J(t,SharedArrayBuffer)||t&&J(t.buffer,SharedArrayBuffer)))return l(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return o.from(r,e,n);const a=function(t){if(o.isBuffer(t)){const e=0|h(t.length),n=i(e);return 0===n.length||t.copy(n,0,0,e),n}if(void 0!==t.length)return"number"!=typeof t.length||q(t.length)?i(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(a)return a;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return o.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return s(t),i(t<0?0:0|h(t))}function c(t){const e=t.length<0?0:0|h(t.length),n=i(e);for(let r=0;r<e;r+=1)n[r]=255&t[r];return n}function l(t,e,n){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(n||0))throw new RangeError('"length" is outside of buffer bounds');let r;return r=void 0===e&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,e):new Uint8Array(t,e,n),Object.setPrototypeOf(r,o.prototype),r}function h(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||J(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Z(t).length;default:if(i)return r?-1:G(t).length;e=(""+e).toLowerCase(),i=!0}}function f(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,e,n);case"utf8":case"utf-8":return L(this,e,n);case"ascii":return x(this,e,n);case"latin1":case"binary":return E(this,e,n);case"base64":return k(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function p(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:g(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):g(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;o<s;o++)if(c(t,o)===c(e,-1===r?0:o-r)){if(-1===r&&(r=o),o-r+1===u)return r*a}else-1!==r&&(o-=o-r),r=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;r<u;r++)if(c(t,o+r)!==c(e,r)){n=!1;break}if(n)return o}return-1}function y(t,e,n,r){n=Number(n)||0;const i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a<r;++a){const r=parseInt(e.substr(2*a,2),16);if(q(r))return a;t[n+a]=r}return a}function v(t,e,n,r){return V(G(e,t.length-n),t,n,r)}function b(t,e,n,r){return V(function(t){const e=[];for(let n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function w(t,e,n,r){return V(Z(e),t,n,r)}function M(t,e,n,r){return V(function(t,e){let n,r,i;const o=[];for(let a=0;a<t.length&&!((e-=2)<0);++a)n=t.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function k(t,e,n){return 0===e&&n===t.length?O.fromByteArray(t):O.fromByteArray(t.slice(e,n))}function L(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i<n;){const e=t[i];let o=null,a=e>239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a}return function(t){const e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);let n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=A));return n}(r)}e.kMaxLength=r,o.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),o.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}}),o.poolSize=8192,o.from=function(t,e,n){return a(t,e,n)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array),o.alloc=function(t,e,n){return function(t,e,n){return s(t),t<=0?i(t):void 0!==e?"string"==typeof n?i(t).fill(e,n):i(t).fill(e):i(t)}(t,e,n)},o.allocUnsafe=function(t){return u(t)},o.allocUnsafeSlow=function(t){return u(t)},o.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==o.prototype},o.compare=function(t,e){if(J(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),J(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let n=t.length,r=e.length;for(let i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);let n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;const r=o.allocUnsafe(e);let i=0;for(n=0;n<t.length;++n){let e=t[n];if(J(e,Uint8Array))i+e.length>r.length?(o.isBuffer(e)||(e=o.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else{if(!o.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i)}i+=e.length}return r},o.byteLength=d,o.prototype._isBuffer=!0,o.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)p(this,e,e+1);return this},o.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},o.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},o.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?L(this,0,t):f.apply(this,arguments)},o.prototype.toLocaleString=o.prototype.toString,o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){let t="";const n=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(t+=" ... "),"<Buffer "+t+">"},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(t,e,n,r,i){if(J(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;let a=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0);const u=Math.min(a,s),c=this.slice(r,i),l=t.slice(e,n);for(let t=0;t<u;++t)if(c[t]!==l[t]){a=c[t],s=l[t];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return m(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return m(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case"hex":return y(this,t,e,n);case"utf8":case"utf-8":return v(this,t,e,n);case"ascii":case"latin1":case"binary":return b(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function x(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function E(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function N(t,e,n){const r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);let i="";for(let r=e;r<n;++r)i+=X[t[r]];return i}function S(t,e,n){const r=t.slice(e,n);let i="";for(let t=0;t<r.length-1;t+=2)i+=String.fromCharCode(r[t]+256*r[t+1]);return i}function I(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function T(t,e,n,r,i,a){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function j(t,e,n,r,i){W(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function C(t,e,n,r,i){W(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function P(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),z(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),z(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);const r=this.subarray(t,e);return Object.setPrototypeOf(r,o.prototype),r},o.prototype.readUintLE=o.prototype.readUIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUintBE=o.prototype.readUIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},o.prototype.readUint8=o.prototype.readUInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))})),o.prototype.readBigUInt64BE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return(BigInt(r)<<BigInt(32))+BigInt(i)})),o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*e)),r},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||I(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||I(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),o.prototype.readBigInt64BE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(r)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+n)})),o.prototype.readFloatLE=function(t,e){return t>>>=0,e||I(t,4,this.length),_(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||I(t,4,this.length),_(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||I(t,8,this.length),_(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||I(t,8,this.length),_(this,t,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){T(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},o.prototype.writeUintBE=o.prototype.writeUIntBE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){T(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeBigUInt64LE=K((function(t,e=0){return j(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeBigUInt64BE=K((function(t,e=0){return C(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);T(this,t,e,n,r-1,-r)}let i=0,o=1,a=0;for(this[e]=255&t;++i<n&&(o*=256);)t<0&&0===a&&0!==this[e+i-1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);T(this,t,e,n,r-1,-r)}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeBigInt64LE=K((function(t,e=0){return j(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeBigInt64BE=K((function(t,e=0){return C(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeFloatLE=function(t,e,n){return P(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return P(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,r){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);const i=r-n;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,n,r):Uint8Array.prototype.set.call(t,this.subarray(n,r),e),i},o.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!o.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===t.length){const e=t.charCodeAt(0);("utf8"===r&&e<128||"latin1"===r)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;let i;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i<n;++i)this[i]=t;else{const a=o.isBuffer(t)?t:o.from(t,r),s=a.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<n-e;++i)this[i+e]=a[i%s]}return this};const R={};function U(t,e,n){R[t]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function Q(t){let e="",n=t.length;const r="-"===t[0]?1:0;for(;n>=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return`${t.slice(0,n)}${e}`}function W(t,e,n,r,i,o){if(t>n||t<e){const r="bigint"==typeof e?"n":"";let i;throw i=o>3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new R.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){F(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||Y(e,t.length-(n+1))}(r,i,o)}function F(t,e){if("number"!=typeof t)throw new R.ERR_INVALID_ARG_TYPE(e,"number",t)}function Y(t,e,n){if(Math.floor(t)!==t)throw F(t,n),new R.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new R.ERR_BUFFER_OUT_OF_BOUNDS;throw new R.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}U("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),U("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),U("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=Q(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=Q(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const H=/[^+/0-9A-Za-z-_]/g;function G(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a<r;++a){if(n=t.charCodeAt(a),n>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Z(t){return O.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(H,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,n,r){let i;for(i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function J(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i]}return e}();function K(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}})),B=o((function(t){!function(t,e){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}function i(t,e,n){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(n=e,e=10),this._init(t||0,e||10,n||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:P.Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function s(t,e,n){var r=a(t,n);return n-1>=e&&(r|=a(t,n-1)<<4),r}function u(t,e,r,i){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u<s;u++){var c=t.charCodeAt(u)-48;o*=i,a=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&a<i,"Invalid character"),o+=a}return o}function c(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,n){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,a=0;if("be"===n)for(r=t.length-1;r>=e;r-=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(r=(t.length-e)%2==0?e+1:e;r<t.length;r+=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=e)r++;r--,i=i/e|0;for(var o=t.length-n,a=o%r,s=Math.min(o,o-a)+n,c=0,l=n;l<s;l+=r)c=u(t,l,l+r,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==a){var h=1;for(c=u(t,l,t.length,e),l=0;l<a;l++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype._move=function(t){c(t,this)},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){i.prototype.inspect=l}else i.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<i|o)).toString(16);o=s>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=d[t],l=f[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(l).toString(t);r=(p=p.idivn(l)).isZero()?m+r:h[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,n){n.negative=e.negative^t.negative;var r=t.length+e.length|0;n.length=r,r=r-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c<r;c++){for(var l=u>>>26,h=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;l+=(a=(i=0|t.words[p])*(o=0|e.words[f])+h)/67108864|0,h=67108863&a}n.words[c]=0|h,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}i.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n++]=255&a,n<t.length&&(t[n++]=a>>8&255),n<t.length&&(t[n++]=a>>16&255),6===o?(n<t.length&&(t[n++]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n<t.length)for(t[n++]=r;n<t.length;)t[n++]=0},i.prototype._toArrayLikeBE=function(t,e){for(var n=t.length-1,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n--]=255&a,n>=0&&(t[n--]=a>>8&255),n>=0&&(t[n--]=a>>16&255),6===o?(n>=0&&(t[n--]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n>=0)for(t[n--]=r;n>=0;)t[n--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,n=0;return e>=4096&&(n+=13,e>>>=13),e>=64&&(n+=7,e>>>=7),e>=8&&(n+=4,e>>>=4),e>=2&&(n+=2,e>>>=2),n+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,n=0;return 0==(8191&e)&&(n+=13,e>>>=13),0==(127&e)&&(n+=7,e>>>=7),0==(15&e)&&(n+=4,e>>>=4),0==(3&e)&&(n+=2,e>>>=2),0==(1&e)&&n++,n},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var n=this._zeroBits(this.words[e]);if(t+=n,26!==n)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var n=0;n<e.length;n++)this.words[n]=this.words[n]&t.words[n];return this.length=e.length,this._strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,n;this.length>t.length?(e=this,n=t):(e=t,n=this);for(var r=0;r<n.length;r++)this.words[r]=e.words[r]^n.words[r];if(this!==e)for(;r<e.length;r++)this.words[r]=e.words[r];return this.length=e.length,this._strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(t){var e,n,r;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(n=this,r=t):(n=t,r=this);for(var i=0,o=0;o<r.length;o++)e=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<n.length;o++)e=(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var n,r,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=t):(n=t,r=this);for(var o=0,a=0;a<r.length;a++)o=(e=(0|n.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&e;for(;0!==o&&a<n.length;a++)o=(e=(0|n.words[a])+o)>>26,this.words[a]=67108863&e;if(0===o&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,n){var r,i,o,a=t.words,s=e.words,u=n.words,c=0,l=0|a[0],h=8191&l,d=l>>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],y=8191&g,v=g>>>13,b=0|a[3],w=8191&b,M=b>>>13,k=0|a[4],L=8191&k,A=k>>>13,x=0|a[5],E=8191&x,N=x>>>13,S=0|a[6],I=8191&S,T=S>>>13,j=0|a[7],C=8191&j,D=j>>>13,O=0|a[8],_=8191&O,z=O>>>13,P=0|a[9],B=8191&P,R=P>>>13,U=0|s[0],Q=8191&U,W=U>>>13,F=0|s[1],Y=8191&F,H=F>>>13,G=0|s[2],Z=8191&G,V=G>>>13,J=0|s[3],q=8191&J,X=J>>>13,K=0|s[4],$=8191&K,tt=K>>>13,et=0|s[5],nt=8191&et,rt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ct=st>>>13,lt=0|s[8],ht=8191&lt,dt=lt>>>13,ft=0|s[9],pt=8191&ft,mt=ft>>>13;n.negative=t.negative^e.negative,n.length=19;var gt=(c+(r=Math.imul(h,Q))|0)+((8191&(i=(i=Math.imul(h,W))+Math.imul(d,Q)|0))<<13)|0;c=((o=Math.imul(d,W))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,r=Math.imul(p,Q),i=(i=Math.imul(p,W))+Math.imul(m,Q)|0,o=Math.imul(m,W);var yt=(c+(r=r+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,H)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,H)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,r=Math.imul(y,Q),i=(i=Math.imul(y,W))+Math.imul(v,Q)|0,o=Math.imul(v,W),r=r+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,H)|0;var vt=(c+(r=r+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,Z)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,r=Math.imul(w,Q),i=(i=Math.imul(w,W))+Math.imul(M,Q)|0,o=Math.imul(M,W),r=r+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,H)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,H)|0,r=r+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,V)|0;var bt=(c+(r=r+Math.imul(h,q)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,q)|0))<<13)|0;c=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,r=Math.imul(L,Q),i=(i=Math.imul(L,W))+Math.imul(A,Q)|0,o=Math.imul(A,W),r=r+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,H)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,H)|0,r=r+Math.imul(y,Z)|0,i=(i=i+Math.imul(y,V)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,V)|0,r=r+Math.imul(p,q)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,X)|0;var wt=(c+(r=r+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,r=Math.imul(E,Q),i=(i=Math.imul(E,W))+Math.imul(N,Q)|0,o=Math.imul(N,W),r=r+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,H)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,H)|0,r=r+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(y,q)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(v,q)|0,o=o+Math.imul(v,X)|0,r=r+Math.imul(p,$)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,tt)|0;var Mt=(c+(r=r+Math.imul(h,nt)|0)|0)+((8191&(i=(i=i+Math.imul(h,rt)|0)+Math.imul(d,nt)|0))<<13)|0;c=((o=o+Math.imul(d,rt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,r=Math.imul(I,Q),i=(i=Math.imul(I,W))+Math.imul(T,Q)|0,o=Math.imul(T,W),r=r+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,H)|0,r=r+Math.imul(L,Z)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(A,Z)|0,o=o+Math.imul(A,V)|0,r=r+Math.imul(w,q)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(M,q)|0,o=o+Math.imul(M,X)|0,r=r+Math.imul(y,$)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,r=r+Math.imul(p,nt)|0,i=(i=i+Math.imul(p,rt)|0)+Math.imul(m,nt)|0,o=o+Math.imul(m,rt)|0;var kt=(c+(r=r+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,r=Math.imul(C,Q),i=(i=Math.imul(C,W))+Math.imul(D,Q)|0,o=Math.imul(D,W),r=r+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,H)|0,r=r+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(N,Z)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(L,q)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,X)|0,r=r+Math.imul(w,$)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,tt)|0,r=r+Math.imul(y,nt)|0,i=(i=i+Math.imul(y,rt)|0)+Math.imul(v,nt)|0,o=o+Math.imul(v,rt)|0,r=r+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Lt=(c+(r=r+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,r=Math.imul(_,Q),i=(i=Math.imul(_,W))+Math.imul(z,Q)|0,o=Math.imul(z,W),r=r+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,H)|0)+Math.imul(D,Y)|0,o=o+Math.imul(D,H)|0,r=r+Math.imul(I,Z)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,V)|0,r=r+Math.imul(E,q)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(N,q)|0,o=o+Math.imul(N,X)|0,r=r+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,tt)|0,r=r+Math.imul(w,nt)|0,i=(i=i+Math.imul(w,rt)|0)+Math.imul(M,nt)|0,o=o+Math.imul(M,rt)|0,r=r+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,r=r+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(r=r+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,r=Math.imul(B,Q),i=(i=Math.imul(B,W))+Math.imul(R,Q)|0,o=Math.imul(R,W),r=r+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(z,Y)|0,o=o+Math.imul(z,H)|0,r=r+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(D,Z)|0,o=o+Math.imul(D,V)|0,r=r+Math.imul(I,q)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(T,q)|0,o=o+Math.imul(T,X)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(N,$)|0,o=o+Math.imul(N,tt)|0,r=r+Math.imul(L,nt)|0,i=(i=i+Math.imul(L,rt)|0)+Math.imul(A,nt)|0,o=o+Math.imul(A,rt)|0,r=r+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,r=r+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,r=r+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var xt=(c+(r=r+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,r=Math.imul(B,Y),i=(i=Math.imul(B,H))+Math.imul(R,Y)|0,o=Math.imul(R,H),r=r+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,V)|0)+Math.imul(z,Z)|0,o=o+Math.imul(z,V)|0,r=r+Math.imul(C,q)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(D,q)|0,o=o+Math.imul(D,X)|0,r=r+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,tt)|0,r=r+Math.imul(E,nt)|0,i=(i=i+Math.imul(E,rt)|0)+Math.imul(N,nt)|0,o=o+Math.imul(N,rt)|0,r=r+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,r=r+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(M,ut)|0,o=o+Math.imul(M,ct)|0,r=r+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,dt)|0;var Et=(c+(r=r+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,r=Math.imul(B,Z),i=(i=Math.imul(B,V))+Math.imul(R,Z)|0,o=Math.imul(R,V),r=r+Math.imul(_,q)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(z,q)|0,o=o+Math.imul(z,X)|0,r=r+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,tt)|0,r=r+Math.imul(I,nt)|0,i=(i=i+Math.imul(I,rt)|0)+Math.imul(T,nt)|0,o=o+Math.imul(T,rt)|0,r=r+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,at)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,at)|0,r=r+Math.imul(L,ut)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,r=r+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,dt)|0;var Nt=(c+(r=r+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,r=Math.imul(B,q),i=(i=Math.imul(B,X))+Math.imul(R,q)|0,o=Math.imul(R,X),r=r+Math.imul(_,$)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,r=r+Math.imul(C,nt)|0,i=(i=i+Math.imul(C,rt)|0)+Math.imul(D,nt)|0,o=o+Math.imul(D,rt)|0,r=r+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,r=r+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(N,ut)|0,o=o+Math.imul(N,ct)|0,r=r+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var St=(c+(r=r+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((o=o+Math.imul(M,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,r=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(R,$)|0,o=Math.imul(R,tt),r=r+Math.imul(_,nt)|0,i=(i=i+Math.imul(_,rt)|0)+Math.imul(z,nt)|0,o=o+Math.imul(z,rt)|0,r=r+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,r=r+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(T,ut)|0,o=o+Math.imul(T,ct)|0,r=r+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,dt)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,dt)|0;var It=(c+(r=r+Math.imul(L,pt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,r=Math.imul(B,nt),i=(i=Math.imul(B,rt))+Math.imul(R,nt)|0,o=Math.imul(R,rt),r=r+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,at)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,at)|0,r=r+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(D,ut)|0,o=o+Math.imul(D,ct)|0,r=r+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Tt=(c+(r=r+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(N,pt)|0))<<13)|0;c=((o=o+Math.imul(N,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,r=Math.imul(B,ot),i=(i=Math.imul(B,at))+Math.imul(R,ot)|0,o=Math.imul(R,at),r=r+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,r=r+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(D,ht)|0,o=o+Math.imul(D,dt)|0;var jt=(c+(r=r+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(T,pt)|0))<<13)|0;c=((o=o+Math.imul(T,mt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,r=Math.imul(B,ut),i=(i=Math.imul(B,ct))+Math.imul(R,ut)|0,o=Math.imul(R,ct),r=r+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(z,ht)|0,o=o+Math.imul(z,dt)|0;var Ct=(c+(r=r+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,r=Math.imul(B,ht),i=(i=Math.imul(B,dt))+Math.imul(R,ht)|0,o=Math.imul(R,dt);var Dt=(c+(r=r+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(r=Math.imul(B,pt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(R,pt)|0))<<13)|0;return c=((o=Math.imul(R,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=vt,u[3]=bt,u[4]=wt,u[5]=Mt,u[6]=kt,u[7]=Lt,u[8]=At,u[9]=xt,u[10]=Et,u[11]=Nt,u[12]=St,u[13]=It,u[14]=Tt,u[15]=jt,u[16]=Ct,u[17]=Dt,u[18]=Ot,0!==c&&(u[19]=c,n.length++),n};function g(t,e,n){n.negative=e.negative^t.negative,n.length=t.length+e.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var a=i;i=0;for(var s=67108863&r,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var l=o-c,h=(0|t.words[l])*(0|e.words[c]),d=67108863&h;s=67108863&(d=d+s|0),i+=(a=(a=a+(h/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}n.words[o]=s,r=a,a=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function y(t,e,n){return g(t,e,n)}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var n=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):n<63?p(this,t,e):n<1024?g(this,t,e):y(this,t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),y(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),n=0;n<e.length;n++){var r=n/26|0,i=n%26;e[n]=t.words[r]>>>i&1}return e}(t);if(0===e.length)return new i(1);for(var n=this,r=0;r<e.length&&0===e[r];r++,n=n.sqr());if(++r<e.length)for(var o=n.sqr();r<e.length;r++,o=o.sqr())0!==e[r]&&(n=n.mul(o));return n},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e<this.length;e++){var s=this.words[e]&o,u=(0|this.words[e])-s<<r;this.words[e]=u|a,a=s>>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var c=0;c<a;c++)u.words[c]=this.words[c];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var l=0;for(c=this.length-1;c>=0&&(0!==l||c>=i);c--){var h=0|this.words[c];this.words[c]=l<<26-o|h>>>o,l=h&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var i,o,a=t.length+r;this._expand(a);var s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var u=(0|t.words[i])*e;s=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var n=(this.length,t.length),r=this.clone(),o=t,a=0|o.words[o.length-1];0!==(n=26-this._countBits(a))&&(o=o.ushln(n),r.iushln(n),a=0|o.words[o.length-1]);var s,u=r.length-o.length;if("mod"!==e){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var l=r.clone()._ishlnsubmul(o,1,u);0===l.negative&&(r=l,s&&(s.words[u]=1));for(var h=u-1;h>=0;h--){var d=67108864*(0|r.words[o.length+h])+(0|r.words[o.length+h-1]);for(d=Math.min(d/a|0,67108863),r._ishlnsubmul(o,d,h);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(o,1,h),r.isZero()||(r.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),r._strip(),"div"!==e&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var n=0!==e.div.negative?e.mod.isub(t):e.mod,r=t.ushrn(1),i=t.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var l=r.clone(),h=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(l),a.isub(h)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s),a.isub(u)):(r.isub(e),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;0==(e.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(e.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),n=t.clone();e.negative=0,n.negative=0;for(var r=0;e.isEven()&&n.isEven();r++)e.iushrn(1),n.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=e.cmp(n);if(i<0){var o=e;e=n,n=o}else if(0===i||0===n.cmpn(1))break;e.isub(n)}return n.iushln(r)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|t.words[n];if(r!==i){r<i?e=-1:r>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new A(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function L(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function x(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,n=t;do{this.split(n,this.tmp),e=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(e>this.n);var r=e<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(w,b),w.prototype.split=function(t,e){for(var n=4194303,r=Math.min(t.length,9),i=0;i<r;i++)e.words[i]=t.words[i];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&n,i=10;i<t.length;i++){var a=0|t.words[i];t.words[i-10]=(a&n)<<4|o>>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,n=0;n<t.length;n++){var r=0|t.words[n];e+=977*r,t.words[n]=67108863&e,e=64*r+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},r(M,b),r(k,b),r(L,b),L.prototype.imulK=function(t){for(var e=0,n=0;n<t.length;n++){var r=19*(0|t.words[n])+e,i=67108863&r;r>>>=26,t.words[n]=i,e=r}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new L}return v[t]=e,e},A.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(c(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var n=t.add(e);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var n=t.iadd(e);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(t,e){this._verify2(t,e);var n=t.sub(e);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var n=t.isub(e);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);n(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var h=this.pow(l,o),d=this.pow(t,o.addn(1).iushrn(1)),f=this.pow(t,o),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g<p);var y=this.pow(h,new i(1).iushln(p-g-1));d=d.redMul(y),h=y.redSqr(),f=f.redMul(h),p=g}return d},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=t;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],t);var o=n[0],a=0,s=0,u=e.bitLength()%26;for(0===u&&(u=26),r=e.length-1;r>=0;r--){for(var c=e.words[r],l=u-1;l>=0;l--){var h=c>>l&1;o!==n[0]&&(o=this.sqr(o)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===r&&0===l)&&(o=this.mul(o,n[a]),s=0,a=0)):s=0}u=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new x(t)},r(x,A),x.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},x.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},x.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var n=t.imul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},x.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var n=t.mul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=n.isub(r).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},x.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));
1
+ function t(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}function e(e){return function(){var n=this,r=arguments;return new Promise((function(i,o){var a=e.apply(n,r);function s(e){t(a,i,o,s,u,"next",e)}function u(e){t(a,i,o,s,u,"throw",e)}s(void 0)}))}}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function o(t){var e={exports:{}};return t(e,e.exports),e.exports}var a=o((function(t){function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports})),s=o((function(t){var e=a.default;function n(){t.exports=n=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var r={},i=Object.prototype,o=i.hasOwnProperty,a=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),s=new S(r||[]);return a(o,"_invoke",{value:A(t,n,s)}),o}function f(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var p={};function m(){}function g(){}function y(){}var v={};h(v,u,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(I([])));w&&w!==i&&o.call(w,u)&&(v=w);var M=y.prototype=m.prototype=Object.create(v);function k(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,n){function r(i,a,s,u){var c=f(t[i],t,a);if("throw"!==c.type){var l=c.arg,h=l.value;return h&&"object"==e(h)&&o.call(h,"__await")?n.resolve(h.__await).then((function(t){r("next",t,s,u)}),(function(t){r("throw",t,s,u)})):n.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return r("throw",t,s,u)}))}u(c.arg)}var i;a(this,"_invoke",{value:function(t,e){function o(){return new n((function(n,i){r(t,e,n,i)}))}return i=i?i.then(o,o):o()}})}function A(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return T()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=f(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var i=f(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(o.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:T}}function T(){return{value:void 0,done:!0}}return g.prototype=y,a(M,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:g,configurable:!0}),g.displayName=h(y,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,h(t,l,"GeneratorFunction")),t.prototype=Object.create(M),t},r.awrap=function(t){return{__await:t}},k(L.prototype),h(L.prototype,c,(function(){return this})),r.AsyncIterator=L,r.async=function(t,e,n,i,o){void 0===o&&(o=Promise);var a=new L(d(t,e,n,i),o);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(M),h(M,l,"Generator"),h(M,u,(function(){return this})),h(M,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},r.values=I,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(N),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),N(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:I(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},r}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),u=s(),c=u;try{regeneratorRuntime=u}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=u:Function("r","regeneratorRuntime = r")(u)}const l="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGZpbGw9IiNGMEI5MEIiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==";var h={name:"bsc",id:"0x38",networkId:"56",namespace:"eip155",label:"BNB Smart Chain",fullName:"BNB Smart Chain Mainnet",logo:l,currency:{name:"BNB",symbol:"BNB",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"},stables:{usd:["0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d","0x55d398326f99059fF775485246999027B3197955","0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"]},explorer:"https://bscscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://bscscan.com/tx/${t.id||t}`:e?`https://bscscan.com/token/${e}`:n?`https://bscscan.com/address/${n}`:void 0,endpoints:["https://bsc-dataseed.binance.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed3.defibit.io"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"BNB",name:"Binance Coin",decimals:18,logo:l,type:"NATIVE"},{address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",symbol:"WBNB",name:"Wrapped BNB",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png",type:"20"},{address:"0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56",symbol:"BUSD",name:"BUSD Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56/logo.png",type:"20"},{address:"0x55d398326f99059fF775485246999027B3197955",symbol:"USDT",name:"Tether USD",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x55d398326f99059fF775485246999027B3197955/logo.png",type:"20"},{address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",symbol:"USDC",name:"USD Coin",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d/logo.png",type:"20"},{address:"0x2170Ed0880ac9A755fd29B2688956BD959F933F8",symbol:"ETH",name:"Ethereum Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x2170Ed0880ac9A755fd29B2688956BD959F933F8/logo.png",type:"20"},{address:"0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82",symbol:"Cake",name:"PancakeSwap Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82/logo.png",type:"20"},{address:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c",symbol:"BTCB",name:"BTCB Token",decimals:18,logo:"https://assets.trustwalletapp.com/blockchains/smartchain/assets/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c/logo.png",type:"20"},{address:"0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb",symbol:"DEPAY",name:"DePay",decimals:18,logo:"https://integrate.depay.com/tokens/bsc/0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb/image",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const d="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiCgkgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8Zz4KCQk8cGF0aCBmaWxsPSIjMzQzNDM0IiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGZpbGw9IiM4QzhDOEMiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggZmlsbD0iIzNDM0MzQiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGZpbGw9IiM4QzhDOEMiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiMxNDE0MTQiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBmaWxsPSIjMzkzOTM5IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K";var f={name:"ethereum",id:"0x1",networkId:"1",namespace:"eip155",label:"Ethereum",fullName:"Ethereum Mainnet",logo:d,currency:{name:"Ether",symbol:"ETH",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},stables:{usd:["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0x6B175474E89094C44Da98b954EedeAC495271d0F"]},explorer:"https://etherscan.io",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://etherscan.io/tx/${t.id||t}`:e?`https://etherscan.io/token/${e}`:n?`https://etherscan.io/address/${n}`:void 0,endpoints:["https://rpc.ankr.com/eth","https://eth.llamarpc.com","https://ethereum.publicnode.com"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"ETH",name:"Ether",decimals:18,logo:d,type:"NATIVE"},{address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",symbol:"WETH",name:"Wrapped Ether",decimals:18,logo:"https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",type:"20"},{address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",type:"20"},{address:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",symbol:"WBTC",name:"Wrapped BTC",decimals:8,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png",type:"20"},{address:"0xdAC17F958D2ee523a2206206994597C13D831ec7",symbol:"USDT",name:"Tether USD",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",type:"20"},{address:"0x6B175474E89094C44Da98b954EedeAC495271d0F",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png",type:"20"},{address:"0x853d955aCEf822Db058eb8505911ED77F175b99e",symbol:"FRAX",name:"Frax",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x853d955aCEf822Db058eb8505911ED77F175b99e/logo.png",type:"20"},{address:"0x8E870D67F660D95d5be530380D0eC0bd388289E1",symbol:"USDP",name:"Pax Dollar",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x8E870D67F660D95d5be530380D0eC0bd388289E1/logo.png",type:"20"},{address:"0x956F47F50A910163D8BF957Cf5846D573E7f87CA",symbol:"FEI",name:"Fei USD",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x956F47F50A910163D8BF957Cf5846D573E7f87CA/logo.png",type:"20"},{address:"0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb",symbol:"DEPAY",name:"DePay",decimals:18,logo:"https://integrate.depay.com/tokens/ethereum/0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb/image",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const p="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K";var m={name:"fantom",id:"0xFA",networkId:"250",namespace:"eip155",label:"Fantom",fullName:"Fantom Opera",logo:p,currency:{name:"Fantom",symbol:"FTM",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83"},stables:{usd:["0x04068DA6C83AFCFA0e13ba15A6696662335D5B75","0x049d68029688eAbF473097a2fC38ef61633A3C7A","0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E"]},explorer:"https://ftmscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://ftmscan.com/tx/${t.id||t}`:e?`https://ftmscan.com/token/${e}`:n?`https://ftmscan.com/address/${n}`:void 0,endpoints:["https://rpc.ftm.tools","https://fantom.publicnode.com","https://rpc2.fantom.network"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"FTM",name:"Fantom",decimals:18,logo:p,type:"NATIVE"},{address:"0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",symbol:"WFTM",name:"Wrapped Fantom",decimals:18,logo:p,type:"20"},{address:"0x04068DA6C83AFCFA0e13ba15A6696662335D5B75",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://assets.spooky.fi/tokens/USDC.png",type:"20"},{address:"0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://assets.spooky.fi/tokens/DAI.png",type:"20"},{address:"0x049d68029688eAbF473097a2fC38ef61633A3C7A",symbol:"fUSDT",name:"Frapped USDT",decimals:6,logo:"https://assets.spooky.fi/tokens/fUSDT.png",type:"20"},{address:"0x74b23882a30290451A17c44f4F05243b6b58C76d",symbol:"ETH",name:"Ethereum",decimals:18,logo:"https://assets.spooky.fi/tokens/wETH.png",type:"20"},{address:"0x321162Cd933E2Be498Cd2267a90534A804051b11",symbol:"BTC",name:"Bitcoin",decimals:8,logo:"https://assets.spooky.fi/tokens/wBTC.png",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const g="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODI0N0U1IiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==";var y={name:"polygon",id:"0x89",networkId:"137",namespace:"eip155",label:"Polygon",fullName:"Polygon Mainnet",logo:g,currency:{name:"Polygon",symbol:"MATIC",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},stables:{usd:["0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174","0xc2132D05D31c914a87C6611C10748AEb04B58e8F","0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"]},explorer:"https://polygonscan.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://polygonscan.com/tx/${t.id||t}`:e?`https://polygonscan.com/token/${e}`:n?`https://polygonscan.com/address/${n}`:void 0,endpoints:["https://polygon-rpc.com","https://poly-rpc.gateway.pokt.network","https://polygon.llamarpc.com"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"MATIC",name:"Polygon",decimals:18,logo:g,type:"NATIVE"},{address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",symbol:"WMATIC",name:"Wrapped Matic",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0/logo.png",type:"20"},{address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",symbol:"WETH",name:"Wrapped Ether",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png",type:"20"},{address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",type:"20"},{address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F",symbol:"USDT",name:"Tether USD",decimals:6,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",type:"20"},{address:"0xa3Fa99A148fA48D14Ed51d610c367C61876997F1",symbol:"miMATIC",name:"miMATIC",decimals:18,logo:"https://raw.githubusercontent.com/0xlaozi/qidao/main/images/mimatic-red.png",type:"20"},{address:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",symbol:"DAI",name:"Dai Stablecoin",decimals:18,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png",type:"20"},{address:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",symbol:"WBTC",name:"Wrapped BTC",decimals:8,logo:"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const v="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNPTEFOQV9TVkdJRF8xIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjM1LjU5NzQiIHkxPSI3NzIuOTI3NyIgeDI9IjE4LjE0MjIiIHkyPSI4MDYuMzYxNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTc2NS43NjUpIj4KCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMEZGQTMiLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEQzFGRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggZmlsbD0idXJsKCNTT0xBTkFfU1ZHSURfMSkiIGQ9Ik0xMiwyOS4xYzAuMi0wLjIsMC41LTAuMywwLjctMC4zSDM4YzAuNSwwLDAuNywwLjYsMC40LDAuOWwtNSw1Yy0wLjIsMC4yLTAuNSwwLjMtMC43LDAuM0g3LjQKCUM2LjksMzUsNi43LDM0LjQsNywzNEwxMiwyOS4xeiIvPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzAwMDAwMTYwODY5NzIyMjI5NDY0Mzk5NzMwMDAwMDA5NDA3MDIxNTc4MjQ4MDg3NzExXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNy45NTk1IiB5MT0iNzY5LjEyNDQiIHgyPSIxMC41MDQzIiB5Mj0iODAyLjU1ODIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIC03NjUuNzY1KSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDBGRkEzIi8+Cgk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojREMxRkZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfMDAwMDAxNjA4Njk3MjIyMjk0NjQzOTk3MzAwMDAwMDk0MDcwMjE1NzgyNDgwODc3MTFfKTsiIGQ9Ik0xMiwxMC42YzAuMi0wLjIsMC41LTAuMywwLjctMC4zSDM4CgljMC41LDAsMC43LDAuNiwwLjQsMC45bC01LDVjLTAuMiwwLjItMC41LDAuMy0wLjcsMC4zSDcuNGMtMC41LDAtMC43LTAuNi0wLjQtMC45TDEyLDEwLjZ6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMDAwMDAxMzkyODMyMTczNzg2NTYwOTQ4NjAwMDAwMDM2OTQ4OTUzNzkwNzgxMTY3ODJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMxLjc0MDYiIHkxPSI3NzEuMDk4NSIgeDI9IjE0LjI4NTUiIHkyPSI4MDQuNTMyMyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgLTc2NS43NjUpIj4KCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMEZGQTMiLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEQzFGRkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8wMDAwMDEzOTI4MzIxNzM3ODY1NjA5NDg2MDAwMDAwMzY5NDg5NTM3OTA3ODExNjc4Ml8pOyIgZD0iTTMzLjQsMTkuOGMtMC4yLTAuMi0wLjUtMC4zLTAuNy0wLjNINy40CgljLTAuNSwwLTAuNywwLjYtMC40LDAuOWw1LDVjMC4yLDAuMiwwLjUsMC4zLDAuNywwLjNIMzhjMC41LDAsMC43LTAuNiwwLjQtMC45TDMzLjQsMTkuOHoiLz4KPC9zdmc+Cg==";var b={name:"solana",networkId:"mainnetBeta",namespace:"solana",label:"Solana",fullName:"Solana",logo:v,currency:{name:"Solana",symbol:"SOL",decimals:9,address:"11111111111111111111111111111111"},wrapped:{address:"So11111111111111111111111111111111111111112"},stables:{usd:["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"]},explorer:"https://solscan.io",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://solscan.io/tx/${t.id||t}`:e?`https://solscan.io/token/${e}`:n?`https://solscan.io/address/${n}`:void 0,endpoints:["https://solana-mainnet.phantom.app/YBPpkkN4g91xDiAnTE9r0RcMkjg0sKUIWvAfoFVJ","https://mainnet-beta.solflare.network","https://solana-mainnet.rpc.extrnode.com"],rpc:"https://api.mainnet-beta.solana.com",tokens:[{address:"11111111111111111111111111111111",symbol:"SOL",name:"Solana",decimals:9,logo:v,type:"NATIVE"},{address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",symbol:"USDC",name:"USD Coin",decimals:6,logo:"https://img.raydium.io/icon/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.png",type:"SPL"},{address:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",symbol:"USDT",name:"USDT",decimals:6,logo:"https://img.raydium.io/icon/Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB.png",type:"SPL"},{address:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",symbol:"stSOL",name:"Lido Staked SOL",decimals:9,logo:"https://img.raydium.io/icon/7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj.png",type:"SPL"},{address:"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",symbol:"BONK",name:"BONK",decimals:5,logo:"https://img.raydium.io/icon/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263.png",type:"SPL"},{address:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",symbol:"SAMO",name:"Samoyed Coin",decimals:9,logo:"https://img.raydium.io/icon/7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU.png",type:"SPL"}],zero:"0",maxInt:"340282366920938463463374607431768211455"};const w="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiCgkgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8cGF0aCBmaWxsPSIjMDAzN0MxIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=";var M={name:"velas",id:"0x6a",networkId:"106",namespace:"eip155",label:"VELAS",fullName:"Velas EVM Mainnet",logo:w,currency:{name:"Velas",symbol:"VLX",decimals:18,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},wrapped:{address:"0xc579D1f3CF86749E05CD06f7ADe17856c2CE3126"},stables:{usd:["0xc111c29A988AE0C0087D97b33C6E6766808A3BD3","0x01445C31581c354b7338AC35693AB2001B50b9aE"]},explorer:"https://evmexplorer.velas.com",explorerUrlFor:({transaction:t,token:e,address:n})=>t?`https://evmexplorer.velas.com/tx/${t.id||t}`:e?`https://evmexplorer.velas.com/token/${e}`:n?`https://evmexplorer.velas.com/address/${n}`:void 0,endpoints:["https://mainnet.velas.com/rpc","https://evmexplorer.velas.com/rpc","https://explorer.velas.com/rpc"],tokens:[{address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",symbol:"VLX",name:"Velas",decimals:18,logo:w,type:"NATIVE"},{address:"0xc579D1f3CF86749E05CD06f7ADe17856c2CE3126",symbol:"WVLX",name:"Wrapped Velas",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xc579d1f3cf86749e05cd06f7ade17856c2ce3126/logo.png?raw=true",type:"20"},{address:"0xc111c29A988AE0C0087D97b33C6E6766808A3BD3",symbol:"BUSD",name:"Multichain BUSD",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xc111c29a988ae0c0087d97b33c6e6766808a3bd3/logo.png?raw=true",type:"20"},{address:"0x01445C31581c354b7338AC35693AB2001B50b9aE",symbol:"USDT",name:"Multichain USDT",decimals:6,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0x01445c31581c354b7338ac35693ab2001b50b9ae/logo.png?raw=true",type:"20"},{address:"0x85219708c49aa701871Ad330A94EA0f41dFf24Ca",symbol:"ETH",name:"ETH",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0x85219708c49aa701871ad330a94ea0f41dff24ca/logo.png?raw=true",type:"20"},{address:"0xaBf26902Fd7B624e0db40D31171eA9ddDf078351",symbol:"WAG",name:"WagyuSwap",decimals:18,logo:"https://github.com/wagyuswapapp/assets/blob/master/blockchains/velas/assets/0xabf26902fd7b624e0db40d31171ea9dddf078351/logo.png?raw=true",type:"20"}],zero:"0x0000000000000000000000000000000000000000",maxInt:"115792089237316195423570985008687907853269984665640564039457584007913129639935"};const k=[f,h,y,b,m,M];for(var L={ethereum:f,bsc:h,polygon:y,solana:b,fantom:m,velas:M,all:k,findById:function(t){let e=t;e.match("0x0")&&(e=e.replace(/0x0+/,"0x"));let n=k.find((t=>t.id&&t.id.toLowerCase()==e.toLowerCase()));return n},findByNetworkId:function(t){t=t.toString();let e=k.find((e=>e.networkId==t));return e},findByName:function(t){return k.find((e=>e.name==t))}},A=function(t){var e=C(t),n=e[0],r=e[1];return 3*(n+r)/4-r},x=function(t){var e,n,r=C(t),i=r[0],o=r[1],a=new I(function(t,e,n){return 3*(e+n)/4-n}(0,i,o)),s=0,u=o>0?i-4:i;for(n=0;n<u;n+=4)e=S[t.charCodeAt(n)]<<18|S[t.charCodeAt(n+1)]<<12|S[t.charCodeAt(n+2)]<<6|S[t.charCodeAt(n+3)],a[s++]=e>>16&255,a[s++]=e>>8&255,a[s++]=255&e;2===o&&(e=S[t.charCodeAt(n)]<<2|S[t.charCodeAt(n+1)]>>4,a[s++]=255&e);1===o&&(e=S[t.charCodeAt(n)]<<10|S[t.charCodeAt(n+1)]<<4|S[t.charCodeAt(n+2)]>>2,a[s++]=e>>8&255,a[s++]=255&e);return a},E=function(t){for(var e,n=t.length,r=n%3,i=[],o=16383,a=0,s=n-r;a<s;a+=o)i.push(D(t,a,a+o>s?s:a+o));1===r?(e=t[n-1],i.push(N[e>>2]+N[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],i.push(N[e>>10]+N[e>>4&63]+N[e<<2&63]+"="));return i.join("")},N=[],S=[],I="undefined"!=typeof Uint8Array?Uint8Array:Array,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=0;j<64;++j)N[j]=T[j],S[T.charCodeAt(j)]=j;function C(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function D(t,e,n){for(var r,i,o=[],a=e;a<n;a+=3)r=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(N[(i=r)>>18&63]+N[i>>12&63]+N[i>>6&63]+N[63&i]);return o.join("")}S["-".charCodeAt(0)]=62,S["_".charCodeAt(0)]=63;var O={byteLength:A,toByteArray:x,fromByteArray:E},_=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,h=n?i-1:0,d=n?-1:1,f=t[e+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+t[e+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+t[e+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,r),o-=c}return(f?-1:1)*a*Math.pow(2,o-r)},z=function(t,e,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,h=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+f]=255&s,f+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;t[n+f]=255&a,f+=p,a/=256,c-=8);t[n+f-p]|=128*m},P=o((function(t,e){const n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=function(t){+t!=t&&(t=0);return o.alloc(+t)},e.INSPECT_MAX_BYTES=50;const r=2147483647;function i(t){if(t>r)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,o.prototype),e}function o(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return a(t,e,n)}function a(t,e,n){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!o.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|d(t,e);let r=i(n);const a=r.write(t,e);a!==n&&(r=r.slice(0,a));return r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(J(t,Uint8Array)){const e=new Uint8Array(t);return l(e.buffer,e.byteOffset,e.byteLength)}return c(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(J(t,ArrayBuffer)||t&&J(t.buffer,ArrayBuffer))return l(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(J(t,SharedArrayBuffer)||t&&J(t.buffer,SharedArrayBuffer)))return l(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return o.from(r,e,n);const a=function(t){if(o.isBuffer(t)){const e=0|h(t.length),n=i(e);return 0===n.length||t.copy(n,0,0,e),n}if(void 0!==t.length)return"number"!=typeof t.length||q(t.length)?i(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(a)return a;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return o.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return s(t),i(t<0?0:0|h(t))}function c(t){const e=t.length<0?0:0|h(t.length),n=i(e);for(let r=0;r<e;r+=1)n[r]=255&t[r];return n}function l(t,e,n){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(n||0))throw new RangeError('"length" is outside of buffer bounds');let r;return r=void 0===e&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,e):new Uint8Array(t,e,n),Object.setPrototypeOf(r,o.prototype),r}function h(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function d(t,e){if(o.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||J(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Z(t).length;default:if(i)return r?-1:G(t).length;e=(""+e).toLowerCase(),i=!0}}function f(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return N(this,e,n);case"utf8":case"utf-8":return L(this,e,n);case"ascii":return x(this,e,n);case"latin1":case"binary":return E(this,e,n);case"base64":return k(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function p(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:g(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):g(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;o<s;o++)if(c(t,o)===c(e,-1===r?0:o-r)){if(-1===r&&(r=o),o-r+1===u)return r*a}else-1!==r&&(o-=o-r),r=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;r<u;r++)if(c(t,o+r)!==c(e,r)){n=!1;break}if(n)return o}return-1}function y(t,e,n,r){n=Number(n)||0;const i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a<r;++a){const r=parseInt(e.substr(2*a,2),16);if(q(r))return a;t[n+a]=r}return a}function v(t,e,n,r){return V(G(e,t.length-n),t,n,r)}function b(t,e,n,r){return V(function(t){const e=[];for(let n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function w(t,e,n,r){return V(Z(e),t,n,r)}function M(t,e,n,r){return V(function(t,e){let n,r,i;const o=[];for(let a=0;a<t.length&&!((e-=2)<0);++a)n=t.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function k(t,e,n){return 0===e&&n===t.length?O.fromByteArray(t):O.fromByteArray(t.slice(e,n))}function L(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i<n;){const e=t[i];let o=null,a=e>239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a}return function(t){const e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);let n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=A));return n}(r)}e.kMaxLength=r,o.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),o.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}}),o.poolSize=8192,o.from=function(t,e,n){return a(t,e,n)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array),o.alloc=function(t,e,n){return function(t,e,n){return s(t),t<=0?i(t):void 0!==e?"string"==typeof n?i(t).fill(e,n):i(t).fill(e):i(t)}(t,e,n)},o.allocUnsafe=function(t){return u(t)},o.allocUnsafeSlow=function(t){return u(t)},o.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==o.prototype},o.compare=function(t,e){if(J(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),J(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let n=t.length,r=e.length;for(let i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);let n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;const r=o.allocUnsafe(e);let i=0;for(n=0;n<t.length;++n){let e=t[n];if(J(e,Uint8Array))i+e.length>r.length?(o.isBuffer(e)||(e=o.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else{if(!o.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i)}i+=e.length}return r},o.byteLength=d,o.prototype._isBuffer=!0,o.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)p(this,e,e+1);return this},o.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},o.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},o.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?L(this,0,t):f.apply(this,arguments)},o.prototype.toLocaleString=o.prototype.toString,o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){let t="";const n=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(t+=" ... "),"<Buffer "+t+">"},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(t,e,n,r,i){if(J(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;let a=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0);const u=Math.min(a,s),c=this.slice(r,i),l=t.slice(e,n);for(let t=0;t<u;++t)if(c[t]!==l[t]){a=c[t],s=l[t];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return m(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return m(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case"hex":return y(this,t,e,n);case"utf8":case"utf-8":return v(this,t,e,n);case"ascii":case"latin1":case"binary":return b(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function x(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function E(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function N(t,e,n){const r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);let i="";for(let r=e;r<n;++r)i+=X[t[r]];return i}function S(t,e,n){const r=t.slice(e,n);let i="";for(let t=0;t<r.length-1;t+=2)i+=String.fromCharCode(r[t]+256*r[t+1]);return i}function I(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function T(t,e,n,r,i,a){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function j(t,e,n,r,i){W(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function C(t,e,n,r,i){W(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function P(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),z(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),z(t,e,n,r,52,8),n+8}o.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);const r=this.subarray(t,e);return Object.setPrototypeOf(r,o.prototype),r},o.prototype.readUintLE=o.prototype.readUIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUintBE=o.prototype.readUIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},o.prototype.readUint8=o.prototype.readUInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,e){return t>>>=0,e||I(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))})),o.prototype.readBigUInt64BE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return(BigInt(r)<<BigInt(32))+BigInt(i)})),o.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*e)),r},o.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||I(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(t,e){return t>>>=0,e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,e){t>>>=0,e||I(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(t,e){t>>>=0,e||I(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,e){return t>>>=0,e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),o.prototype.readBigInt64BE=K((function(t){F(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||Y(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(r)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+n)})),o.prototype.readFloatLE=function(t,e){return t>>>=0,e||I(t,4,this.length),_(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,e){return t>>>=0,e||I(t,4,this.length),_(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,e){return t>>>=0,e||I(t,8,this.length),_(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,e){return t>>>=0,e||I(t,8,this.length),_(this,t,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){T(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},o.prototype.writeUintBE=o.prototype.writeUIntBE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){T(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,1,255,0),this[e]=255&t,e+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeBigUInt64LE=K((function(t,e=0){return j(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeBigUInt64BE=K((function(t,e=0){return C(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),o.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);T(this,t,e,n,r-1,-r)}let i=0,o=1,a=0;for(this[e]=255&t;++i<n&&(o*=256);)t<0&&0===a&&0!==this[e+i-1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},o.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);T(this,t,e,n,r-1,-r)}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},o.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},o.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},o.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},o.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},o.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||T(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},o.prototype.writeBigInt64LE=K((function(t,e=0){return j(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeBigInt64BE=K((function(t,e=0){return C(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),o.prototype.writeFloatLE=function(t,e,n){return P(this,t,e,!0,n)},o.prototype.writeFloatBE=function(t,e,n){return P(this,t,e,!1,n)},o.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},o.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},o.prototype.copy=function(t,e,n,r){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);const i=r-n;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,n,r):Uint8Array.prototype.set.call(t,this.subarray(n,r),e),i},o.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!o.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===t.length){const e=t.charCodeAt(0);("utf8"===r&&e<128||"latin1"===r)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;let i;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i<n;++i)this[i]=t;else{const a=o.isBuffer(t)?t:o.from(t,r),s=a.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<n-e;++i)this[i+e]=a[i%s]}return this};const R={};function U(t,e,n){R[t]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function Q(t){let e="",n=t.length;const r="-"===t[0]?1:0;for(;n>=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return`${t.slice(0,n)}${e}`}function W(t,e,n,r,i,o){if(t>n||t<e){const r="bigint"==typeof e?"n":"";let i;throw i=o>3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new R.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){F(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||Y(e,t.length-(n+1))}(r,i,o)}function F(t,e){if("number"!=typeof t)throw new R.ERR_INVALID_ARG_TYPE(e,"number",t)}function Y(t,e,n){if(Math.floor(t)!==t)throw F(t,n),new R.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new R.ERR_BUFFER_OUT_OF_BOUNDS;throw new R.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}U("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),U("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),U("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=Q(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=Q(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const H=/[^+/0-9A-Za-z-_]/g;function G(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a<r;++a){if(n=t.charCodeAt(a),n>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Z(t){return O.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(H,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,n,r){let i;for(i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function J(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i]}return e}();function K(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}})),B=o((function(t){!function(t,e){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}function i(t,e,n){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(n=e,e=10),this._init(t||0,e||10,n||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:P.Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function s(t,e,n){var r=a(t,n);return n-1>=e&&(r|=a(t,n-1)<<4),r}function u(t,e,r,i){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u<s;u++){var c=t.charCodeAt(u)-48;o*=i,a=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&a<i,"Invalid character"),o+=a}return o}function c(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,n){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,a=0;if("be"===n)for(r=t.length-1;r>=e;r-=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(r=(t.length-e)%2==0?e+1:e;r<t.length;r+=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=e)r++;r--,i=i/e|0;for(var o=t.length-n,a=o%r,s=Math.min(o,o-a)+n,c=0,l=n;l<s;l+=r)c=u(t,l,l+r,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==a){var h=1;for(c=u(t,l,t.length,e),l=0;l<a;l++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype._move=function(t){c(t,this)},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){i.prototype.inspect=l}else i.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<i|o)).toString(16);o=s>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?h[6-u.length]+u+r:u+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=d[t],l=f[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(l).toString(t);r=(p=p.idivn(l)).isZero()?m+r:h[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,n){n.negative=e.negative^t.negative;var r=t.length+e.length|0;n.length=r,r=r-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c<r;c++){for(var l=u>>>26,h=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;l+=(a=(i=0|t.words[p])*(o=0|e.words[f])+h)/67108864|0,h=67108863&a}n.words[c]=0|h,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}i.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n++]=255&a,n<t.length&&(t[n++]=a>>8&255),n<t.length&&(t[n++]=a>>16&255),6===o?(n<t.length&&(t[n++]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n<t.length)for(t[n++]=r;n<t.length;)t[n++]=0},i.prototype._toArrayLikeBE=function(t,e){for(var n=t.length-1,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n--]=255&a,n>=0&&(t[n--]=a>>8&255),n>=0&&(t[n--]=a>>16&255),6===o?(n>=0&&(t[n--]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n>=0)for(t[n--]=r;n>=0;)t[n--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,n=0;return e>=4096&&(n+=13,e>>>=13),e>=64&&(n+=7,e>>>=7),e>=8&&(n+=4,e>>>=4),e>=2&&(n+=2,e>>>=2),n+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,n=0;return 0==(8191&e)&&(n+=13,e>>>=13),0==(127&e)&&(n+=7,e>>>=7),0==(15&e)&&(n+=4,e>>>=4),0==(3&e)&&(n+=2,e>>>=2),0==(1&e)&&n++,n},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var n=this._zeroBits(this.words[e]);if(t+=n,26!==n)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var n=0;n<e.length;n++)this.words[n]=this.words[n]&t.words[n];return this.length=e.length,this._strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,n;this.length>t.length?(e=this,n=t):(e=t,n=this);for(var r=0;r<n.length;r++)this.words[r]=e.words[r]^n.words[r];if(this!==e)for(;r<e.length;r++)this.words[r]=e.words[r];return this.length=e.length,this._strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(t){var e,n,r;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(n=this,r=t):(n=t,r=this);for(var i=0,o=0;o<r.length;o++)e=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<n.length;o++)e=(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var n,r,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=t):(n=t,r=this);for(var o=0,a=0;a<r.length;a++)o=(e=(0|n.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&e;for(;0!==o&&a<n.length;a++)o=(e=(0|n.words[a])+o)>>26,this.words[a]=67108863&e;if(0===o&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,n){var r,i,o,a=t.words,s=e.words,u=n.words,c=0,l=0|a[0],h=8191&l,d=l>>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],y=8191&g,v=g>>>13,b=0|a[3],w=8191&b,M=b>>>13,k=0|a[4],L=8191&k,A=k>>>13,x=0|a[5],E=8191&x,N=x>>>13,S=0|a[6],I=8191&S,T=S>>>13,j=0|a[7],C=8191&j,D=j>>>13,O=0|a[8],_=8191&O,z=O>>>13,P=0|a[9],B=8191&P,R=P>>>13,U=0|s[0],Q=8191&U,W=U>>>13,F=0|s[1],Y=8191&F,H=F>>>13,G=0|s[2],Z=8191&G,V=G>>>13,J=0|s[3],q=8191&J,X=J>>>13,K=0|s[4],$=8191&K,tt=K>>>13,et=0|s[5],nt=8191&et,rt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ct=st>>>13,lt=0|s[8],ht=8191&lt,dt=lt>>>13,ft=0|s[9],pt=8191&ft,mt=ft>>>13;n.negative=t.negative^e.negative,n.length=19;var gt=(c+(r=Math.imul(h,Q))|0)+((8191&(i=(i=Math.imul(h,W))+Math.imul(d,Q)|0))<<13)|0;c=((o=Math.imul(d,W))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,r=Math.imul(p,Q),i=(i=Math.imul(p,W))+Math.imul(m,Q)|0,o=Math.imul(m,W);var yt=(c+(r=r+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,H)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,H)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,r=Math.imul(y,Q),i=(i=Math.imul(y,W))+Math.imul(v,Q)|0,o=Math.imul(v,W),r=r+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,H)|0;var vt=(c+(r=r+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,Z)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,r=Math.imul(w,Q),i=(i=Math.imul(w,W))+Math.imul(M,Q)|0,o=Math.imul(M,W),r=r+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,H)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,H)|0,r=r+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,V)|0;var bt=(c+(r=r+Math.imul(h,q)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,q)|0))<<13)|0;c=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,r=Math.imul(L,Q),i=(i=Math.imul(L,W))+Math.imul(A,Q)|0,o=Math.imul(A,W),r=r+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,H)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,H)|0,r=r+Math.imul(y,Z)|0,i=(i=i+Math.imul(y,V)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,V)|0,r=r+Math.imul(p,q)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,X)|0;var wt=(c+(r=r+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,r=Math.imul(E,Q),i=(i=Math.imul(E,W))+Math.imul(N,Q)|0,o=Math.imul(N,W),r=r+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,H)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,H)|0,r=r+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(y,q)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(v,q)|0,o=o+Math.imul(v,X)|0,r=r+Math.imul(p,$)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,tt)|0;var Mt=(c+(r=r+Math.imul(h,nt)|0)|0)+((8191&(i=(i=i+Math.imul(h,rt)|0)+Math.imul(d,nt)|0))<<13)|0;c=((o=o+Math.imul(d,rt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,r=Math.imul(I,Q),i=(i=Math.imul(I,W))+Math.imul(T,Q)|0,o=Math.imul(T,W),r=r+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,H)|0,r=r+Math.imul(L,Z)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(A,Z)|0,o=o+Math.imul(A,V)|0,r=r+Math.imul(w,q)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(M,q)|0,o=o+Math.imul(M,X)|0,r=r+Math.imul(y,$)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,r=r+Math.imul(p,nt)|0,i=(i=i+Math.imul(p,rt)|0)+Math.imul(m,nt)|0,o=o+Math.imul(m,rt)|0;var kt=(c+(r=r+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,r=Math.imul(C,Q),i=(i=Math.imul(C,W))+Math.imul(D,Q)|0,o=Math.imul(D,W),r=r+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,H)|0,r=r+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(N,Z)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(L,q)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,X)|0,r=r+Math.imul(w,$)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,tt)|0,r=r+Math.imul(y,nt)|0,i=(i=i+Math.imul(y,rt)|0)+Math.imul(v,nt)|0,o=o+Math.imul(v,rt)|0,r=r+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Lt=(c+(r=r+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,r=Math.imul(_,Q),i=(i=Math.imul(_,W))+Math.imul(z,Q)|0,o=Math.imul(z,W),r=r+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,H)|0)+Math.imul(D,Y)|0,o=o+Math.imul(D,H)|0,r=r+Math.imul(I,Z)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,V)|0,r=r+Math.imul(E,q)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(N,q)|0,o=o+Math.imul(N,X)|0,r=r+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,tt)|0,r=r+Math.imul(w,nt)|0,i=(i=i+Math.imul(w,rt)|0)+Math.imul(M,nt)|0,o=o+Math.imul(M,rt)|0,r=r+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,r=r+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(r=r+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,r=Math.imul(B,Q),i=(i=Math.imul(B,W))+Math.imul(R,Q)|0,o=Math.imul(R,W),r=r+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(z,Y)|0,o=o+Math.imul(z,H)|0,r=r+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(D,Z)|0,o=o+Math.imul(D,V)|0,r=r+Math.imul(I,q)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(T,q)|0,o=o+Math.imul(T,X)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(N,$)|0,o=o+Math.imul(N,tt)|0,r=r+Math.imul(L,nt)|0,i=(i=i+Math.imul(L,rt)|0)+Math.imul(A,nt)|0,o=o+Math.imul(A,rt)|0,r=r+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,r=r+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,r=r+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var xt=(c+(r=r+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,r=Math.imul(B,Y),i=(i=Math.imul(B,H))+Math.imul(R,Y)|0,o=Math.imul(R,H),r=r+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,V)|0)+Math.imul(z,Z)|0,o=o+Math.imul(z,V)|0,r=r+Math.imul(C,q)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(D,q)|0,o=o+Math.imul(D,X)|0,r=r+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,tt)|0,r=r+Math.imul(E,nt)|0,i=(i=i+Math.imul(E,rt)|0)+Math.imul(N,nt)|0,o=o+Math.imul(N,rt)|0,r=r+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,r=r+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(M,ut)|0,o=o+Math.imul(M,ct)|0,r=r+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,dt)|0;var Et=(c+(r=r+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,r=Math.imul(B,Z),i=(i=Math.imul(B,V))+Math.imul(R,Z)|0,o=Math.imul(R,V),r=r+Math.imul(_,q)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(z,q)|0,o=o+Math.imul(z,X)|0,r=r+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,tt)|0,r=r+Math.imul(I,nt)|0,i=(i=i+Math.imul(I,rt)|0)+Math.imul(T,nt)|0,o=o+Math.imul(T,rt)|0,r=r+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,at)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,at)|0,r=r+Math.imul(L,ut)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,r=r+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,dt)|0;var Nt=(c+(r=r+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,r=Math.imul(B,q),i=(i=Math.imul(B,X))+Math.imul(R,q)|0,o=Math.imul(R,X),r=r+Math.imul(_,$)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,r=r+Math.imul(C,nt)|0,i=(i=i+Math.imul(C,rt)|0)+Math.imul(D,nt)|0,o=o+Math.imul(D,rt)|0,r=r+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,r=r+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(N,ut)|0,o=o+Math.imul(N,ct)|0,r=r+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var St=(c+(r=r+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((o=o+Math.imul(M,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,r=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(R,$)|0,o=Math.imul(R,tt),r=r+Math.imul(_,nt)|0,i=(i=i+Math.imul(_,rt)|0)+Math.imul(z,nt)|0,o=o+Math.imul(z,rt)|0,r=r+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,r=r+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(T,ut)|0,o=o+Math.imul(T,ct)|0,r=r+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,dt)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,dt)|0;var It=(c+(r=r+Math.imul(L,pt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,r=Math.imul(B,nt),i=(i=Math.imul(B,rt))+Math.imul(R,nt)|0,o=Math.imul(R,rt),r=r+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,at)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,at)|0,r=r+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(D,ut)|0,o=o+Math.imul(D,ct)|0,r=r+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Tt=(c+(r=r+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(N,pt)|0))<<13)|0;c=((o=o+Math.imul(N,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,r=Math.imul(B,ot),i=(i=Math.imul(B,at))+Math.imul(R,ot)|0,o=Math.imul(R,at),r=r+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,r=r+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(D,ht)|0,o=o+Math.imul(D,dt)|0;var jt=(c+(r=r+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(T,pt)|0))<<13)|0;c=((o=o+Math.imul(T,mt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,r=Math.imul(B,ut),i=(i=Math.imul(B,ct))+Math.imul(R,ut)|0,o=Math.imul(R,ct),r=r+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(z,ht)|0,o=o+Math.imul(z,dt)|0;var Ct=(c+(r=r+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,r=Math.imul(B,ht),i=(i=Math.imul(B,dt))+Math.imul(R,ht)|0,o=Math.imul(R,dt);var Dt=(c+(r=r+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(r=Math.imul(B,pt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(R,pt)|0))<<13)|0;return c=((o=Math.imul(R,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=vt,u[3]=bt,u[4]=wt,u[5]=Mt,u[6]=kt,u[7]=Lt,u[8]=At,u[9]=xt,u[10]=Et,u[11]=Nt,u[12]=St,u[13]=It,u[14]=Tt,u[15]=jt,u[16]=Ct,u[17]=Dt,u[18]=Ot,0!==c&&(u[19]=c,n.length++),n};function g(t,e,n){n.negative=e.negative^t.negative,n.length=t.length+e.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var a=i;i=0;for(var s=67108863&r,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var l=o-c,h=(0|t.words[l])*(0|e.words[c]),d=67108863&h;s=67108863&(d=d+s|0),i+=(a=(a=a+(h/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}n.words[o]=s,r=a,a=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function y(t,e,n){return g(t,e,n)}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var n=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):n<63?p(this,t,e):n<1024?g(this,t,e):y(this,t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),y(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),n=0;n<e.length;n++){var r=n/26|0,i=n%26;e[n]=t.words[r]>>>i&1}return e}(t);if(0===e.length)return new i(1);for(var n=this,r=0;r<e.length&&0===e[r];r++,n=n.sqr());if(++r<e.length)for(var o=n.sqr();r<e.length;r++,o=o.sqr())0!==e[r]&&(n=n.mul(o));return n},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e<this.length;e++){var s=this.words[e]&o,u=(0|this.words[e])-s<<r;this.words[e]=u|a,a=s>>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var c=0;c<a;c++)u.words[c]=this.words[c];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var l=0;for(c=this.length-1;c>=0&&(0!==l||c>=i);c--){var h=0|this.words[c];this.words[c]=l<<26-o|h>>>o,l=h&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var i,o,a=t.length+r;this._expand(a);var s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var u=(0|t.words[i])*e;s=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var n=(this.length,t.length),r=this.clone(),o=t,a=0|o.words[o.length-1];0!==(n=26-this._countBits(a))&&(o=o.ushln(n),r.iushln(n),a=0|o.words[o.length-1]);var s,u=r.length-o.length;if("mod"!==e){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var l=r.clone()._ishlnsubmul(o,1,u);0===l.negative&&(r=l,s&&(s.words[u]=1));for(var h=u-1;h>=0;h--){var d=67108864*(0|r.words[o.length+h])+(0|r.words[o.length+h-1]);for(d=Math.min(d/a|0,67108863),r._ishlnsubmul(o,d,h);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(o,1,h),r.isZero()||(r.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),r._strip(),"div"!==e&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var n=0!==e.div.negative?e.mod.isub(t):e.mod,r=t.ushrn(1),i=t.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var l=r.clone(),h=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(l),a.isub(h)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s),a.isub(u)):(r.isub(e),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;0==(e.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(e.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),n=t.clone();e.negative=0,n.negative=0;for(var r=0;e.isEven()&&n.isEven();r++)e.iushrn(1),n.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=e.cmp(n);if(i<0){var o=e;e=n,n=o}else if(0===i||0===n.cmpn(1))break;e.isub(n)}return n.iushln(r)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|t.words[n];if(r!==i){r<i?e=-1:r>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new A(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function L(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function x(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,n=t;do{this.split(n,this.tmp),e=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(e>this.n);var r=e<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(w,b),w.prototype.split=function(t,e){for(var n=4194303,r=Math.min(t.length,9),i=0;i<r;i++)e.words[i]=t.words[i];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&n,i=10;i<t.length;i++){var a=0|t.words[i];t.words[i-10]=(a&n)<<4|o>>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,n=0;n<t.length;n++){var r=0|t.words[n];e+=977*r,t.words[n]=67108863&e,e=64*r+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},r(M,b),r(k,b),r(L,b),L.prototype.imulK=function(t){for(var e=0,n=0;n<t.length;n++){var r=19*(0|t.words[n])+e,i=67108863&r;r>>>=26,t.words[n]=i,e=r}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new L}return v[t]=e,e},A.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(c(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var n=t.add(e);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var n=t.iadd(e);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(t,e){this._verify2(t,e);var n=t.sub(e);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var n=t.isub(e);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);n(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var h=this.pow(l,o),d=this.pow(t,o.addn(1).iushrn(1)),f=this.pow(t,o),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g<p);var y=this.pow(h,new i(1).iushln(p-g-1));d=d.redMul(y),h=y.redSqr(),f=f.redMul(h),p=g}return d},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=t;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],t);var o=n[0],a=0,s=0,u=e.bitLength()%26;for(0===u&&(u=26),r=e.length-1;r>=0;r--){for(var c=e.words[r],l=u-1;l>=0;l--){var h=c>>l&1;o!==n[0]&&(o=this.sqr(o)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===r&&0===l)&&(o=this.mul(o,n[a]),s=0,a=0)):s=0}u=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new x(t)},r(x,A),x.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},x.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},x.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var n=t.imul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},x.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var n=t.mul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=n.isub(r).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},x.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));
2
2
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */let R=!1,U=!1;const Q={debug:1,default:2,info:2,warning:3,error:4,off:5};let W=Q.default,F=null;const Y=function(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach((e=>{try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(n){t.push(e)}})),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();var H,G;!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(H||(H={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"}(G||(G={}));const Z="0123456789abcdef";class V{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const n=t.toLowerCase();null==Q[n]&&this.throwArgumentError("invalid log level name","logLevel",t),W>Q[n]||console.log.apply(console,e)}debug(...t){this._log(V.levels.DEBUG,t)}info(...t){this._log(V.levels.INFO,t)}warn(...t){this._log(V.levels.WARNING,t)}makeError(t,e,n){if(U)return this.makeError("censored error",e,{});e||(e=V.errors.UNKNOWN_ERROR),n||(n={});const r=[];Object.keys(n).forEach((t=>{const e=n[t];try{if(e instanceof Uint8Array){let n="";for(let t=0;t<e.length;t++)n+=Z[e[t]>>4],n+=Z[15&e[t]];r.push(t+"=Uint8Array(0x"+n+")")}else r.push(t+"="+JSON.stringify(e))}catch(e){r.push(t+"="+JSON.stringify(n[t].toString()))}})),r.push(`code=${e}`),r.push(`version=${this.version}`);const i=t;let o="";switch(e){case G.NUMERIC_FAULT:{o="NUMERIC_FAULT";const e=t;switch(e){case"overflow":case"underflow":case"division-by-zero":o+="-"+e;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result"}break}case G.CALL_EXCEPTION:case G.INSUFFICIENT_FUNDS:case G.MISSING_NEW:case G.NONCE_EXPIRED:case G.REPLACEMENT_UNDERPRICED:case G.TRANSACTION_REPLACED:case G.UNPREDICTABLE_GAS_LIMIT:o=e}o&&(t+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),r.length&&(t+=" ("+r.join(", ")+")");const a=new Error(t);return a.reason=i,a.code=e,Object.keys(n).forEach((function(t){a[t]=n[t]})),a}throwError(t,e,n){throw this.makeError(t,e,n)}throwArgumentError(t,e,n){return this.throwError(t,V.errors.INVALID_ARGUMENT,{argument:e,value:n})}assert(t,e,n,r){t||this.throwError(e,n,r)}assertArgument(t,e,n,r){t||this.throwArgumentError(e,n,r)}checkNormalize(t){Y&&this.throwError("platform missing String.prototype.normalize",V.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Y})}checkSafeUint53(t,e){"number"==typeof t&&(null==e&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,V.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,V.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,n){n=n?": "+n:"",t<e&&this.throwError("missing argument"+n,V.errors.MISSING_ARGUMENT,{count:t,expectedCount:e}),t>e&&this.throwError("too many arguments"+n,V.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){t!==Object&&null!=t||this.throwError("missing new",V.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",V.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",V.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return F||(F=new V("logger/5.7.0")),F}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",V.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),R){if(!t)return;this.globalLogger().throwError("error censorship permanent",V.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}U=!!t,R=!!e}static setLogLevel(t){const e=Q[t.toLowerCase()];null!=e?W=e:V.globalLogger().warn("invalid log level - "+t)}static from(t){return new V(t)}}V.errors=G,V.levels=H;const J=new V("bytes/5.7.0");function q(t){return!!t.toHexString}function X(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return X(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function K(t){return it(t)&&!(t.length%2)||tt(t)}function $(t){return"number"==typeof t&&t==t&&t%1==0}function tt(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(!$(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){const n=t[e];if(!$(n)||n<0||n>=256)return!1}return!0}function et(t,e){if(e||(e={}),"number"==typeof t){J.checkSafeUint53(t,"invalid arrayify value");const e=[];for(;t;)e.unshift(255&t),t=parseInt(String(t/256));return 0===e.length&&e.push(0),X(new Uint8Array(e))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),q(t)&&(t=t.toHexString()),it(t)){let n=t.substring(2);n.length%2&&("left"===e.hexPad?n="0"+n:"right"===e.hexPad?n+="0":J.throwArgumentError("hex data is odd-length","value",t));const r=[];for(let t=0;t<n.length;t+=2)r.push(parseInt(n.substring(t,t+2),16));return X(new Uint8Array(r))}return tt(t)?X(new Uint8Array(t)):J.throwArgumentError("invalid arrayify value","value",t)}function nt(t){const e=t.map((t=>et(t))),n=e.reduce(((t,e)=>t+e.length),0),r=new Uint8Array(n);return e.reduce(((t,e)=>(r.set(e,t),t+e.length)),0),X(r)}function rt(t){let e=et(t);if(0===e.length)return e;let n=0;for(;n<e.length&&0===e[n];)n++;return n&&(e=e.slice(n)),e}function it(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}const ot="0123456789abcdef";function at(t,e){if(e||(e={}),"number"==typeof t){J.checkSafeUint53(t,"invalid hexlify value");let e="";for(;t;)e=ot[15&t]+e,t=Math.floor(t/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if("bigint"==typeof t)return(t=t.toString(16)).length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),q(t))return t.toHexString();if(it(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":J.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(tt(t)){let e="0x";for(let n=0;n<t.length;n++){let r=t[n];e+=ot[(240&r)>>4]+ot[15&r]}return e}return J.throwArgumentError("invalid hexlify value","value",t)}function st(t){if("string"!=typeof t)t=at(t);else if(!it(t)||t.length%2)return null;return(t.length-2)/2}function ut(t,e,n){return"string"!=typeof t?t=at(t):(!it(t)||t.length%2)&&J.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=n?"0x"+t.substring(e,2+2*n):"0x"+t.substring(e)}function ct(t){let e="0x";return t.forEach((t=>{e+=at(t).substring(2)})),e}function lt(t){const e=function(t){"string"!=typeof t&&(t=at(t));it(t)||J.throwArgumentError("invalid hex string","value",t);t=t.substring(2);let e=0;for(;e<t.length&&"0"===t[e];)e++;return"0x"+t.substring(e)}(at(t,{hexPad:"left"}));return"0x"===e?"0x0":e}function ht(t,e){for("string"!=typeof t?t=at(t):it(t)||J.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&J.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function dt(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(K(t)){let n=et(t);64===n.length?(e.v=27+(n[32]>>7),n[32]&=127,e.r=at(n.slice(0,32)),e.s=at(n.slice(32,64))):65===n.length?(e.r=at(n.slice(0,32)),e.s=at(n.slice(32,64)),e.v=n[64]):J.throwArgumentError("invalid signature string","signature",t),e.v<27&&(0===e.v||1===e.v?e.v+=27:J.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(n[32]|=128),e._vs=at(n.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){const n=function(t,e){(t=et(t)).length>e&&J.throwArgumentError("value out of range","value",arguments[0]);const n=new Uint8Array(e);return n.set(t,e-t.length),X(n)}(et(e._vs),32);e._vs=at(n);const r=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=r:e.recoveryParam!==r&&J.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;const i=at(n);null==e.s?e.s=i:e.s!==i&&J.throwArgumentError("signature v mismatch _vs","signature",t)}if(null==e.recoveryParam)null==e.v?J.throwArgumentError("signature missing v and recoveryParam","signature",t):0===e.v||1===e.v?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(null==e.v)e.v=27+e.recoveryParam;else{const n=0===e.v||1===e.v?e.v:1-e.v%2;e.recoveryParam!==n&&J.throwArgumentError("signature recoveryParam mismatch v","signature",t)}null!=e.r&&it(e.r)?e.r=ht(e.r,32):J.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&it(e.s)?e.s=ht(e.s,32):J.throwArgumentError("signature missing or invalid s","signature",t);const n=et(e.s);n[0]>=128&&J.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(n[0]|=128);const r=at(n);e._vs&&(it(e._vs)||J.throwArgumentError("signature invalid _vs","signature",t),e._vs=ht(e._vs,32)),null==e._vs?e._vs=r:e._vs!==r&&J.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}const ft="bignumber/5.7.0";var pt=B.BN;const mt=new V(ft),gt={},yt=9007199254740991;let vt=!1;class bt{constructor(t,e){t!==gt&&mt.throwError("cannot call constructor directly; use BigNumber.from",V.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return Mt(kt(this).fromTwos(t))}toTwos(t){return Mt(kt(this).toTwos(t))}abs(){return"-"===this._hex[0]?bt.from(this._hex.substring(1)):this}add(t){return Mt(kt(this).add(kt(t)))}sub(t){return Mt(kt(this).sub(kt(t)))}div(t){return bt.from(t).isZero()&&Lt("division-by-zero","div"),Mt(kt(this).div(kt(t)))}mul(t){return Mt(kt(this).mul(kt(t)))}mod(t){const e=kt(t);return e.isNeg()&&Lt("division-by-zero","mod"),Mt(kt(this).umod(e))}pow(t){const e=kt(t);return e.isNeg()&&Lt("negative-power","pow"),Mt(kt(this).pow(e))}and(t){const e=kt(t);return(this.isNegative()||e.isNeg())&&Lt("unbound-bitwise-result","and"),Mt(kt(this).and(e))}or(t){const e=kt(t);return(this.isNegative()||e.isNeg())&&Lt("unbound-bitwise-result","or"),Mt(kt(this).or(e))}xor(t){const e=kt(t);return(this.isNegative()||e.isNeg())&&Lt("unbound-bitwise-result","xor"),Mt(kt(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&Lt("negative-width","mask"),Mt(kt(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&Lt("negative-width","shl"),Mt(kt(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&Lt("negative-width","shr"),Mt(kt(this).shrn(t))}eq(t){return kt(this).eq(kt(t))}lt(t){return kt(this).lt(kt(t))}lte(t){return kt(this).lte(kt(t))}gt(t){return kt(this).gt(kt(t))}gte(t){return kt(this).gte(kt(t))}isNegative(){return"-"===this._hex[0]}isZero(){return kt(this).isZero()}toNumber(){try{return kt(this).toNumber()}catch(t){Lt("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return mt.throwError("this platform does not support BigInt",V.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?vt||(vt=!0,mt.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?mt.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",V.errors.UNEXPECTED_ARGUMENT,{}):mt.throwError("BigNumber.toString does not accept parameters",V.errors.UNEXPECTED_ARGUMENT,{})),kt(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof bt)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new bt(gt,wt(t)):t.match(/^-?[0-9]+$/)?new bt(gt,wt(new pt(t))):mt.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&Lt("underflow","BigNumber.from",t),(t>=yt||t<=-yt)&&Lt("overflow","BigNumber.from",t),bt.from(String(t));const e=t;if("bigint"==typeof e)return bt.from(e.toString());if(tt(e))return bt.from(at(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return bt.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(it(t)||"-"===t[0]&&it(t.substring(1))))return bt.from(t)}return mt.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function wt(t){if("string"!=typeof t)return wt(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&mt.throwArgumentError("invalid hex","value",t),"0x00"===(t=wt(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function Mt(t){return bt.from(wt(t))}function kt(t){const e=bt.from(t).toHexString();return"-"===e[0]?new pt("-"+e.substring(3),16):new pt(e.substring(2),16)}function Lt(t,e,n){const r={fault:t,operation:e};return null!=n&&(r.value=n),mt.throwError(t,V.errors.NUMERIC_FAULT,r)}const At=new V(ft),xt={},Et=bt.from(0),Nt=bt.from(-1);function St(t,e,n,r){const i={fault:e,operation:n};return void 0!==r&&(i.value=r),At.throwError(t,V.errors.NUMERIC_FAULT,i)}let It="0";for(;It.length<256;)It+=It;function Tt(t){if("number"!=typeof t)try{t=bt.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+It.substring(0,t):At.throwArgumentError("invalid decimal size","decimals",t)}function jt(t,e){null==e&&(e=0);const n=Tt(e),r=(t=bt.from(t)).lt(Et);r&&(t=t.mul(Nt));let i=t.mod(n).toString();for(;i.length<n.length-1;)i="0"+i;i=i.match(/^([0-9]*[1-9]|0)(0*)/)[1];const o=t.div(n).toString();return t=1===n.length?o:o+"."+i,r&&(t="-"+t),t}function Ct(t,e){null==e&&(e=0);const n=Tt(e);"string"==typeof t&&t.match(/^-?[0-9.]+$/)||At.throwArgumentError("invalid decimal value","value",t);const r="-"===t.substring(0,1);r&&(t=t.substring(1)),"."===t&&At.throwArgumentError("missing value","value",t);const i=t.split(".");i.length>2&&At.throwArgumentError("too many decimal points","value",t);let o=i[0],a=i[1];for(o||(o="0"),a||(a="0");"0"===a[a.length-1];)a=a.substring(0,a.length-1);for(a.length>n.length-1&&St("fractional component exceeds decimals","underflow","parseFixed"),""===a&&(a="0");a.length<n.length-1;)a+="0";const s=bt.from(o),u=bt.from(a);let c=s.mul(n).add(u);return r&&(c=c.mul(Nt)),c}class Dt{constructor(t,e,n,r){t!==xt&&At.throwError("cannot use FixedFormat constructor; use FixedFormat.from",V.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=e,this.width=n,this.decimals=r,this.name=(e?"":"u")+"fixed"+String(n)+"x"+String(r),this._multiplier=Tt(r),Object.freeze(this)}static from(t){if(t instanceof Dt)return t;"number"==typeof t&&(t=`fixed128x${t}`);let e=!0,n=128,r=18;if("string"==typeof t)if("fixed"===t);else if("ufixed"===t)e=!1;else{const i=t.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);i||At.throwArgumentError("invalid fixed format","format",t),e="u"!==i[1],n=parseInt(i[2]),r=parseInt(i[3])}else if(t){const i=(e,n,r)=>null==t[e]?r:(typeof t[e]!==n&&At.throwArgumentError("invalid fixed format ("+e+" not "+n+")","format."+e,t[e]),t[e]);e=i("signed","boolean",e),n=i("width","number",n),r=i("decimals","number",r)}return n%8&&At.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),r>80&&At.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",r),new Dt(xt,e,n,r)}}class Ot{constructor(t,e,n,r){t!==xt&&At.throwError("cannot use FixedNumber constructor; use FixedNumber.from",V.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=r,this._hex=e,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&At.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}addUnsafe(t){this._checkFormat(t);const e=Ct(this._value,this.format.decimals),n=Ct(t._value,t.format.decimals);return Ot.fromValue(e.add(n),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const e=Ct(this._value,this.format.decimals),n=Ct(t._value,t.format.decimals);return Ot.fromValue(e.sub(n),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const e=Ct(this._value,this.format.decimals),n=Ct(t._value,t.format.decimals);return Ot.fromValue(e.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const e=Ct(this._value,this.format.decimals),n=Ct(t._value,t.format.decimals);return Ot.fromValue(e.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){const t=this.toString().split(".");1===t.length&&t.push("0");let e=Ot.from(t[0],this.format);const n=!t[1].match(/^(0*)$/);return this.isNegative()&&n&&(e=e.subUnsafe(_t.toFormat(e.format))),e}ceiling(){const t=this.toString().split(".");1===t.length&&t.push("0");let e=Ot.from(t[0],this.format);const n=!t[1].match(/^(0*)$/);return!this.isNegative()&&n&&(e=e.addUnsafe(_t.toFormat(e.format))),e}round(t){null==t&&(t=0);const e=this.toString().split(".");if(1===e.length&&e.push("0"),(t<0||t>80||t%1)&&At.throwArgumentError("invalid decimal count","decimals",t),e[1].length<=t)return this;const n=Ot.from("1"+It.substring(0,t),this.format),r=zt.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(r).floor().divUnsafe(n)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(t){if(null==t)return this._hex;t%8&&At.throwArgumentError("invalid byte width","width",t);return ht(bt.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString(),t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return Ot.fromString(this._value,t)}static fromValue(t,e,n){return null!=n||null==e||function(t){return null!=t&&(bt.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||it(t)||"bigint"==typeof t||tt(t))}(e)||(n=e,e=null),null==e&&(e=0),null==n&&(n="fixed"),Ot.fromString(jt(t,e),Dt.from(n))}static fromString(t,e){null==e&&(e="fixed");const n=Dt.from(e),r=Ct(t,n.decimals);!n.signed&&r.lt(Et)&&St("unsigned value cannot be negative","overflow","value",t);let i=null;n.signed?i=r.toTwos(n.width).toHexString():(i=r.toHexString(),i=ht(i,n.width/8));const o=jt(r,n.decimals);return new Ot(xt,i,o,n)}static fromBytes(t,e){null==e&&(e="fixed");const n=Dt.from(e);if(et(t).length>n.width/8)throw new Error("overflow");let r=bt.from(t);n.signed&&(r=r.fromTwos(n.width));const i=r.toTwos((n.signed?0:1)+n.width).toHexString(),o=jt(r,n.decimals);return new Ot(xt,i,o,n)}static from(t,e){if("string"==typeof t)return Ot.fromString(t,e);if(tt(t))return Ot.fromBytes(t,e);try{return Ot.fromValue(t,0,e)}catch(t){if(t.code!==V.errors.INVALID_ARGUMENT)throw t}return At.throwArgumentError("invalid FixedNumber value","value",t)}static isFixedNumber(t){return!(!t||!t._isFixedNumber)}}const _t=Ot.from(1),zt=Ot.from("0.5");var Pt=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const Bt=new V("properties/5.7.0");function Rt(t,e,n){Object.defineProperty(t,e,{enumerable:!0,value:n,writable:!1})}function Ut(t,e){for(let n=0;n<32;n++){if(t[e])return t[e];if(!t.prototype||"object"!=typeof t.prototype)break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function Qt(t){return Pt(this,void 0,void 0,(function*(){const e=Object.keys(t).map((e=>{const n=t[e];return Promise.resolve(n).then((t=>({key:e,value:t})))}));return(yield Promise.all(e)).reduce(((t,e)=>(t[e.key]=e.value,t)),{})}))}function Wt(t){const e={};for(const n in t)e[n]=t[n];return e}const Ft={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Yt(t){if(null==t||Ft[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;const e=Object.keys(t);for(let n=0;n<e.length;n++){let r=null;try{r=t[e[n]]}catch(t){continue}if(!Yt(r))return!1}return!0}return Bt.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function Ht(t){if(Yt(t))return t;if(Array.isArray(t))return Object.freeze(t.map((t=>Gt(t))));if("object"==typeof t){const e={};for(const n in t){const r=t[n];void 0!==r&&Rt(e,n,Gt(r))}return e}return Bt.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function Gt(t){return Ht(t)}class Zt{constructor(t){for(const e in t)this[e]=Gt(t[e])}}const Vt="abi/5.7.0",Jt=new V(Vt),qt={};let Xt={calldata:!0,memory:!0,storage:!0},Kt={calldata:!0,memory:!0};function $t(t,e){if("bytes"===t||"string"===t){if(Xt[e])return!0}else if("address"===t){if("payable"===e)return!0}else if((t.indexOf("[")>=0||"tuple"===t)&&Kt[e])return!0;return(Xt[e]||"payable"===e)&&Jt.throwArgumentError("invalid modifier","name",e),!1}function te(t,e){for(let n in e)Rt(t,n,e[n])}const ee=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),ne=new RegExp(/^(.*)\[([0-9]*)\]$/);class re{constructor(t,e){t!==qt&&Jt.throwError("use fromString",V.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),te(this,e);let n=this.type.match(ne);te(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:re.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(t){if(t||(t=ee.sighash),ee[t]||Jt.throwArgumentError("invalid format type","format",t),t===ee.json){let e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((e=>JSON.parse(e.format(t))))),JSON.stringify(e)}let e="";return"array"===this.baseType?(e+=this.arrayChildren.format(t),e+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==ee.sighash&&(e+=this.type),e+="("+this.components.map((e=>e.format(t))).join(t===ee.full?", ":",")+")"):e+=this.type,t!==ee.sighash&&(!0===this.indexed&&(e+=" indexed"),t===ee.full&&this.name&&(e+=" "+this.name)),e}static from(t,e){return"string"==typeof t?re.fromString(t,e):re.fromObject(t)}static fromObject(t){return re.isParamType(t)?t:new re(qt,{name:t.name||null,type:pe(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(re.fromObject):null})}static fromString(t,e){return n=function(t,e){let n=t;function r(e){Jt.throwArgumentError(`unexpected character at position ${e}`,"param",t)}function i(t){let n={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(n.indexed=!1),n}t=t.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},a=o;for(let n=0;n<t.length;n++){let o=t[n];switch(o){case"(":a.state.allowType&&""===a.type?a.type="tuple":a.state.allowParams||r(n),a.state.allowType=!1,a.type=pe(a.type),a.components=[i(a)],a=a.components[0];break;case")":delete a.state,"indexed"===a.name&&(e||r(n),a.indexed=!0,a.name=""),$t(a.type,a.name)&&(a.name=""),a.type=pe(a.type);let t=a;a=a.parent,a||r(n),delete t.parent,a.state.allowParams=!1,a.state.allowName=!0,a.state.allowArray=!0;break;case",":delete a.state,"indexed"===a.name&&(e||r(n),a.indexed=!0,a.name=""),$t(a.type,a.name)&&(a.name=""),a.type=pe(a.type);let s=i(a.parent);a.parent.components.push(s),delete a.parent,a=s;break;case" ":a.state.allowType&&""!==a.type&&(a.type=pe(a.type),delete a.state.allowType,a.state.allowName=!0,a.state.allowParams=!0),a.state.allowName&&""!==a.name&&("indexed"===a.name?(e||r(n),a.indexed&&r(n),a.indexed=!0,a.name=""):$t(a.type,a.name)?a.name="":a.state.allowName=!1);break;case"[":a.state.allowArray||r(n),a.type+=o,a.state.allowArray=!1,a.state.allowName=!1,a.state.readArray=!0;break;case"]":a.state.readArray||r(n),a.type+=o,a.state.readArray=!1,a.state.allowArray=!0,a.state.allowName=!0;break;default:a.state.allowType?(a.type+=o,a.state.allowParams=!0,a.state.allowArray=!0):a.state.allowName?(a.name+=o,delete a.state.allowArray):a.state.readArray?a.type+=o:r(n)}}return a.parent&&Jt.throwArgumentError("unexpected eof","param",t),delete o.state,"indexed"===a.name?(e||r(n.length-7),a.indexed&&r(n.length-7),a.indexed=!0,a.name=""):$t(a.type,a.name)&&(a.name=""),o.type=pe(o.type),o}(t,!!e),re.fromObject({name:n.name,type:n.type,indexed:n.indexed,components:n.components});var n}static isParamType(t){return!(null==t||!t._isParamType)}}function ie(t,e){return function(t){t=t.trim();let e=[],n="",r=0;for(let i=0;i<t.length;i++){let o=t[i];","===o&&0===r?(e.push(n),n=""):(n+=o,"("===o?r++:")"===o&&(r--,-1===r&&Jt.throwArgumentError("unbalanced parenthesis","value",t)))}n&&e.push(n);return e}(t).map((t=>re.fromString(t,e)))}class oe{constructor(t,e){t!==qt&&Jt.throwError("use a static from method",V.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),te(this,e),this._isFragment=!0,Object.freeze(this)}static from(t){return oe.isFragment(t)?t:"string"==typeof t?oe.fromString(t):oe.fromObject(t)}static fromObject(t){if(oe.isFragment(t))return t;switch(t.type){case"function":return he.fromObject(t);case"event":return ae.fromObject(t);case"constructor":return le.fromObject(t);case"error":return fe.fromObject(t);case"fallback":case"receive":return null}return Jt.throwArgumentError("invalid fragment object","value",t)}static fromString(t){return"event"===(t=(t=(t=t.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?ae.fromString(t.substring(5).trim()):"function"===t.split(" ")[0]?he.fromString(t.substring(8).trim()):"constructor"===t.split("(")[0].trim()?le.fromString(t.trim()):"error"===t.split(" ")[0]?fe.fromString(t.substring(5).trim()):Jt.throwArgumentError("unsupported fragment","value",t)}static isFragment(t){return!(!t||!t._isFragment)}}class ae extends oe{format(t){if(t||(t=ee.sighash),ee[t]||Jt.throwArgumentError("invalid format type","format",t),t===ee.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});let e="";return t!==ee.sighash&&(e+="event "),e+=this.name+"("+this.inputs.map((e=>e.format(t))).join(t===ee.full?", ":",")+") ",t!==ee.sighash&&this.anonymous&&(e+="anonymous "),e.trim()}static from(t){return"string"==typeof t?ae.fromString(t):ae.fromObject(t)}static fromObject(t){if(ae.isEventFragment(t))return t;"event"!==t.type&&Jt.throwArgumentError("invalid event object","value",t);const e={name:ge(t.name),anonymous:t.anonymous,inputs:t.inputs?t.inputs.map(re.fromObject):[],type:"event"};return new ae(qt,e)}static fromString(t){let e=t.match(ye);e||Jt.throwArgumentError("invalid event string","value",t);let n=!1;return e[3].split(" ").forEach((t=>{switch(t.trim()){case"anonymous":n=!0;break;case"":break;default:Jt.warn("unknown modifier: "+t)}})),ae.fromObject({name:e[1].trim(),anonymous:n,inputs:ie(e[2],!0),type:"event"})}static isEventFragment(t){return t&&t._isFragment&&"event"===t.type}}function se(t,e){e.gas=null;let n=t.split("@");return 1!==n.length?(n.length>2&&Jt.throwArgumentError("invalid human-readable ABI signature","value",t),n[1].match(/^[0-9]+$/)||Jt.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=bt.from(n[1]),n[0]):t}function ue(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach((t=>{switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}}))}function ce(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&Jt.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&Jt.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||Jt.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&Jt.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&Jt.throwArgumentError("unable to determine stateMutability","value",t),e}class le extends oe{format(t){if(t||(t=ee.sighash),ee[t]||Jt.throwArgumentError("invalid format type","format",t),t===ee.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});t===ee.sighash&&Jt.throwError("cannot format a constructor for sighash",V.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let e="constructor("+this.inputs.map((e=>e.format(t))).join(t===ee.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}static from(t){return"string"==typeof t?le.fromString(t):le.fromObject(t)}static fromObject(t){if(le.isConstructorFragment(t))return t;"constructor"!==t.type&&Jt.throwArgumentError("invalid constructor object","value",t);let e=ce(t);e.constant&&Jt.throwArgumentError("constructor cannot be constant","value",t);const n={name:null,type:t.type,inputs:t.inputs?t.inputs.map(re.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?bt.from(t.gas):null};return new le(qt,n)}static fromString(t){let e={type:"constructor"},n=(t=se(t,e)).match(ye);return n&&"constructor"===n[1].trim()||Jt.throwArgumentError("invalid constructor string","value",t),e.inputs=ie(n[2].trim(),!1),ue(n[3].trim(),e),le.fromObject(e)}static isConstructorFragment(t){return t&&t._isFragment&&"constructor"===t.type}}class he extends le{format(t){if(t||(t=ee.sighash),ee[t]||Jt.throwArgumentError("invalid format type","format",t),t===ee.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(t)))),outputs:this.outputs.map((e=>JSON.parse(e.format(t))))});let e="";return t!==ee.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((e=>e.format(t))).join(t===ee.full?", ":",")+") ",t!==ee.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((e=>e.format(t))).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}static from(t){return"string"==typeof t?he.fromString(t):he.fromObject(t)}static fromObject(t){if(he.isFunctionFragment(t))return t;"function"!==t.type&&Jt.throwArgumentError("invalid function object","value",t);let e=ce(t);const n={type:t.type,name:ge(t.name),constant:e.constant,inputs:t.inputs?t.inputs.map(re.fromObject):[],outputs:t.outputs?t.outputs.map(re.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?bt.from(t.gas):null};return new he(qt,n)}static fromString(t){let e={type:"function"},n=(t=se(t,e)).split(" returns ");n.length>2&&Jt.throwArgumentError("invalid function string","value",t);let r=n[0].match(ye);if(r||Jt.throwArgumentError("invalid function signature","value",t),e.name=r[1].trim(),e.name&&ge(e.name),e.inputs=ie(r[2],!1),ue(r[3].trim(),e),n.length>1){let r=n[1].match(ye);""==r[1].trim()&&""==r[3].trim()||Jt.throwArgumentError("unexpected tokens","value",t),e.outputs=ie(r[2],!1)}else e.outputs=[];return he.fromObject(e)}static isFunctionFragment(t){return t&&t._isFragment&&"function"===t.type}}function de(t){const e=t.format();return"Error(string)"!==e&&"Panic(uint256)"!==e||Jt.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}class fe extends oe{format(t){if(t||(t=ee.sighash),ee[t]||Jt.throwArgumentError("invalid format type","format",t),t===ee.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});let e="";return t!==ee.sighash&&(e+="error "),e+=this.name+"("+this.inputs.map((e=>e.format(t))).join(t===ee.full?", ":",")+") ",e.trim()}static from(t){return"string"==typeof t?fe.fromString(t):fe.fromObject(t)}static fromObject(t){if(fe.isErrorFragment(t))return t;"error"!==t.type&&Jt.throwArgumentError("invalid error object","value",t);const e={type:t.type,name:ge(t.name),inputs:t.inputs?t.inputs.map(re.fromObject):[]};return de(new fe(qt,e))}static fromString(t){let e={type:"error"},n=t.match(ye);return n||Jt.throwArgumentError("invalid error signature","value",t),e.name=n[1].trim(),e.name&&ge(e.name),e.inputs=ie(n[2],!1),de(fe.fromObject(e))}static isErrorFragment(t){return t&&t._isFragment&&"error"===t.type}}function pe(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const me=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function ge(t){return t&&t.match(me)||Jt.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const ye=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const ve=new V(Vt);class be{constructor(t,e,n,r){this.name=t,this.type=e,this.localName=n,this.dynamic=r}_throwError(t,e){ve.throwArgumentError(t,this.localName,e)}}class we{constructor(t){Rt(this,"wordSize",t||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(t)}get data(){return ct(this._data)}get length(){return this._dataLength}_writeData(t){return this._data.push(t),this._dataLength+=t.length,t.length}appendWriter(t){return this._writeData(nt(t._data))}writeBytes(t){let e=et(t);const n=e.length%this.wordSize;return n&&(e=nt([e,this._padding.slice(n)])),this._writeData(e)}_getValue(t){let e=et(bt.from(t));return e.length>this.wordSize&&ve.throwError("value out-of-bounds",V.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=nt([this._padding.slice(e.length%this.wordSize),e])),e}writeValue(t){return this._writeData(this._getValue(t))}writeUpdatableValue(){const t=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,e=>{this._data[t]=this._getValue(e)}}}class Me{constructor(t,e,n,r){Rt(this,"_data",et(t)),Rt(this,"wordSize",e||32),Rt(this,"_coerceFunc",n),Rt(this,"allowLoose",r),this._offset=0}get data(){return at(this._data)}get consumed(){return this._offset}static coerce(t,e){let n=t.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(e=e.toNumber()),e}coerce(t,e){return this._coerceFunc?this._coerceFunc(t,e):Me.coerce(t,e)}_peekBytes(t,e,n){let r=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+e<=this._data.length?r=e:ve.throwError("data out-of-bounds",V.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(t){return new Me(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(t,e){let n=this._peekBytes(0,t,!!e);return this._offset+=n.length,n.slice(0,t)}readValue(){return bt.from(this.readBytes(this.wordSize))}}var ke=void 0!==ke?ke:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Le(){throw new Error("setTimeout has not been defined")}function Ae(){throw new Error("clearTimeout has not been defined")}var xe=Le,Ee=Ae;function Ne(t){if(xe===setTimeout)return setTimeout(t,0);if((xe===Le||!xe)&&setTimeout)return xe=setTimeout,setTimeout(t,0);try{return xe(t,0)}catch(e){try{return xe.call(null,t,0)}catch(e){return xe.call(this,t,0)}}}"function"==typeof ke.setTimeout&&(xe=setTimeout),"function"==typeof ke.clearTimeout&&(Ee=clearTimeout);var Se,Ie=[],Te=!1,je=-1;function Ce(){Te&&Se&&(Te=!1,Se.length?Ie=Se.concat(Ie):je=-1,Ie.length&&De())}function De(){if(!Te){var t=Ne(Ce);Te=!0;for(var e=Ie.length;e;){for(Se=Ie,Ie=[];++je<e;)Se&&Se[je].run();je=-1,e=Ie.length}Se=null,Te=!1,function(t){if(Ee===clearTimeout)return clearTimeout(t);if((Ee===Ae||!Ee)&&clearTimeout)return Ee=clearTimeout,clearTimeout(t);try{return Ee(t)}catch(e){try{return Ee.call(null,t)}catch(e){return Ee.call(this,t)}}}(t)}}function Oe(t,e){this.fun=t,this.array=e}Oe.prototype.run=function(){this.fun.apply(null,this.array)};function _e(){}var ze=_e,Pe=_e,Be=_e,Re=_e,Ue=_e,Qe=_e,We=_e;var Fe=ke.performance||{},Ye=Fe.now||Fe.mozNow||Fe.msNow||Fe.oNow||Fe.webkitNow||function(){return(new Date).getTime()};var He=new Date;var Ge={nextTick:function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];Ie.push(new Oe(t,e)),1!==Ie.length||Te||Ne(De)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:ze,addListener:Pe,once:Be,off:Re,removeListener:Ue,removeAllListeners:Qe,emit:We,binding:function(t){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(t){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(t){var e=.001*Ye.call(Fe),n=Math.floor(e),r=Math.floor(e%1*1e9);return t&&(n-=t[0],(r-=t[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-He)/1e3}},Ze=Ge,Ve=o((function(t){!function(){var e="input is invalid type",n="object"==typeof window,i=n?window:{};i.JS_SHA3_NO_WINDOW&&(n=!1);var o=!n&&"object"==typeof self;!i.JS_SHA3_NO_NODE_JS&&"object"==typeof Ze&&Ze.versions&&Ze.versions.node?i=r:o&&(i=self);var a=!i.JS_SHA3_NO_COMMON_JS&&t.exports,s=!i.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,u="0123456789abcdef".split(""),c=[4,1024,262144,67108864],l=[0,8,16,24],h=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=[224,256,384,512],f=[128,256],p=["hex","buffer","arrayBuffer","array","digest"],m={128:168,256:136};!i.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),!s||!i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return"object"==typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var g=function(t,e,n){return function(r){return new j(t,e,t).update(r)[n]()}},y=function(t,e,n){return function(r,i){return new j(t,e,i).update(r)[n]()}},v=function(t,e,n){return function(e,r,i,o){return L["cshake"+t].update(e,r,i,o)[n]()}},b=function(t,e,n){return function(e,r,i,o){return L["kmac"+t].update(e,r,i,o)[n]()}},w=function(t,e,n,r){for(var i=0;i<p.length;++i){var o=p[i];t[o]=e(n,r,o)}return t},M=function(t,e){var n=g(t,e,"hex");return n.create=function(){return new j(t,e,t)},n.update=function(t){return n.create().update(t)},w(n,g,t,e)},k=[{name:"keccak",padding:[1,256,65536,16777216],bits:d,createMethod:M},{name:"sha3",padding:[6,1536,393216,100663296],bits:d,createMethod:M},{name:"shake",padding:[31,7936,2031616,520093696],bits:f,createMethod:function(t,e){var n=y(t,e,"hex");return n.create=function(n){return new j(t,e,n)},n.update=function(t,e){return n.create(e).update(t)},w(n,y,t,e)}},{name:"cshake",padding:c,bits:f,createMethod:function(t,e){var n=m[t],r=v(t,0,"hex");return r.create=function(r,i,o){return i||o?new j(t,e,r).bytepad([i,o],n):L["shake"+t].create(r)},r.update=function(t,e,n,i){return r.create(e,n,i).update(t)},w(r,v,t,e)}},{name:"kmac",padding:c,bits:f,createMethod:function(t,e){var n=m[t],r=b(t,0,"hex");return r.create=function(r,i,o){return new C(t,e,i).bytepad(["KMAC",o],n).bytepad([r],n)},r.update=function(t,e,n,i){return r.create(t,n,i).update(e)},w(r,b,t,e)}}],L={},A=[],x=0;x<k.length;++x)for(var E=k[x],N=E.bits,S=0;S<N.length;++S){var I=E.name+"_"+N[S];if(A.push(I),L[I]=E.createMethod(N[S],E.padding),"sha3"!==E.name){var T=E.name+N[S];A.push(T),L[T]=L[I]}}function j(t,e,n){this.blocks=[],this.s=[],this.padding=e,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function C(t,e,n){j.call(this,t,e,n)}j.prototype.update=function(t){if(this.finalized)throw new Error("finalize already called");var n,r=typeof t;if("string"!==r){if("object"!==r)throw new Error(e);if(null===t)throw new Error(e);if(s&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||s&&ArrayBuffer.isView(t)))throw new Error(e);n=!0}for(var i,o,a=this.blocks,u=this.byteCount,c=t.length,h=this.blockCount,d=0,f=this.s;d<c;){if(this.reset)for(this.reset=!1,a[0]=this.block,i=1;i<h+1;++i)a[i]=0;if(n)for(i=this.start;d<c&&i<u;++d)a[i>>2]|=t[d]<<l[3&i++];else for(i=this.start;d<c&&i<u;++d)(o=t.charCodeAt(d))<128?a[i>>2]|=o<<l[3&i++]:o<2048?(a[i>>2]|=(192|o>>6)<<l[3&i++],a[i>>2]|=(128|63&o)<<l[3&i++]):o<55296||o>=57344?(a[i>>2]|=(224|o>>12)<<l[3&i++],a[i>>2]|=(128|o>>6&63)<<l[3&i++],a[i>>2]|=(128|63&o)<<l[3&i++]):(o=65536+((1023&o)<<10|1023&t.charCodeAt(++d)),a[i>>2]|=(240|o>>18)<<l[3&i++],a[i>>2]|=(128|o>>12&63)<<l[3&i++],a[i>>2]|=(128|o>>6&63)<<l[3&i++],a[i>>2]|=(128|63&o)<<l[3&i++]);if(this.lastByteIndex=i,i>=u){for(this.start=i-u,this.block=a[h],i=0;i<h;++i)f[i]^=a[i];D(f),this.reset=!0}else this.start=i}return this},j.prototype.encode=function(t,e){var n=255&t,r=1,i=[n];for(n=255&(t>>=8);n>0;)i.unshift(n),n=255&(t>>=8),++r;return e?i.push(r):i.unshift(r),this.update(i),i.length},j.prototype.encodeString=function(t){var n,r=typeof t;if("string"!==r){if("object"!==r)throw new Error(e);if(null===t)throw new Error(e);if(s&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||s&&ArrayBuffer.isView(t)))throw new Error(e);n=!0}var i=0,o=t.length;if(n)i=o;else for(var a=0;a<t.length;++a){var u=t.charCodeAt(a);u<128?i+=1:u<2048?i+=2:u<55296||u>=57344?i+=3:(u=65536+((1023&u)<<10|1023&t.charCodeAt(++a)),i+=4)}return i+=this.encode(8*i),this.update(t),i},j.prototype.bytepad=function(t,e){for(var n=this.encode(e),r=0;r<t.length;++r)n+=this.encodeString(t[r]);var i=e-n%e,o=[];return o.length=i,this.update(o),this},j.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex,n=this.blockCount,r=this.s;if(t[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[n],e=1;e<n+1;++e)t[e]=0;for(t[n-1]|=2147483648,e=0;e<n;++e)r[e]^=t[e];D(r)}},j.prototype.toString=j.prototype.hex=function(){this.finalize();for(var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,s="";a<r;){for(o=0;o<e&&a<r;++o,++a)t=n[o],s+=u[t>>4&15]+u[15&t]+u[t>>12&15]+u[t>>8&15]+u[t>>20&15]+u[t>>16&15]+u[t>>28&15]+u[t>>24&15];a%e==0&&(D(n),o=0)}return i&&(t=n[o],s+=u[t>>4&15]+u[15&t],i>1&&(s+=u[t>>12&15]+u[t>>8&15]),i>2&&(s+=u[t>>20&15]+u[t>>16&15])),s},j.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;t=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(t);a<r;){for(o=0;o<e&&a<r;++o,++a)u[a]=n[o];a%e==0&&D(n)}return i&&(u[o]=n[o],t=t.slice(0,s)),t},j.prototype.buffer=j.prototype.arrayBuffer,j.prototype.digest=j.prototype.array=function(){this.finalize();for(var t,e,n=this.blockCount,r=this.s,i=this.outputBlocks,o=this.extraBytes,a=0,s=0,u=[];s<i;){for(a=0;a<n&&s<i;++a,++s)t=s<<2,e=r[a],u[t]=255&e,u[t+1]=e>>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;s%n==0&&D(r)}return o&&(t=s<<2,e=r[a],u[t]=255&e,o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u},C.prototype=new j,C.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var D=function(t){var e,n,r,i,o,a,s,u,c,l,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I,T,j,C,D,O,_,z,P,B,R,U,Q,W,F,Y,H,G,Z,V,J,q,X,K,$,tt,et,nt,rt,it,ot,at,st,ut,ct,lt;for(r=0;r<48;r+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],s=t[3]^t[13]^t[23]^t[33]^t[43],u=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],l=t[6]^t[16]^t[26]^t[36]^t[46],d=t[7]^t[17]^t[27]^t[37]^t[47],e=(f=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|s>>>31),n=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(s<<1|a>>>31),t[0]^=e,t[1]^=n,t[10]^=e,t[11]^=n,t[20]^=e,t[21]^=n,t[30]^=e,t[31]^=n,t[40]^=e,t[41]^=n,e=i^(u<<1|c>>>31),n=o^(c<<1|u>>>31),t[2]^=e,t[3]^=n,t[12]^=e,t[13]^=n,t[22]^=e,t[23]^=n,t[32]^=e,t[33]^=n,t[42]^=e,t[43]^=n,e=a^(l<<1|d>>>31),n=s^(d<<1|l>>>31),t[4]^=e,t[5]^=n,t[14]^=e,t[15]^=n,t[24]^=e,t[25]^=n,t[34]^=e,t[35]^=n,t[44]^=e,t[45]^=n,e=u^(f<<1|p>>>31),n=c^(p<<1|f>>>31),t[6]^=e,t[7]^=n,t[16]^=e,t[17]^=n,t[26]^=e,t[27]^=n,t[36]^=e,t[37]^=n,t[46]^=e,t[47]^=n,e=l^(i<<1|o>>>31),n=d^(o<<1|i>>>31),t[8]^=e,t[9]^=n,t[18]^=e,t[19]^=n,t[28]^=e,t[29]^=n,t[38]^=e,t[39]^=n,t[48]^=e,t[49]^=n,m=t[0],g=t[1],Z=t[11]<<4|t[10]>>>28,V=t[10]<<4|t[11]>>>28,I=t[20]<<3|t[21]>>>29,T=t[21]<<3|t[20]>>>29,st=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,F=t[40]<<18|t[41]>>>14,Y=t[41]<<18|t[40]>>>14,_=t[2]<<1|t[3]>>>31,z=t[3]<<1|t[2]>>>31,y=t[13]<<12|t[12]>>>20,v=t[12]<<12|t[13]>>>20,J=t[22]<<10|t[23]>>>22,q=t[23]<<10|t[22]>>>22,j=t[33]<<13|t[32]>>>19,C=t[32]<<13|t[33]>>>19,ct=t[42]<<2|t[43]>>>30,lt=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,nt=t[4]<<30|t[5]>>>2,P=t[14]<<6|t[15]>>>26,B=t[15]<<6|t[14]>>>26,b=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,X=t[34]<<15|t[35]>>>17,K=t[35]<<15|t[34]>>>17,D=t[45]<<29|t[44]>>>3,O=t[44]<<29|t[45]>>>3,x=t[6]<<28|t[7]>>>4,E=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,R=t[26]<<25|t[27]>>>7,U=t[27]<<25|t[26]>>>7,M=t[36]<<21|t[37]>>>11,k=t[37]<<21|t[36]>>>11,$=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,H=t[8]<<27|t[9]>>>5,G=t[9]<<27|t[8]>>>5,N=t[18]<<20|t[19]>>>12,S=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,at=t[28]<<7|t[29]>>>25,Q=t[38]<<8|t[39]>>>24,W=t[39]<<8|t[38]>>>24,L=t[48]<<14|t[49]>>>18,A=t[49]<<14|t[48]>>>18,t[0]=m^~y&b,t[1]=g^~v&w,t[10]=x^~N&I,t[11]=E^~S&T,t[20]=_^~P&R,t[21]=z^~B&U,t[30]=H^~Z&J,t[31]=G^~V&q,t[40]=et^~rt&ot,t[41]=nt^~it&at,t[2]=y^~b&M,t[3]=v^~w&k,t[12]=N^~I&j,t[13]=S^~T&C,t[22]=P^~R&Q,t[23]=B^~U&W,t[32]=Z^~J&X,t[33]=V^~q&K,t[42]=rt^~ot&st,t[43]=it^~at&ut,t[4]=b^~M&L,t[5]=w^~k&A,t[14]=I^~j&D,t[15]=T^~C&O,t[24]=R^~Q&F,t[25]=U^~W&Y,t[34]=J^~X&$,t[35]=q^~K&tt,t[44]=ot^~st&ct,t[45]=at^~ut&lt,t[6]=M^~L&m,t[7]=k^~A&g,t[16]=j^~D&x,t[17]=C^~O&E,t[26]=Q^~F&_,t[27]=W^~Y&z,t[36]=X^~$&H,t[37]=K^~tt&G,t[46]=st^~ct&et,t[47]=ut^~lt&nt,t[8]=L^~m&y,t[9]=A^~g&v,t[18]=D^~x&N,t[19]=O^~E&S,t[28]=F^~_&P,t[29]=Y^~z&B,t[38]=$^~H&Z,t[39]=tt^~G&V,t[48]=ct^~et&rt,t[49]=lt^~nt&it,t[0]^=h[r],t[1]^=h[r+1]};if(a)t.exports=L;else for(x=0;x<A.length;++x)i[A[x]]=L[A[x]]}()})),Je=Ve;function qe(t){return"0x"+Je.keccak_256(et(t))}const Xe=new V("rlp/5.7.0");function Ke(t){const e=[];for(;t;)e.unshift(255&t),t>>=8;return e}function $e(t,e,n){let r=0;for(let i=0;i<n;i++)r=256*r+t[e+i];return r}function tn(t){if(Array.isArray(t)){let e=[];if(t.forEach((function(t){e=e.concat(tn(t))})),e.length<=55)return e.unshift(192+e.length),e;const n=Ke(e.length);return n.unshift(247+n.length),n.concat(e)}K(t)||Xe.throwArgumentError("RLP object must be BytesLike","object",t);const e=Array.prototype.slice.call(et(t));if(1===e.length&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const n=Ke(e.length);return n.unshift(183+n.length),n.concat(e)}function en(t){return at(tn(t))}function nn(t,e,n,r){const i=[];for(;n<e+1+r;){const o=rn(t,n);i.push(o.result),(n+=o.consumed)>e+1+r&&Xe.throwError("child data too short",V.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:i}}function rn(t,e){if(0===t.length&&Xe.throwError("data too short",V.errors.BUFFER_OVERRUN,{}),t[e]>=248){const n=t[e]-247;e+1+n>t.length&&Xe.throwError("data short segment too short",V.errors.BUFFER_OVERRUN,{});const r=$e(t,e+1,n);return e+1+n+r>t.length&&Xe.throwError("data long segment too short",V.errors.BUFFER_OVERRUN,{}),nn(t,e,e+1+n,n+r)}if(t[e]>=192){const n=t[e]-192;return e+1+n>t.length&&Xe.throwError("data array too short",V.errors.BUFFER_OVERRUN,{}),nn(t,e,e+1,n)}if(t[e]>=184){const n=t[e]-183;e+1+n>t.length&&Xe.throwError("data array too short",V.errors.BUFFER_OVERRUN,{});const r=$e(t,e+1,n);e+1+n+r>t.length&&Xe.throwError("data array too short",V.errors.BUFFER_OVERRUN,{});return{consumed:1+n+r,result:at(t.slice(e+1+n,e+1+n+r))}}if(t[e]>=128){const n=t[e]-128;e+1+n>t.length&&Xe.throwError("data too short",V.errors.BUFFER_OVERRUN,{});return{consumed:1+n,result:at(t.slice(e+1,e+1+n))}}return{consumed:1,result:at(t[e])}}function on(t){const e=et(t),n=rn(e,0);return n.consumed!==e.length&&Xe.throwArgumentError("invalid rlp data","data",t),n.result}const an=new V("address/5.7.0");function sn(t){it(t,20)||an.throwArgumentError("invalid address","address",t);const e=(t=t.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let t=0;t<40;t++)n[t]=e[t].charCodeAt(0);const r=et(qe(n));for(let t=0;t<40;t+=2)r[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&r[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}const un={};for(let t=0;t<10;t++)un[String(t)]=String(t);for(let t=0;t<26;t++)un[String.fromCharCode(65+t)]=String(10+t);const cn=Math.floor(function(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}(9007199254740991));function ln(t){let e=null;if("string"!=typeof t&&an.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=sn(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&an.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==function(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((t=>un[t])).join("");for(;e.length>=cn;){let t=e.substring(0,cn);e=parseInt(t,10)%97+e.substring(t.length)}let n=String(98-parseInt(e,10)%97);for(;n.length<2;)n="0"+n;return n}(t)&&an.throwArgumentError("bad icap checksum","address",t),n=t.substring(4),e=new pt(n,36).toString(16);e.length<40;)e="0"+e;e=sn("0x"+e)}else an.throwArgumentError("invalid address","address",t);var n;return e}function hn(t){let e=null;try{e=ln(t.from)}catch(e){an.throwArgumentError("missing from address","transaction",t)}return ln(ut(qe(en([e,rt(et(bt.from(t.nonce).toHexString()))])),12))}class dn extends be{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){try{e=ln(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)}decode(t){return ln(ht(t.readValue().toHexString(),20))}}class fn extends be{constructor(t){super(t.name,t.type,void 0,t.dynamic),this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}const pn=new V(Vt);function mn(t,e,n){let r=null;if(Array.isArray(n))r=n;else if(n&&"object"==typeof n){let t={};r=e.map((e=>{const r=e.localName;return r||pn.throwError("cannot encode object for signature with missing names",V.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:n}),t[r]&&pn.throwError("cannot encode object for signature with duplicate names",V.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:n}),t[r]=!0,n[r]}))}else pn.throwArgumentError("invalid tuple value","tuple",n);e.length!==r.length&&pn.throwArgumentError("types/value length mismatch","tuple",n);let i=new we(t.wordSize),o=new we(t.wordSize),a=[];e.forEach(((t,e)=>{let n=r[e];if(t.dynamic){let e=o.length;t.encode(o,n);let r=i.writeUpdatableValue();a.push((t=>{r(t+e)}))}else t.encode(i,n)})),a.forEach((t=>{t(i.length)}));let s=t.appendWriter(i);return s+=t.appendWriter(o),s}function gn(t,e){let n=[],r=t.subReader(0);e.forEach((e=>{let i=null;if(e.dynamic){let n=t.readValue(),o=r.subReader(n.toNumber());try{i=e.decode(o)}catch(t){if(t.code===V.errors.BUFFER_OVERRUN)throw t;i=t,i.baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if(t.code===V.errors.BUFFER_OVERRUN)throw t;i=t,i.baseType=e.name,i.name=e.localName,i.type=e.type}null!=i&&n.push(i)}));const i=e.reduce(((t,e)=>{const n=e.localName;return n&&(t[n]||(t[n]=0),t[n]++),t}),{});e.forEach(((t,e)=>{let r=t.localName;if(!r||1!==i[r])return;if("length"===r&&(r="_length"),null!=n[r])return;const o=n[e];o instanceof Error?Object.defineProperty(n,r,{enumerable:!0,get:()=>{throw o}}):n[r]=o}));for(let t=0;t<n.length;t++){const e=n[t];e instanceof Error&&Object.defineProperty(n,t,{enumerable:!0,get:()=>{throw e}})}return Object.freeze(n)}class yn extends be{constructor(t,e,n){super("array",t.type+"["+(e>=0?e:"")+"]",n,-1===e||t.dynamic),this.coder=t,this.length=e}defaultValue(){const t=this.coder.defaultValue(),e=[];for(let n=0;n<this.length;n++)e.push(t);return e}encode(t,e){Array.isArray(e)||this._throwError("expected array value",e);let n=this.length;-1===n&&(n=e.length,t.writeValue(e.length)),pn.checkArgumentCount(e.length,n,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let t=0;t<e.length;t++)r.push(this.coder);return mn(t,r,e)}decode(t){let e=this.length;-1===e&&(e=t.readValue().toNumber(),32*e>t._data.length&&pn.throwError("insufficient data length",V.errors.BUFFER_OVERRUN,{length:t._data.length,count:e}));let n=[];for(let t=0;t<e;t++)n.push(new fn(this.coder));return t.coerce(this.name,gn(t,n))}}class vn extends be{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){return t.writeValue(e?1:0)}decode(t){return t.coerce(this.type,!t.readValue().isZero())}}class bn extends be{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=et(e);let n=t.writeValue(e.length);return n+=t.writeBytes(e),n}decode(t){return t.readBytes(t.readValue().toNumber(),!0)}}class wn extends bn{constructor(t){super("bytes",t)}decode(t){return t.coerce(this.name,at(super.decode(t)))}}class Mn extends be{constructor(t,e){let n="bytes"+String(t);super(n,n,e,!1),this.size=t}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(t,e){let n=et(e);return n.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(n)}decode(t){return t.coerce(this.name,at(t.readBytes(this.size)))}}class kn extends be{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes([])}decode(t){return t.readBytes(0),t.coerce(this.name,null)}}const Ln=bt.from(-1),An=bt.from(0),xn=bt.from(1),En=bt.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class Nn extends be{constructor(t,e,n){const r=(e?"int":"uint")+8*t;super(r,r,n,!1),this.size=t,this.signed=e}defaultValue(){return 0}encode(t,e){let n=bt.from(e),r=En.mask(8*t.wordSize);if(this.signed){let t=r.mask(8*this.size-1);(n.gt(t)||n.lt(t.add(xn).mul(Ln)))&&this._throwError("value out-of-bounds",e)}else(n.lt(An)||n.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",e);return n=n.toTwos(8*this.size).mask(8*this.size),this.signed&&(n=n.fromTwos(8*this.size).toTwos(8*t.wordSize)),t.writeValue(n)}decode(t){let e=t.readValue().mask(8*this.size);return this.signed&&(e=e.fromTwos(8*this.size)),t.coerce(this.name,e)}}const Sn=new V("strings/5.7.0");var In,Tn;function jn(t,e,n,r,i){if(t===Tn.BAD_PREFIX||t===Tn.UNEXPECTED_CONTINUE){let t=0;for(let r=e+1;r<n.length&&n[r]>>6==2;r++)t++;return t}return t===Tn.OVERRUN?n.length-e-1:0}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(In||(In={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(Tn||(Tn={}));const Cn=Object.freeze({error:function(t,e,n,r,i){return Sn.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",n)},ignore:jn,replace:function(t,e,n,r,i){return t===Tn.OVERLONG?(r.push(i),0):(r.push(65533),jn(t,e,n))}});function Dn(t,e){null==e&&(e=Cn.error),t=et(t);const n=[];let r=0;for(;r<t.length;){const i=t[r++];if(i>>7==0){n.push(i);continue}let o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){r+=e(128==(192&i)?Tn.UNEXPECTED_CONTINUE:Tn.BAD_PREFIX,r-1,t,n);continue}o=3,a=65535}if(r-1+o>=t.length){r+=e(Tn.OVERRUN,r-1,t,n);continue}let s=i&(1<<8-o-1)-1;for(let i=0;i<o;i++){let i=t[r];if(128!=(192&i)){r+=e(Tn.MISSING_CONTINUE,r,t,n),s=null;break}s=s<<6|63&i,r++}null!==s&&(s>1114111?r+=e(Tn.OUT_OF_RANGE,r-1-o,t,n,s):s>=55296&&s<=57343?r+=e(Tn.UTF16_SURROGATE,r-1-o,t,n,s):s<=a?r+=e(Tn.OVERLONG,r-1-o,t,n,s):n.push(s))}return n}function On(t,e=In.current){e!=In.current&&(Sn.checkNormalize(),t=t.normalize(e));let n=[];for(let e=0;e<t.length;e++){const r=t.charCodeAt(e);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){e++;const i=t.charCodeAt(e);if(e>=t.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&r)<<10)+(1023&i);n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(63&o|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return et(n)}function _n(t,e){return Dn(t,e).map((t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t))))).join("")}class zn extends bn{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,On(e))}decode(t){return _n(super.decode(t))}}class Pn extends be{constructor(t,e){let n=!1;const r=[];t.forEach((t=>{t.dynamic&&(n=!0),r.push(t.type)}));super("tuple","tuple("+r.join(",")+")",e,n),this.coders=t}defaultValue(){const t=[];this.coders.forEach((e=>{t.push(e.defaultValue())}));const e=this.coders.reduce(((t,e)=>{const n=e.localName;return n&&(t[n]||(t[n]=0),t[n]++),t}),{});return this.coders.forEach(((n,r)=>{let i=n.localName;i&&1===e[i]&&("length"===i&&(i="_length"),null==t[i]&&(t[i]=t[r]))})),Object.freeze(t)}encode(t,e){return mn(t,this.coders,e)}decode(t){return t.coerce(this.name,gn(t,this.coders))}}const Bn=new V(Vt),Rn=new RegExp(/^bytes([0-9]*)$/),Un=new RegExp(/^(u?int)([0-9]*)$/);const Qn=new class{constructor(t){Rt(this,"coerceFunc",t||null)}_getCoder(t){switch(t.baseType){case"address":return new dn(t.name);case"bool":return new vn(t.name);case"string":return new zn(t.name);case"bytes":return new wn(t.name);case"array":return new yn(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new Pn((t.components||[]).map((t=>this._getCoder(t))),t.name);case"":return new kn(t.name)}let e=t.type.match(Un);if(e){let n=parseInt(e[2]||"256");return(0===n||n>256||n%8!=0)&&Bn.throwArgumentError("invalid "+e[1]+" bit length","param",t),new Nn(n/8,"int"===e[1],t.name)}if(e=t.type.match(Rn),e){let n=parseInt(e[1]);return(0===n||n>32)&&Bn.throwArgumentError("invalid bytes length","param",t),new Mn(n,t.name)}return Bn.throwArgumentError("invalid type","type",t.type)}_getWordSize(){return 32}_getReader(t,e){return new Me(t,this._getWordSize(),this.coerceFunc,e)}_getWriter(){return new we(this._getWordSize())}getDefaultValue(t){const e=t.map((t=>this._getCoder(re.from(t))));return new Pn(e,"_").defaultValue()}encode(t,e){t.length!==e.length&&Bn.throwError("types/values length mismatch",V.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});const n=t.map((t=>this._getCoder(re.from(t)))),r=new Pn(n,"_"),i=this._getWriter();return r.encode(i,e),i.data}decode(t,e,n){const r=t.map((t=>this._getCoder(re.from(t))));return new Pn(r,"_").decode(this._getReader(et(e),n))}};function Wn(t){return qe(On(t))}const Fn="hash/5.7.0";function Yn(t){t=atob(t);const e=[];for(let n=0;n<t.length;n++)e.push(t.charCodeAt(n));return et(e)}function Hn(t){t=et(t);let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function Gn(t,e){null==e&&(e=1);const n=[],r=n.forEach,i=function(t,e){r.call(t,(function(t){e>0&&Array.isArray(t)?i(t,e-1):n.push(t)}))};return i(t,e),n}function Zn(t){return function(t){let e=0;return()=>t[e++]}(function(t){let e=0;function n(){return t[e++]<<8|t[e++]}let r=n(),i=1,o=[0,1];for(let t=1;t<r;t++)o.push(i+=n());let a=n(),s=e;e+=a;let u=0,c=0;function l(){return 0==u&&(c=c<<8|t[e++],u=8),c>>--u&1}const h=Math.pow(2,31),d=h>>>1,f=d>>1,p=h-1;let m=0;for(let t=0;t<31;t++)m=m<<1|l();let g=[],y=0,v=h;for(;;){let t=Math.floor(((m-y+1)*i-1)/v),e=0,n=r;for(;n-e>1;){let r=e+n>>>1;t<o[r]?n=r:e=r}if(0==e)break;g.push(e);let a=y+Math.floor(v*o[e]/i),s=y+Math.floor(v*o[e+1]/i)-1;for(;0==((a^s)&d);)m=m<<1&p|l(),a=a<<1&p,s=s<<1&p|1;for(;a&~s&f;)m=m&d|m<<1&p>>>1|l(),a=a<<1^d,s=(s^d)<<1|d|1;y=a,v=1+s-a}let b=r-4;return g.map((e=>{switch(e-b){case 3:return b+65792+(t[s++]<<16|t[s++]<<8|t[s++]);case 2:return b+256+(t[s++]<<8|t[s++]);case 1:return b+t[s++];default:return e-1}}))}(t))}function Vn(t){return 1&t?~t>>1:t>>1}function Jn(t,e){let n=Array(t);for(let r=0,i=-1;r<t;r++)n[r]=i+=1+e();return n}function qn(t,e){let n=Array(t);for(let r=0,i=0;r<t;r++)n[r]=i+=Vn(e());return n}function Xn(t,e){let n=Jn(t(),t),r=t(),i=Jn(r,t),o=function(t,e){let n=Array(t);for(let r=0;r<t;r++)n[r]=1+e();return n}(r,t);for(let t=0;t<r;t++)for(let e=0;e<o[t];e++)n.push(i[t]+e);return e?n.map((t=>e[t])):n}function Kn(t,e,n){let r=Array(t).fill(void 0).map((()=>[]));for(let i=0;i<e;i++)qn(t,n).forEach(((t,e)=>r[e].push(t)));return r}function $n(t,e){let n=1+e(),r=e(),i=function(t){let e=[];for(;;){let n=t();if(0==n)break;e.push(n)}return e}(e);return Gn(Kn(i.length,1+t,e).map(((t,e)=>{const o=t[0],a=t.slice(1);return Array(i[e]).fill(void 0).map(((t,e)=>{let i=e*r;return[o+e*n,a.map((t=>t+i))]}))})))}function tr(t,e){return Kn(1+e(),1+t,e).map((t=>[t[0],t.slice(1)]))}const er=Zn(Yn("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")),nr=new Set(Xn(er)),rr=new Set(Xn(er)),ir=function(t){let e=[];for(;;){let n=t();if(0==n)break;e.push($n(n,t))}for(;;){let n=t()-1;if(n<0)break;e.push(tr(n,t))}return function(t){const e={};for(let n=0;n<t.length;n++){const r=t[n];e[r[0]]=r[1]}return e}(Gn(e))}(er),or=function(t){let e=Xn(t).sort(((t,e)=>t-e));return function n(){let r=[];for(;;){let i=Xn(t,e);if(0==i.length)break;r.push({set:new Set(i),node:n()})}r.sort(((t,e)=>e.set.size-t.set.size));let i=t(),o=i%3;i=i/3|0;let a=!!(1&i);return i>>=1,{branches:r,valid:o,fe0f:a,save:1==i,check:2==i}}()}(er),ar=45,sr=95;function ur(t){return function(t,e=In.current){return Dn(On(t,e))}(t)}function cr(t){return t.filter((t=>65039!=t))}function lr(t){for(let e of t.split(".")){let t=ur(e);try{for(let e=t.lastIndexOf(sr)-1;e>=0;e--)if(t[e]!==sr)throw new Error("underscore only allowed at start");if(t.length>=4&&t.every((t=>t<128))&&t[2]===ar&&t[3]===ar)throw new Error("invalid label extension")}catch(t){throw new Error(`Invalid label "${e}": ${t.message}`)}}return t}function hr(t){return lr(function(t,e){let n=ur(t).reverse(),r=[];for(;n.length;){let t=dr(n);if(t){r.push(...e(t));continue}let i=n.pop();if(nr.has(i)){r.push(i);continue}if(rr.has(i))continue;let o=ir[i];if(!o)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);r.push(...o)}return lr(function(t){return t.normalize("NFC")}(String.fromCodePoint(...r)))}(t,cr))}function dr(t,e){var n;let r,i,o=or,a=[],s=t.length;for(e&&(e.length=0);s;){let u=t[--s];if(o=null===(n=o.branches.find((t=>t.set.has(u))))||void 0===n?void 0:n.node,!o)break;if(o.save)i=u;else if(o.check&&u===i)break;a.push(u),o.fe0f&&(a.push(65039),s>0&&65039==t[s-1]&&s--),o.valid&&(r=a.slice(),2==o.valid&&r.splice(1,1),e&&e.push(...t.slice(s).reverse()),t.length=s)}return r}const fr=new V(Fn),pr=new Uint8Array(32);function mr(t){if(0===t.length)throw new Error("invalid ENS name; empty component");return t}function gr(t){const e=On(hr(t)),n=[];if(0===t.length)return n;let r=0;for(let t=0;t<e.length;t++){46===e[t]&&(n.push(mr(e.slice(r,t))),r=t+1)}if(r>=e.length)throw new Error("invalid ENS name; empty component");return n.push(mr(e.slice(r))),n}function yr(t){"string"!=typeof t&&fr.throwArgumentError("invalid ENS name; not a string","name",t);let e=pr;const n=gr(t);for(;n.length;)e=qe(nt([e,qe(n.pop())]));return at(e)}pr.fill(0);var vr=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const br=new V(Fn),wr=new Uint8Array(32);wr.fill(0);const Mr=bt.from(-1),kr=bt.from(0),Lr=bt.from(1),Ar=bt.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const xr=ht(Lr.toHexString(),32),Er=ht(kr.toHexString(),32),Nr={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Sr=["name","version","chainId","verifyingContract","salt"];function Ir(t){return function(e){return"string"!=typeof e&&br.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const Tr={name:Ir("name"),version:Ir("version"),chainId:function(t){try{return bt.from(t).toString()}catch(t){}return br.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return ln(t).toLowerCase()}catch(t){}return br.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=et(t);if(32!==e.length)throw new Error("bad length");return at(e)}catch(t){}return br.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function jr(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const n=""===e[1],r=parseInt(e[2]||"256");(r%8!=0||r>256||e[2]&&e[2]!==String(r))&&br.throwArgumentError("invalid numeric width","type",t);const i=Ar.mask(n?r-1:r),o=n?i.add(Lr).mul(Mr):kr;return function(e){const n=bt.from(e);return(n.lt(o)||n.gt(i))&&br.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),ht(n.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const n=parseInt(e[1]);return(0===n||n>32||e[1]!==String(n))&&br.throwArgumentError("invalid bytes width","type",t),function(e){return et(e).length!==n&&br.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=et(t),n=e.length%32;return n?ct([e,wr.slice(n)]):at(e)}(e)}}}switch(t){case"address":return function(t){return ht(ln(t),32)};case"bool":return function(t){return t?xr:Er};case"bytes":return function(t){return qe(t)};case"string":return function(t){return Wn(t)}}return null}function Cr(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class Dr{constructor(t){Rt(this,"types",Object.freeze(Gt(t))),Rt(this,"_encoderCache",{}),Rt(this,"_types",{});const e={},n={},r={};Object.keys(t).forEach((t=>{e[t]={},n[t]=[],r[t]={}}));for(const r in t){const i={};t[r].forEach((o=>{i[o.name]&&br.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,"types",t),i[o.name]=!0;const a=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===r&&br.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",t);jr(a)||(n[a]||br.throwArgumentError(`unknown type ${JSON.stringify(a)}`,"types",t),n[a].push(r),e[r][a]=!0)}))}const i=Object.keys(n).filter((t=>0===n[t].length));0===i.length?br.throwArgumentError("missing primary type","types",t):i.length>1&&br.throwArgumentError(`ambiguous primary types or unused types: ${i.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Rt(this,"primaryType",i[0]),function i(o,a){a[o]&&br.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),a[o]=!0,Object.keys(e[o]).forEach((t=>{n[t]&&(i(t,a),Object.keys(a).forEach((e=>{r[e][t]=!0})))})),delete a[o]}(this.primaryType,{});for(const e in r){const n=Object.keys(r[e]);n.sort(),this._types[e]=Cr(e,t[e])+n.map((e=>Cr(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=jr(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],n=this.getEncoder(t),r=parseInt(e[3]);return e=>{r>=0&&e.length!==r&&br.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let i=e.map(n);return this._types[t]&&(i=i.map(qe)),qe(ct(i))}}const n=this.types[t];if(n){const e=Wn(this._types[t]);return t=>{const r=n.map((({name:e,type:n})=>{const r=this.getEncoder(n)(t[e]);return this._types[n]?qe(r):r}));return r.unshift(e),ct(r)}}return br.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||br.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return qe(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,n){if(jr(t))return n(t,e);const r=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const t=r[1],i=parseInt(r[3]);return i>=0&&e.length!==i&&br.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,n)))}const i=this.types[t];return i?i.reduce(((t,{name:r,type:i})=>(t[r]=this._visit(i,e[r],n),t)),{}):br.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new Dr(t)}static getPrimaryType(t){return Dr.from(t).primaryType}static hashStruct(t,e,n){return Dr.from(e).hashStruct(t,n)}static hashDomain(t){const e=[];for(const n in t){const r=Nr[n];r||br.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",t),e.push({name:n,type:r})}return e.sort(((t,e)=>Sr.indexOf(t.name)-Sr.indexOf(e.name))),Dr.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,n){return ct(["0x1901",Dr.hashDomain(t),Dr.from(e).hash(n)])}static hash(t,e,n){return qe(Dr.encode(t,e,n))}static resolveNames(t,e,n,r){return vr(this,void 0,void 0,(function*(){t=Wt(t);const i={};t.verifyingContract&&!it(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");const o=Dr.from(e);o.visit(n,((t,e)=>("address"!==t||it(e,20)||(i[e]="0x"),e)));for(const t in i)i[t]=yield r(t);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),n=o.visit(n,((t,e)=>"address"===t&&i[e]?i[e]:e)),{domain:t,value:n}}))}static getPayload(t,e,n){Dr.hashDomain(t);const r={},i=[];Sr.forEach((e=>{const n=t[e];null!=n&&(r[e]=Tr[e](n),i.push({name:e,type:Nr[e]}))}));const o=Dr.from(e),a=Wt(e);return a.EIP712Domain?br.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):a.EIP712Domain=i,o.encode(n),{types:a,domain:r,primaryType:o.primaryType,message:o.visit(n,((t,e)=>{if(t.match(/^bytes(\d*)/))return at(et(e));if(t.match(/^u?int/))return bt.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&br.throwArgumentError("invalid string","value",e),e}return br.throwArgumentError("unsupported type","type",t)}))}}}const Or=new V(Vt);class _r extends Zt{}class zr extends Zt{}class Pr extends Zt{}class Br extends Zt{static isIndexed(t){return!(!t||!t._isIndexed)}}const Rr={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function Ur(t,e){const n=new Error(`deferred error during ABI decoding triggered accessing ${t}`);return n.error=e,n}class Qr{constructor(t){let e=[];e="string"==typeof t?JSON.parse(t):t,Rt(this,"fragments",e.map((t=>oe.from(t))).filter((t=>null!=t))),Rt(this,"_abiCoder",Ut(new.target,"getAbiCoder")()),Rt(this,"functions",{}),Rt(this,"errors",{}),Rt(this,"events",{}),Rt(this,"structs",{}),this.fragments.forEach((t=>{let e=null;switch(t.type){case"constructor":return this.deploy?void Or.warn("duplicate definition - constructor"):void Rt(this,"deploy",t);case"function":e=this.functions;break;case"event":e=this.events;break;case"error":e=this.errors;break;default:return}let n=t.format();e[n]?Or.warn("duplicate definition - "+n):e[n]=t})),this.deploy||Rt(this,"deploy",le.from({payable:!1,type:"constructor"})),Rt(this,"_isInterface",!0)}format(t){t||(t=ee.full),t===ee.sighash&&Or.throwArgumentError("interface does not support formatting sighash","format",t);const e=this.fragments.map((e=>e.format(t)));return t===ee.json?JSON.stringify(e.map((t=>JSON.parse(t)))):e}static getAbiCoder(){return Qn}static getAddress(t){return ln(t)}static getSighash(t){return ut(Wn(t.format()),0,4)}static getEventTopic(t){return Wn(t.format())}getFunction(t){if(it(t)){for(const e in this.functions)if(t===this.getSighash(e))return this.functions[e];Or.throwArgumentError("no matching function","sighash",t)}if(-1===t.indexOf("(")){const e=t.trim(),n=Object.keys(this.functions).filter((t=>t.split("(")[0]===e));return 0===n.length?Or.throwArgumentError("no matching function","name",e):n.length>1&&Or.throwArgumentError("multiple matching functions","name",e),this.functions[n[0]]}const e=this.functions[he.fromString(t).format()];return e||Or.throwArgumentError("no matching function","signature",t),e}getEvent(t){if(it(t)){const e=t.toLowerCase();for(const t in this.events)if(e===this.getEventTopic(t))return this.events[t];Or.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){const e=t.trim(),n=Object.keys(this.events).filter((t=>t.split("(")[0]===e));return 0===n.length?Or.throwArgumentError("no matching event","name",e):n.length>1&&Or.throwArgumentError("multiple matching events","name",e),this.events[n[0]]}const e=this.events[ae.fromString(t).format()];return e||Or.throwArgumentError("no matching event","signature",t),e}getError(t){if(it(t)){const e=Ut(this.constructor,"getSighash");for(const n in this.errors){if(t===e(this.errors[n]))return this.errors[n]}Or.throwArgumentError("no matching error","sighash",t)}if(-1===t.indexOf("(")){const e=t.trim(),n=Object.keys(this.errors).filter((t=>t.split("(")[0]===e));return 0===n.length?Or.throwArgumentError("no matching error","name",e):n.length>1&&Or.throwArgumentError("multiple matching errors","name",e),this.errors[n[0]]}const e=this.errors[he.fromString(t).format()];return e||Or.throwArgumentError("no matching error","signature",t),e}getSighash(t){if("string"==typeof t)try{t=this.getFunction(t)}catch(e){try{t=this.getError(t)}catch(t){throw e}}return Ut(this.constructor,"getSighash")(t)}getEventTopic(t){return"string"==typeof t&&(t=this.getEvent(t)),Ut(this.constructor,"getEventTopic")(t)}_decodeParams(t,e){return this._abiCoder.decode(t,e)}_encodeParams(t,e){return this._abiCoder.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){"string"==typeof t&&(t=this.getError(t));const n=et(e);return at(n.slice(0,4))!==this.getSighash(t)&&Or.throwArgumentError(`data signature does not match error ${t.name}.`,"data",at(n)),this._decodeParams(t.inputs,n.slice(4))}encodeErrorResult(t,e){return"string"==typeof t&&(t=this.getError(t)),at(nt([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}decodeFunctionData(t,e){"string"==typeof t&&(t=this.getFunction(t));const n=et(e);return at(n.slice(0,4))!==this.getSighash(t)&&Or.throwArgumentError(`data signature does not match function ${t.name}.`,"data",at(n)),this._decodeParams(t.inputs,n.slice(4))}encodeFunctionData(t,e){return"string"==typeof t&&(t=this.getFunction(t)),at(nt([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}decodeFunctionResult(t,e){"string"==typeof t&&(t=this.getFunction(t));let n=et(e),r=null,i="",o=null,a=null,s=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,n)}catch(t){}break;case 4:{const t=at(n.slice(0,4)),e=Rr[t];if(e)o=this._abiCoder.decode(e.inputs,n.slice(4)),a=e.name,s=e.signature,e.reason&&(r=o[0]),"Error"===a?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(o[0])}`:"Panic"===a&&(i=`; VM Exception while processing transaction: reverted with panic code ${o[0]}`);else try{const e=this.getError(t);o=this._abiCoder.decode(e.inputs,n.slice(4)),a=e.name,s=e.format()}catch(t){}break}}return Or.throwError("call revert exception"+i,V.errors.CALL_EXCEPTION,{method:t.format(),data:at(e),errorArgs:o,errorName:a,errorSignature:s,reason:r})}encodeFunctionResult(t,e){return"string"==typeof t&&(t=this.getFunction(t)),at(this._abiCoder.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&Or.throwError("too many arguments for "+t.format(),V.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});let n=[];t.anonymous||n.push(this.getEventTopic(t));const r=(t,e)=>"string"===t.type?Wn(e):"bytes"===t.type?qe(at(e)):("bool"===t.type&&"boolean"==typeof e&&(e=e?"0x01":"0x00"),t.type.match(/^u?int/)&&(e=bt.from(e).toHexString()),"address"===t.type&&this._abiCoder.encode(["address"],[e]),ht(at(e),32));for(e.forEach(((e,i)=>{let o=t.inputs[i];o.indexed?null==e?n.push(null):"array"===o.baseType||"tuple"===o.baseType?Or.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,e):Array.isArray(e)?n.push(e.map((t=>r(o,t)))):n.push(r(o,e)):null!=e&&Or.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(t,e){"string"==typeof t&&(t=this.getEvent(t));const n=[],r=[],i=[];return t.anonymous||n.push(this.getEventTopic(t)),e.length!==t.inputs.length&&Or.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach(((t,o)=>{const a=e[o];if(t.indexed)if("string"===t.type)n.push(Wn(a));else if("bytes"===t.type)n.push(qe(a));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(this._abiCoder.encode([t.type],[a]))}else r.push(t),i.push(a)})),{data:this._abiCoder.encode(r,i),topics:n}}decodeEventLog(t,e,n){if("string"==typeof t&&(t=this.getEvent(t)),null!=n&&!t.anonymous){let e=this.getEventTopic(t);it(n[0],32)&&n[0].toLowerCase()===e||Or.throwError("fragment/topic mismatch",V.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:e,value:n[0]}),n=n.slice(1)}let r=[],i=[],o=[];t.inputs.forEach(((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(r.push(re.fromObject({type:"bytes32",name:t.name})),o.push(!0)):(r.push(t),o.push(!1)):(i.push(t),o.push(!1))}));let a=null!=n?this._abiCoder.decode(r,nt(n)):null,s=this._abiCoder.decode(i,e,!0),u=[],c=0,l=0;t.inputs.forEach(((t,e)=>{if(t.indexed)if(null==a)u[e]=new Br({_isIndexed:!0,hash:null});else if(o[e])u[e]=new Br({_isIndexed:!0,hash:a[l++]});else try{u[e]=a[l++]}catch(t){u[e]=t}else try{u[e]=s[c++]}catch(t){u[e]=t}if(t.name&&null==u[t.name]){const n=u[e];n instanceof Error?Object.defineProperty(u,t.name,{enumerable:!0,get:()=>{throw Ur(`property ${JSON.stringify(t.name)}`,n)}}):u[t.name]=n}}));for(let t=0;t<u.length;t++){const e=u[t];e instanceof Error&&Object.defineProperty(u,t,{enumerable:!0,get:()=>{throw Ur(`index ${t}`,e)}})}return Object.freeze(u)}parseTransaction(t){let e=this.getFunction(t.data.substring(0,10).toLowerCase());return e?new zr({args:this._abiCoder.decode(e.inputs,"0x"+t.data.substring(10)),functionFragment:e,name:e.name,signature:e.format(),sighash:this.getSighash(e),value:bt.from(t.value||"0")}):null}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new _r({eventFragment:e,name:e.name,signature:e.format(),topic:this.getEventTopic(e),args:this.decodeEventLog(e,t.data,t.topics)})}parseError(t){const e=at(t);let n=this.getError(e.substring(0,10).toLowerCase());return n?new Pr({args:this._abiCoder.decode(n.inputs,"0x"+e.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(t){return!(!t||!t._isInterface)}}var Wr=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const Fr=new V("abstract-provider/5.7.0");class Yr extends Zt{static isForkEvent(t){return!(!t||!t._isForkEvent)}}class Hr{constructor(){Fr.checkAbstract(new.target,Hr),Rt(this,"_isProvider",!0)}getFeeData(){return Wr(this,void 0,void 0,(function*(){const{block:t,gasPrice:e}=yield Qt({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch((t=>null))});let n=null,r=null,i=null;return t&&t.baseFeePerGas&&(n=t.baseFeePerGas,i=bt.from("1500000000"),r=t.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,maxPriorityFeePerGas:i,gasPrice:e}}))}addListener(t,e){return this.on(t,e)}removeListener(t,e){return this.off(t,e)}static isProvider(t){return!(!t||!t._isProvider)}}var Gr=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const Zr=new V("abstract-signer/5.7.0"),Vr=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],Jr=[V.errors.INSUFFICIENT_FUNDS,V.errors.NONCE_EXPIRED,V.errors.REPLACEMENT_UNDERPRICED];class qr{constructor(){Zr.checkAbstract(new.target,qr),Rt(this,"_isSigner",!0)}getBalance(t){return Gr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),t)}))}getTransactionCount(t){return Gr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),t)}))}estimateGas(t){return Gr(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const e=yield Qt(this.checkTransaction(t));return yield this.provider.estimateGas(e)}))}call(t,e){return Gr(this,void 0,void 0,(function*(){this._checkProvider("call");const n=yield Qt(this.checkTransaction(t));return yield this.provider.call(n,e)}))}sendTransaction(t){return Gr(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const e=yield this.populateTransaction(t),n=yield this.signTransaction(e);return yield this.provider.sendTransaction(n)}))}getChainId(){return Gr(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return Gr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return Gr(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(t){return Gr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(t)}))}checkTransaction(t){for(const e in t)-1===Vr.indexOf(e)&&Zr.throwArgumentError("invalid transaction key: "+e,"transaction",t);const e=Wt(t);return null==e.from?e.from=this.getAddress():e.from=Promise.all([Promise.resolve(e.from),this.getAddress()]).then((e=>(e[0].toLowerCase()!==e[1].toLowerCase()&&Zr.throwArgumentError("from address mismatch","transaction",t),e[0]))),e}populateTransaction(t){return Gr(this,void 0,void 0,(function*(){const e=yield Qt(this.checkTransaction(t));null!=e.to&&(e.to=Promise.resolve(e.to).then((t=>Gr(this,void 0,void 0,(function*(){if(null==t)return null;const e=yield this.resolveName(t);return null==e&&Zr.throwArgumentError("provided ENS name resolves to null","tx.to",t),e})))),e.to.catch((t=>{})));const n=null!=e.maxFeePerGas||null!=e.maxPriorityFeePerGas;if(null==e.gasPrice||2!==e.type&&!n?0!==e.type&&1!==e.type||!n||Zr.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",t):Zr.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",t),2!==e.type&&null!=e.type||null==e.maxFeePerGas||null==e.maxPriorityFeePerGas)if(0===e.type||1===e.type)null==e.gasPrice&&(e.gasPrice=this.getGasPrice());else{const t=yield this.getFeeData();if(null==e.type)if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)if(e.type=2,null!=e.gasPrice){const t=e.gasPrice;delete e.gasPrice,e.maxFeePerGas=t,e.maxPriorityFeePerGas=t}else null==e.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas);else null!=t.gasPrice?(n&&Zr.throwError("network does not support EIP-1559",V.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==e.gasPrice&&(e.gasPrice=t.gasPrice),e.type=0):Zr.throwError("failed to get consistent fee data",V.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===e.type&&(null==e.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}else e.type=2;return null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch((t=>{if(Jr.indexOf(t.code)>=0)throw t;return Zr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",V.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,tx:e})}))),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then((e=>(0!==e[1]&&e[0]!==e[1]&&Zr.throwArgumentError("chainId address mismatch","transaction",t),e[0]))),yield Qt(e)}))}_checkProvider(t){this.provider||Zr.throwError("missing provider",V.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})}static isSigner(t){return!(!t||!t._isSigner)}}class Xr extends qr{constructor(t,e){super(),Rt(this,"address",t),Rt(this,"provider",e||null)}getAddress(){return Promise.resolve(this.address)}_fail(t,e){return Promise.resolve().then((()=>{Zr.throwError(t,V.errors.UNSUPPORTED_OPERATION,{operation:e})}))}signMessage(t){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(t){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(t,e,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(t){return new Xr(this.address,t)}}var Kr=$r;function $r(t,e){if(!t)throw new Error(e||"Assertion failed")}$r.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)};var ti=[],ei=[],ni="undefined"!=typeof Uint8Array?Uint8Array:Array,ri=!1;function ii(){ri=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0;e<64;++e)ti[e]=t[e],ei[t.charCodeAt(e)]=e;ei["-".charCodeAt(0)]=62,ei["_".charCodeAt(0)]=63}function oi(t,e,n){for(var r,i,o=[],a=e;a<n;a+=3)r=(t[a]<<16)+(t[a+1]<<8)+t[a+2],o.push(ti[(i=r)>>18&63]+ti[i>>12&63]+ti[i>>6&63]+ti[63&i]);return o.join("")}function ai(t){var e;ri||ii();for(var n=t.length,r=n%3,i="",o=[],a=16383,s=0,u=n-r;s<u;s+=a)o.push(oi(t,s,s+a>u?u:s+a));return 1===r?(e=t[n-1],i+=ti[e>>2],i+=ti[e<<4&63],i+="=="):2===r&&(e=(t[n-2]<<8)+t[n-1],i+=ti[e>>10],i+=ti[e>>4&63],i+=ti[e<<2&63],i+="="),o.push(i),o.join("")}function si(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,h=n?i-1:0,d=n?-1:1,f=t[e+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+t[e+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+t[e+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,r),o-=c}return(f?-1:1)*a*Math.pow(2,o-r)}function ui(t,e,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,h=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+f]=255&s,f+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;t[n+f]=255&a,f+=p,a/=256,c-=8);t[n+f-p]|=128*m}var ci={}.toString,li=Array.isArray||function(t){return"[object Array]"==ci.call(t)};function hi(){return fi.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function di(t,e){if(hi()<e)throw new RangeError("Invalid typed array length");return fi.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=fi.prototype:(null===t&&(t=new fi(e)),t.length=e),t}function fi(t,e,n){if(!(fi.TYPED_ARRAY_SUPPORT||this instanceof fi))return new fi(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return gi(this,t)}return pi(this,t,e,n)}function pi(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r);fi.TYPED_ARRAY_SUPPORT?(t=e).__proto__=fi.prototype:t=yi(t,e);return t}(t,e,n,r):"string"==typeof e?function(t,e,n){"string"==typeof n&&""!==n||(n="utf8");if(!fi.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|wi(e,n);t=di(t,r);var i=t.write(e,n);i!==r&&(t=t.slice(0,i));return t}(t,e,n):function(t,e){if(bi(e)){var n=0|vi(e.length);return 0===(t=di(t,n)).length||e.copy(t,0,0,n),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?di(t,0):yi(t,e);if("Buffer"===e.type&&li(e.data))return yi(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function mi(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function gi(t,e){if(mi(e),t=di(t,e<0?0:0|vi(e)),!fi.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function yi(t,e){var n=e.length<0?0:0|vi(e.length);t=di(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function vi(t){if(t>=hi())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+hi().toString(16)+" bytes");return 0|t}function bi(t){return!(null==t||!t._isBuffer)}function wi(t,e){if(bi(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Zi(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Vi(t).length;default:if(r)return Zi(t).length;e=(""+e).toLowerCase(),r=!0}}function Mi(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return zi(this,e,n);case"utf8":case"utf-8":return Ci(this,e,n);case"ascii":return Oi(this,e,n);case"latin1":case"binary":return _i(this,e,n);case"base64":return ji(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pi(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function ki(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function Li(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=fi.from(e,r)),bi(e))return 0===e.length?-1:Ai(t,e,n,r,i);if("number"==typeof e)return e&=255,fi.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):Ai(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function Ai(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var l=-1;for(o=n;o<s;o++)if(c(t,o)===c(e,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===u)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;d<u;d++)if(c(t,o+d)!==c(e,d)){h=!1;break}if(h)return o}return-1}function xi(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(e.substr(2*a,2),16);if(isNaN(s))return a;t[n+a]=s}return a}function Ei(t,e,n,r){return Ji(Zi(e,t.length-n),t,n,r)}function Ni(t,e,n,r){return Ji(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function Si(t,e,n,r){return Ni(t,e,n,r)}function Ii(t,e,n,r){return Ji(Vi(e),t,n,r)}function Ti(t,e,n,r){return Ji(function(t,e){for(var n,r,i,o=[],a=0;a<t.length&&!((e-=2)<0);++a)r=(n=t.charCodeAt(a))>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function ji(t,e,n){return 0===e&&n===t.length?ai(t):ai(t.slice(e,n))}function Ci(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o,a,s,u,c=t[i],l=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=h}return function(t){var e=t.length;if(e<=Di)return String.fromCharCode.apply(String,t);var n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=Di));return n}(r)}fi.TYPED_ARRAY_SUPPORT=void 0===ke.TYPED_ARRAY_SUPPORT||ke.TYPED_ARRAY_SUPPORT,hi(),fi.poolSize=8192,fi._augment=function(t){return t.__proto__=fi.prototype,t},fi.from=function(t,e,n){return pi(null,t,e,n)},fi.TYPED_ARRAY_SUPPORT&&(fi.prototype.__proto__=Uint8Array.prototype,fi.__proto__=Uint8Array),fi.alloc=function(t,e,n){return function(t,e,n,r){return mi(e),e<=0?di(t,e):void 0!==n?"string"==typeof r?di(t,e).fill(n,r):di(t,e).fill(n):di(t,e)}(null,t,e,n)},fi.allocUnsafe=function(t){return gi(null,t)},fi.allocUnsafeSlow=function(t){return gi(null,t)},fi.isBuffer=function(t){return null!=t&&(!!t._isBuffer||qi(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&qi(t.slice(0,0))}(t))},fi.compare=function(t,e){if(!bi(t)||!bi(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},fi.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},fi.concat=function(t,e){if(!li(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return fi.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=fi.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var o=t[n];if(!bi(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},fi.byteLength=wi,fi.prototype._isBuffer=!0,fi.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)ki(this,e,e+1);return this},fi.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)ki(this,e,e+3),ki(this,e+1,e+2);return this},fi.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)ki(this,e,e+7),ki(this,e+1,e+6),ki(this,e+2,e+5),ki(this,e+3,e+4);return this},fi.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?Ci(this,0,t):Mi.apply(this,arguments)},fi.prototype.equals=function(t){if(!bi(t))throw new TypeError("Argument must be a Buffer");return this===t||0===fi.compare(this,t)},fi.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},fi.prototype.compare=function(t,e,n,r,i){if(!bi(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),l=0;l<s;++l)if(u[l]!==c[l]){o=u[l],a=c[l];break}return o<a?-1:a<o?1:0},fi.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},fi.prototype.indexOf=function(t,e,n){return Li(this,t,e,n,!0)},fi.prototype.lastIndexOf=function(t,e,n){return Li(this,t,e,n,!1)},fi.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return xi(this,t,e,n);case"utf8":case"utf-8":return Ei(this,t,e,n);case"ascii":return Ni(this,t,e,n);case"latin1":case"binary":return Si(this,t,e,n);case"base64":return Ii(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ti(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},fi.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Di=4096;function Oi(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function _i(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function zi(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=Gi(t[o]);return i}function Pi(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function Bi(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function Ri(t,e,n,r,i,o){if(!bi(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function Ui(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Qi(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function Wi(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Fi(t,e,n,r,i){return i||Wi(t,0,n,4),ui(t,e,n,r,23,4),n+4}function Yi(t,e,n,r,i){return i||Wi(t,0,n,8),ui(t,e,n,r,52,8),n+8}fi.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),fi.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=fi.prototype;else{var i=e-t;n=new fi(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},fi.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||Bi(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},fi.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||Bi(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},fi.prototype.readUInt8=function(t,e){return e||Bi(t,1,this.length),this[t]},fi.prototype.readUInt16LE=function(t,e){return e||Bi(t,2,this.length),this[t]|this[t+1]<<8},fi.prototype.readUInt16BE=function(t,e){return e||Bi(t,2,this.length),this[t]<<8|this[t+1]},fi.prototype.readUInt32LE=function(t,e){return e||Bi(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},fi.prototype.readUInt32BE=function(t,e){return e||Bi(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},fi.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||Bi(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},fi.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||Bi(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},fi.prototype.readInt8=function(t,e){return e||Bi(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},fi.prototype.readInt16LE=function(t,e){e||Bi(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},fi.prototype.readInt16BE=function(t,e){e||Bi(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},fi.prototype.readInt32LE=function(t,e){return e||Bi(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},fi.prototype.readInt32BE=function(t,e){return e||Bi(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},fi.prototype.readFloatLE=function(t,e){return e||Bi(t,4,this.length),si(this,t,!0,23,4)},fi.prototype.readFloatBE=function(t,e){return e||Bi(t,4,this.length),si(this,t,!1,23,4)},fi.prototype.readDoubleLE=function(t,e){return e||Bi(t,8,this.length),si(this,t,!0,52,8)},fi.prototype.readDoubleBE=function(t,e){return e||Bi(t,8,this.length),si(this,t,!1,52,8)},fi.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||Ri(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},fi.prototype.writeUIntBE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||Ri(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},fi.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,1,255,0),fi.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},fi.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,2,65535,0),fi.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):Ui(this,t,e,!0),e+2},fi.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,2,65535,0),fi.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):Ui(this,t,e,!1),e+2},fi.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,4,4294967295,0),fi.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):Qi(this,t,e,!0),e+4},fi.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,4,4294967295,0),fi.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Qi(this,t,e,!1),e+4},fi.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);Ri(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o<n&&(a*=256);)t<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},fi.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);Ri(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},fi.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,1,127,-128),fi.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},fi.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,2,32767,-32768),fi.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):Ui(this,t,e,!0),e+2},fi.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,2,32767,-32768),fi.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):Ui(this,t,e,!1),e+2},fi.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,4,2147483647,-2147483648),fi.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):Qi(this,t,e,!0),e+4},fi.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||Ri(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),fi.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Qi(this,t,e,!1),e+4},fi.prototype.writeFloatLE=function(t,e,n){return Fi(this,t,e,!0,n)},fi.prototype.writeFloatBE=function(t,e,n){return Fi(this,t,e,!1,n)},fi.prototype.writeDoubleLE=function(t,e,n){return Yi(this,t,e,!0,n)},fi.prototype.writeDoubleBE=function(t,e,n){return Yi(this,t,e,!1,n)},fi.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3||!fi.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},fi.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!fi.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var o;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var a=bi(t)?t:Zi(new fi(t,r).toString()),s=a.length;for(o=0;o<n-e;++o)this[o+e]=a[o%s]}return this};var Hi=/[^+\/0-9A-Za-z-_]/g;function Gi(t){return t<16?"0"+t.toString(16):t.toString(16)}function Zi(t,e){var n;e=e||1/0;for(var r=t.length,i=null,o=[],a=0;a<r;++a){if((n=t.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Vi(t){return function(t){var e,n,r,i,o,a;ri||ii();var s=t.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[s-2]?2:"="===t[s-1]?1:0,a=new ni(3*s/4-o),r=o>0?s-4:s;var u=0;for(e=0,n=0;e<r;e+=4,n+=3)i=ei[t.charCodeAt(e)]<<18|ei[t.charCodeAt(e+1)]<<12|ei[t.charCodeAt(e+2)]<<6|ei[t.charCodeAt(e+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=ei[t.charCodeAt(e)]<<2|ei[t.charCodeAt(e+1)]>>4,a[u++]=255&i):1===o&&(i=ei[t.charCodeAt(e)]<<10|ei[t.charCodeAt(e+1)]<<4|ei[t.charCodeAt(e+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Hi,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Ji(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function qi(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var Xi=function(t){return t instanceof fi},Ki=o((function(t,e){var n=/%[sdj%]/g;e.format=function(t){if(!g(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(a(arguments[r]));return e.join(" ")}r=1;for(var i=arguments,o=i.length,s=String(t).replace(n,(function(t){if("%%"===t)return"%";if(r>=o)return t;switch(t){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch(t){return"[Circular]"}default:return t}})),u=i[r];r<o;u=i[++r])p(u)||!b(u)?s+=" "+u:s+=" "+a(u);return s},e.deprecate=function(t,n){if(y(r.process))return function(){return e.deprecate(t,n).apply(this,arguments)};if(!0===Ze.noDeprecation)return t;var i=!1;return function(){if(!i){if(Ze.throwDeprecation)throw new Error(n);Ze.traceDeprecation?console.trace(n):console.error(n),i=!0}return t.apply(this,arguments)}};var i,o={};function a(t,n){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(n)?r.showHidden=n:n&&e._extend(r,n),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),c(r,t,r.depth)}function s(t,e){var n=a.styles[e];return n?"["+a.colors[n][0]+"m"+t+"["+a.colors[n][1]+"m":t}function u(t,e){return t}function c(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return g(i)||(i=c(t,i,r)),i}var o=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(g(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(m(e))return t.stylize(""+e,"number");if(f(e))return t.stylize(""+e,"boolean");if(p(e))return t.stylize("null","null")}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),0===a.length){if(k(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(w(n))return t.stylize(Date.prototype.toString.call(n),"date");if(M(n))return l(n)}var b,L="",A=!1,x=["{","}"];(d(n)&&(A=!0,x=["[","]"]),k(n))&&(L=" [Function"+(n.name?": "+n.name:"")+"]");return v(n)&&(L=" "+RegExp.prototype.toString.call(n)),w(n)&&(L=" "+Date.prototype.toUTCString.call(n)),M(n)&&(L=" "+l(n)),0!==a.length||A&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),b=A?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a<s;++a)E(e,String(a))?o.push(h(t,e,n,r,String(a),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(h(t,e,n,r,i,!0))})),o}(t,n,r,s,a):a.map((function(e){return h(t,n,r,s,e,A)})),t.seen.pop(),function(t,e,n){var r=t.reduce((function(t,e){return e.indexOf("\n"),t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(r>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(b,L,x)):x[0]+L+x[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),E(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=p(n)?c(t,u.value,null):c(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),y(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function d(t){return Array.isArray(t)}function f(t){return"boolean"==typeof t}function p(t){return null===t}function m(t){return"number"==typeof t}function g(t){return"string"==typeof t}function y(t){return void 0===t}function v(t){return b(t)&&"[object RegExp]"===L(t)}function b(t){return"object"==typeof t&&null!==t}function w(t){return b(t)&&"[object Date]"===L(t)}function M(t){return b(t)&&("[object Error]"===L(t)||t instanceof Error)}function k(t){return"function"==typeof t}function L(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(y(i)&&(i=Ze.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=Ze.pid;o[t]=function(){var r=e.format.apply(e,arguments);console.error("%s %d: %s",t,n,r)}}else o[t]=function(){};return o[t]},e.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=f,e.isNull=p,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=g,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=y,e.isRegExp=v,e.isObject=b,e.isDate=w,e.isError=M,e.isFunction=k,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=Xi;var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;console.log("%s - %s",(t=new Date,n=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),x[t.getMonth()],n].join(" ")),e.format.apply(e,arguments))},e.inherits=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})},e._extend=function(t,e){if(!e||!b(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}})),$i=o((function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}})),to=o((function(t){try{var e=Ki;if("function"!=typeof e.inherits)throw"";t.exports=e.inherits}catch(e){t.exports=$i}}));function eo(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}var no=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i<t.length;i+=2)n.push(parseInt(t[i]+t[i+1],16))}else for(var r=0,i=0;i<t.length;i++){var o=t.charCodeAt(i);o<128?n[r++]=o:o<2048?(n[r++]=o>>6|192,n[r++]=63&o|128):eo(t,i)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++i)),n[r++]=o>>18|240,n[r++]=o>>12&63|128,n[r++]=o>>6&63|128,n[r++]=63&o|128):(n[r++]=o>>12|224,n[r++]=o>>6&63|128,n[r++]=63&o|128)}else for(i=0;i<t.length;i++)n[i]=0|t[i];return n};var ro=function(t){for(var e="",n=0;n<t.length;n++)e+=ao(t[n].toString(16));return e};function io(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}var oo=function(t,e){for(var n="",r=0;r<t.length;r++){var i=t[r];"little"===e&&(i=io(i)),n+=so(i.toString(16))}return n};function ao(t){return 1===t.length?"0"+t:t}function so(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}var uo=function(t,e,n,r){var i=n-e;Kr(i%4==0);for(var o=new Array(i/4),a=0,s=e;a<o.length;a++,s+=4){var u;u="big"===r?t[s]<<24|t[s+1]<<16|t[s+2]<<8|t[s+3]:t[s+3]<<24|t[s+2]<<16|t[s+1]<<8|t[s],o[a]=u>>>0}return o};var co=function(t,e){for(var n=new Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4){var o=t[r];"big"===e?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n};var lo=function(t,e){return t>>>e|t<<32-e};var ho=function(t,e){return t<<e|t>>>32-e};var fo=function(t,e){return t+e>>>0};var po=function(t,e,n){return t+e+n>>>0};var mo=function(t,e,n,r){return t+e+n+r>>>0};var go=function(t,e,n,r,i){return t+e+n+r+i>>>0};var yo=function(t,e,n,r){var i=t[e],o=r+t[e+1]>>>0,a=(o<r?1:0)+n+i;t[e]=a>>>0,t[e+1]=o};var vo=function(t,e,n,r){return(e+r>>>0<e?1:0)+t+n>>>0};var bo=function(t,e,n,r){return e+r>>>0};var wo=function(t,e,n,r,i,o,a,s){var u=0,c=e;return u+=(c=c+r>>>0)<e?1:0,u+=(c=c+o>>>0)<o?1:0,t+n+i+a+(u+=(c=c+s>>>0)<s?1:0)>>>0};var Mo=function(t,e,n,r,i,o,a,s){return e+r+o+s>>>0};var ko=function(t,e,n,r,i,o,a,s,u,c){var l=0,h=e;return l+=(h=h+r>>>0)<e?1:0,l+=(h=h+o>>>0)<o?1:0,l+=(h=h+s>>>0)<s?1:0,t+n+i+a+u+(l+=(h=h+c>>>0)<c?1:0)>>>0};var Lo=function(t,e,n,r,i,o,a,s,u,c){return e+r+o+s+c>>>0};var Ao=function(t,e,n){return(e<<32-n|t>>>n)>>>0};var xo=function(t,e,n){return(t<<32-n|e>>>n)>>>0};var Eo=function(t,e,n){return t>>>n};var No=function(t,e,n){return(t<<32-n|e>>>n)>>>0},So={inherits:to,toArray:no,toHex:ro,htonl:io,toHex32:oo,zero2:ao,zero8:so,join32:uo,split32:co,rotr32:lo,rotl32:ho,sum32:fo,sum32_3:po,sum32_4:mo,sum32_5:go,sum64:yo,sum64_hi:vo,sum64_lo:bo,sum64_4_hi:wo,sum64_4_lo:Mo,sum64_5_hi:ko,sum64_5_lo:Lo,rotr64_hi:Ao,rotr64_lo:xo,shr64_hi:Eo,shr64_lo:No};function Io(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var To=Io;Io.prototype.update=function(t,e){if(t=So.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var n=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-n,t.length),0===this.pending.length&&(this.pending=null),t=So.join32(t,0,t.length-n,this.endian);for(var r=0;r<t.length;r+=this._delta32)this._update(t,r,r+this._delta32)}return this},Io.prototype.digest=function(t){return this.update(this._pad()),Kr(null===this.pending),this._digest(t)},Io.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,n=e-(t+this.padLength)%e,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=t>>>24&255,r[i++]=t>>>16&255,r[i++]=t>>>8&255,r[i++]=255&t}else for(r[i++]=255&t,r[i++]=t>>>8&255,r[i++]=t>>>16&255,r[i++]=t>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r};var jo={BlockHash:To},Co=So.rotr32;var Do=function(t,e,n,r){return 0===t?Oo(e,n,r):1===t||3===t?zo(e,n,r):2===t?_o(e,n,r):void 0};function Oo(t,e,n){return t&e^~t&n}function _o(t,e,n){return t&e^t&n^e&n}function zo(t,e,n){return t^e^n}var Po=function(t){return Co(t,2)^Co(t,13)^Co(t,22)};var Bo=function(t){return Co(t,6)^Co(t,11)^Co(t,25)};var Ro=function(t){return Co(t,7)^Co(t,18)^t>>>3};var Uo=function(t){return Co(t,17)^Co(t,19)^t>>>10},Qo={ft_1:Do,ch32:Oo,maj32:_o,p32:zo,s0_256:Po,s1_256:Bo,g0_256:Ro,g1_256:Uo},Wo=So.rotl32,Fo=So.sum32,Yo=So.sum32_5,Ho=Qo.ft_1,Go=jo.BlockHash,Zo=[1518500249,1859775393,2400959708,3395469782];function Vo(){if(!(this instanceof Vo))return new Vo;Go.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}So.inherits(Vo,Go);var Jo=Vo;Vo.blockSize=512,Vo.outSize=160,Vo.hmacStrength=80,Vo.padLength=64,Vo.prototype._update=function(t,e){for(var n=this.W,r=0;r<16;r++)n[r]=t[e+r];for(;r<n.length;r++)n[r]=Wo(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4];for(r=0;r<n.length;r++){var c=~~(r/20),l=Yo(Wo(i,5),Ho(c,o,a,s),u,n[r],Zo[c]);u=s,s=a,a=Wo(o,30),o=i,i=l}this.h[0]=Fo(this.h[0],i),this.h[1]=Fo(this.h[1],o),this.h[2]=Fo(this.h[2],a),this.h[3]=Fo(this.h[3],s),this.h[4]=Fo(this.h[4],u)},Vo.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h,"big"):So.split32(this.h,"big")};var qo=So.sum32,Xo=So.sum32_4,Ko=So.sum32_5,$o=Qo.ch32,ta=Qo.maj32,ea=Qo.s0_256,na=Qo.s1_256,ra=Qo.g0_256,ia=Qo.g1_256,oa=jo.BlockHash,aa=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function sa(){if(!(this instanceof sa))return new sa;oa.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=aa,this.W=new Array(64)}So.inherits(sa,oa);var ua=sa;function ca(){if(!(this instanceof ca))return new ca;ua.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}sa.blockSize=512,sa.outSize=256,sa.hmacStrength=192,sa.padLength=64,sa.prototype._update=function(t,e){for(var n=this.W,r=0;r<16;r++)n[r]=t[e+r];for(;r<n.length;r++)n[r]=Xo(ia(n[r-2]),n[r-7],ra(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],a=this.h[2],s=this.h[3],u=this.h[4],c=this.h[5],l=this.h[6],h=this.h[7];for(Kr(this.k.length===n.length),r=0;r<n.length;r++){var d=Ko(h,na(u),$o(u,c,l),this.k[r],n[r]),f=qo(ea(i),ta(i,o,a));h=l,l=c,c=u,u=qo(s,d),s=a,a=o,o=i,i=qo(d,f)}this.h[0]=qo(this.h[0],i),this.h[1]=qo(this.h[1],o),this.h[2]=qo(this.h[2],a),this.h[3]=qo(this.h[3],s),this.h[4]=qo(this.h[4],u),this.h[5]=qo(this.h[5],c),this.h[6]=qo(this.h[6],l),this.h[7]=qo(this.h[7],h)},sa.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h,"big"):So.split32(this.h,"big")},So.inherits(ca,ua);var la=ca;ca.blockSize=512,ca.outSize=224,ca.hmacStrength=192,ca.padLength=64,ca.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h.slice(0,7),"big"):So.split32(this.h.slice(0,7),"big")};var ha=So.rotr64_hi,da=So.rotr64_lo,fa=So.shr64_hi,pa=So.shr64_lo,ma=So.sum64,ga=So.sum64_hi,ya=So.sum64_lo,va=So.sum64_4_hi,ba=So.sum64_4_lo,wa=So.sum64_5_hi,Ma=So.sum64_5_lo,ka=jo.BlockHash,La=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Aa(){if(!(this instanceof Aa))return new Aa;ka.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=La,this.W=new Array(160)}So.inherits(Aa,ka);var xa=Aa;function Ea(t,e,n,r,i){var o=t&n^~t&i;return o<0&&(o+=4294967296),o}function Na(t,e,n,r,i,o){var a=e&r^~e&o;return a<0&&(a+=4294967296),a}function Sa(t,e,n,r,i){var o=t&n^t&i^n&i;return o<0&&(o+=4294967296),o}function Ia(t,e,n,r,i,o){var a=e&r^e&o^r&o;return a<0&&(a+=4294967296),a}function Ta(t,e){var n=ha(t,e,28)^ha(e,t,2)^ha(e,t,7);return n<0&&(n+=4294967296),n}function ja(t,e){var n=da(t,e,28)^da(e,t,2)^da(e,t,7);return n<0&&(n+=4294967296),n}function Ca(t,e){var n=ha(t,e,14)^ha(t,e,18)^ha(e,t,9);return n<0&&(n+=4294967296),n}function Da(t,e){var n=da(t,e,14)^da(t,e,18)^da(e,t,9);return n<0&&(n+=4294967296),n}function Oa(t,e){var n=ha(t,e,1)^ha(t,e,8)^fa(t,e,7);return n<0&&(n+=4294967296),n}function _a(t,e){var n=da(t,e,1)^da(t,e,8)^pa(t,e,7);return n<0&&(n+=4294967296),n}function za(t,e){var n=ha(t,e,19)^ha(e,t,29)^fa(t,e,6);return n<0&&(n+=4294967296),n}function Pa(t,e){var n=da(t,e,19)^da(e,t,29)^pa(t,e,6);return n<0&&(n+=4294967296),n}function Ba(){if(!(this instanceof Ba))return new Ba;xa.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Aa.blockSize=1024,Aa.outSize=512,Aa.hmacStrength=192,Aa.padLength=128,Aa.prototype._prepareBlock=function(t,e){for(var n=this.W,r=0;r<32;r++)n[r]=t[e+r];for(;r<n.length;r+=2){var i=za(n[r-4],n[r-3]),o=Pa(n[r-4],n[r-3]),a=n[r-14],s=n[r-13],u=Oa(n[r-30],n[r-29]),c=_a(n[r-30],n[r-29]),l=n[r-32],h=n[r-31];n[r]=va(i,o,a,s,u,c,l,h),n[r+1]=ba(i,o,a,s,u,c,l,h)}},Aa.prototype._update=function(t,e){this._prepareBlock(t,e);var n=this.W,r=this.h[0],i=this.h[1],o=this.h[2],a=this.h[3],s=this.h[4],u=this.h[5],c=this.h[6],l=this.h[7],h=this.h[8],d=this.h[9],f=this.h[10],p=this.h[11],m=this.h[12],g=this.h[13],y=this.h[14],v=this.h[15];Kr(this.k.length===n.length);for(var b=0;b<n.length;b+=2){var w=y,M=v,k=Ca(h,d),L=Da(h,d),A=Ea(h,d,f,p,m),x=Na(h,d,f,p,m,g),E=this.k[b],N=this.k[b+1],S=n[b],I=n[b+1],T=wa(w,M,k,L,A,x,E,N,S,I),j=Ma(w,M,k,L,A,x,E,N,S,I);w=Ta(r,i),M=ja(r,i),k=Sa(r,i,o,a,s),L=Ia(r,i,o,a,s,u);var C=ga(w,M,k,L),D=ya(w,M,k,L);y=m,v=g,m=f,g=p,f=h,p=d,h=ga(c,l,T,j),d=ya(l,l,T,j),c=s,l=u,s=o,u=a,o=r,a=i,r=ga(T,j,C,D),i=ya(T,j,C,D)}ma(this.h,0,r,i),ma(this.h,2,o,a),ma(this.h,4,s,u),ma(this.h,6,c,l),ma(this.h,8,h,d),ma(this.h,10,f,p),ma(this.h,12,m,g),ma(this.h,14,y,v)},Aa.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h,"big"):So.split32(this.h,"big")},So.inherits(Ba,xa);var Ra=Ba;Ba.blockSize=1024,Ba.outSize=384,Ba.hmacStrength=192,Ba.padLength=128,Ba.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h.slice(0,12),"big"):So.split32(this.h.slice(0,12),"big")};var Ua={sha1:Jo,sha224:la,sha256:ua,sha384:Ra,sha512:xa},Qa=So.rotl32,Wa=So.sum32,Fa=So.sum32_3,Ya=So.sum32_4,Ha=jo.BlockHash;function Ga(){if(!(this instanceof Ga))return new Ga;Ha.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}So.inherits(Ga,Ha);var Za=Ga;function Va(t,e,n,r){return t<=15?e^n^r:t<=31?e&n|~e&r:t<=47?(e|~n)^r:t<=63?e&r|n&~r:e^(n|~r)}function Ja(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function qa(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}Ga.blockSize=512,Ga.outSize=160,Ga.hmacStrength=192,Ga.padLength=64,Ga.prototype._update=function(t,e){for(var n=this.h[0],r=this.h[1],i=this.h[2],o=this.h[3],a=this.h[4],s=n,u=r,c=i,l=o,h=a,d=0;d<80;d++){var f=Wa(Qa(Ya(n,Va(d,r,i,o),t[Xa[d]+e],Ja(d)),$a[d]),a);n=a,a=o,o=Qa(i,10),i=r,r=f,f=Wa(Qa(Ya(s,Va(79-d,u,c,l),t[Ka[d]+e],qa(d)),ts[d]),h),s=h,h=l,l=Qa(c,10),c=u,u=f}f=Fa(this.h[1],i,l),this.h[1]=Fa(this.h[2],o,h),this.h[2]=Fa(this.h[3],a,s),this.h[3]=Fa(this.h[4],n,u),this.h[4]=Fa(this.h[0],r,c),this.h[0]=f},Ga.prototype._digest=function(t){return"hex"===t?So.toHex32(this.h,"little"):So.split32(this.h,"little")};var Xa=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Ka=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],$a=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],ts=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],es={ripemd160:Za};function ns(t,e,n){if(!(this instanceof ns))return new ns(t,e,n);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(So.toArray(e,n))}var rs=ns;ns.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),Kr(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},ns.prototype.update=function(t,e){return this.inner.update(t,e),this},ns.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)};var is=o((function(t,e){var n=e;n.utils=So,n.common=jo,n.sha=Ua,n.ripemd=es,n.hmac=rs,n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160})),os=is;function as(t,e,n){return n={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&n.path)}},t(n,n.exports),n.exports}var ss=us;function us(t,e){if(!t)throw new Error(e||"Assertion failed")}us.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)};var cs=as((function(t,e){var n=e;function r(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",n=0;n<t.length;n++)e+=r(t[n].toString(16));return e}n.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"!=typeof t){for(var r=0;r<t.length;r++)n[r]=0|t[r];return n}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(r=0;r<t.length;r+=2)n.push(parseInt(t[r]+t[r+1],16))}else for(r=0;r<t.length;r++){var i=t.charCodeAt(r),o=i>>8,a=255&i;o?n.push(o,a):n.push(a)}return n},n.zero2=r,n.toHex=i,n.encode=function(t,e){return"hex"===e?i(t):t}})),ls=as((function(t,e){var n=e;n.assert=ss,n.toArray=cs.toArray,n.zero2=cs.zero2,n.toHex=cs.toHex,n.encode=cs.encode,n.getNAF=function(t,e,n){var r=new Array(Math.max(t.bitLength(),n)+1);r.fill(0);for(var i=1<<e+1,o=t.clone(),a=0;a<r.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=u>(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,r[a]=s,o.iushrn(1)}return r},n.getJSF=function(t,e){var n=[[],[]];t=t.clone(),e=e.clone();for(var r,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,u=t.andln(3)+i&3,c=e.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!==(r=t.andln(7)+i&7)&&5!==r||2!==c?u:-u,n[0].push(a),s=0==(1&c)?0:3!==(r=e.andln(7)+o&7)&&5!==r||2!==u?c:-c,n[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return n},n.cachedProperty=function(t,e,n){var r="_"+e;t.prototype[e]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new B(t,"hex","le")}})),hs=ls.getNAF,ds=ls.getJSF,fs=ls.assert;function ps(t,e){this.type=t,this.p=new B(e.p,16),this.red=e.prime?B.red(e.prime):B.mont(this.p),this.zero=new B(0).toRed(this.red),this.one=new B(1).toRed(this.red),this.two=new B(2).toRed(this.red),this.n=e.n&&new B(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var ms=ps;function gs(t,e){this.curve=t,this.type=e,this.precomputed=null}ps.prototype.point=function(){throw new Error("Not implemented")},ps.prototype.validate=function(){throw new Error("Not implemented")},ps.prototype._fixedNafMul=function(t,e){fs(t.precomputed);var n=t._getDoubles(),r=hs(e,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var o,a,s=[];for(o=0;o<r.length;o+=n.step){a=0;for(var u=o+n.step-1;u>=o;u--)a=(a<<1)+r[u];s.push(a)}for(var c=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(o=0;o<s.length;o++)(a=s[o])===h?l=l.mixedAdd(n.points[o]):a===-h&&(l=l.mixedAdd(n.points[o].neg()));c=c.add(l)}return c.toP()},ps.prototype._wnafMul=function(t,e){var n=4,r=t._getNAFPoints(n);n=r.wnd;for(var i=r.points,o=hs(e,n,this._bitLength),a=this.jpoint(null,null,null),s=o.length-1;s>=0;s--){for(var u=0;s>=0&&0===o[s];s--)u++;if(s>=0&&u++,a=a.dblp(u),s<0)break;var c=o[s];fs(0!==c),a="affine"===t.type?c>0?a.mixedAdd(i[c-1>>1]):a.mixedAdd(i[-c-1>>1].neg()):c>0?a.add(i[c-1>>1]):a.add(i[-c-1>>1].neg())}return"affine"===t.type?a.toP():a},ps.prototype._wnafMulAdd=function(t,e,n,r,i){var o,a,s,u=this._wnafT1,c=this._wnafT2,l=this._wnafT3,h=0;for(o=0;o<r;o++){var d=(s=e[o])._getNAFPoints(t);u[o]=d.wnd,c[o]=d.points}for(o=r-1;o>=1;o-=2){var f=o-1,p=o;if(1===u[f]&&1===u[p]){var m=[e[f],null,null,e[p]];0===e[f].y.cmp(e[p].y)?(m[1]=e[f].add(e[p]),m[2]=e[f].toJ().mixedAdd(e[p].neg())):0===e[f].y.cmp(e[p].y.redNeg())?(m[1]=e[f].toJ().mixedAdd(e[p]),m[2]=e[f].add(e[p].neg())):(m[1]=e[f].toJ().mixedAdd(e[p]),m[2]=e[f].toJ().mixedAdd(e[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=ds(n[f],n[p]);for(h=Math.max(y[0].length,h),l[f]=new Array(h),l[p]=new Array(h),a=0;a<h;a++){var v=0|y[0][a],b=0|y[1][a];l[f][a]=g[3*(v+1)+(b+1)],l[p][a]=0,c[f]=m}}else l[f]=hs(n[f],u[f],this._bitLength),l[p]=hs(n[p],u[p],this._bitLength),h=Math.max(l[f].length,h),h=Math.max(l[p].length,h)}var w=this.jpoint(null,null,null),M=this._wnafT4;for(o=h;o>=0;o--){for(var k=0;o>=0;){var L=!0;for(a=0;a<r;a++)M[a]=0|l[a][o],0!==M[a]&&(L=!1);if(!L)break;k++,o--}if(o>=0&&k++,w=w.dblp(k),o<0)break;for(a=0;a<r;a++){var A=M[a];0!==A&&(A>0?s=c[a][A-1>>1]:A<0&&(s=c[a][-A-1>>1].neg()),w="affine"===s.type?w.mixedAdd(s):w.add(s))}}for(o=0;o<r;o++)c[o]=null;return i?w:w.toP()},ps.BasePoint=gs,gs.prototype.eq=function(){throw new Error("Not implemented")},gs.prototype.validate=function(){return this.curve.validate(this)},ps.prototype.decodePoint=function(t,e){t=ls.toArray(t,e);var n=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*n)return 6===t[0]?fs(t[t.length-1]%2==0):7===t[0]&&fs(t[t.length-1]%2==1),this.point(t.slice(1,1+n),t.slice(1+n,1+2*n));if((2===t[0]||3===t[0])&&t.length-1===n)return this.pointFromX(t.slice(1,1+n),3===t[0]);throw new Error("Unknown point format")},gs.prototype.encodeCompressed=function(t){return this.encode(t,!0)},gs.prototype._encode=function(t){var e=this.curve.p.byteLength(),n=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",e))},gs.prototype.encode=function(t,e){return ls.encode(this._encode(e),t)},gs.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},gs.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},gs.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)r=r.dbl();n.push(r)}return{step:t,points:n}},gs.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],n=(1<<t)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)e[i]=e[i-1].add(r);return{wnd:t,points:e}},gs.prototype._getBeta=function(){return null},gs.prototype.dblp=function(t){for(var e=this,n=0;n<t;n++)e=e.dbl();return e};var ys=as((function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}})),vs=ls.assert;function bs(t){ms.call(this,"short",t),this.a=new B(t.a,16).toRed(this.red),this.b=new B(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}ys(bs,ms);var ws=bs;function Ms(t,e,n,r){ms.BasePoint.call(this,t,"affine"),null===e&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new B(e,16),this.y=new B(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function ks(t,e,n,r){ms.BasePoint.call(this,t,"jacobian"),null===e&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new B(0)):(this.x=new B(e,16),this.y=new B(n,16),this.z=new B(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}bs.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,n,r;if(t.beta)e=new B(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)n=new B(t.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(e))?n=o[0]:(n=o[1],vs(0===this.g.mul(n).x.cmp(this.g.x.redMul(e))))}return r=t.basis?t.basis.map((function(t){return{a:new B(t.a,16),b:new B(t.b,16)}})):this._getEndoBasis(n),{beta:e,lambda:n,basis:r}}},bs.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:B.mont(t),n=new B(2).toRed(e).redInvm(),r=n.redNeg(),i=new B(3).toRed(e).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},bs.prototype._getEndoBasis=function(t){for(var e,n,r,i,o,a,s,u,c,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=t,d=this.n.clone(),f=new B(1),p=new B(0),m=new B(0),g=new B(1),y=0;0!==h.cmpn(0);){var v=d.div(h);u=d.sub(v.mul(h)),c=m.sub(v.mul(f));var b=g.sub(v.mul(p));if(!r&&u.cmp(l)<0)e=s.neg(),n=f,r=u.neg(),i=c;else if(r&&2==++y)break;s=u,d=h,h=u,m=f,f=c,g=p,p=b}o=u.neg(),a=c;var w=r.sqr().add(i.sqr());return o.sqr().add(a.sqr()).cmp(w)>=0&&(o=e,a=n),r.negative&&(r=r.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:r,b:i},{a:o,b:a}]},bs.prototype._endoSplit=function(t){var e=this.endo.basis,n=e[0],r=e[1],i=r.b.mul(t).divRound(this.n),o=n.b.neg().mul(t).divRound(this.n),a=i.mul(n.a),s=o.mul(r.a),u=i.mul(n.b),c=o.mul(r.b);return{k1:t.sub(a).sub(s),k2:u.add(c).neg()}},bs.prototype.pointFromX=function(t,e){(t=new B(t,16)).red||(t=t.toRed(this.red));var n=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=r.fromRed().isOdd();return(e&&!i||!e&&i)&&(r=r.redNeg()),this.point(t,r)},bs.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,n=t.y,r=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},bs.prototype._endoWnafMulAdd=function(t,e,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<t.length;o++){var a=this._endoSplit(e[o]),s=t[o],u=s._getBeta();a.k1.negative&&(a.k1.ineg(),s=s.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),r[2*o]=s,r[2*o+1]=u,i[2*o]=a.k1,i[2*o+1]=a.k2}for(var c=this._wnafMulAdd(1,r,i,2*o,n),l=0;l<2*o;l++)r[l]=null,i[l]=null;return c},ys(Ms,ms.BasePoint),bs.prototype.point=function(t,e,n){return new Ms(this,t,e,n)},bs.prototype.pointFromJSON=function(t,e){return Ms.fromJSON(this,t,e)},Ms.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var n=this.curve,r=function(t){return n.point(t.x.redMul(n.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(r)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(r)}}}return e}},Ms.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Ms.fromJSON=function(t,e,n){"string"==typeof e&&(e=JSON.parse(e));var r=t.point(e[0],e[1],n);if(!e[2])return r;function i(e){return t.point(e[0],e[1],n)}var o=e[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},Ms.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Ms.prototype.isInfinity=function(){return this.inf},Ms.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var n=e.redSqr().redISub(this.x).redISub(t.x),r=e.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},Ms.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,n=this.x.redSqr(),r=t.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(e).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Ms.prototype.getX=function(){return this.x.fromRed()},Ms.prototype.getY=function(){return this.y.fromRed()},Ms.prototype.mul=function(t){return t=new B(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Ms.prototype.mulAdd=function(t,e,n){var r=[this,e],i=[t,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},Ms.prototype.jmulAdd=function(t,e,n){var r=[this,e],i=[t,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},Ms.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},Ms.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var n=this.precomputed,r=function(t){return t.neg()};e.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return e},Ms.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ys(ks,ms.BasePoint),bs.prototype.jpoint=function(t,e,n){return new ks(this,t,e,n)},ks.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),n=this.x.redMul(e),r=this.y.redMul(e).redMul(t);return this.curve.point(n,r)},ks.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},ks.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(e),i=t.x.redMul(n),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(n.redMul(this.z)),s=r.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),h=r.redMul(c),d=u.redSqr().redIAdd(l).redISub(h).redISub(h),f=u.redMul(h.redISub(d)).redISub(o.redMul(l)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,f,p)},ks.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),n=this.x,r=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=n.redSub(r),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),l=n.redMul(u),h=s.redSqr().redIAdd(c).redISub(l).redISub(l),d=s.redMul(l.redISub(h)).redISub(i.redMul(c)),f=this.z.redMul(a);return this.curve.jpoint(h,d,f)},ks.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var n=this;for(e=0;e<t;e++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,o=this.x,a=this.y,s=this.z,u=s.redSqr().redSqr(),c=a.redAdd(a);for(e=0;e<t;e++){var l=o.redSqr(),h=c.redSqr(),d=h.redSqr(),f=l.redAdd(l).redIAdd(l).redIAdd(r.redMul(u)),p=o.redMul(h),m=f.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=f.redMul(g);y=y.redIAdd(y).redISub(d);var v=c.redMul(s);e+1<t&&(u=u.redMul(d)),o=m,s=v,c=y}return this.curve.jpoint(o,c.redMul(i),s)},ks.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},ks.prototype._zeroDbl=function(){var t,e,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r),u=s.redSqr().redISub(a).redISub(a),c=o.redIAdd(o);c=(c=c.redIAdd(c)).redIAdd(c),t=u,e=s.redMul(a.redISub(u)).redISub(c),n=this.y.redAdd(this.y)}else{var l=this.x.redSqr(),h=this.y.redSqr(),d=h.redSqr(),f=this.x.redAdd(h).redSqr().redISub(l).redISub(d);f=f.redIAdd(f);var p=l.redAdd(l).redIAdd(l),m=p.redSqr(),g=d.redIAdd(d);g=(g=g.redIAdd(g)).redIAdd(g),t=m.redISub(f).redISub(f),e=p.redMul(f.redISub(t)).redISub(g),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(t,e,n)},ks.prototype._threeDbl=function(){var t,e,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(o);a=a.redIAdd(a);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),u=s.redSqr().redISub(a).redISub(a);t=u;var c=o.redIAdd(o);c=(c=c.redIAdd(c)).redIAdd(c),e=s.redMul(a.redISub(u)).redISub(c),n=this.y.redAdd(this.y)}else{var l=this.z.redSqr(),h=this.y.redSqr(),d=this.x.redMul(h),f=this.x.redSub(l).redMul(this.x.redAdd(l));f=f.redAdd(f).redIAdd(f);var p=d.redIAdd(d),m=(p=p.redIAdd(p)).redAdd(p);t=f.redSqr().redISub(m),n=this.y.redAdd(this.z).redSqr().redISub(h).redISub(l);var g=h.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=f.redMul(p.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,n)},ks.prototype._dbl=function(){var t=this.curve.a,e=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=e.redSqr(),a=n.redSqr(),s=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(i)),u=e.redAdd(e),c=(u=u.redIAdd(u)).redMul(a),l=s.redSqr().redISub(c.redAdd(c)),h=c.redISub(l),d=a.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var f=s.redMul(h).redISub(d),p=n.redAdd(n).redMul(r);return this.curve.jpoint(l,f,p)},ks.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),n=this.z.redSqr(),r=e.redSqr(),i=t.redAdd(t).redIAdd(t),o=i.redSqr(),a=this.x.redAdd(e).redSqr().redISub(t).redISub(r),s=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(),u=r.redIAdd(r);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var c=i.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(u),l=e.redMul(c);l=(l=l.redIAdd(l)).redIAdd(l);var h=this.x.redMul(s).redISub(l);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.y.redMul(c.redMul(u.redISub(c)).redISub(a.redMul(s)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var f=this.z.redAdd(a).redSqr().redISub(n).redISub(s);return this.curve.jpoint(h,d,f)},ks.prototype.mul=function(t,e){return t=new B(t,e),this.curve._wnafMul(this,t)},ks.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),n=t.z.redSqr();if(0!==this.x.redMul(n).redISub(t.x.redMul(e)).cmpn(0))return!1;var r=e.redMul(this.z),i=n.redMul(t.z);return 0===this.y.redMul(i).redISub(t.y.redMul(r)).cmpn(0)},ks.prototype.eqXToP=function(t){var e=this.z.redSqr(),n=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(n))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(e);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},ks.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},ks.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ls=as((function(t,e){var n=e;n.base=ms,n.short=ws,n.mont=null,n.edwards=null})),As=as((function(t,e){var n,r=e,i=ls.assert;function o(t){"short"===t.type?this.curve=new Ls.short(t):"edwards"===t.type?this.curve=new Ls.edwards(t):this.curve=new Ls.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var n=new o(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:os.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:os.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:os.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:os.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:os.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:os.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:os.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(t){n=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:os.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})}));function xs(t){if(!(this instanceof xs))return new xs(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=cs.toArray(t.entropy,t.entropyEnc||"hex"),n=cs.toArray(t.nonce,t.nonceEnc||"hex"),r=cs.toArray(t.pers,t.persEnc||"hex");ss(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,n,r)}var Es=xs;xs.prototype._init=function(t,e,n){var r=t.concat(e).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},xs.prototype._hmac=function(){return new os.hmac(this.hash,this.K)},xs.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},xs.prototype.reseed=function(t,e,n,r){"string"!=typeof e&&(r=n,n=e,e=null),t=cs.toArray(t,e),n=cs.toArray(n,r),ss(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(n||[])),this._reseed=1},xs.prototype.generate=function(t,e,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(r=n,n=e,e=null),n&&(n=cs.toArray(n,r||"hex"),this._update(n));for(var i=[];i.length<t;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var o=i.slice(0,t);return this._update(n),this._reseed++,cs.encode(o,e)};var Ns=ls.assert;function Ss(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Is=Ss;Ss.fromPublic=function(t,e,n){return e instanceof Ss?e:new Ss(t,{pub:e,pubEnc:n})},Ss.fromPrivate=function(t,e,n){return e instanceof Ss?e:new Ss(t,{priv:e,privEnc:n})},Ss.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Ss.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Ss.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},Ss.prototype._importPrivate=function(t,e){this.priv=new B(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Ss.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?Ns(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Ns(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},Ss.prototype.derive=function(t){return t.validate()||Ns(t.validate(),"public point not validated"),t.mul(this.priv).getX()},Ss.prototype.sign=function(t,e,n){return this.ec.sign(t,this,e,n)},Ss.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},Ss.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Ts=ls.assert;function js(t,e){if(t instanceof js)return t;this._importDER(t,e)||(Ts(t.r&&t.s,"Signature without r or s"),this.r=new B(t.r,16),this.s=new B(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Cs=js;function Ds(){this.place=0}function Os(t,e){var n=t[e.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,o=0,a=e.place;o<r;o++,a++)i<<=8,i|=t[a],i>>>=0;return!(i<=127)&&(e.place=a,i)}function _s(t){for(var e=0,n=t.length-1;!t[e]&&!(128&t[e+1])&&e<n;)e++;return 0===e?t:t.slice(e)}function zs(t,e){if(e<128)t.push(e);else{var n=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|n);--n;)t.push(e>>>(n<<3)&255);t.push(e)}}js.prototype._importDER=function(t,e){t=ls.toArray(t,e);var n=new Ds;if(48!==t[n.place++])return!1;var r=Os(t,n);if(!1===r)return!1;if(r+n.place!==t.length)return!1;if(2!==t[n.place++])return!1;var i=Os(t,n);if(!1===i)return!1;var o=t.slice(n.place,i+n.place);if(n.place+=i,2!==t[n.place++])return!1;var a=Os(t,n);if(!1===a)return!1;if(t.length!==a+n.place)return!1;var s=t.slice(n.place,a+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new B(o),this.s=new B(s),this.recoveryParam=null,!0},js.prototype.toDER=function(t){var e=this.r.toArray(),n=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&n[0]&&(n=[0].concat(n)),e=_s(e),n=_s(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];zs(r,e.length),(r=r.concat(e)).push(2),zs(r,n.length);var i=r.concat(n),o=[48];return zs(o,i.length),o=o.concat(i),ls.encode(o,t)};var Ps=function(){throw new Error("unsupported")},Bs=ls.assert;function Rs(t){if(!(this instanceof Rs))return new Rs(t);"string"==typeof t&&(Bs(Object.prototype.hasOwnProperty.call(As,t),"Unknown curve "+t),t=As[t]),t instanceof As.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var Us=Rs;Rs.prototype.keyPair=function(t){return new Is(this,t)},Rs.prototype.keyFromPrivate=function(t,e){return Is.fromPrivate(this,t,e)},Rs.prototype.keyFromPublic=function(t,e){return Is.fromPublic(this,t,e)},Rs.prototype.genKeyPair=function(t){t||(t={});for(var e=new Es({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||Ps(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),r=this.n.sub(new B(2));;){var i=new B(e.generate(n));if(!(i.cmp(r)>0))return i.iaddn(1),this.keyFromPrivate(i)}},Rs.prototype._truncateToN=function(t,e){var n=8*t.byteLength()-this.n.bitLength();return n>0&&(t=t.ushrn(n)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},Rs.prototype.sign=function(t,e,n,r){"object"==typeof n&&(r=n,n=null),r||(r={}),e=this.keyFromPrivate(e,n),t=this._truncateToN(new B(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),a=t.toArray("be",i),s=new Es({hash:this.hash,entropy:o,nonce:a,pers:r.pers,persEnc:r.persEnc||"utf8"}),u=this.n.sub(new B(1)),c=0;;c++){var l=r.k?r.k(c):new B(s.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(u)>=0)){var h=this.g.mul(l);if(!h.isInfinity()){var d=h.getX(),f=d.umod(this.n);if(0!==f.cmpn(0)){var p=l.invm(this.n).mul(f.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(h.getY().isOdd()?1:0)|(0!==d.cmp(f)?2:0);return r.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new Cs({r:f,s:p,recoveryParam:m})}}}}}},Rs.prototype.verify=function(t,e,n,r){t=this._truncateToN(new B(t,16)),n=this.keyFromPublic(n,r);var i=(e=new Cs(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),u=s.mul(t).umod(this.n),c=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,n.getPublic(),c)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(u,n.getPublic(),c)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},Rs.prototype.recoverPubKey=function(t,e,n,r){Bs((3&n)===n,"The recovery param is more than two bits"),e=new Cs(e,r);var i=this.n,o=new B(t),a=e.r,s=e.s,u=1&n,c=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");a=c?this.curve.pointFromX(a.add(this.curve.n),u):this.curve.pointFromX(a,u);var l=e.r.invm(i),h=i.sub(o).mul(l).umod(i),d=s.mul(l).umod(i);return this.g.mulAdd(h,a,d)},Rs.prototype.getKeyRecoveryParam=function(t,e,n,r){if(null!==(e=new Cs(e,r)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")};var Qs=as((function(t,e){var n=e;n.version="6.5.4",n.utils=ls,n.rand=function(){throw new Error("unsupported")},n.curve=Ls,n.curves=As,n.ec=Us,n.eddsa=null})).ec;const Ws=new V("signing-key/5.7.0");let Fs=null;function Ys(){return Fs||(Fs=new Qs("secp256k1")),Fs}class Hs{constructor(t){Rt(this,"curve","secp256k1"),Rt(this,"privateKey",at(t)),32!==st(this.privateKey)&&Ws.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const e=Ys().keyFromPrivate(et(this.privateKey));Rt(this,"publicKey","0x"+e.getPublic(!1,"hex")),Rt(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),Rt(this,"_isSigningKey",!0)}_addPoint(t){const e=Ys().keyFromPublic(et(this.publicKey)),n=Ys().keyFromPublic(et(t));return"0x"+e.pub.add(n.pub).encodeCompressed("hex")}signDigest(t){const e=Ys().keyFromPrivate(et(this.privateKey)),n=et(t);32!==n.length&&Ws.throwArgumentError("bad digest length","digest",t);const r=e.sign(n,{canonical:!0});return dt({recoveryParam:r.recoveryParam,r:ht("0x"+r.r.toString(16),32),s:ht("0x"+r.s.toString(16),32)})}computeSharedSecret(t){const e=Ys().keyFromPrivate(et(this.privateKey)),n=Ys().keyFromPublic(et(Gs(t)));return ht("0x"+e.derive(n.getPublic()).toString(16),32)}static isSigningKey(t){return!(!t||!t._isSigningKey)}}function Gs(t,e){const n=et(t);if(32===n.length){const t=new Hs(n);return e?"0x"+Ys().keyFromPrivate(n).getPublic(!0,"hex"):t.publicKey}return 33===n.length?e?at(n):"0x"+Ys().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?e?"0x"+Ys().keyFromPublic(n).getPublic(!0,"hex"):at(n):Ws.throwArgumentError("invalid public or private key","key","[REDACTED]")}const Zs=new V("transactions/5.7.0");var Vs;function Js(t){return"0x"===t?null:ln(t)}function qs(t){return"0x"===t?An:bt.from(t)}function Xs(t,e){return function(t){return ln(ut(qe(ut(Gs(t),1)),12))}(function(t,e){const n=dt(e),r={r:et(n.r),s:et(n.s)};return"0x"+Ys().recoverPubKey(et(t),r,n.recoveryParam).encode("hex",!1)}(et(t),e))}function Ks(t,e){const n=rt(bt.from(t).toHexString());return n.length>32&&Zs.throwArgumentError("invalid length for "+e,"transaction:"+e,t),n}function $s(t,e){return{address:ln(t),storageKeys:(e||[]).map(((e,n)=>(32!==st(e)&&Zs.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,e),e.toLowerCase())))}}function tu(t){if(Array.isArray(t))return t.map(((t,e)=>Array.isArray(t)?(t.length>2&&Zs.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${e}]`,t),$s(t[0],t[1])):$s(t.address,t.storageKeys)));const e=Object.keys(t).map((e=>{const n=t[e].reduce(((t,e)=>(t[e]=!0,t)),{});return $s(e,Object.keys(n).sort())}));return e.sort(((t,e)=>t.address.localeCompare(e.address))),e}function eu(t){return tu(t).map((t=>[t.address,t.storageKeys]))}function nu(t,e){if(null!=t.gasPrice){const e=bt.from(t.gasPrice),n=bt.from(t.maxFeePerGas||0);e.eq(n)||Zs.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:e,maxFeePerGas:n})}const n=[Ks(t.chainId||0,"chainId"),Ks(t.nonce||0,"nonce"),Ks(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Ks(t.maxFeePerGas||0,"maxFeePerGas"),Ks(t.gasLimit||0,"gasLimit"),null!=t.to?ln(t.to):"0x",Ks(t.value||0,"value"),t.data||"0x",eu(t.accessList||[])];if(e){const t=dt(e);n.push(Ks(t.recoveryParam,"recoveryParam")),n.push(rt(t.r)),n.push(rt(t.s))}return ct(["0x02",en(n)])}function ru(t,e){const n=[Ks(t.chainId||0,"chainId"),Ks(t.nonce||0,"nonce"),Ks(t.gasPrice||0,"gasPrice"),Ks(t.gasLimit||0,"gasLimit"),null!=t.to?ln(t.to):"0x",Ks(t.value||0,"value"),t.data||"0x",eu(t.accessList||[])];if(e){const t=dt(e);n.push(Ks(t.recoveryParam,"recoveryParam")),n.push(rt(t.r)),n.push(rt(t.s))}return ct(["0x01",en(n)])}function iu(t,e,n){try{const n=qs(e[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");t.v=n}catch(t){Zs.throwArgumentError("invalid v for transaction type: 1","v",e[0])}t.r=ht(e[1],32),t.s=ht(e[2],32);try{const e=qe(n(t));t.from=Xs(e,{r:t.r,s:t.s,recoveryParam:t.v})}catch(t){}}function ou(t){const e=et(t);if(e[0]>127)return function(t){const e=on(t);9!==e.length&&6!==e.length&&Zs.throwArgumentError("invalid raw transaction","rawTransaction",t);const n={nonce:qs(e[0]).toNumber(),gasPrice:qs(e[1]),gasLimit:qs(e[2]),to:Js(e[3]),value:qs(e[4]),data:e[5],chainId:0};if(6===e.length)return n;try{n.v=bt.from(e[6]).toNumber()}catch(t){return n}if(n.r=ht(e[7],32),n.s=ht(e[8],32),bt.from(n.r).isZero()&&bt.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);let r=n.v-27;const i=e.slice(0,6);0!==n.chainId&&(i.push(at(n.chainId)),i.push("0x"),i.push("0x"),r-=2*n.chainId+8);const o=qe(en(i));try{n.from=Xs(o,{r:at(n.r),s:at(n.s),recoveryParam:r})}catch(t){}n.hash=qe(t)}return n.type=null,n}(e);switch(e[0]){case 1:return function(t){const e=on(t.slice(1));8!==e.length&&11!==e.length&&Zs.throwArgumentError("invalid component count for transaction type: 1","payload",at(t));const n={type:1,chainId:qs(e[0]).toNumber(),nonce:qs(e[1]).toNumber(),gasPrice:qs(e[2]),gasLimit:qs(e[3]),to:Js(e[4]),value:qs(e[5]),data:e[6],accessList:tu(e[7])};return 8===e.length||(n.hash=qe(t),iu(n,e.slice(8),ru)),n}(e);case 2:return function(t){const e=on(t.slice(1));9!==e.length&&12!==e.length&&Zs.throwArgumentError("invalid component count for transaction type: 2","payload",at(t));const n=qs(e[2]),r=qs(e[3]),i={type:2,chainId:qs(e[0]).toNumber(),nonce:qs(e[1]).toNumber(),maxPriorityFeePerGas:n,maxFeePerGas:r,gasPrice:null,gasLimit:qs(e[4]),to:Js(e[5]),value:qs(e[6]),data:e[7],accessList:tu(e[8])};return 9===e.length||(i.hash=qe(t),iu(i,e.slice(9),nu)),i}(e)}return Zs.throwError(`unsupported transaction type: ${e[0]}`,V.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}!function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"}(Vs||(Vs={}));var au=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const su=new V("contracts/5.7.0");function uu(t,e){return au(this,void 0,void 0,(function*(){const n=yield e;"string"!=typeof n&&su.throwArgumentError("invalid address or ENS name","name",n);try{return ln(n)}catch(t){}t||su.throwError("a provider or signer is needed to resolve ENS names",V.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield t.resolveName(n);return null==r&&su.throwArgumentError("resolver or addr is not configured for ENS name","name",n),r}))}function cu(t,e,n){return au(this,void 0,void 0,(function*(){return Array.isArray(n)?yield Promise.all(n.map(((n,r)=>cu(t,Array.isArray(e)?e[r]:e[n.name],n)))):"address"===n.type?yield uu(t,e):"tuple"===n.type?yield cu(t,e,n.components):"array"===n.baseType?Array.isArray(e)?yield Promise.all(e.map((e=>cu(t,e,n.arrayChildren)))):Promise.reject(su.makeError("invalid value for array",V.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e}))}function lu(t,e,n){return au(this,void 0,void 0,(function*(){let r={};n.length===e.inputs.length+1&&"object"==typeof n[n.length-1]&&(r=Wt(n.pop())),su.checkArgumentCount(n.length,e.inputs.length,"passed to contract"),t.signer?r.from?r.from=Qt({override:uu(t.signer,r.from),signer:t.signer.getAddress()}).then((t=>au(this,void 0,void 0,(function*(){return ln(t.signer)!==t.override&&su.throwError("Contract with a Signer cannot override from",V.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),t.override})))):r.from=t.signer.getAddress():r.from&&(r.from=uu(t.provider,r.from));const i=yield Qt({args:cu(t.signer||t.provider,n,e.inputs),address:t.resolvedAddress,overrides:Qt(r)||{}}),o=t.interface.encodeFunctionData(e,i.args),a={data:o,to:i.address},s=i.overrides;if(null!=s.nonce&&(a.nonce=bt.from(s.nonce).toNumber()),null!=s.gasLimit&&(a.gasLimit=bt.from(s.gasLimit)),null!=s.gasPrice&&(a.gasPrice=bt.from(s.gasPrice)),null!=s.maxFeePerGas&&(a.maxFeePerGas=bt.from(s.maxFeePerGas)),null!=s.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=bt.from(s.maxPriorityFeePerGas)),null!=s.from&&(a.from=s.from),null!=s.type&&(a.type=s.type),null!=s.accessList&&(a.accessList=tu(s.accessList)),null==a.gasLimit&&null!=e.gas){let t=21e3;const n=et(o);for(let e=0;e<n.length;e++)t+=4,n[e]&&(t+=64);a.gasLimit=bt.from(e.gas).add(t)}if(s.value){const t=bt.from(s.value);t.isZero()||e.payable||su.throwError("non-payable method cannot override value",V.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),a.value=t}s.customData&&(a.customData=Wt(s.customData)),s.ccipReadEnabled&&(a.ccipReadEnabled=!!s.ccipReadEnabled),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData,delete r.ccipReadEnabled;const u=Object.keys(r).filter((t=>null!=r[t]));return u.length&&su.throwError(`cannot override ${u.map((t=>JSON.stringify(t))).join(",")}`,V.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:u}),a}))}function hu(t,e,n){const r=t.signer||t.provider;return function(...i){return au(this,void 0,void 0,(function*(){let o;if(i.length===e.inputs.length+1&&"object"==typeof i[i.length-1]){const t=Wt(i.pop());null!=t.blockTag&&(o=yield t.blockTag),delete t.blockTag,i.push(t)}null!=t.deployTransaction&&(yield t._deployed(o));const a=yield lu(t,e,i),s=yield r.call(a,o);try{let r=t.interface.decodeFunctionResult(e,s);return n&&1===e.outputs.length&&(r=r[0]),r}catch(e){throw e.code===V.errors.CALL_EXCEPTION&&(e.address=t.address,e.args=i,e.transaction=a),e}}))}}function du(t,e){return function(...n){return au(this,void 0,void 0,(function*(){t.signer||su.throwError("sending a transaction requires a signer",V.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=t.deployTransaction&&(yield t._deployed());const r=yield lu(t,e,n),i=yield t.signer.sendTransaction(r);return function(t,e){const n=e.wait.bind(e);e.wait=e=>n(e).then((e=>(e.events=e.logs.map((n=>{let r=Gt(n),i=null;try{i=t.interface.parseLog(n)}catch(t){}return i&&(r.args=i.args,r.decode=(e,n)=>t.interface.decodeEventLog(i.eventFragment,e,n),r.event=i.name,r.eventSignature=i.signature),r.removeListener=()=>t.provider,r.getBlock=()=>t.provider.getBlock(e.blockHash),r.getTransaction=()=>t.provider.getTransaction(e.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(e),r})),e)))}(t,i),i}))}}function fu(t,e,n){return e.constant?hu(t,e,n):du(t,e)}function pu(t){return!t.address||null!=t.topics&&0!==t.topics.length?(t.address||"*")+"@"+(t.topics?t.topics.map((t=>Array.isArray(t)?t.join("|"):t)).join(":"):""):"*"}class mu{constructor(t,e){Rt(this,"tag",t),Rt(this,"filter",e),this._listeners=[]}addListener(t,e){this._listeners.push({listener:t,once:e})}removeListener(t){let e=!1;this._listeners=this._listeners.filter((n=>!(!e&&n.listener===t)||(e=!0,!1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map((t=>t.listener))}listenerCount(){return this._listeners.length}run(t){const e=this.listenerCount();return this._listeners=this._listeners.filter((e=>{const n=t.slice();return setTimeout((()=>{e.listener.apply(this,n)}),0),!e.once})),e}prepareEvent(t){}getEmit(t){return[t]}}class gu extends mu{constructor(){super("error",null)}}class yu extends mu{constructor(t,e,n,r){const i={address:t};let o=e.getEventTopic(n);r?(o!==r[0]&&su.throwArgumentError("topic mismatch","topics",r),i.topics=r.slice()):i.topics=[o],super(pu(i),i),Rt(this,"address",t),Rt(this,"interface",e),Rt(this,"fragment",n)}prepareEvent(t){super.prepareEvent(t),t.event=this.fragment.name,t.eventSignature=this.fragment.format(),t.decode=(t,e)=>this.interface.decodeEventLog(this.fragment,t,e);try{t.args=this.interface.decodeEventLog(this.fragment,t.data,t.topics)}catch(e){t.args=null,t.decodeError=e}}getEmit(t){const e=function(t){const e=[],n=function(t,r){if(Array.isArray(r))for(let i in r){const o=t.slice();o.push(i);try{n(o,r[i])}catch(t){e.push({path:o,error:t})}}};return n([],t),e}(t.args);if(e.length)throw e[0].error;const n=(t.args||[]).slice();return n.push(t),n}}class vu extends mu{constructor(t,e){super("*",{address:t}),Rt(this,"address",t),Rt(this,"interface",e)}prepareEvent(t){super.prepareEvent(t);try{const e=this.interface.parseLog(t);t.event=e.name,t.eventSignature=e.signature,t.decode=(t,n)=>this.interface.decodeEventLog(e.eventFragment,t,n),t.args=e.args}catch(t){}}}class bu{constructor(t,e,n){Rt(this,"interface",Ut(new.target,"getInterface")(e)),null==n?(Rt(this,"provider",null),Rt(this,"signer",null)):qr.isSigner(n)?(Rt(this,"provider",n.provider||null),Rt(this,"signer",n)):Hr.isProvider(n)?(Rt(this,"provider",n),Rt(this,"signer",null)):su.throwArgumentError("invalid signer or provider","signerOrProvider",n),Rt(this,"callStatic",{}),Rt(this,"estimateGas",{}),Rt(this,"functions",{}),Rt(this,"populateTransaction",{}),Rt(this,"filters",{});{const t={};Object.keys(this.interface.events).forEach((e=>{const n=this.interface.events[e];Rt(this.filters,e,((...t)=>({address:this.address,topics:this.interface.encodeFilterTopics(n,t)}))),t[n.name]||(t[n.name]=[]),t[n.name].push(e)})),Object.keys(t).forEach((e=>{const n=t[e];1===n.length?Rt(this.filters,e,this.filters[n[0]]):su.warn(`Duplicate definition of ${e} (${n.join(", ")})`)}))}if(Rt(this,"_runningEvents",{}),Rt(this,"_wrappedEmits",{}),null==t&&su.throwArgumentError("invalid contract address or ENS name","addressOrName",t),Rt(this,"address",t),this.provider)Rt(this,"resolvedAddress",uu(this.provider,t));else try{Rt(this,"resolvedAddress",Promise.resolve(ln(t)))}catch(t){su.throwError("provider is required to use ENS name as contract address",V.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch((t=>{}));const r={},i={};Object.keys(this.interface.functions).forEach((t=>{const e=this.interface.functions[t];if(i[t])su.warn(`Duplicate ABI entry for ${JSON.stringify(t)}`);else{i[t]=!0;{const n=e.name;r[`%${n}`]||(r[`%${n}`]=[]),r[`%${n}`].push(t)}null==this[t]&&Rt(this,t,fu(this,e,!0)),null==this.functions[t]&&Rt(this.functions,t,fu(this,e,!1)),null==this.callStatic[t]&&Rt(this.callStatic,t,hu(this,e,!0)),null==this.populateTransaction[t]&&Rt(this.populateTransaction,t,function(t,e){return function(...n){return lu(t,e,n)}}(this,e)),null==this.estimateGas[t]&&Rt(this.estimateGas,t,function(t,e){const n=t.signer||t.provider;return function(...r){return au(this,void 0,void 0,(function*(){n||su.throwError("estimate require a provider or signer",V.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield lu(t,e,r);return yield n.estimateGas(i)}))}}(this,e))}})),Object.keys(r).forEach((t=>{const e=r[t];if(e.length>1)return;t=t.substring(1);const n=e[0];try{null==this[t]&&Rt(this,t,this[n])}catch(t){}null==this.functions[t]&&Rt(this.functions,t,this.functions[n]),null==this.callStatic[t]&&Rt(this.callStatic,t,this.callStatic[n]),null==this.populateTransaction[t]&&Rt(this.populateTransaction,t,this.populateTransaction[n]),null==this.estimateGas[t]&&Rt(this.estimateGas,t,this.estimateGas[n])}))}static getContractAddress(t){return hn(t)}static getInterface(t){return Qr.isInterface(t)?t:new Qr(t)}deployed(){return this._deployed()}_deployed(t){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((()=>this)):this._deployedPromise=this.provider.getCode(this.address,t).then((t=>("0x"===t&&su.throwError("contract not deployed",V.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this)))),this._deployedPromise}fallback(t){this.signer||su.throwError("sending a transactions require a signer",V.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const e=Wt(t||{});return["from","to"].forEach((function(t){null!=e[t]&&su.throwError("cannot override "+t,V.errors.UNSUPPORTED_OPERATION,{operation:t})})),e.to=this.resolvedAddress,this.deployed().then((()=>this.signer.sendTransaction(e)))}connect(t){"string"==typeof t&&(t=new Xr(t,this.provider));const e=new this.constructor(this.address,this.interface,t);return this.deployTransaction&&Rt(e,"deployTransaction",this.deployTransaction),e}attach(t){return new this.constructor(t,this.interface,this.signer||this.provider)}static isIndexed(t){return Br.isIndexed(t)}_normalizeRunningEvent(t){return this._runningEvents[t.tag]?this._runningEvents[t.tag]:t}_getRunningEvent(t){if("string"==typeof t){if("error"===t)return this._normalizeRunningEvent(new gu);if("event"===t)return this._normalizeRunningEvent(new mu("event",null));if("*"===t)return this._normalizeRunningEvent(new vu(this.address,this.interface));const e=this.interface.getEvent(t);return this._normalizeRunningEvent(new yu(this.address,this.interface,e))}if(t.topics&&t.topics.length>0){try{const e=t.topics[0];if("string"!=typeof e)throw new Error("invalid topic");const n=this.interface.getEvent(e);return this._normalizeRunningEvent(new yu(this.address,this.interface,n,t.topics))}catch(t){}const e={address:this.address,topics:t.topics};return this._normalizeRunningEvent(new mu(pu(e),e))}return this._normalizeRunningEvent(new vu(this.address,this.interface))}_checkRunningEvents(t){if(0===t.listenerCount()){delete this._runningEvents[t.tag];const e=this._wrappedEmits[t.tag];e&&t.filter&&(this.provider.off(t.filter,e),delete this._wrappedEmits[t.tag])}}_wrapEvent(t,e,n){const r=Gt(e);return r.removeListener=()=>{n&&(t.removeListener(n),this._checkRunningEvents(t))},r.getBlock=()=>this.provider.getBlock(e.blockHash),r.getTransaction=()=>this.provider.getTransaction(e.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(e.transactionHash),t.prepareEvent(r),r}_addEventListener(t,e,n){if(this.provider||su.throwError("events require a provider or a signer with a provider",V.errors.UNSUPPORTED_OPERATION,{operation:"once"}),t.addListener(e,n),this._runningEvents[t.tag]=t,!this._wrappedEmits[t.tag]){const n=n=>{let r=this._wrapEvent(t,n,e);if(null==r.decodeError)try{const e=t.getEmit(r);this.emit(t.filter,...e)}catch(t){r.decodeError=t.error}null!=t.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[t.tag]=n,null!=t.filter&&this.provider.on(t.filter,n)}}queryFilter(t,e,n){const r=this._getRunningEvent(t),i=Wt(r.filter);return"string"==typeof e&&it(e,32)?(null!=n&&su.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=e):(i.fromBlock=null!=e?e:0,i.toBlock=null!=n?n:"latest"),this.provider.getLogs(i).then((t=>t.map((t=>this._wrapEvent(r,t,null)))))}on(t,e){return this._addEventListener(this._getRunningEvent(t),e,!1),this}once(t,e){return this._addEventListener(this._getRunningEvent(t),e,!0),this}emit(t,...e){if(!this.provider)return!1;const n=this._getRunningEvent(t),r=n.run(e)>0;return this._checkRunningEvents(n),r}listenerCount(t){return this.provider?null==t?Object.keys(this._runningEvents).reduce(((t,e)=>t+this._runningEvents[e].listenerCount()),0):this._getRunningEvent(t).listenerCount():0}listeners(t){if(!this.provider)return[];if(null==t){const t=[];for(let e in this._runningEvents)this._runningEvents[e].listeners().forEach((e=>{t.push(e)}));return t}return this._getRunningEvent(t).listeners()}removeAllListeners(t){if(!this.provider)return this;if(null==t){for(const t in this._runningEvents){const e=this._runningEvents[t];e.removeAllListeners(),this._checkRunningEvents(e)}return this}const e=this._getRunningEvent(t);return e.removeAllListeners(),this._checkRunningEvents(e),this}off(t,e){if(!this.provider)return this;const n=this._getRunningEvent(t);return n.removeListener(e),this._checkRunningEvents(n),this}removeListener(t,e){return this.off(t,e)}}class wu extends bu{}class Mu{constructor(t){Rt(this,"alphabet",t),Rt(this,"base",t.length),Rt(this,"_alphabetMap",{}),Rt(this,"_leader",t.charAt(0));for(let e=0;e<t.length;e++)this._alphabetMap[t.charAt(e)]=e}encode(t){let e=et(t);if(0===e.length)return"";let n=[0];for(let t=0;t<e.length;++t){let r=e[t];for(let t=0;t<n.length;++t)r+=n[t]<<8,n[t]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let t=0;0===e[t]&&t<e.length-1;++t)r+=this._leader;for(let t=n.length-1;t>=0;--t)r+=this.alphabet[n[t]];return r}decode(t){if("string"!=typeof t)throw new TypeError("Expected String");let e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(let n=0;n<t.length;n++){let r=this._alphabetMap[t[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;for(let t=0;t<e.length;++t)i+=e[t]*this.base,e[t]=255&i,i>>=8;for(;i>0;)e.push(255&i),i>>=8}for(let n=0;t[n]===this._leader&&n<t.length-1;++n)e.push(0);return et(new Uint8Array(e.reverse()))}}new Mu("abcdefghijklmnopqrstuvwxyz234567");const ku=new Mu("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");function Lu(t){return"0x"+os.sha256().update(et(t)).digest("hex")}new V("sha2/5.7.0");const Au=new V("networks/5.7.1");function xu(t){const e=function(e,n){null==n&&(n={});const r=[];if(e.InfuraProvider&&"-"!==n.infura)try{r.push(new e.InfuraProvider(t,n.infura))}catch(t){}if(e.EtherscanProvider&&"-"!==n.etherscan)try{r.push(new e.EtherscanProvider(t,n.etherscan))}catch(t){}if(e.AlchemyProvider&&"-"!==n.alchemy)try{r.push(new e.AlchemyProvider(t,n.alchemy))}catch(t){}if(e.PocketProvider&&"-"!==n.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const o=new e.PocketProvider(t,n.pocket);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(t){}}if(e.CloudflareProvider&&"-"!==n.cloudflare)try{r.push(new e.CloudflareProvider(t))}catch(t){}if(e.AnkrProvider&&"-"!==n.ankr)try{const i=["ropsten"],o=new e.AnkrProvider(t,n.ankr);o.network&&-1===i.indexOf(o.network.name)&&r.push(o)}catch(t){}if(0===r.length)return null;if(e.FallbackProvider){let i=1;return null!=n.quorum?i=n.quorum:"homestead"===t&&(i=2),new e.FallbackProvider(r,i)}return r[0]};return e.renetwork=function(t){return xu(t)},e}function Eu(t,e){const n=function(n,r){return n.JsonRpcProvider?new n.JsonRpcProvider(t,e):null};return n.renetwork=function(e){return Eu(t,e)},n}const Nu={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:xu("homestead")},Su={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:xu("ropsten")},Iu={chainId:63,name:"classicMordor",_defaultProvider:Eu("https://www.ethercluster.com/mordor","classicMordor")},Tu={unspecified:{chainId:0,name:"unspecified"},homestead:Nu,mainnet:Nu,morden:{chainId:2,name:"morden"},ropsten:Su,testnet:Su,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:xu("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:xu("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:xu("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:xu("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:Eu("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Iu,classicTestnet:Iu,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Eu("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:xu("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:xu("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};var ju=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};function Cu(t,e){return ju(this,void 0,void 0,(function*(){null==e&&(e={});const n={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};if(!0!==e.skipFetchSetup&&(n.mode="cors",n.cache="no-cache",n.credentials="same-origin",n.redirect="follow",n.referrer="client"),null!=e.fetchOptions){const t=e.fetchOptions;t.mode&&(n.mode=t.mode),t.cache&&(n.cache=t.cache),t.credentials&&(n.credentials=t.credentials),t.redirect&&(n.redirect=t.redirect),t.referrer&&(n.referrer=t.referrer)}const r=yield fetch(t,n),i=yield r.arrayBuffer(),o={};return r.headers.forEach?r.headers.forEach(((t,e)=>{o[e.toLowerCase()]=t})):r.headers.keys().forEach((t=>{o[t.toLowerCase()]=r.headers.get(t)})),{headers:o,statusCode:r.status,statusMessage:r.statusText,body:et(new Uint8Array(i))}}))}var Du=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const Ou=new V("web/5.7.1");function _u(t){return new Promise((e=>{setTimeout(e,t)}))}function zu(t,e){if(null==t)return null;if("string"==typeof t)return t;if(K(t)){if(e&&("text"===e.split("/")[0]||"application/json"===e.split(";")[0].trim()))try{return _n(t)}catch(t){}return at(t)}return t}function Pu(t,e,n){let r=null;if(null!=e){r=On(e);const n="string"==typeof t?{url:t}:Wt(t);if(n.headers){0!==Object.keys(n.headers).filter((t=>"content-type"===t.toLowerCase())).length||(n.headers=Wt(n.headers),n.headers["content-type"]="application/json")}else n.headers={"content-type":"application/json"};t=n}return function(t,e,n){const r="object"==typeof t&&null!=t.throttleLimit?t.throttleLimit:12;Ou.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const i="object"==typeof t?t.throttleCallback:null,o="object"==typeof t&&"number"==typeof t.throttleSlotInterval?t.throttleSlotInterval:100;Ou.assertArgument(o>0&&o%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",o);const a="object"==typeof t&&!!t.errorPassThrough,s={};let u=null;const c={method:"GET"};let l=!1,h=12e4;if("string"==typeof t)u=t;else if("object"==typeof t){if(null!=t&&null!=t.url||Ou.throwArgumentError("missing URL","connection.url",t),u=t.url,"number"==typeof t.timeout&&t.timeout>0&&(h=t.timeout),t.headers)for(const e in t.headers)s[e.toLowerCase()]={key:e,value:String(t.headers[e])},["if-none-match","if-modified-since"].indexOf(e.toLowerCase())>=0&&(l=!0);if(c.allowGzip=!!t.allowGzip,null!=t.user&&null!=t.password){"https:"!==u.substring(0,6)&&!0!==t.allowInsecureAuthentication&&Ou.throwError("basic authentication requires a secure https url",V.errors.INVALID_ARGUMENT,{argument:"url",url:u,user:t.user,password:"[REDACTED]"});const e=t.user+":"+t.password;s.authorization={key:"Authorization",value:"Basic "+Hn(On(e))}}null!=t.skipFetchSetup&&(c.skipFetchSetup=!!t.skipFetchSetup),null!=t.fetchOptions&&(c.fetchOptions=Wt(t.fetchOptions))}const d=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),f=u?u.match(d):null;if(f)try{const t={statusCode:200,statusMessage:"OK",headers:{"content-type":f[1]||"text/plain"},body:f[2]?Yn(f[3]):(p=f[3],On(p.replace(/%([0-9a-f][0-9a-f])/gi,((t,e)=>String.fromCharCode(parseInt(e,16))))))};let e=t.body;return n&&(e=n(t.body,t)),Promise.resolve(e)}catch(t){Ou.throwError("processing response error",V.errors.SERVER_ERROR,{body:zu(f[1],f[2]),error:t,requestBody:null,requestMethod:"GET",url:u})}var p;e&&(c.method="POST",c.body=e,null==s["content-type"]&&(s["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==s["content-length"]&&(s["content-length"]={key:"Content-Length",value:String(e.length)}));const m={};Object.keys(s).forEach((t=>{const e=s[t];m[e.key]=e.value})),c.headers=m;const g=function(){let t=null;return{promise:new Promise((function(e,n){h&&(t=setTimeout((()=>{null!=t&&(t=null,n(Ou.makeError("timeout",V.errors.TIMEOUT,{requestBody:zu(c.body,m["content-type"]),requestMethod:c.method,timeout:h,url:u})))}),h))})),cancel:function(){null!=t&&(clearTimeout(t),t=null)}}}(),y=function(){return Du(this,void 0,void 0,(function*(){for(let t=0;t<r;t++){let e=null;try{if(e=yield Cu(u,c),t<r)if(301===e.statusCode||302===e.statusCode){const t=e.headers.location||"";if("GET"===c.method&&t.match(/^https:/)){u=e.headers.location;continue}}else if(429===e.statusCode){let n=!0;if(i&&(n=yield i(t,u)),n){let n=0;const r=e.headers["retry-after"];n="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):o*parseInt(String(Math.random()*Math.pow(2,t))),yield _u(n);continue}}}catch(t){e=t.response,null==e&&(g.cancel(),Ou.throwError("missing response",V.errors.SERVER_ERROR,{requestBody:zu(c.body,m["content-type"]),requestMethod:c.method,serverError:t,url:u}))}let s=e.body;if(l&&304===e.statusCode?s=null:!a&&(e.statusCode<200||e.statusCode>=300)&&(g.cancel(),Ou.throwError("bad response",V.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:zu(s,e.headers?e.headers["content-type"]:null),requestBody:zu(c.body,m["content-type"]),requestMethod:c.method,url:u})),n)try{const t=yield n(s,e);return g.cancel(),t}catch(n){if(n.throttleRetry&&t<r){let e=!0;if(i&&(e=yield i(t,u)),e){const e=o*parseInt(String(Math.random()*Math.pow(2,t)));yield _u(e);continue}}g.cancel(),Ou.throwError("processing response error",V.errors.SERVER_ERROR,{body:zu(s,e.headers?e.headers["content-type"]:null),error:n,requestBody:zu(c.body,m["content-type"]),requestMethod:c.method,url:u})}return g.cancel(),s}return Ou.throwError("failed response",V.errors.SERVER_ERROR,{requestBody:zu(c.body,m["content-type"]),requestMethod:c.method,url:u})}))}();return Promise.race([g.promise,y])}(t,r,((t,e)=>{let r=null;if(null!=t)try{r=JSON.parse(_n(t))}catch(e){Ou.throwError("invalid JSON",V.errors.SERVER_ERROR,{body:t,error:e})}return n&&(r=n(r,e)),r}))}function Bu(t,e){return e||(e={}),null==(e=Wt(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(n,r){let i=null,o=!1;const a=()=>!o&&(o=!0,i&&clearTimeout(i),!0);e.timeout&&(i=setTimeout((()=>{a()&&r(new Error("timeout"))}),e.timeout));const s=e.retryLimit;let u=0;!function i(){return t().then((function(t){if(void 0!==t)a()&&n(t);else if(e.oncePoll)e.oncePoll.once("poll",i);else if(e.onceBlock)e.onceBlock.once("block",i);else if(!o){if(u++,u>s)return void(a()&&r(new Error("retry limit reached")));let t=e.interval*parseInt(String(Math.random()*Math.pow(2,u)));t<e.floor&&(t=e.floor),t>e.ceiling&&(t=e.ceiling),setTimeout(i,t)}return null}),(function(t){a()&&r(t)}))}()}))}for(var Ru="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Uu={},Qu=0;Qu<32;Qu++){var Wu=Ru.charAt(Qu);if(void 0!==Uu[Wu])throw new TypeError(Wu+" is ambiguous");Uu[Wu]=Qu}function Fu(t){var e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function Yu(t){for(var e=1,n=0;n<t.length;++n){var r=t.charCodeAt(n);if(r<33||r>126)return"Invalid prefix ("+t+")";e=Fu(e)^r>>5}for(e=Fu(e),n=0;n<t.length;++n){var i=t.charCodeAt(n);e=Fu(e)^31&i}return e}function Hu(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var n=t.toLowerCase(),r=t.toUpperCase();if(t!==n&&t!==r)return"Mixed-case string "+t;var i=(t=n).lastIndexOf("1");if(-1===i)return"No separator character for "+t;if(0===i)return"Missing prefix for "+t;var o=t.slice(0,i),a=t.slice(i+1);if(a.length<6)return"Data too short";var s=Yu(o);if("string"==typeof s)return s;for(var u=[],c=0;c<a.length;++c){var l=a.charAt(c),h=Uu[l];if(void 0===h)return"Unknown character "+l;s=Fu(s)^h,c+6>=a.length||u.push(h)}return 1!==s?"Invalid checksum for "+t:{prefix:o,words:u}}function Gu(t,e,n,r){for(var i=0,o=0,a=(1<<n)-1,s=[],u=0;u<t.length;++u)for(i=i<<e|t[u],o+=e;o>=n;)o-=n,s.push(i>>o&a);if(r)o>0&&s.push(i<<n-o&a);else{if(o>=e)return"Excess padding";if(i<<n-o&a)return"Non-zero padding"}return s}var Zu={decodeUnsafe:function(){var t=Hu.apply(null,arguments);if("object"==typeof t)return t},decode:function(t){var e=Hu.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,e,n){if(n=n||90,t.length+7+e.length>n)throw new TypeError("Exceeds length limit");var r=Yu(t=t.toLowerCase());if("string"==typeof r)throw new Error(r);for(var i=t+"1",o=0;o<e.length;++o){var a=e[o];if(a>>5!=0)throw new Error("Non 5-bit word");r=Fu(r)^a,i+=Ru.charAt(a)}for(o=0;o<6;++o)r=Fu(r);for(r^=1,o=0;o<6;++o){i+=Ru.charAt(r>>5*(5-o)&31)}return i},toWordsUnsafe:function(t){var e=Gu(t,8,5,!0);if(Array.isArray(e))return e},toWords:function(t){var e=Gu(t,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(t){var e=Gu(t,5,8,!1);if(Array.isArray(e))return e},fromWords:function(t){var e=Gu(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}};const Vu="providers/5.7.2",Ju=new V(Vu);class qu{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const t={},e=this.address.bind(this),n=this.bigNumber.bind(this),r=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),a=this.hex.bind(this),s=this.number.bind(this),u=this.type.bind(this);return t.transaction={hash:o,type:u,accessList:qu.allowNull(this.accessList.bind(this),null),blockHash:qu.allowNull(o,null),blockNumber:qu.allowNull(s,null),transactionIndex:qu.allowNull(s,null),confirmations:qu.allowNull(s,null),from:e,gasPrice:qu.allowNull(n),maxPriorityFeePerGas:qu.allowNull(n),maxFeePerGas:qu.allowNull(n),gasLimit:n,to:qu.allowNull(e,null),value:n,nonce:s,data:i,r:qu.allowNull(this.uint256),s:qu.allowNull(this.uint256),v:qu.allowNull(s),creates:qu.allowNull(e,null),raw:qu.allowNull(i)},t.transactionRequest={from:qu.allowNull(e),nonce:qu.allowNull(s),gasLimit:qu.allowNull(n),gasPrice:qu.allowNull(n),maxPriorityFeePerGas:qu.allowNull(n),maxFeePerGas:qu.allowNull(n),to:qu.allowNull(e),value:qu.allowNull(n),data:qu.allowNull((t=>this.data(t,!0))),type:qu.allowNull(s),accessList:qu.allowNull(this.accessList.bind(this),null)},t.receiptLog={transactionIndex:s,blockNumber:s,transactionHash:o,address:e,topics:qu.arrayOf(o),data:i,logIndex:s,blockHash:o},t.receipt={to:qu.allowNull(this.address,null),from:qu.allowNull(this.address,null),contractAddress:qu.allowNull(e,null),transactionIndex:s,root:qu.allowNull(a),gasUsed:n,logsBloom:qu.allowNull(i),blockHash:o,transactionHash:o,logs:qu.arrayOf(this.receiptLog.bind(this)),blockNumber:s,confirmations:qu.allowNull(s,null),cumulativeGasUsed:n,effectiveGasPrice:qu.allowNull(n),status:qu.allowNull(s),type:u},t.block={hash:qu.allowNull(o),parentHash:o,number:s,timestamp:s,nonce:qu.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:qu.allowNull(e),extraData:i,transactions:qu.allowNull(qu.arrayOf(o)),baseFeePerGas:qu.allowNull(n)},t.blockWithTransactions=Wt(t.block),t.blockWithTransactions.transactions=qu.allowNull(qu.arrayOf(this.transactionResponse.bind(this))),t.filter={fromBlock:qu.allowNull(r,void 0),toBlock:qu.allowNull(r,void 0),blockHash:qu.allowNull(o,void 0),address:qu.allowNull(e,void 0),topics:qu.allowNull(this.topics.bind(this),void 0)},t.filterLog={blockNumber:qu.allowNull(s),blockHash:qu.allowNull(o),transactionIndex:s,removed:qu.allowNull(this.boolean.bind(this)),address:e,data:qu.allowFalsish(i,"0x"),topics:qu.arrayOf(o),transactionHash:o,logIndex:s},t}accessList(t){return tu(t||[])}number(t){return"0x"===t?0:bt.from(t).toNumber()}type(t){return"0x"===t||null==t?0:bt.from(t).toNumber()}bigNumber(t){return bt.from(t)}boolean(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)}hex(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),it(t))?t.toLowerCase():Ju.throwArgumentError("invalid hash","value",t)}data(t,e){const n=this.hex(t,e);if(n.length%2!=0)throw new Error("invalid data; odd-length - "+t);return n}address(t){return ln(t)}callAddress(t){if(!it(t,32))return null;const e=ln(ut(t,12));return"0x0000000000000000000000000000000000000000"===e?null:e}contractAddress(t){return hn(t)}blockTag(t){if(null==t)return"latest";if("earliest"===t)return"0x0";switch(t){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return t}if("number"==typeof t||it(t))return lt(t);throw new Error("invalid blockTag")}hash(t,e){const n=this.hex(t,e);return 32!==st(n)?Ju.throwArgumentError("invalid hash","value",t):n}difficulty(t){if(null==t)return null;const e=bt.from(t);try{return e.toNumber()}catch(t){}return null}uint256(t){if(!it(t))throw new Error("invalid uint256");return ht(t,32)}_block(t,e){null!=t.author&&null==t.miner&&(t.miner=t.author);const n=null!=t._difficulty?t._difficulty:t.difficulty,r=qu.check(e,t);return r._difficulty=null==n?null:bt.from(n),r}block(t){return this._block(t,this.formats.block)}blockWithTransactions(t){return this._block(t,this.formats.blockWithTransactions)}transactionRequest(t){return qu.check(this.formats.transactionRequest,t)}transactionResponse(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&bt.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t)),1!==t.type&&2!==t.type||null!=t.accessList||(t.accessList=[]);const e=qu.check(this.formats.transaction,t);if(null!=t.chainId){let n=t.chainId;it(n)&&(n=bt.from(n).toNumber()),e.chainId=n}else{let n=t.networkId;null==n&&null==e.v&&(n=t.chainId),it(n)&&(n=bt.from(n).toNumber()),"number"!=typeof n&&null!=e.v&&(n=(e.v-35)/2,n<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),e.chainId=n}return e.blockHash&&"x"===e.blockHash.replace(/0/g,"")&&(e.blockHash=null),e}transaction(t){return ou(t)}receiptLog(t){return qu.check(this.formats.receiptLog,t)}receipt(t){const e=qu.check(this.formats.receipt,t);if(null!=e.root)if(e.root.length<=4){const t=bt.from(e.root).toNumber();0===t||1===t?(null!=e.status&&e.status!==t&&Ju.throwArgumentError("alt-root-status/status mismatch","value",{root:e.root,status:e.status}),e.status=t,delete e.root):Ju.throwArgumentError("invalid alt-root-status","value.root",e.root)}else 66!==e.root.length&&Ju.throwArgumentError("invalid root hash","value.root",e.root);return null!=e.status&&(e.byzantium=!0),e}topics(t){return Array.isArray(t)?t.map((t=>this.topics(t))):null!=t?this.hash(t,!0):null}filter(t){return qu.check(this.formats.filter,t)}filterLog(t){return qu.check(this.formats.filterLog,t)}static check(t,e){const n={};for(const r in t)try{const i=t[r](e[r]);void 0!==i&&(n[r]=i)}catch(t){throw t.checkKey=r,t.checkValue=e[r],t}return n}static allowNull(t,e){return function(n){return null==n?e:t(n)}}static allowFalsish(t,e){return function(n){return n?t(n):e}}static arrayOf(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");const n=[];return e.forEach((function(e){n.push(t(e))})),n}}}var Xu=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const Ku=new V(Vu);function $u(t){return null==t?"null":(32!==st(t)&&Ku.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function tc(t){for(t=t.slice();t.length>0&&null==t[t.length-1];)t.pop();return t.map((t=>{if(Array.isArray(t)){const e={};t.forEach((t=>{e[$u(t)]=!0}));const n=Object.keys(e);return n.sort(),n.join("|")}return $u(t)})).join("&")}function ec(t){if("string"==typeof t){if(32===st(t=t.toLowerCase()))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+tc(t);if(Yr.isForkEvent(t))throw Ku.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+tc(t.topics||[])}throw new Error("invalid event - "+t)}function nc(){return(new Date).getTime()}function rc(t){return new Promise((e=>{setTimeout(e,t)}))}const ic=["block","network","pending","poll"];class oc{constructor(t,e,n){Rt(this,"tag",t),Rt(this,"listener",e),Rt(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const t=this.tag.split(":");return"tx"!==t[0]?null:t[1]}get filter(){const t=this.tag.split(":");if("filter"!==t[0])return null;const e=t[1],n=""===(r=t[2])?[]:r.split(/&/g).map((t=>{if(""===t)return[];const e=t.split("|").map((t=>"null"===t?null:t));return 1===e.length?e[0]:e}));var r;const i={};return n.length>0&&(i.topics=n),e&&"*"!==e&&(i.address=e),i}pollable(){return this.tag.indexOf(":")>=0||ic.indexOf(this.tag)>=0}}const ac={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function sc(t){return ht(bt.from(t).toHexString(),32)}function uc(t){return ku.encode(nt([t,ut(Lu(Lu(t)),0,4)]))}const cc=new RegExp("^(ipfs)://(.*)$","i"),lc=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),cc,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function hc(t,e){try{return _n(dc(t,e))}catch(t){}return null}function dc(t,e){if("0x"===t)return null;const n=bt.from(ut(t,e,e+32)).toNumber(),r=bt.from(ut(t,n,n+32)).toNumber();return ut(t,n+32,n+32+r)}function fc(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):Ku.throwArgumentError("unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}function pc(t){const e=et(t);if(e.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(e,32-e.length),n}function mc(t){if(t.length%32==0)return t;const e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}function gc(t){const e=[];let n=0;for(let r=0;r<t.length;r++)e.push(null),n+=32;for(let r=0;r<t.length;r++){const i=et(t[r]);e[r]=pc(n),e.push(pc(i.length)),e.push(mc(i)),n+=32+32*Math.ceil(i.length/32)}return ct(e)}class yc{constructor(t,e,n,r){Rt(this,"provider",t),Rt(this,"name",n),Rt(this,"address",t.formatter.address(e)),Rt(this,"_resolvedAddress",r)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then((t=>bt.from(t).eq(1))).catch((t=>{if(t.code===V.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,t}))),this._supportsEip2544}_fetch(t,e){return Xu(this,void 0,void 0,(function*(){const n={to:this.address,ccipReadEnabled:!0,data:ct([t,yr(this.name),e||"0x"])};let r=!1;var i;(yield this.supportsWildcard())&&(r=!0,n.data=ct(["0x9061b923",gc([(i=this.name,at(nt(gr(i).map((t=>{if(t.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const e=new Uint8Array(t.length+1);return e.set(t,1),e[0]=e.length-1,e}))))+"00"),n.data])]));try{let t=yield this.provider.call(n);return et(t).length%32==4&&Ku.throwError("resolver threw error",V.errors.CALL_EXCEPTION,{transaction:n,data:t}),r&&(t=dc(t,0)),t}catch(t){if(t.code===V.errors.CALL_EXCEPTION)return null;throw t}}))}_fetchBytes(t,e){return Xu(this,void 0,void 0,(function*(){const n=yield this._fetch(t,e);return null!=n?dc(n,0):null}))}_getAddress(t,e){const n=ac[String(t)];if(null==n&&Ku.throwError(`unsupported coin type: ${t}`,V.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${t})`}),"eth"===n.ilk)return this.provider.formatter.address(e);const r=et(e);if(null!=n.p2pkh){const t=e.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(t){const e=parseInt(t[1],16);if(t[2].length===2*e&&e>=1&&e<=75)return uc(nt([[n.p2pkh],"0x"+t[2]]))}}if(null!=n.p2sh){const t=e.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(t){const e=parseInt(t[1],16);if(t[2].length===2*e&&e>=1&&e<=75)return uc(nt([[n.p2sh],"0x"+t[2]]))}}if(null!=n.prefix){const t=r[1];let e=r[0];if(0===e?20!==t&&32!==t&&(e=-1):e=-1,e>=0&&r.length===2+t&&t>=1&&t<=75){const t=Zu.toWords(r.slice(2));return t.unshift(e),Zu.encode(n.prefix,t)}}return null}getAddress(t){return Xu(this,void 0,void 0,(function*(){if(null==t&&(t=60),60===t)try{const t=yield this._fetch("0x3b3b57de");return"0x"===t||"0x0000000000000000000000000000000000000000000000000000000000000000"===t?null:this.provider.formatter.callAddress(t)}catch(t){if(t.code===V.errors.CALL_EXCEPTION)return null;throw t}const e=yield this._fetchBytes("0xf1cb7e06",sc(t));if(null==e||"0x"===e)return null;const n=this._getAddress(t,e);return null==n&&Ku.throwError("invalid or unsupported coin data",V.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${t})`,coinType:t,data:e}),n}))}getAvatar(){return Xu(this,void 0,void 0,(function*(){const t=[{type:"name",content:this.name}];try{const e=yield this.getText("avatar");if(null==e)return null;for(let n=0;n<lc.length;n++){const r=e.match(lc[n]);if(null==r)continue;const i=r[1].toLowerCase();switch(i){case"https":return t.push({type:"url",content:e}),{linkage:t,url:e};case"data":return t.push({type:"data",content:e}),{linkage:t,url:e};case"ipfs":return t.push({type:"ipfs",content:e}),{linkage:t,url:fc(e)};case"erc721":case"erc1155":{const n="erc721"===i?"0xc87b56dd":"0x0e89341c";t.push({type:i,content:e});const o=this._resolvedAddress||(yield this.getAddress()),a=(r[2]||"").split("/");if(2!==a.length)return null;const s=yield this.provider.formatter.address(a[0]),u=ht(bt.from(a[1]).toHexString(),32);if("erc721"===i){const e=this.provider.formatter.callAddress(yield this.provider.call({to:s,data:ct(["0x6352211e",u])}));if(o!==e)return null;t.push({type:"owner",content:e})}else if("erc1155"===i){const e=bt.from(yield this.provider.call({to:s,data:ct(["0x00fdd58e",ht(o,32),u])}));if(e.isZero())return null;t.push({type:"balance",content:e.toString()})}const c={to:this.provider.formatter.address(a[0]),data:ct([n,u])};let l=hc(yield this.provider.call(c),0);if(null==l)return null;t.push({type:"metadata-url-base",content:l}),"erc1155"===i&&(l=l.replace("{id}",u.substring(2)),t.push({type:"metadata-url-expanded",content:l})),l.match(/^ipfs:/i)&&(l=fc(l)),t.push({type:"metadata-url",content:l});const h=yield Pu(l);if(!h)return null;t.push({type:"metadata",content:JSON.stringify(h)});let d=h.image;if("string"!=typeof d)return null;if(d.match(/^(https:\/\/|data:)/i));else{if(null==d.match(cc))return null;t.push({type:"url-ipfs",content:d}),d=fc(d)}return t.push({type:"url",content:d}),{linkage:t,url:d}}}}}catch(t){}return null}))}getContentHash(){return Xu(this,void 0,void 0,(function*(){const t=yield this._fetchBytes("0xbc1c58d1");if(null==t||"0x"===t)return null;const e=t.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const t=parseInt(e[3],16);if(e[4].length===2*t)return"ipfs://"+ku.encode("0x"+e[1])}const n=t.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const t=parseInt(n[3],16);if(n[4].length===2*t)return"ipns://"+ku.encode("0x"+n[1])}const r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return"bzz://"+r[1];const i=t.match(/^0x90b2c605([0-9a-f]*)$/);if(i&&68===i[1].length){const t={"=":"","+":"-","/":"_"};return"sia://"+Hn("0x"+i[1]).replace(/[=+\/]/g,(e=>t[e]))}return Ku.throwError("invalid or unsupported content hash data",V.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:t})}))}getText(t){return Xu(this,void 0,void 0,(function*(){let e=On(t);e=nt([sc(64),sc(e.length),e]),e.length%32!=0&&(e=nt([e,ht("0x",32-t.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",at(e));return null==n||"0x"===n?null:_n(n)}))}}let vc=null,bc=1;class wc extends Hr{constructor(t){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Rt(this,"anyNetwork","any"===t),this.anyNetwork&&(t=this.detectNetwork()),t instanceof Promise)this._networkPromise=t,t.catch((t=>{})),this._ready().catch((t=>{}));else{const e=Ut(new.target,"getNetwork")(t);e?(Rt(this,"_network",e),this.emit("network",e,null)):Ku.throwArgumentError("invalid network","network",t)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Xu(this,void 0,void 0,(function*(){if(null==this._network){let t=null;if(this._networkPromise)try{t=yield this._networkPromise}catch(t){}null==t&&(t=yield this.detectNetwork()),t||Ku.throwError("no network detected",V.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:Rt(this,"_network",t),this.emit("network",t,null))}return this._network}))}get ready(){return Bu((()=>this._ready().then((t=>t),(t=>{if(t.code!==V.errors.NETWORK_ERROR||"noNetwork"!==t.event)throw t}))))}static getFormatter(){return null==vc&&(vc=new qu),vc}static getNetwork(t){return function(t){if(null==t)return null;if("number"==typeof t){for(const e in Tu){const n=Tu[e];if(n.chainId===t)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._defaultProvider||null}}return{chainId:t,name:"unknown"}}if("string"==typeof t){const e=Tu[t];return null==e?null:{name:e.name,chainId:e.chainId,ensAddress:e.ensAddress,_defaultProvider:e._defaultProvider||null}}const e=Tu[t.name];if(!e)return"number"!=typeof t.chainId&&Au.throwArgumentError("invalid network chainId","network",t),t;0!==t.chainId&&t.chainId!==e.chainId&&Au.throwArgumentError("network chainId mismatch","network",t);let n=t._defaultProvider||null;var r;return null==n&&e._defaultProvider&&(n=(r=e._defaultProvider)&&"function"==typeof r.renetwork?e._defaultProvider.renetwork(t):e._defaultProvider),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:n}}(null==t?"homestead":t)}ccipReadFetch(t,e,n){return Xu(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===n.length)return null;const r=t.to.toLowerCase(),i=e.toLowerCase(),o=[];for(let t=0;t<n.length;t++){const e=n[t],a=e.replace("{sender}",r).replace("{data}",i),s=e.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:r}),u=yield Pu({url:a,errorPassThrough:!0},s,((t,e)=>(t.status=e.statusCode,t)));if(u.data)return u.data;const c=u.message||"unknown error";if(u.status>=400&&u.status<500)return Ku.throwError(`response not found during CCIP fetch: ${c}`,V.errors.SERVER_ERROR,{url:e,errorMessage:c});o.push(c)}return Ku.throwError(`error encountered during CCIP fetch: ${o.map((t=>JSON.stringify(t))).join(", ")}`,V.errors.SERVER_ERROR,{urls:n,errorMessages:o})}))}_getInternalBlockNumber(t){return Xu(this,void 0,void 0,(function*(){if(yield this._ready(),t>0)for(;this._internalBlockNumber;){const e=this._internalBlockNumber;try{const n=yield e;if(nc()-n.respTime<=t)return n.blockNumber;break}catch(t){if(this._internalBlockNumber===e)break}}const e=nc(),n=Qt({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((t=>null),(t=>t))}).then((({blockNumber:t,networkError:r})=>{if(r)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),r;const i=nc();return(t=bt.from(t).toNumber())<this._maxInternalBlockNumber&&(t=this._maxInternalBlockNumber),this._maxInternalBlockNumber=t,this._setFastBlockNumber(t),{blockNumber:t,reqTime:e,respTime:i}}));return this._internalBlockNumber=n,n.catch((t=>{this._internalBlockNumber===n&&(this._internalBlockNumber=null)})),(yield n).blockNumber}))}poll(){return Xu(this,void 0,void 0,(function*(){const t=bc++,e=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(t){return void this.emit("error",t)}if(this._setFastBlockNumber(n),this.emit("poll",t,n),n!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)Ku.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",Ku.makeError("network block skew detected",V.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let t=this._emitted.block+1;t<=n;t++)this.emit("block",t);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach((t=>{if("block"===t)return;const e=this._emitted[t];"pending"!==e&&n-e>12&&delete this._emitted[t]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=n-1),this._events.forEach((t=>{switch(t.type){case"tx":{const n=t.hash;let r=this.getTransactionReceipt(n).then((t=>t&&null!=t.blockNumber?(this._emitted["t:"+n]=t.blockNumber,this.emit(n,t),null):null)).catch((t=>{this.emit("error",t)}));e.push(r);break}case"filter":if(!t._inflight){t._inflight=!0,-2===t._lastBlockNumber&&(t._lastBlockNumber=n-1);const r=t.filter;r.fromBlock=t._lastBlockNumber+1,r.toBlock=n;const i=r.toBlock-this._maxFilterBlockRange;i>r.fromBlock&&(r.fromBlock=i),r.fromBlock<0&&(r.fromBlock=0);const o=this.getLogs(r).then((e=>{t._inflight=!1,0!==e.length&&e.forEach((e=>{e.blockNumber>t._lastBlockNumber&&(t._lastBlockNumber=e.blockNumber),this._emitted["b:"+e.blockHash]=e.blockNumber,this._emitted["t:"+e.transactionHash]=e.blockNumber,this.emit(r,e)}))})).catch((e=>{this.emit("error",e),t._inflight=!1}));e.push(o)}}})),this._lastBlockNumber=n,Promise.all(e).then((()=>{this.emit("didPoll",t)})).catch((t=>{this.emit("error",t)}))}else this.emit("didPoll",t)}))}resetEventsBlock(t){this._lastBlockNumber=t-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Xu(this,void 0,void 0,(function*(){return Ku.throwError("provider does not support network detection",V.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return Xu(this,void 0,void 0,(function*(){const t=yield this._ready(),e=yield this.detectNetwork();if(t.chainId!==e.chainId){if(this.anyNetwork)return this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,t),yield rc(0),this._network;const n=Ku.makeError("underlying network changed",V.errors.NETWORK_ERROR,{event:"changed",network:t,detectedNetwork:e});throw this.emit("error",n),n}return t}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then((t=>{this._setFastBlockNumber(t)}),(t=>{})),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(t){t&&!this._poller?(this._poller=setInterval((()=>{this.poll()}),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((()=>{this.poll(),this._bootstrapPoll=setTimeout((()=>{this._poller||this.poll(),this._bootstrapPoll=null}),this.pollingInterval)}),0))):!t&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(t){if("number"!=typeof t||t<=0||parseInt(String(t))!=t)throw new Error("invalid polling interval");this._pollingInterval=t,this._poller&&(clearInterval(this._poller),this._poller=setInterval((()=>{this.poll()}),this._pollingInterval))}_getFastBlockNumber(){const t=nc();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then((t=>((null==this._fastBlockNumber||t>this._fastBlockNumber)&&(this._fastBlockNumber=t),this._fastBlockNumber)))),this._fastBlockNumberPromise}_setFastBlockNumber(t){null!=this._fastBlockNumber&&t<this._fastBlockNumber||(this._fastQueryDate=nc(),(null==this._fastBlockNumber||t>this._fastBlockNumber)&&(this._fastBlockNumber=t,this._fastBlockNumberPromise=Promise.resolve(t)))}waitForTransaction(t,e,n){return Xu(this,void 0,void 0,(function*(){return this._waitForTransaction(t,null==e?1:e,n||0,null)}))}_waitForTransaction(t,e,n,r){return Xu(this,void 0,void 0,(function*(){const i=yield this.getTransactionReceipt(t);return(i?i.confirmations:0)>=e?i:new Promise(((i,o)=>{const a=[];let s=!1;const u=function(){return!!s||(s=!0,a.forEach((t=>{t()})),!1)},c=t=>{t.confirmations<e||u()||i(t)};if(this.on(t,c),a.push((()=>{this.removeListener(t,c)})),r){let n=r.startBlock,i=null;const c=a=>Xu(this,void 0,void 0,(function*(){s||(yield rc(1e3),this.getTransactionCount(r.from).then((l=>Xu(this,void 0,void 0,(function*(){if(!s){if(l<=r.nonce)n=a;else{{const e=yield this.getTransaction(t);if(e&&null!=e.blockNumber)return}for(null==i&&(i=n-3,i<r.startBlock&&(i=r.startBlock));i<=a;){if(s)return;const n=yield this.getBlockWithTransactions(i);for(let i=0;i<n.transactions.length;i++){const a=n.transactions[i];if(a.hash===t)return;if(a.from===r.from&&a.nonce===r.nonce){if(s)return;const n=yield this.waitForTransaction(a.hash,e);if(u())return;let i="replaced";return a.data===r.data&&a.to===r.to&&a.value.eq(r.value)?i="repriced":"0x"===a.data&&a.from===a.to&&a.value.isZero()&&(i="cancelled"),void o(Ku.makeError("transaction was replaced",V.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(a),hash:t,receipt:n}))}}i++}}s||this.once("block",c)}}))),(t=>{s||this.once("block",c)})))}));if(s)return;this.once("block",c),a.push((()=>{this.removeListener("block",c)}))}if("number"==typeof n&&n>0){const t=setTimeout((()=>{u()||o(Ku.makeError("timeout exceeded",V.errors.TIMEOUT,{timeout:n}))}),n);t.unref&&t.unref(),a.push((()=>{clearTimeout(t)}))}}))}))}getBlockNumber(){return Xu(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield this.perform("getGasPrice",{});try{return bt.from(t)}catch(e){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"getGasPrice",result:t,error:e})}}))}getBalance(t,e){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield Qt({address:this._getAddress(t),blockTag:this._getBlockTag(e)}),r=yield this.perform("getBalance",n);try{return bt.from(r)}catch(t){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"getBalance",params:n,result:r,error:t})}}))}getTransactionCount(t,e){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield Qt({address:this._getAddress(t),blockTag:this._getBlockTag(e)}),r=yield this.perform("getTransactionCount",n);try{return bt.from(r).toNumber()}catch(t){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:r,error:t})}}))}getCode(t,e){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield Qt({address:this._getAddress(t),blockTag:this._getBlockTag(e)}),r=yield this.perform("getCode",n);try{return at(r)}catch(t){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"getCode",params:n,result:r,error:t})}}))}getStorageAt(t,e,n){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield Qt({address:this._getAddress(t),blockTag:this._getBlockTag(n),position:Promise.resolve(e).then((t=>lt(t)))}),i=yield this.perform("getStorageAt",r);try{return at(i)}catch(t){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:i,error:t})}}))}_wrapTransaction(t,e,n){if(null!=e&&32!==st(e))throw new Error("invalid response - sendTransaction");const r=t;return null!=e&&t.hash!==e&&Ku.throwError("Transaction hash mismatch from Provider.sendTransaction.",V.errors.UNKNOWN_ERROR,{expectedHash:t.hash,returnedHash:e}),r.wait=(e,r)=>Xu(this,void 0,void 0,(function*(){let i;null==e&&(e=1),null==r&&(r=0),0!==e&&null!=n&&(i={data:t.data,from:t.from,nonce:t.nonce,to:t.to,value:t.value,startBlock:n});const o=yield this._waitForTransaction(t.hash,e,r,i);return null==o&&0===e?null:(this._emitted["t:"+t.hash]=o.blockNumber,0===o.status&&Ku.throwError("transaction failed",V.errors.CALL_EXCEPTION,{transactionHash:t.hash,transaction:t,receipt:o}),o)})),r}sendTransaction(t){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Promise.resolve(t).then((t=>at(t))),n=this.formatter.transaction(t);null==n.confirmations&&(n.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const t=yield this.perform("sendTransaction",{signedTransaction:e});return this._wrapTransaction(n,t,r)}catch(t){throw t.transaction=n,t.transactionHash=n.hash,t}}))}_getTransactionRequest(t){return Xu(this,void 0,void 0,(function*(){const e=yield t,n={};return["from","to"].forEach((t=>{null!=e[t]&&(n[t]=Promise.resolve(e[t]).then((t=>t?this._getAddress(t):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((t=>{null!=e[t]&&(n[t]=Promise.resolve(e[t]).then((t=>t?bt.from(t):null)))})),["type"].forEach((t=>{null!=e[t]&&(n[t]=Promise.resolve(e[t]).then((t=>null!=t?t:null)))})),e.accessList&&(n.accessList=this.formatter.accessList(e.accessList)),["data"].forEach((t=>{null!=e[t]&&(n[t]=Promise.resolve(e[t]).then((t=>t?at(t):null)))})),this.formatter.transactionRequest(yield Qt(n))}))}_getFilter(t){return Xu(this,void 0,void 0,(function*(){t=yield t;const e={};return null!=t.address&&(e.address=this._getAddress(t.address)),["blockHash","topics"].forEach((n=>{null!=t[n]&&(e[n]=t[n])})),["fromBlock","toBlock"].forEach((n=>{null!=t[n]&&(e[n]=this._getBlockTag(t[n]))})),this.formatter.filter(yield Qt(e))}))}_call(t,e,n){return Xu(this,void 0,void 0,(function*(){n>=10&&Ku.throwError("CCIP read exceeded maximum redirections",V.errors.SERVER_ERROR,{redirects:n,transaction:t});const r=t.to,i=yield this.perform("call",{transaction:t,blockTag:e});if(n>=0&&"latest"===e&&null!=r&&"0x556f1830"===i.substring(0,10)&&st(i)%32==4)try{const o=ut(i,4),a=ut(o,0,32);bt.from(a).eq(r)||Ku.throwError("CCIP Read sender did not match",V.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:t,data:i});const s=[],u=bt.from(ut(o,32,64)).toNumber(),c=bt.from(ut(o,u,u+32)).toNumber(),l=ut(o,u+32);for(let e=0;e<c;e++){const n=hc(l,32*e);null==n&&Ku.throwError("CCIP Read contained corrupt URL string",V.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:t,data:i}),s.push(n)}const h=dc(o,64);bt.from(ut(o,100,128)).isZero()||Ku.throwError("CCIP Read callback selector included junk",V.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:t,data:i});const d=ut(o,96,100),f=dc(o,128),p=yield this.ccipReadFetch(t,h,s);null==p&&Ku.throwError("CCIP Read disabled or provided no URLs",V.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:t,data:i});const m={to:r,data:ct([d,gc([p,f])])};return this._call(m,e,n+1)}catch(t){if(t.code===V.errors.SERVER_ERROR)throw t}try{return at(i)}catch(n){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"call",params:{transaction:t,blockTag:e},result:i,error:n})}}))}call(t,e){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield Qt({transaction:this._getTransactionRequest(t),blockTag:this._getBlockTag(e),ccipReadEnabled:Promise.resolve(t.ccipReadEnabled)});return this._call(n.transaction,n.blockTag,n.ccipReadEnabled?0:-1)}))}estimateGas(t){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Qt({transaction:this._getTransactionRequest(t)}),n=yield this.perform("estimateGas",e);try{return bt.from(n)}catch(t){return Ku.throwError("bad result from backend",V.errors.SERVER_ERROR,{method:"estimateGas",params:e,result:n,error:t})}}))}_getAddress(t){return Xu(this,void 0,void 0,(function*(){"string"!=typeof(t=yield t)&&Ku.throwArgumentError("invalid address or ENS name","name",t);const e=yield this.resolveName(t);return null==e&&Ku.throwError("ENS name not configured",V.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(t)})`}),e}))}_getBlock(t,e){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;let n=-128;const r={includeTransactions:!!e};if(it(t,32))r.blockHash=t;else try{r.blockTag=yield this._getBlockTag(t),it(r.blockTag)&&(n=parseInt(r.blockTag.substring(2),16))}catch(e){Ku.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",t)}return Bu((()=>Xu(this,void 0,void 0,(function*(){const t=yield this.perform("getBlock",r);if(null==t)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&n>this._emitted.block?null:void 0;if(e){let e=null;for(let n=0;n<t.transactions.length;n++){const r=t.transactions[n];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==e&&(e=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let t=e-r.blockNumber+1;t<=0&&(t=1),r.confirmations=t}}const n=this.formatter.blockWithTransactions(t);return n.transactions=n.transactions.map((t=>this._wrapTransaction(t))),n}return this.formatter.block(t)}))),{oncePoll:this})}))}getBlock(t){return this._getBlock(t,!1)}getBlockWithTransactions(t){return this._getBlock(t,!0)}getTransaction(t){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;const e={transactionHash:this.formatter.hash(t,!0)};return Bu((()=>Xu(this,void 0,void 0,(function*(){const n=yield this.perform("getTransaction",e);if(null==n)return null==this._emitted["t:"+t]?null:void 0;const r=this.formatter.transactionResponse(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;t<=0&&(t=1),r.confirmations=t}return this._wrapTransaction(r)}))),{oncePoll:this})}))}getTransactionReceipt(t){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;const e={transactionHash:this.formatter.hash(t,!0)};return Bu((()=>Xu(this,void 0,void 0,(function*(){const n=yield this.perform("getTransactionReceipt",e);if(null==n)return null==this._emitted["t:"+t]?null:void 0;if(null==n.blockHash)return;const r=this.formatter.receipt(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;t<=0&&(t=1),r.confirmations=t}return r}))),{oncePoll:this})}))}getLogs(t){return Xu(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Qt({filter:this._getFilter(t)}),n=yield this.perform("getLogs",e);return n.forEach((t=>{null==t.removed&&(t.removed=!1)})),qu.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)}))}getEtherPrice(){return Xu(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(t){return Xu(this,void 0,void 0,(function*(){if("number"==typeof(t=yield t)&&t<0){t%1&&Ku.throwArgumentError("invalid BlockTag","blockTag",t);let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return e+=t,e<0&&(e=0),this.formatter.blockTag(e)}return this.formatter.blockTag(t)}))}getResolver(t){return Xu(this,void 0,void 0,(function*(){let e=t;for(;;){if(""===e||"."===e)return null;if("eth"!==t&&"eth"===e)return null;const n=yield this._getResolver(e,"getResolver");if(null!=n){const r=new yc(this,n,t);return e===t||(yield r.supportsWildcard())?r:null}e=e.split(".").slice(1).join(".")}}))}_getResolver(t,e){return Xu(this,void 0,void 0,(function*(){null==e&&(e="ENS");const n=yield this.getNetwork();n.ensAddress||Ku.throwError("network does not support ENS",V.errors.UNSUPPORTED_OPERATION,{operation:e,network:n.name});try{const e=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+yr(t).substring(2)});return this.formatter.callAddress(e)}catch(t){}return null}))}resolveName(t){return Xu(this,void 0,void 0,(function*(){t=yield t;try{return Promise.resolve(this.formatter.address(t))}catch(e){if(it(t))throw e}"string"!=typeof t&&Ku.throwArgumentError("invalid ENS name","name",t);const e=yield this.getResolver(t);return e?yield e.getAddress():null}))}lookupAddress(t){return Xu(this,void 0,void 0,(function*(){t=yield t;const e=(t=this.formatter.address(t)).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(e,"lookupAddress");if(null==n)return null;const r=hc(yield this.call({to:n,data:"0x691f3431"+yr(e).substring(2)}),0);return(yield this.resolveName(r))!=t?null:r}))}getAvatar(t){return Xu(this,void 0,void 0,(function*(){let e=null;if(it(t)){const n=this.formatter.address(t).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(n,"getAvatar");if(!r)return null;e=new yc(this,r,n);try{const t=yield e.getAvatar();if(t)return t.url}catch(t){if(t.code!==V.errors.CALL_EXCEPTION)throw t}try{const t=hc(yield this.call({to:r,data:"0x691f3431"+yr(n).substring(2)}),0);e=yield this.getResolver(t)}catch(t){if(t.code!==V.errors.CALL_EXCEPTION)throw t;return null}}else if(e=yield this.getResolver(t),!e)return null;const n=yield e.getAvatar();return null==n?null:n.url}))}perform(t,e){return Ku.throwError(t+" not implemented",V.errors.NOT_IMPLEMENTED,{operation:t})}_startEvent(t){this.polling=this._events.filter((t=>t.pollable())).length>0}_stopEvent(t){this.polling=this._events.filter((t=>t.pollable())).length>0}_addEventListener(t,e,n){const r=new oc(ec(t),e,n);return this._events.push(r),this._startEvent(r),this}on(t,e){return this._addEventListener(t,e,!1)}once(t,e){return this._addEventListener(t,e,!0)}emit(t,...e){let n=!1,r=[],i=ec(t);return this._events=this._events.filter((t=>t.tag!==i||(setTimeout((()=>{t.listener.apply(this,e)}),0),n=!0,!t.once||(r.push(t),!1)))),r.forEach((t=>{this._stopEvent(t)})),n}listenerCount(t){if(!t)return this._events.length;let e=ec(t);return this._events.filter((t=>t.tag===e)).length}listeners(t){if(null==t)return this._events.map((t=>t.listener));let e=ec(t);return this._events.filter((t=>t.tag===e)).map((t=>t.listener))}off(t,e){if(null==e)return this.removeAllListeners(t);const n=[];let r=!1,i=ec(t);return this._events=this._events.filter((t=>t.tag!==i||t.listener!=e||(!!r||(r=!0,n.push(t),!1)))),n.forEach((t=>{this._stopEvent(t)})),this}removeAllListeners(t){let e=[];if(null==t)e=this._events,this._events=[];else{const n=ec(t);this._events=this._events.filter((t=>t.tag!==n||(e.push(t),!1)))}return e.forEach((t=>{this._stopEvent(t)})),this}}var Mc=function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))};const kc=new V(Vu),Lc=["call","estimateGas"];function Ac(t,e){if(null==t)return null;if("string"==typeof t.message&&t.message.match("reverted")){const n=it(t.data)?t.data:null;if(!e||n)return{message:t.message,data:n}}if("object"==typeof t){for(const n in t){const r=Ac(t[n],e);if(r)return r}return null}if("string"==typeof t)try{return Ac(JSON.parse(t),e)}catch(t){}return null}function xc(t,e,n){const r=n.transaction||n.signedTransaction;if("call"===t){const t=Ac(e,!0);if(t)return t.data;kc.throwError("missing revert data in call exception; Transaction reverted without a reason string",V.errors.CALL_EXCEPTION,{data:"0x",transaction:r,error:e})}if("estimateGas"===t){let n=Ac(e.body,!1);null==n&&(n=Ac(e,!1)),n&&kc.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",V.errors.UNPREDICTABLE_GAS_LIMIT,{reason:n.message,method:t,transaction:r,error:e})}let i=e.message;throw e.code===V.errors.SERVER_ERROR&&e.error&&"string"==typeof e.error.message?i=e.error.message:"string"==typeof e.body?i=e.body:"string"==typeof e.responseText&&(i=e.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&kc.throwError("insufficient funds for intrinsic transaction cost",V.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:r}),i.match(/nonce (is )?too low/i)&&kc.throwError("nonce has already been used",V.errors.NONCE_EXPIRED,{error:e,method:t,transaction:r}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&kc.throwError("replacement fee too low",V.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:r}),i.match(/only replay-protected/i)&&kc.throwError("legacy pre-eip-155 transactions not supported",V.errors.UNSUPPORTED_OPERATION,{error:e,method:t,transaction:r}),Lc.indexOf(t)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&kc.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",V.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:r}),e}function Ec(t){return new Promise((function(e){setTimeout(e,t)}))}function Nc(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function Sc(t){return t?t.toLowerCase():t}const Ic={};class Tc extends qr{constructor(t,e,n){if(super(),t!==Ic)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Rt(this,"provider",e),null==n&&(n=0),"string"==typeof n?(Rt(this,"_address",this.provider.formatter.address(n)),Rt(this,"_index",null)):"number"==typeof n?(Rt(this,"_index",n),Rt(this,"_address",null)):kc.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(t){return kc.throwError("cannot alter JSON-RPC Signer connection",V.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new jc(Ic,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((t=>(t.length<=this._index&&kc.throwError("unknown account #"+this._index,V.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(t[this._index]))))}sendUncheckedTransaction(t){t=Wt(t);const e=this.getAddress().then((t=>(t&&(t=t.toLowerCase()),t)));if(null==t.gasLimit){const n=Wt(t);n.from=e,t.gasLimit=this.provider.estimateGas(n)}return null!=t.to&&(t.to=Promise.resolve(t.to).then((t=>Mc(this,void 0,void 0,(function*(){if(null==t)return null;const e=yield this.provider.resolveName(t);return null==e&&kc.throwArgumentError("provided ENS name resolves to null","tx.to",t),e}))))),Qt({tx:Qt(t),sender:e}).then((({tx:e,sender:n})=>{null!=e.from?e.from.toLowerCase()!==n&&kc.throwArgumentError("from address mismatch","transaction",t):e.from=n;const r=this.provider.constructor.hexlifyTransaction(e,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then((t=>t),(t=>("string"==typeof t.message&&t.message.match(/user denied/i)&&kc.throwError("user rejected transaction",V.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:e}),xc("sendTransaction",t,r))))}))}signTransaction(t){return kc.throwError("signing transactions is unsupported",V.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(t){return Mc(this,void 0,void 0,(function*(){const e=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(t);try{return yield Bu((()=>Mc(this,void 0,void 0,(function*(){const t=yield this.provider.getTransaction(n);if(null!==t)return this.provider._wrapTransaction(t,n,e)}))),{oncePoll:this.provider})}catch(t){throw t.transactionHash=n,t}}))}signMessage(t){return Mc(this,void 0,void 0,(function*(){const e="string"==typeof t?On(t):t,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[at(e),n.toLowerCase()])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&kc.throwError("user rejected signing",V.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:t}),e}}))}_legacySignMessage(t){return Mc(this,void 0,void 0,(function*(){const e="string"==typeof t?On(t):t,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),at(e)])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&kc.throwError("user rejected signing",V.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:t}),e}}))}_signTypedData(t,e,n){return Mc(this,void 0,void 0,(function*(){const r=yield Dr.resolveNames(t,e,n,(t=>this.provider.resolveName(t))),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(Dr.getPayload(r.domain,e,r.value))])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&kc.throwError("user rejected signing",V.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:r.domain,types:e,value:r.value}}),t}}))}unlock(t){return Mc(this,void 0,void 0,(function*(){const e=this.provider,n=yield this.getAddress();return e.send("personal_unlockAccount",[n.toLowerCase(),t,null])}))}}class jc extends Tc{sendTransaction(t){return this.sendUncheckedTransaction(t).then((t=>({hash:t,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:e=>this.provider.waitForTransaction(t,e)})))}}const Cc={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class Dc extends wc{constructor(t,e){let n=e;null==n&&(n=new Promise(((t,e)=>{setTimeout((()=>{this.detectNetwork().then((e=>{t(e)}),(t=>{e(t)}))}),0)}))),super(n),t||(t=Ut(this.constructor,"defaultUrl")()),Rt(this,"connection","string"==typeof t?Object.freeze({url:t}):Object.freeze(Wt(t))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout((()=>{this._cache.detectNetwork=null}),0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return Mc(this,void 0,void 0,(function*(){yield Ec(0);let t=null;try{t=yield this.send("eth_chainId",[])}catch(e){try{t=yield this.send("net_version",[])}catch(t){}}if(null!=t){const e=Ut(this.constructor,"getNetwork");try{return e(bt.from(t).toNumber())}catch(e){return kc.throwError("could not detect network",V.errors.NETWORK_ERROR,{chainId:t,event:"invalidNetwork",serverError:e})}}return kc.throwError("could not detect network",V.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(t){return new Tc(Ic,this,t)}getUncheckedSigner(t){return this.getSigner(t).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then((t=>t.map((t=>this.formatter.address(t)))))}send(t,e){const n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:Gt(n),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(t)>=0;if(r&&this._cache[t])return this._cache[t];const i=Pu(this.connection,JSON.stringify(n),Nc).then((t=>(this.emit("debug",{action:"response",request:n,response:t,provider:this}),t)),(t=>{throw this.emit("debug",{action:"response",error:t,request:n,provider:this}),t}));return r&&(this._cache[t]=i,setTimeout((()=>{this._cache[t]=null}),0)),i}prepareRequest(t,e){switch(t){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Sc(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Sc(e.address),e.blockTag]];case"getCode":return["eth_getCode",[Sc(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Sc(e.address),ht(e.position,32),e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[Ut(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[Ut(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=Sc(e.filter.address)),["eth_getLogs",[e.filter]]}return null}perform(t,e){return Mc(this,void 0,void 0,(function*(){if("call"===t||"estimateGas"===t){const t=e.transaction;if(t&&null!=t.type&&bt.from(t.type).isZero()&&null==t.maxFeePerGas&&null==t.maxPriorityFeePerGas){const n=yield this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&((e=Wt(e)).transaction=Wt(t),delete e.transaction.type)}}const n=this.prepareRequest(t,e);null==n&&kc.throwError(t+" not implemented",V.errors.NOT_IMPLEMENTED,{operation:t});try{return yield this.send(n[0],n[1])}catch(n){return xc(t,n,e)}}))}_startEvent(t){"pending"===t.tag&&this._startPending(),super._startEvent(t)}_startPending(){if(null!=this._pendingFilter)return;const t=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(n){return function r(){t.send("eth_getFilterChanges",[n]).then((function(n){if(t._pendingFilter!=e)return null;let r=Promise.resolve();return n.forEach((function(e){t._emitted["t:"+e.toLowerCase()]="pending",r=r.then((function(){return t.getTransaction(e).then((function(e){return t.emit("pending",e),null}))}))})),r.then((function(){return Ec(1e3)}))})).then((function(){if(t._pendingFilter==e)return setTimeout((function(){r()}),0),null;t.send("eth_uninstallFilter",[n])})).catch((t=>{}))}(),n})).catch((t=>{}))}_stopEvent(t){"pending"===t.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(t)}static hexlifyTransaction(t,e){const n=Wt(Cc);if(e)for(const t in e)e[t]&&(n[t]=!0);var r,i;i=n,(r=t)&&"object"==typeof r||Bt.throwArgumentError("invalid object","object",r),Object.keys(r).forEach((t=>{i[t]||Bt.throwArgumentError("invalid object key - "+t,"transaction:"+t,r)}));const o={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(e){if(null==t[e])return;const n=lt(bt.from(t[e]));"gasLimit"===e&&(e="gas"),o[e]=n})),["from","to","data"].forEach((function(e){null!=t[e]&&(o[e]=at(t[e]))})),t.accessList&&(o.accessList=tu(t.accessList)),o}}const Oc=new V(Vu);let _c=1;function zc(t,e){const n="Web3LegacyFetcher";return function(t,r){const i={method:t,params:r,id:_c++,jsonrpc:"2.0"};return new Promise(((t,r)=>{this.emit("debug",{action:"request",fetcher:n,request:Gt(i),provider:this}),e(i,((e,o)=>{if(e)return this.emit("debug",{action:"response",fetcher:n,error:e,request:i,provider:this}),r(e);if(this.emit("debug",{action:"response",fetcher:n,request:i,response:o,provider:this}),o.error){const t=new Error(o.error.message);return t.code=o.error.code,t.data=o.error.data,r(t)}t(o.result)}))}))}}class Pc extends Dc{constructor(t,e){null==t&&Oc.throwArgumentError("missing provider","provider",t);let n=null,r=null,i=null;"function"==typeof t?(n="unknown:",r=t):(n=t.host||t.path||"",!n&&t.isMetaMask&&(n="metamask"),i=t,t.request?(""===n&&(n="eip-1193:"),r=function(t){return function(e,n){null==n&&(n=[]);const r={method:e,params:n};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:Gt(r),provider:this}),t.request(r).then((t=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,response:t,provider:this}),t)),(t=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,error:t,provider:this}),t}))}}(t)):t.sendAsync?r=zc(0,t.sendAsync.bind(t)):t.send?r=zc(0,t.send.bind(t)):Oc.throwArgumentError("unsupported provider","provider",t),n||(n="unknown:")),super(n,e),Rt(this,"jsonRpcFetchFunc",r),Rt(this,"provider",i)}send(t,e){return this.jsonRpcFetchFunc(t,e)}}const Bc=new V("units/5.7.0"),Rc=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Uc(t,e){if("string"==typeof e){const t=Rc.indexOf(e);-1!==t&&(e=3*t)}return jt(t,null!=e?e:18)}function Qc(t,e){if("string"!=typeof t&&Bc.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=Rc.indexOf(e);-1!==t&&(e=3*t)}return Ct(t,null!=e?e:18)}var Wc=void 0!==ke?ke:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};if(null==Wc.XMLHttpRequest&&(Wc.XMLHttpRequest=class{open(){}}),null==Wc.location&&(Wc.location={}),null==Wc.crypto&&(Wc.crypto={}),null==Wc.crypto.getRandomValues&&(Wc.crypto.getRandomValues=function(t){for(var e=t.length;e--;)t[e]=parseInt(Math.random().toString().replace("0.",""),10);return t}),null==Wc.crypto.randomBytes&&(Wc.crypto.randomBytes=function(t){let e=new Uint8Array(t);return Wc.crypto.getRandomValues(e),e}),null==Wc.fetch)throw"Please polyfill .fetch | See: https://github.com/DePayFi/solana-web3.js#polyfill-fetch";var Fc="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ke?ke:"undefined"!=typeof self?self:{};function Yc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Hc(t){var e=t.default;if("function"==typeof e){var n=function(){return e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach((function(e){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:function(){return t[e]}})})),n}var Gc=void 0!==ke?ke:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},Zc=[],Vc=[],Jc="undefined"!=typeof Uint8Array?Uint8Array:Array,qc=!1;function Xc(){qc=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0;e<64;++e)Zc[e]=t[e],Vc[t.charCodeAt(e)]=e;Vc["-".charCodeAt(0)]=62,Vc["_".charCodeAt(0)]=63}function Kc(t,e,n){for(var r,i,o=[],a=e;a<n;a+=3)r=(t[a]<<16)+(t[a+1]<<8)+t[a+2],o.push(Zc[(i=r)>>18&63]+Zc[i>>12&63]+Zc[i>>6&63]+Zc[63&i]);return o.join("")}function $c(t){var e;qc||Xc();for(var n=t.length,r=n%3,i="",o=[],a=16383,s=0,u=n-r;s<u;s+=a)o.push(Kc(t,s,s+a>u?u:s+a));return 1===r?(e=t[n-1],i+=Zc[e>>2],i+=Zc[e<<4&63],i+="=="):2===r&&(e=(t[n-2]<<8)+t[n-1],i+=Zc[e>>10],i+=Zc[e>>4&63],i+=Zc[e<<2&63],i+="="),o.push(i),o.join("")}function tl(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,h=n?i-1:0,d=n?-1:1,f=t[e+h];for(h+=d,o=f&(1<<-l)-1,f>>=-l,l+=s;l>0;o=256*o+t[e+h],h+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+t[e+h],h+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,r),o-=c}return(f?-1:1)*a*Math.pow(2,o-r)}function el(t,e,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,h=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:o-1,p=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?d/u:d*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+f]=255&s,f+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;t[n+f]=255&a,f+=p,a/=256,c-=8);t[n+f-p]|=128*m}var nl={}.toString,rl=Array.isArray||function(t){return"[object Array]"==nl.call(t)};sl.TYPED_ARRAY_SUPPORT=void 0===Gc.TYPED_ARRAY_SUPPORT||Gc.TYPED_ARRAY_SUPPORT;var il=ol();function ol(){return sl.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function al(t,e){if(ol()<e)throw new RangeError("Invalid typed array length");return sl.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=sl.prototype:(null===t&&(t=new sl(e)),t.length=e),t}function sl(t,e,n){if(!(sl.TYPED_ARRAY_SUPPORT||this instanceof sl))return new sl(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return ll(this,t)}return ul(this,t,e,n)}function ul(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r);sl.TYPED_ARRAY_SUPPORT?(t=e).__proto__=sl.prototype:t=hl(t,e);return t}(t,e,n,r):"string"==typeof e?function(t,e,n){"string"==typeof n&&""!==n||(n="utf8");if(!sl.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|pl(e,n);t=al(t,r);var i=t.write(e,n);i!==r&&(t=t.slice(0,i));return t}(t,e,n):function(t,e){if(fl(e)){var n=0|dl(e.length);return 0===(t=al(t,n)).length||e.copy(t,0,0,n),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?al(t,0):hl(t,e);if("Buffer"===e.type&&rl(e.data))return hl(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function cl(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function ll(t,e){if(cl(e),t=al(t,e<0?0:0|dl(e)),!sl.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function hl(t,e){var n=e.length<0?0:0|dl(e.length);t=al(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function dl(t){if(t>=ol())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ol().toString(16)+" bytes");return 0|t}function fl(t){return!(null==t||!t._isBuffer)}function pl(t,e){if(fl(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Ql(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Wl(t).length;default:if(r)return Ql(t).length;e=(""+e).toLowerCase(),r=!0}}function ml(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return Tl(this,e,n);case"utf8":case"utf-8":return El(this,e,n);case"ascii":return Sl(this,e,n);case"latin1":case"binary":return Il(this,e,n);case"base64":return xl(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return jl(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function gl(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function yl(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=sl.from(e,r)),fl(e))return 0===e.length?-1:vl(t,e,n,r,i);if("number"==typeof e)return e&=255,sl.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):vl(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function vl(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var l=-1;for(o=n;o<s;o++)if(c(t,o)===c(e,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===u)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){for(var h=!0,d=0;d<u;d++)if(c(t,o+d)!==c(e,d)){h=!1;break}if(h)return o}return-1}function bl(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(e.substr(2*a,2),16);if(isNaN(s))return a;t[n+a]=s}return a}function wl(t,e,n,r){return Fl(Ql(e,t.length-n),t,n,r)}function Ml(t,e,n,r){return Fl(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function kl(t,e,n,r){return Ml(t,e,n,r)}function Ll(t,e,n,r){return Fl(Wl(e),t,n,r)}function Al(t,e,n,r){return Fl(function(t,e){for(var n,r,i,o=[],a=0;a<t.length&&!((e-=2)<0);++a)r=(n=t.charCodeAt(a))>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function xl(t,e,n){return 0===e&&n===t.length?$c(t):$c(t.slice(e,n))}function El(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o,a,s,u,c=t[i],l=null,h=c>239?4:c>223?3:c>191?2:1;if(i+h<=n)switch(h){case 1:c<128&&(l=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=h}return function(t){var e=t.length;if(e<=Nl)return String.fromCharCode.apply(String,t);var n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=Nl));return n}(r)}sl.poolSize=8192,sl._augment=function(t){return t.__proto__=sl.prototype,t},sl.from=function(t,e,n){return ul(null,t,e,n)},sl.TYPED_ARRAY_SUPPORT&&(sl.prototype.__proto__=Uint8Array.prototype,sl.__proto__=Uint8Array),sl.alloc=function(t,e,n){return function(t,e,n,r){return cl(e),e<=0?al(t,e):void 0!==n?"string"==typeof r?al(t,e).fill(n,r):al(t,e).fill(n):al(t,e)}(null,t,e,n)},sl.allocUnsafe=function(t){return ll(null,t)},sl.allocUnsafeSlow=function(t){return ll(null,t)},sl.isBuffer=Yl,sl.compare=function(t,e){if(!fl(t)||!fl(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},sl.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},sl.concat=function(t,e){if(!rl(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return sl.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=sl.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var o=t[n];if(!fl(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},sl.byteLength=pl,sl.prototype._isBuffer=!0,sl.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)gl(this,e,e+1);return this},sl.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)gl(this,e,e+3),gl(this,e+1,e+2);return this},sl.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)gl(this,e,e+7),gl(this,e+1,e+6),gl(this,e+2,e+5),gl(this,e+3,e+4);return this},sl.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?El(this,0,t):ml.apply(this,arguments)},sl.prototype.equals=function(t){if(!fl(t))throw new TypeError("Argument must be a Buffer");return this===t||0===sl.compare(this,t)},sl.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},sl.prototype.compare=function(t,e,n,r,i){if(!fl(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),l=0;l<s;++l)if(u[l]!==c[l]){o=u[l],a=c[l];break}return o<a?-1:a<o?1:0},sl.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},sl.prototype.indexOf=function(t,e,n){return yl(this,t,e,n,!0)},sl.prototype.lastIndexOf=function(t,e,n){return yl(this,t,e,n,!1)},sl.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return bl(this,t,e,n);case"utf8":case"utf-8":return wl(this,t,e,n);case"ascii":return Ml(this,t,e,n);case"latin1":case"binary":return kl(this,t,e,n);case"base64":return Ll(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Al(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},sl.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Nl=4096;function Sl(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function Il(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function Tl(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=Ul(t[o]);return i}function jl(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function Cl(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function Dl(t,e,n,r,i,o){if(!fl(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function Ol(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function _l(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function zl(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Pl(t,e,n,r,i){return i||zl(t,0,n,4),el(t,e,n,r,23,4),n+4}function Bl(t,e,n,r,i){return i||zl(t,0,n,8),el(t,e,n,r,52,8),n+8}sl.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),sl.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=sl.prototype;else{var i=e-t;n=new sl(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},sl.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||Cl(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},sl.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||Cl(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},sl.prototype.readUInt8=function(t,e){return e||Cl(t,1,this.length),this[t]},sl.prototype.readUInt16LE=function(t,e){return e||Cl(t,2,this.length),this[t]|this[t+1]<<8},sl.prototype.readUInt16BE=function(t,e){return e||Cl(t,2,this.length),this[t]<<8|this[t+1]},sl.prototype.readUInt32LE=function(t,e){return e||Cl(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},sl.prototype.readUInt32BE=function(t,e){return e||Cl(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},sl.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||Cl(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},sl.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||Cl(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},sl.prototype.readInt8=function(t,e){return e||Cl(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},sl.prototype.readInt16LE=function(t,e){e||Cl(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},sl.prototype.readInt16BE=function(t,e){e||Cl(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},sl.prototype.readInt32LE=function(t,e){return e||Cl(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},sl.prototype.readInt32BE=function(t,e){return e||Cl(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},sl.prototype.readFloatLE=function(t,e){return e||Cl(t,4,this.length),tl(this,t,!0,23,4)},sl.prototype.readFloatBE=function(t,e){return e||Cl(t,4,this.length),tl(this,t,!1,23,4)},sl.prototype.readDoubleLE=function(t,e){return e||Cl(t,8,this.length),tl(this,t,!0,52,8)},sl.prototype.readDoubleBE=function(t,e){return e||Cl(t,8,this.length),tl(this,t,!1,52,8)},sl.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||Dl(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},sl.prototype.writeUIntBE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||Dl(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},sl.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,1,255,0),sl.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},sl.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,2,65535,0),sl.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):Ol(this,t,e,!0),e+2},sl.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,2,65535,0),sl.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):Ol(this,t,e,!1),e+2},sl.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,4,4294967295,0),sl.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):_l(this,t,e,!0),e+4},sl.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,4,4294967295,0),sl.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):_l(this,t,e,!1),e+4},sl.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);Dl(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o<n&&(a*=256);)t<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},sl.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);Dl(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},sl.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,1,127,-128),sl.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},sl.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,2,32767,-32768),sl.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):Ol(this,t,e,!0),e+2},sl.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,2,32767,-32768),sl.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):Ol(this,t,e,!1),e+2},sl.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,4,2147483647,-2147483648),sl.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):_l(this,t,e,!0),e+4},sl.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||Dl(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),sl.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):_l(this,t,e,!1),e+4},sl.prototype.writeFloatLE=function(t,e,n){return Pl(this,t,e,!0,n)},sl.prototype.writeFloatBE=function(t,e,n){return Pl(this,t,e,!1,n)},sl.prototype.writeDoubleLE=function(t,e,n){return Bl(this,t,e,!0,n)},sl.prototype.writeDoubleBE=function(t,e,n){return Bl(this,t,e,!1,n)},sl.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3||!sl.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},sl.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!sl.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var o;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var a=fl(t)?t:Ql(new sl(t,r).toString()),s=a.length;for(o=0;o<n-e;++o)this[o+e]=a[o%s]}return this};var Rl=/[^+\/0-9A-Za-z-_]/g;function Ul(t){return t<16?"0"+t.toString(16):t.toString(16)}function Ql(t,e){var n;e=e||1/0;for(var r=t.length,i=null,o=[],a=0;a<r;++a){if((n=t.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Wl(t){return function(t){var e,n,r,i,o,a;qc||Xc();var s=t.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[s-2]?2:"="===t[s-1]?1:0,a=new Jc(3*s/4-o),r=o>0?s-4:s;var u=0;for(e=0,n=0;e<r;e+=4,n+=3)i=Vc[t.charCodeAt(e)]<<18|Vc[t.charCodeAt(e+1)]<<12|Vc[t.charCodeAt(e+2)]<<6|Vc[t.charCodeAt(e+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=Vc[t.charCodeAt(e)]<<2|Vc[t.charCodeAt(e+1)]>>4,a[u++]=255&i):1===o&&(i=Vc[t.charCodeAt(e)]<<10|Vc[t.charCodeAt(e+1)]<<4|Vc[t.charCodeAt(e+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Rl,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Fl(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Yl(t){return null!=t&&(!!t._isBuffer||Hl(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&Hl(t.slice(0,0))}(t))}function Hl(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var Gl=Object.freeze({__proto__:null,Buffer:sl,INSPECT_MAX_BYTES:50,SlowBuffer:function(t){return+t!=t&&(t=0),sl.alloc(+t)},isBuffer:Yl,kMaxLength:il}),Zl=Hc(Gl);function Vl(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Jl(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Vl(Object(n),!0).forEach((function(e){rh(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Vl(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ql(){
3
3
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
4
4
  ql=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof h?e:h,o=Object.create(i.prototype),a=new L(r||[]);return o._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return x()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=w(a,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=c(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(t,n,a),o}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l={};function h(){}function d(){}function f(){}var p={};s(p,i,(function(){return this}));var m=Object.getPrototypeOf,g=m&&m(m(A([])));g&&g!==e&&n.call(g,i)&&(p=g);var y=f.prototype=h.prototype=Object.create(p);function v(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var u=c(t[i],t,o);if("throw"!==u.type){var l=u.arg,h=l.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(h).then((function(t){l.value=t,a(l)}),(function(t){return r("throw",t,a,s)}))}s(u.arg)}var i;this._invoke=function(t,n){function o(){return new e((function(e,i){r(t,n,e,i)}))}return i=i?i.then(o,o):o()}}function w(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=c(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,l;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function M(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(M,this),this.reset(!0)}function A(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:x}}function x(){return{value:void 0,done:!0}}return d.prototype=f,s(y,"constructor",f),s(f,"constructor",d),d.displayName=s(f,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,s(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},v(b.prototype),s(b.prototype,o,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new b(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},v(y),s(y,a,"Generator"),s(y,i,(function(){return this})),s(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=A,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:A(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},t}function Xl(t){return Xl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xl(t)}function Kl(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}function $l(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){Kl(o,r,i,a,s,"next",t)}function s(t){Kl(o,r,i,a,s,"throw",t)}a(void 0)}))}}function th(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function eh(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function nh(t,e,n){return e&&eh(t.prototype,e),n&&eh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function rh(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ih(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ah(t,e)}function oh(t){return oh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},oh(t)}function ah(t,e){return ah=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},ah(t,e)}function sh(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function uh(t,e,n){return uh=sh()?Reflect.construct.bind():function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&ah(i,n.prototype),i},uh.apply(null,arguments)}function ch(t){var e="function"==typeof Map?new Map:void 0;return ch=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return uh(t,arguments,oh(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ah(r,t)},ch(t)}function lh(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function hh(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function dh(t){var e=sh();return function(){var n,r=oh(t);if(e){var i=oh(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return hh(t)}(this,n)}}function fh(){return fh="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=oh(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},fh.apply(this,arguments)}function ph(t,e){return gh(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(o.push(r.value),!e||o.length!==e);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||vh(t,e)||wh()}function mh(t){return function(t){if(Array.isArray(t))return bh(t)}(t)||yh(t)||vh(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gh(t){if(Array.isArray(t))return t}function yh(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function vh(t,e){if(t){if("string"==typeof t)return bh(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bh(t,e):void 0}}function bh(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function wh(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Mh(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=vh(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}var kh={exports:{}};!function(t,e){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function r(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}function i(t,e,n){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(n=e,e=10),this._init(t||0,e||10,n||"be"))}var o;"object"===Xl(t)?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Zl.Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function s(t,e,n){var r=a(t,n);return n-1>=e&&(r|=a(t,n-1)<<4),r}function u(t,e,r,i){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u<s;u++){var c=t.charCodeAt(u)-48;o*=i,a=c>=49?c-49+10:c>=17?c-17+10:c,n(c>=0&&a<i,"Invalid character"),o+=a}return o}function c(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(i.isBN=function(t){return t instanceof i||null!==t&&"object"===Xl(t)&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"===Xl(t))return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,n){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,a=0;if("be"===n)for(r=t.length-1;r>=e;r-=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(r=(t.length-e)%2==0?e+1:e;r<t.length;r+=2)i=s(t,e,r)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=e)r++;r--,i=i/e|0;for(var o=t.length-n,a=o%r,s=Math.min(o,o-a)+n,c=0,l=n;l<s;l+=r)c=u(t,l,l+r,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==a){var h=1;for(c=u(t,l,t.length,e),l=0;l<a;l++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype._move=function(t){c(t,this)},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){i.prototype.inspect=l}else i.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,n){n.negative=e.negative^t.negative;var r=t.length+e.length|0;n.length=r,r=r-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c<r;c++){for(var l=u>>>26,h=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;l+=(a=(i=0|t.words[p])*(o=0|e.words[f])+h)/67108864|0,h=67108863&a}n.words[c]=0|h,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],u=(16777215&(s<<i|o)).toString(16);r=0!=(o=s>>>24-i&16777215)||a!==this.length-1?h[6-u.length]+u+r:u+r,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=d[t],l=f[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(l).toString(t);r=(p=p.idivn(l)).isZero()?m+r:h[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n++]=255&a,n<t.length&&(t[n++]=a>>8&255),n<t.length&&(t[n++]=a>>16&255),6===o?(n<t.length&&(t[n++]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n<t.length)for(t[n++]=r;n<t.length;)t[n++]=0},i.prototype._toArrayLikeBE=function(t,e){for(var n=t.length-1,r=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|r;t[n--]=255&a,n>=0&&(t[n--]=a>>8&255),n>=0&&(t[n--]=a>>16&255),6===o?(n>=0&&(t[n--]=a>>24&255),r=0,o=0):(r=a>>>24,o+=2)}if(n>=0)for(t[n--]=r;n>=0;)t[n--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,n=0;return e>=4096&&(n+=13,e>>>=13),e>=64&&(n+=7,e>>>=7),e>=8&&(n+=4,e>>>=4),e>=2&&(n+=2,e>>>=2),n+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,n=0;return 0==(8191&e)&&(n+=13,e>>>=13),0==(127&e)&&(n+=7,e>>>=7),0==(15&e)&&(n+=4,e>>>=4),0==(3&e)&&(n+=2,e>>>=2),0==(1&e)&&n++,n},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var n=this._zeroBits(this.words[e]);if(t+=n,26!==n)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var n=0;n<e.length;n++)this.words[n]=this.words[n]&t.words[n];return this.length=e.length,this._strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,n;this.length>t.length?(e=this,n=t):(e=t,n=this);for(var r=0;r<n.length;r++)this.words[r]=e.words[r]^n.words[r];if(this!==e)for(;r<e.length;r++)this.words[r]=e.words[r];return this.length=e.length,this._strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(t){var e,n,r;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(n=this,r=t):(n=t,r=this);for(var i=0,o=0;o<r.length;o++)e=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<n.length;o++)e=(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var n,r,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=t):(n=t,r=this);for(var o=0,a=0;a<r.length;a++)o=(e=(0|n.words[a])-(0|r.words[a])+o)>>26,this.words[a]=67108863&e;for(;0!==o&&a<n.length;a++)o=(e=(0|n.words[a])+o)>>26,this.words[a]=67108863&e;if(0===o&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,n){var r,i,o,a=t.words,s=e.words,u=n.words,c=0,l=0|a[0],h=8191&l,d=l>>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],y=8191&g,v=g>>>13,b=0|a[3],w=8191&b,M=b>>>13,k=0|a[4],L=8191&k,A=k>>>13,x=0|a[5],E=8191&x,N=x>>>13,S=0|a[6],I=8191&S,T=S>>>13,j=0|a[7],C=8191&j,D=j>>>13,O=0|a[8],_=8191&O,z=O>>>13,P=0|a[9],B=8191&P,R=P>>>13,U=0|s[0],Q=8191&U,W=U>>>13,F=0|s[1],Y=8191&F,H=F>>>13,G=0|s[2],Z=8191&G,V=G>>>13,J=0|s[3],q=8191&J,X=J>>>13,K=0|s[4],$=8191&K,tt=K>>>13,et=0|s[5],nt=8191&et,rt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ct=st>>>13,lt=0|s[8],ht=8191&lt,dt=lt>>>13,ft=0|s[9],pt=8191&ft,mt=ft>>>13;n.negative=t.negative^e.negative,n.length=19;var gt=(c+(r=Math.imul(h,Q))|0)+((8191&(i=(i=Math.imul(h,W))+Math.imul(d,Q)|0))<<13)|0;c=((o=Math.imul(d,W))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,r=Math.imul(p,Q),i=(i=Math.imul(p,W))+Math.imul(m,Q)|0,o=Math.imul(m,W);var yt=(c+(r=r+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,H)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,H)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,r=Math.imul(y,Q),i=(i=Math.imul(y,W))+Math.imul(v,Q)|0,o=Math.imul(v,W),r=r+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,H)|0;var vt=(c+(r=r+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,V)|0)+Math.imul(d,Z)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,r=Math.imul(w,Q),i=(i=Math.imul(w,W))+Math.imul(M,Q)|0,o=Math.imul(M,W),r=r+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,H)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,H)|0,r=r+Math.imul(p,Z)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,V)|0;var bt=(c+(r=r+Math.imul(h,q)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,q)|0))<<13)|0;c=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,r=Math.imul(L,Q),i=(i=Math.imul(L,W))+Math.imul(A,Q)|0,o=Math.imul(A,W),r=r+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,H)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,H)|0,r=r+Math.imul(y,Z)|0,i=(i=i+Math.imul(y,V)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,V)|0,r=r+Math.imul(p,q)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,X)|0;var wt=(c+(r=r+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,r=Math.imul(E,Q),i=(i=Math.imul(E,W))+Math.imul(N,Q)|0,o=Math.imul(N,W),r=r+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,H)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,H)|0,r=r+Math.imul(w,Z)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(y,q)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(v,q)|0,o=o+Math.imul(v,X)|0,r=r+Math.imul(p,$)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,tt)|0;var Mt=(c+(r=r+Math.imul(h,nt)|0)|0)+((8191&(i=(i=i+Math.imul(h,rt)|0)+Math.imul(d,nt)|0))<<13)|0;c=((o=o+Math.imul(d,rt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,r=Math.imul(I,Q),i=(i=Math.imul(I,W))+Math.imul(T,Q)|0,o=Math.imul(T,W),r=r+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,H)|0,r=r+Math.imul(L,Z)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(A,Z)|0,o=o+Math.imul(A,V)|0,r=r+Math.imul(w,q)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(M,q)|0,o=o+Math.imul(M,X)|0,r=r+Math.imul(y,$)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,tt)|0,r=r+Math.imul(p,nt)|0,i=(i=i+Math.imul(p,rt)|0)+Math.imul(m,nt)|0,o=o+Math.imul(m,rt)|0;var kt=(c+(r=r+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,r=Math.imul(C,Q),i=(i=Math.imul(C,W))+Math.imul(D,Q)|0,o=Math.imul(D,W),r=r+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,H)|0,r=r+Math.imul(E,Z)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(N,Z)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(L,q)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,X)|0,r=r+Math.imul(w,$)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,tt)|0,r=r+Math.imul(y,nt)|0,i=(i=i+Math.imul(y,rt)|0)+Math.imul(v,nt)|0,o=o+Math.imul(v,rt)|0,r=r+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Lt=(c+(r=r+Math.imul(h,ut)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,r=Math.imul(_,Q),i=(i=Math.imul(_,W))+Math.imul(z,Q)|0,o=Math.imul(z,W),r=r+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,H)|0)+Math.imul(D,Y)|0,o=o+Math.imul(D,H)|0,r=r+Math.imul(I,Z)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(T,Z)|0,o=o+Math.imul(T,V)|0,r=r+Math.imul(E,q)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(N,q)|0,o=o+Math.imul(N,X)|0,r=r+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,tt)|0,r=r+Math.imul(w,nt)|0,i=(i=i+Math.imul(w,rt)|0)+Math.imul(M,nt)|0,o=o+Math.imul(M,rt)|0,r=r+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,r=r+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(r=r+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,r=Math.imul(B,Q),i=(i=Math.imul(B,W))+Math.imul(R,Q)|0,o=Math.imul(R,W),r=r+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(z,Y)|0,o=o+Math.imul(z,H)|0,r=r+Math.imul(C,Z)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(D,Z)|0,o=o+Math.imul(D,V)|0,r=r+Math.imul(I,q)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(T,q)|0,o=o+Math.imul(T,X)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(N,$)|0,o=o+Math.imul(N,tt)|0,r=r+Math.imul(L,nt)|0,i=(i=i+Math.imul(L,rt)|0)+Math.imul(A,nt)|0,o=o+Math.imul(A,rt)|0,r=r+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,at)|0,r=r+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,r=r+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var xt=(c+(r=r+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,r=Math.imul(B,Y),i=(i=Math.imul(B,H))+Math.imul(R,Y)|0,o=Math.imul(R,H),r=r+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,V)|0)+Math.imul(z,Z)|0,o=o+Math.imul(z,V)|0,r=r+Math.imul(C,q)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(D,q)|0,o=o+Math.imul(D,X)|0,r=r+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,tt)|0,r=r+Math.imul(E,nt)|0,i=(i=i+Math.imul(E,rt)|0)+Math.imul(N,nt)|0,o=o+Math.imul(N,rt)|0,r=r+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,r=r+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(M,ut)|0,o=o+Math.imul(M,ct)|0,r=r+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,dt)|0;var Et=(c+(r=r+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,r=Math.imul(B,Z),i=(i=Math.imul(B,V))+Math.imul(R,Z)|0,o=Math.imul(R,V),r=r+Math.imul(_,q)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(z,q)|0,o=o+Math.imul(z,X)|0,r=r+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,tt)|0,r=r+Math.imul(I,nt)|0,i=(i=i+Math.imul(I,rt)|0)+Math.imul(T,nt)|0,o=o+Math.imul(T,rt)|0,r=r+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,at)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,at)|0,r=r+Math.imul(L,ut)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,r=r+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,dt)|0;var Nt=(c+(r=r+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,r=Math.imul(B,q),i=(i=Math.imul(B,X))+Math.imul(R,q)|0,o=Math.imul(R,X),r=r+Math.imul(_,$)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(z,$)|0,o=o+Math.imul(z,tt)|0,r=r+Math.imul(C,nt)|0,i=(i=i+Math.imul(C,rt)|0)+Math.imul(D,nt)|0,o=o+Math.imul(D,rt)|0,r=r+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,r=r+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(N,ut)|0,o=o+Math.imul(N,ct)|0,r=r+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var St=(c+(r=r+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;c=((o=o+Math.imul(M,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,r=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(R,$)|0,o=Math.imul(R,tt),r=r+Math.imul(_,nt)|0,i=(i=i+Math.imul(_,rt)|0)+Math.imul(z,nt)|0,o=o+Math.imul(z,rt)|0,r=r+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,r=r+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(T,ut)|0,o=o+Math.imul(T,ct)|0,r=r+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,dt)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,dt)|0;var It=(c+(r=r+Math.imul(L,pt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,r=Math.imul(B,nt),i=(i=Math.imul(B,rt))+Math.imul(R,nt)|0,o=Math.imul(R,rt),r=r+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,at)|0)+Math.imul(z,ot)|0,o=o+Math.imul(z,at)|0,r=r+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(D,ut)|0,o=o+Math.imul(D,ct)|0,r=r+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Tt=(c+(r=r+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(N,pt)|0))<<13)|0;c=((o=o+Math.imul(N,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,r=Math.imul(B,ot),i=(i=Math.imul(B,at))+Math.imul(R,ot)|0,o=Math.imul(R,at),r=r+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(z,ut)|0,o=o+Math.imul(z,ct)|0,r=r+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(D,ht)|0,o=o+Math.imul(D,dt)|0;var jt=(c+(r=r+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(T,pt)|0))<<13)|0;c=((o=o+Math.imul(T,mt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,r=Math.imul(B,ut),i=(i=Math.imul(B,ct))+Math.imul(R,ut)|0,o=Math.imul(R,ct),r=r+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(z,ht)|0,o=o+Math.imul(z,dt)|0;var Ct=(c+(r=r+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,r=Math.imul(B,ht),i=(i=Math.imul(B,dt))+Math.imul(R,ht)|0,o=Math.imul(R,dt);var Dt=(c+(r=r+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(z,pt)|0))<<13)|0;c=((o=o+Math.imul(z,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(r=Math.imul(B,pt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(R,pt)|0))<<13)|0;return c=((o=Math.imul(R,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=vt,u[3]=bt,u[4]=wt,u[5]=Mt,u[6]=kt,u[7]=Lt,u[8]=At,u[9]=xt,u[10]=Et,u[11]=Nt,u[12]=St,u[13]=It,u[14]=Tt,u[15]=jt,u[16]=Ct,u[17]=Dt,u[18]=Ot,0!==c&&(u[19]=c,n.length++),n};function g(t,e,n){n.negative=e.negative^t.negative,n.length=t.length+e.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var a=i;i=0;for(var s=67108863&r,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var l=o-c,h=(0|t.words[l])*(0|e.words[c]),d=67108863&h;s=67108863&(d=d+s|0),i+=(a=(a=a+(h/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}n.words[o]=s,r=a,a=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function y(t,e,n){return g(t,e,n)}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var n=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):n<63?p(this,t,e):n<1024?g(this,t,e):y(this,t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),y(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),n=0;n<e.length;n++){var r=n/26|0,i=n%26;e[n]=t.words[r]>>>i&1}return e}(t);if(0===e.length)return new i(1);for(var n=this,r=0;r<e.length&&0===e[r];r++,n=n.sqr());if(++r<e.length)for(var o=n.sqr();r<e.length;r++,o=o.sqr())0!==e[r]&&(n=n.mul(o));return n},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e<this.length;e++){var s=this.words[e]&o,u=(0|this.words[e])-s<<r;this.words[e]=u|a,a=s>>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var c=0;c<a;c++)u.words[c]=this.words[c];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var l=0;for(c=this.length-1;c>=0&&(0!==l||c>=i);c--){var h=0|this.words[c];this.words[c]=l<<26-o|h>>>o,l=h&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var i,o,a=t.length+r;this._expand(a);var s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var u=(0|t.words[i])*e;s=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var n=(this.length,t.length),r=this.clone(),o=t,a=0|o.words[o.length-1];0!=(n=26-this._countBits(a))&&(o=o.ushln(n),r.iushln(n),a=0|o.words[o.length-1]);var s,u=r.length-o.length;if("mod"!==e){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var l=r.clone()._ishlnsubmul(o,1,u);0===l.negative&&(r=l,s&&(s.words[u]=1));for(var h=u-1;h>=0;h--){var d=67108864*(0|r.words[o.length+h])+(0|r.words[o.length+h-1]);for(d=Math.min(d/a|0,67108863),r._ishlnsubmul(o,d,h);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(o,1,h),r.isZero()||(r.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),r._strip(),"div"!==e&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var n=0!==e.div.negative?e.mod.isub(t):e.mod,r=t.ushrn(1),i=t.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var l=r.clone(),h=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(l),a.isub(h)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(h)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s),a.isub(u)):(r.isub(e),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;0==(e.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(e.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),n=t.clone();e.negative=0,n.negative=0;for(var r=0;e.isEven()&&n.isEven();r++)e.iushrn(1),n.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=e.cmp(n);if(i<0){var o=e;e=n,n=o}else if(0===i||0===n.cmpn(1))break;e.isub(n)}return n.iushln(r)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|t.words[n];if(r!==i){r<i?e=-1:r>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new A(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function L(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function x(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,n=t;do{this.split(n,this.tmp),e=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(e>this.n);var r=e<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},r(w,b),w.prototype.split=function(t,e){for(var n=4194303,r=Math.min(t.length,9),i=0;i<r;i++)e.words[i]=t.words[i];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&n,i=10;i<t.length;i++){var a=0|t.words[i];t.words[i-10]=(a&n)<<4|o>>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,n=0;n<t.length;n++){var r=0|t.words[n];e+=977*r,t.words[n]=67108863&e,e=64*r+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},r(M,b),r(k,b),r(L,b),L.prototype.imulK=function(t){for(var e=0,n=0;n<t.length;n++){var r=19*(0|t.words[n])+e,i=67108863&r;r>>>=26,t.words[n]=i,e=r}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new L}return v[t]=e,e},A.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(c(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var n=t.add(e);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var n=t.iadd(e);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(t,e){this._verify2(t,e);var n=t.sub(e);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var n=t.isub(e);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);n(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var h=this.pow(l,o),d=this.pow(t,o.addn(1).iushrn(1)),f=this.pow(t,o),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g<p);var y=this.pow(h,new i(1).iushln(p-g-1));d=d.redMul(y),h=y.redSqr(),f=f.redMul(h),p=g}return d},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=t;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],t);var o=n[0],a=0,s=0,u=e.bitLength()%26;for(0===u&&(u=26),r=e.length-1;r>=0;r--){for(var c=e.words[r],l=u-1;l>=0;l--){var h=c>>l&1;o!==n[0]&&(o=this.sqr(o)),0!==h||0!==a?(a<<=1,a|=h,(4==++s||0===r&&0===l)&&(o=this.mul(o,n[a]),s=0,a=0)):s=0}u=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new x(t)},r(x,A),x.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},x.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},x.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var n=t.imul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},x.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var n=t.mul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=n.isub(r).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},x.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(kh,Fc);var Lh=kh.exports;function Ah(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("Wrong positive integer: ".concat(t))}function xh(t){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];if(n.length>0&&!n.includes(t.length))throw new TypeError("Expected Uint8Array of length ".concat(n,", not of length=").concat(t.length))}var Eh={number:Ah,bool:function(t){if("boolean"!=typeof t)throw new Error("Expected boolean, not ".concat(t))},bytes:xh,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Ah(t.outputLen),Ah(t.blockLen)},exists:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){xh(t);var n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least ".concat(n))}},Nh=Eh,Sh=function(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)},Ih=function(t,e){return t<<32-e|t>>>e};if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function Th(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got ".concat(Xl(t)));return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError("Expected input type is Uint8Array (got ".concat(Xl(t),")"));return t}Array.from({length:256},(function(t,e){return e.toString(16).padStart(2,"0")}));var jh=function(){function t(){th(this,t)}return nh(t,[{key:"clone",value:function(){return this._cloneInto()}}]),t}();function Ch(t){var e=function(e){return t().update(Th(e)).digest()},n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=function(){return t()},e}var Dh=function(t){ih(n,jh);var e=dh(n);function n(t,r,i,o){var a;return th(this,n),(a=e.call(this)).blockLen=t,a.outputLen=r,a.padOffset=i,a.isLE=o,a.finished=!1,a.length=0,a.pos=0,a.destroyed=!1,a.buffer=new Uint8Array(t),a.view=Sh(a.buffer),a}return nh(n,[{key:"update",value:function(t){Nh.exists(this);for(var e=this.view,n=this.buffer,r=this.blockLen,i=(t=Th(t)).length,o=0;o<i;){var a=Math.min(r-this.pos,i-o);if(a!==r)n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===r&&(this.process(e,0),this.pos=0);else for(var s=Sh(t);r<=i-o;o+=r)this.process(s,o)}return this.length+=t.length,this.roundClean(),this}},{key:"digestInto",value:function(t){Nh.exists(this),Nh.output(t,this),this.finished=!0;var e=this.buffer,n=this.view,r=this.blockLen,i=this.isLE,o=this.pos;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(var a=o;a<r;a++)e[a]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);var i=BigInt(32),o=BigInt(4294967295),a=Number(n>>i&o),s=Number(n&o),u=r?4:0,c=r?0:4;t.setUint32(e+u,a,r),t.setUint32(e+c,s,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);var s=Sh(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");var c=u/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(var h=0;h<c;h++)s.setUint32(4*h,l[h],i)}},{key:"digest",value:function(){var t=this.buffer,e=this.outputLen;this.digestInto(t);var n=t.slice(0,e);return this.destroy(),n}},{key:"_cloneInto",value:function(t){var e;t||(t=new this.constructor),(e=t).set.apply(e,mh(this.get()));var n=this.blockLen,r=this.buffer,i=this.length,o=this.finished,a=this.destroyed,s=this.pos;return t.length=i,t.pos=s,t.finished=o,t.destroyed=a,i%n&&t.buffer.set(r),t}}]),n}(),Oh=BigInt(Math.pow(2,32)-1),_h=BigInt(32);function zh(t){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?{h:Number(t&Oh),l:Number(t>>_h&Oh)}:{h:0|Number(t>>_h&Oh),l:0|Number(t&Oh)}}var Ph={fromBig:zh,split:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new Uint32Array(t.length),r=new Uint32Array(t.length),i=0;i<t.length;i++){var o=zh(t[i],e),a=[o.h,o.l];n[i]=a[0],r[i]=a[1]}return[n,r]},toBig:function(t,e){return BigInt(t>>>0)<<_h|BigInt(e>>>0)},shrSH:function(t,e,n){return t>>>n},shrSL:function(t,e,n){return t<<32-n|e>>>n},rotrSH:function(t,e,n){return t>>>n|e<<32-n},rotrSL:function(t,e,n){return t<<32-n|e>>>n},rotrBH:function(t,e,n){return t<<64-n|e>>>n-32},rotrBL:function(t,e,n){return t>>>n-32|e<<64-n},rotr32H:function(t,e){return e},rotr32L:function(t,e){return t},rotlSH:function(t,e,n){return t<<n|e>>>32-n},rotlSL:function(t,e,n){return e<<n|t>>>32-n},rotlBH:function(t,e,n){return e<<n-32|t>>>64-n},rotlBL:function(t,e,n){return t<<n-32|e>>>64-n},add:function(t,e,n,r){var i=(e>>>0)+(r>>>0);return{h:t+n+(i/Math.pow(2,32)|0)|0,l:0|i}},add3L:function(t,e,n){return(t>>>0)+(e>>>0)+(n>>>0)},add3H:function(t,e,n,r){return e+n+r+(t/Math.pow(2,32)|0)|0},add4L:function(t,e,n,r){return(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)},add4H:function(t,e,n,r,i){return e+n+r+i+(t/Math.pow(2,32)|0)|0},add5H:function(t,e,n,r,i,o){return e+n+r+i+o+(t/Math.pow(2,32)|0)|0},add5L:function(t,e,n,r,i){return(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(i>>>0)}},Bh=Ph,Rh=Bh.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((function(t){return BigInt(t)}))),Uh=ph(Rh,2),Qh=Uh[0],Wh=Uh[1],Fh=new Uint32Array(80),Yh=new Uint32Array(80),Hh=function(t){ih(n,Dh);var e=dh(n);function n(){var t;return th(this,n),(t=e.call(this,128,64,16,!1)).Ah=1779033703,t.Al=-205731576,t.Bh=-1150833019,t.Bl=-2067093701,t.Ch=1013904242,t.Cl=-23791573,t.Dh=-1521486534,t.Dl=1595750129,t.Eh=1359893119,t.El=-1377402159,t.Fh=-1694144372,t.Fl=725511199,t.Gh=528734635,t.Gl=-79577749,t.Hh=1541459225,t.Hl=327033209,t}return nh(n,[{key:"get",value:function(){return[this.Ah,this.Al,this.Bh,this.Bl,this.Ch,this.Cl,this.Dh,this.Dl,this.Eh,this.El,this.Fh,this.Fl,this.Gh,this.Gl,this.Hh,this.Hl]}},{key:"set",value:function(t,e,n,r,i,o,a,s,u,c,l,h,d,f,p,m){this.Ah=0|t,this.Al=0|e,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|a,this.Dl=0|s,this.Eh=0|u,this.El=0|c,this.Fh=0|l,this.Fl=0|h,this.Gh=0|d,this.Gl=0|f,this.Hh=0|p,this.Hl=0|m}},{key:"process",value:function(t,e){for(var n=0;n<16;n++,e+=4)Fh[n]=t.getUint32(e),Yh[n]=t.getUint32(e+=4);for(var r=16;r<80;r++){var i=0|Fh[r-15],o=0|Yh[r-15],a=Bh.rotrSH(i,o,1)^Bh.rotrSH(i,o,8)^Bh.shrSH(i,o,7),s=Bh.rotrSL(i,o,1)^Bh.rotrSL(i,o,8)^Bh.shrSL(i,o,7),u=0|Fh[r-2],c=0|Yh[r-2],l=Bh.rotrSH(u,c,19)^Bh.rotrBH(u,c,61)^Bh.shrSH(u,c,6),h=Bh.rotrSL(u,c,19)^Bh.rotrBL(u,c,61)^Bh.shrSL(u,c,6),d=Bh.add4L(s,h,Yh[r-7],Yh[r-16]),f=Bh.add4H(d,a,l,Fh[r-7],Fh[r-16]);Fh[r]=0|f,Yh[r]=0|d}for(var p=this.Ah,m=this.Al,g=this.Bh,y=this.Bl,v=this.Ch,b=this.Cl,w=this.Dh,M=this.Dl,k=this.Eh,L=this.El,A=this.Fh,x=this.Fl,E=this.Gh,N=this.Gl,S=this.Hh,I=this.Hl,T=0;T<80;T++){var j=Bh.rotrSH(k,L,14)^Bh.rotrSH(k,L,18)^Bh.rotrBH(k,L,41),C=Bh.rotrSL(k,L,14)^Bh.rotrSL(k,L,18)^Bh.rotrBL(k,L,41),D=k&A^~k&E,O=L&x^~L&N,_=Bh.add5L(I,C,O,Wh[T],Yh[T]),z=Bh.add5H(_,S,j,D,Qh[T],Fh[T]),P=0|_,B=Bh.rotrSH(p,m,28)^Bh.rotrBH(p,m,34)^Bh.rotrBH(p,m,39),R=Bh.rotrSL(p,m,28)^Bh.rotrBL(p,m,34)^Bh.rotrBL(p,m,39),U=p&g^p&v^g&v,Q=m&y^m&b^y&b;S=0|E,I=0|N,E=0|A,N=0|x,A=0|k,x=0|L;var W=Bh.add(0|w,0|M,0|z,0|P);k=W.h,L=W.l,w=0|v,M=0|b,v=0|g,b=0|y,g=0|p,y=0|m;var F=Bh.add3L(P,R,Q);p=Bh.add3H(F,z,B,U),m=0|F}var Y=Bh.add(0|this.Ah,0|this.Al,0|p,0|m);p=Y.h,m=Y.l;var H=Bh.add(0|this.Bh,0|this.Bl,0|g,0|y);g=H.h,y=H.l;var G=Bh.add(0|this.Ch,0|this.Cl,0|v,0|b);v=G.h,b=G.l;var Z=Bh.add(0|this.Dh,0|this.Dl,0|w,0|M);w=Z.h,M=Z.l;var V=Bh.add(0|this.Eh,0|this.El,0|k,0|L);k=V.h,L=V.l;var J=Bh.add(0|this.Fh,0|this.Fl,0|A,0|x);A=J.h,x=J.l;var q=Bh.add(0|this.Gh,0|this.Gl,0|E,0|N);E=q.h,N=q.l;var X=Bh.add(0|this.Hh,0|this.Hl,0|S,0|I);S=X.h,I=X.l,this.set(p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I)}},{key:"roundClean",value:function(){Fh.fill(0),Yh.fill(0)}},{key:"destroy",value:function(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}]),n}(),Gh=function(t){ih(n,Hh);var e=dh(n);function n(){var t;return th(this,n),(t=e.call(this)).Ah=-1942145080,t.Al=424955298,t.Bh=1944164710,t.Bl=-1982016298,t.Ch=502970286,t.Cl=855612546,t.Dh=1738396948,t.Dl=1479516111,t.Eh=258812777,t.El=2077511080,t.Fh=2011393907,t.Fl=79989058,t.Gh=1067287976,t.Gl=1780299464,t.Hh=286451373,t.Hl=-1848208735,t.outputLen=28,t}return nh(n)}(),Zh=function(t){ih(n,Hh);var e=dh(n);function n(){var t;return th(this,n),(t=e.call(this)).Ah=573645204,t.Al=-64227540,t.Bh=-1621794909,t.Bl=-934517566,t.Ch=596883563,t.Cl=1867755857,t.Dh=-1774684391,t.Dl=1497426621,t.Eh=-1775747358,t.El=-1467023389,t.Fh=-1101128155,t.Fl=1401305490,t.Gh=721525244,t.Gl=746961066,t.Hh=246885852,t.Hl=-2117784414,t.outputLen=32,t}return nh(n)}(),Vh=function(t){ih(n,Hh);var e=dh(n);function n(){var t;return th(this,n),(t=e.call(this)).Ah=-876896931,t.Al=-1056596264,t.Bh=1654270250,t.Bl=914150663,t.Ch=-1856437926,t.Cl=812702999,t.Dh=355462360,t.Dl=-150054599,t.Eh=1731405415,t.El=-4191439,t.Fh=-1900787065,t.Fl=1750603025,t.Gh=-619958771,t.Gl=1694076839,t.Hh=1203062813,t.Hl=-1090891868,t.outputLen=48,t}return nh(n)}(),Jh=Ch((function(){return new Hh}));Ch((function(){return new Gh})),Ch((function(){return new Zh})),Ch((function(){return new Vh}));var qh=Wc.crypto,Xh=BigInt(0),Kh=BigInt(1),$h=BigInt(2),td=BigInt(8),ed=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),nd=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:ed,n:ed,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),rd=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),id=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742");var od=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),ad=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),sd=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ud=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),cd=function(){function t(e,n,r,i){th(this,t),this.x=e,this.y=n,this.z=r,this.t=i}return nh(t,[{key:"equals",value:function(t){hd(t);var e=this.x,n=this.y,r=this.z,i=t.x,o=t.y,a=t.z,s=Id(e*a),u=Id(i*r),c=Id(n*a),l=Id(o*r);return s===u&&c===l}},{key:"negate",value:function(){return new t(Id(-this.x),this.y,this.z,Id(-this.t))}},{key:"double",value:function(){var e=this.x,n=this.y,r=this.z,i=nd.a,o=Id(e*e),a=Id(n*n),s=Id($h*Id(r*r)),u=Id(i*o),c=e+n,l=Id(Id(c*c)-o-a),h=u+a,d=h-s,f=u-a,p=Id(l*d),m=Id(h*f),g=Id(l*f);return new t(p,m,Id(d*h),g)}},{key:"add",value:function(e){hd(e);var n=this.x,r=this.y,i=this.z,o=this.t,a=e.x,s=e.y,u=e.z,c=e.t,l=Id((r-n)*(s+a)),h=Id((r+n)*(s-a)),d=Id(h-l);if(d===Xh)return this.double();var f=Id(i*$h*c),p=Id(o*$h*u),m=p+f,g=h+l,y=p-f,v=Id(m*d),b=Id(g*y),w=Id(m*y);return new t(v,b,Id(d*g),w)}},{key:"subtract",value:function(t){return this.add(t.negate())}},{key:"precomputeWindow",value:function(t){for(var e=1+256/t,n=[],r=this,i=r,o=0;o<e;o++){i=r,n.push(i);for(var a=1;a<Math.pow(2,t-1);a++)i=i.add(r),n.push(i);r=i.double()}return n}},{key:"wNAF",value:function(e,n){!n&&this.equals(t.BASE)&&(n=gd.BASE);var r=n&&n._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");var i=n&&md.get(n);i||(i=this.precomputeWindow(r),n&&1!==r&&(i=t.normalizeZ(i),md.set(n,i)));for(var o=t.ZERO,a=t.BASE,s=1+256/r,u=Math.pow(2,r-1),c=BigInt(Math.pow(2,r)-1),l=Math.pow(2,r),h=BigInt(r),d=0;d<s;d++){var f=d*u,p=Number(e&c);e>>=h,p>u&&(p-=l,e+=Kh);var m=f,g=f+Math.abs(p)-1,y=d%2!=0,v=p<0;0===p?a=a.add(ld(y,i[m])):o=o.add(ld(v,i[g]))}return t.normalizeZ([o,a])[0]}},{key:"multiply",value:function(t,e){return this.wNAF(zd(t,nd.l),e)}},{key:"multiplyUnsafe",value:function(e){var n=zd(e,nd.l,!1),r=t.BASE,i=t.ZERO;if(n===Xh)return i;if(this.equals(i)||n===Kh)return this;if(this.equals(r))return this.wNAF(n);for(var o=i,a=this;n>Xh;)n&Kh&&(o=o.add(a)),a=a.double(),n>>=Kh;return o}},{key:"isSmallOrder",value:function(){return this.multiplyUnsafe(nd.h).equals(t.ZERO)}},{key:"isTorsionFree",value:function(){var e=this.multiplyUnsafe(nd.l/$h).double();return nd.l%$h&&(e=e.add(this)),e.equals(t.ZERO)}},{key:"toAffine",value:function(e){var n=this.x,r=this.y,i=this.z,o=this.equals(t.ZERO);null==e&&(e=o?td:Td(i));var a=Id(n*e),s=Id(r*e),u=Id(i*e);if(o)return gd.ZERO;if(u!==Kh)throw new Error("invZ was invalid");return new gd(a,s)}},{key:"fromRistrettoBytes",value:function(){fd()}},{key:"toRistrettoBytes",value:function(){fd()}},{key:"fromRistrettoHash",value:function(){fd()}}],[{key:"fromAffine",value:function(e){if(!(e instanceof gd))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(gd.ZERO)?t.ZERO:new t(e.x,e.y,Kh,Id(e.x*e.y))}},{key:"toAffineBatch",value:function(t){var e=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nd.P,n=new Array(t.length),r=t.reduce((function(t,r,i){return r===Xh?t:(n[i]=t,Id(t*r,e))}),Kh),i=Td(r,e);return t.reduceRight((function(t,r,i){return r===Xh?t:(n[i]=Id(t*n[i],e),Id(t*r,e))}),i),n}(t.map((function(t){return t.z})));return t.map((function(t,n){return t.toAffine(e[n])}))}},{key:"normalizeZ",value:function(t){return this.toAffineBatch(t).map(this.fromAffine)}}]),t}();function ld(t,e){var n=e.negate();return t?n:e}function hd(t){if(!(t instanceof cd))throw new TypeError("ExtendedPoint expected")}function dd(t){if(!(t instanceof pd))throw new TypeError("RistrettoPoint expected")}function fd(){throw new Error("Legacy method: switch to RistrettoPoint")}cd.BASE=new cd(nd.Gx,nd.Gy,Kh,Id(nd.Gx*nd.Gy)),cd.ZERO=new cd(Xh,Kh,Kh,Xh);var pd=function(){function t(e){th(this,t),this.ep=e}return nh(t,[{key:"toRawBytes",value:function(){var t,e=this.ep,n=e.x,r=e.y,i=e.z,o=e.t,a=Id(Id(i+r)*Id(i-r)),s=Id(n*r),u=Id(s*s),c=Dd(Id(a*u)).value,l=Id(c*a),h=Id(c*s),d=Id(l*h*o);if(Ad(o*d)){var f=Id(r*id),p=Id(n*id);n=f,r=p,t=Id(l*ad)}else t=h;Ad(n*d)&&(r=Id(-r));var m=Id((i-r)*t);return Ad(m)&&(m=Id(-m)),Ld(m)}},{key:"toHex",value:function(){return wd(this.toRawBytes())}},{key:"toString",value:function(){return this.toHex()}},{key:"equals",value:function(t){dd(t);var e=this.ep,n=t.ep,r=Id(e.x*n.y)===Id(e.y*n.x),i=Id(e.y*n.y)===Id(e.x*n.x);return r||i}},{key:"add",value:function(e){return dd(e),new t(this.ep.add(e.ep))}},{key:"subtract",value:function(e){return dd(e),new t(this.ep.subtract(e.ep))}},{key:"multiply",value:function(e){return new t(this.ep.multiply(e))}},{key:"multiplyUnsafe",value:function(e){return new t(this.ep.multiplyUnsafe(e))}}],[{key:"calcElligatorRistrettoMap",value:function(t){var e=nd.d,n=Id(id*t*t),r=Id((n+Kh)*sd),i=BigInt(-1),o=Id((i-e*n)*Id(n+e)),a=Cd(r,o),s=a.isValid,u=a.value,c=Id(u*t);Ad(c)||(c=Id(-c)),s||(u=c),s||(i=n);var l=Id(i*(n-Kh)*ud-o),h=u*u,d=Id((u+u)*o),f=Id(l*od),p=Id(Kh-h),m=Id(Kh+h);return new cd(Id(d*m),Id(p*f),Id(f*m),Id(d*p))}},{key:"hashToCurve",value:function(e){var n=Sd((e=_d(e,64)).slice(0,32)),r=this.calcElligatorRistrettoMap(n),i=Sd(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new t(r.add(o))}},{key:"fromHex",value:function(e){e=_d(e,32);var n=nd.a,r=nd.d,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=Sd(e);if(!function(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}(Ld(o),e)||Ad(o))throw new Error(i);var a=Id(o*o),s=Id(Kh+n*a),u=Id(Kh-n*a),c=Id(s*s),l=Id(u*u),h=Id(n*r*c-l),d=Dd(Id(h*l)),f=d.isValid,p=d.value,m=Id(p*u),g=Id(p*m*h),y=Id((o+o)*m);Ad(y)&&(y=Id(-y));var v=Id(s*g),b=Id(y*v);if(!f||Ad(b)||v===Xh)throw new Error(i);return new t(new cd(y,v,Kh,b))}}]),t}();pd.BASE=new pd(cd.BASE),pd.ZERO=new pd(cd.ZERO);var md=new WeakMap,gd=function(){function t(e,n){th(this,t),this.x=e,this.y=n}var e;return nh(t,[{key:"_setWindowSize",value:function(t){this._WINDOW_SIZE=t,md.delete(this)}},{key:"toRawBytes",value:function(){var t=Ld(this.y);return t[31]|=this.x&Kh?128:0,t}},{key:"toHex",value:function(){return wd(this.toRawBytes())}},{key:"toX25519",value:function(){var t=this.y;return Ld(Id((Kh+t)*Td(Kh-t)))}},{key:"isTorsionFree",value:function(){return cd.fromAffine(this).isTorsionFree()}},{key:"equals",value:function(t){return this.x===t.x&&this.y===t.y}},{key:"negate",value:function(){return new t(Id(-this.x),this.y)}},{key:"add",value:function(t){return cd.fromAffine(this).add(cd.fromAffine(t)).toAffine()}},{key:"subtract",value:function(t){return this.add(t.negate())}},{key:"multiply",value:function(t){return cd.fromAffine(this).multiply(t,this).toAffine()}}],[{key:"fromHex",value:function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=nd.d,i=nd.P,o=(e=_d(e,32)).slice();o[31]=-129&e[31];var a=xd(o);if(n&&a>=i)throw new Error("Expected 0 < hex < P");if(!n&&a>=rd)throw new Error("Expected 0 < hex < 2**256");var s=Id(a*a),u=Cd(Id(s-Kh),Id(r*s+Kh)),c=u.isValid,l=u.value;if(!c)throw new Error("Point.fromHex: invalid y coordinate");var h=(l&Kh)===Kh;return 0!=(128&e[31])!==h&&(l=Id(-l)),new t(l,a)}},{key:"fromPrivateKey",value:(e=$l(ql().mark((function t(e){return ql().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ud(e);case 2:return t.abrupt("return",t.sent.point);case 3:case"end":return t.stop()}}),t)}))),function(t){return e.apply(this,arguments)})}]),t}();gd.BASE=new gd(nd.Gx,nd.Gy),gd.ZERO=new gd(Xh,Kh);var yd=function(){function t(e,n){th(this,t),this.r=e,this.s=n,this.assertValidity()}return nh(t,[{key:"assertValidity",value:function(){var t=this.r,e=this.s;if(!(t instanceof gd))throw new Error("Expected Point instance");return zd(e,nd.l,!1),this}},{key:"toRawBytes",value:function(){var t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Ld(this.s),32),t}},{key:"toHex",value:function(){return wd(this.toRawBytes())}}],[{key:"fromHex",value:function(e){var n=_d(e,64);return new t(gd.fromHex(n.slice(0,32),!1),xd(n.slice(32,64)))}}]),t}();function vd(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];if(!e.every((function(t){return t instanceof Uint8Array})))throw new Error("Expected Uint8Array list");if(1===e.length)return e[0];for(var r=e.reduce((function(t,e){return t+e.length}),0),i=new Uint8Array(r),o=0,a=0;o<e.length;o++){var s=e[o];i.set(s,a),a+=s.length}return i}var bd=Array.from({length:256},(function(t,e){return e.toString(16).padStart(2,"0")}));function wd(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");for(var e="",n=0;n<t.length;n++)e+=bd[t[n]];return e}function Md(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+Xl(t));if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");for(var e=new Uint8Array(t.length/2),n=0;n<e.length;n++){var r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function kd(t){return Md(t.toString(16).padStart(64,"0"))}function Ld(t){return kd(t).reverse()}function Ad(t){return(Id(t)&Kh)===Kh}function xd(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+wd(Uint8Array.from(t).reverse()))}var Ed,Nd=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Sd(t){return Id(xd(t)&Nd)}function Id(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nd.P,n=t%e;return n>=Xh?n:e+n}function Td(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:nd.P;if(t===Xh||e<=Xh)throw new Error("invert: expected positive integers, got n=".concat(t," mod=").concat(e));for(var n=Id(t,e),r=e,i=Xh,o=Kh;n!==Xh;){var a=r%n,s=i-o*(r/n);r=n,n=a,i=o,o=s}if(r!==Kh)throw new Error("invert: does not exist");return Id(i,e)}function jd(t,e){for(var n=nd.P,r=t;e-- >Xh;)r*=r,r%=n;return r}function Cd(t,e){var n=Id(e*e*e),r=function(t){var e=nd.P,n=BigInt(5),r=BigInt(10),i=BigInt(20),o=BigInt(40),a=BigInt(80),s=t*t%e*t%e,u=jd(s,$h)*s%e,c=jd(u,Kh)*t%e,l=jd(c,n)*c%e,h=jd(l,r)*l%e,d=jd(h,i)*h%e,f=jd(d,o)*d%e,p=jd(f,a)*f%e,m=jd(p,a)*f%e,g=jd(m,r)*l%e;return{pow_p_5_8:jd(g,$h)*t%e,b2:s}}(t*Id(n*n*e)).pow_p_5_8,i=Id(t*n*r),o=Id(e*i*i),a=i,s=Id(i*id),u=o===t,c=o===Id(-t),l=o===Id(-t*id);return u&&(i=a),(c||l)&&(i=s),Ad(i)&&(i=Id(-i)),{isValid:u||c,value:i}}function Dd(t){return Cd(Kh,t)}function Od(t){return Id(xd(t),nd.l)}function _d(t,e){var n=t instanceof Uint8Array?Uint8Array.from(t):Md(t);if("number"==typeof e&&n.length!==e)throw new Error("Expected ".concat(e," bytes"));return n}function zd(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)throw new TypeError("Specify max value");if("number"==typeof t&&Number.isSafeInteger(t)&&(t=BigInt(t)),"bigint"==typeof t&&t<e)if(n){if(Xh<t)return t}else if(Xh<=t)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Pd(t){if(32!==(t="bigint"==typeof t||"number"==typeof t?kd(zd(t,rd)):_d(t)).length)throw new Error("Expected 32 bytes");return t}function Bd(t){var e=function(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}(t.slice(0,32)),n=t.slice(32,64),r=Od(e),i=gd.BASE.multiply(r),o=i.toRawBytes();return{head:e,prefix:n,scalar:r,point:i,pointBytes:o}}function Rd(){if("function"!=typeof Ed)throw new Error("utils.sha512Sync must be set to use sync methods");return Ed.apply(void 0,arguments)}function Ud(t){return Qd.apply(this,arguments)}function Qd(){return Qd=$l(ql().mark((function t(e){return ql().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=Bd,t.next=3,Gd.sha512(Pd(e));case 3:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 5:case"end":return t.stop()}}),t)}))),Qd.apply(this,arguments)}function Wd(t){return Bd(Rd(Pd(t)))}var Fd={getExtendedPublicKey:Wd,getPublicKey:function(t){return Wd(t).pointBytes},sign:function(t,e){t=_d(t);var n=Wd(e),r=n.prefix,i=n.scalar,o=n.pointBytes,a=Od(Rd(r,t)),s=gd.BASE.multiply(a),u=Id(a+Od(Rd(s.toRawBytes(),o,t))*i,nd.l);return new yd(s,u).toRawBytes()},verify:function(t,e,n){var r=function(t,e,n){e=_d(e),n instanceof gd||(n=gd.fromHex(n,!1));var r=t instanceof yd?t.assertValidity():yd.fromHex(t),i=r.r,o=r.s;return{r:i,s:o,SB:cd.BASE.multiplyUnsafe(o),pub:n,msg:e}}(t,e,n),i=r.r,o=r.SB,a=r.msg,s=r.pub,u=Rd(i.toRawBytes(),s.toRawBytes(),a);return function(t,e,n,r){var i=Od(r),o=cd.fromAffine(t).multiplyUnsafe(i);return cd.fromAffine(e).add(o).subtract(n).multiplyUnsafe(nd.h).equals(cd.ZERO)}(s,i,o,u)}};gd.BASE._setWindowSize(8);var Yd,Hd={node:qh,web:"object"===("undefined"==typeof self?"undefined":Xl(self))&&"crypto"in self?self.crypto:void 0},Gd={bytesToHex:wd,hexToBytes:Md,concatBytes:vd,getExtendedPublicKey:Ud,mod:Id,invert:Td,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:function(t){if((t=_d(t)).length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return Id(xd(t),nd.l-Kh)+Kh},randomBytes:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32;if(Hd.web)return Hd.web.getRandomValues(new Uint8Array(t));if(Hd.node){var e=Hd.node.randomBytes;return new Uint8Array(e(t).buffer)}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:function(){return Gd.randomBytes(32)},sha512:(Yd=$l(ql().mark((function t(){var e,n,r=arguments;return ql().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=vd.apply(void 0,r),!Hd.web){t.next=8;break}return t.next=4,Hd.web.subtle.digest("SHA-512",e.buffer);case 4:return n=t.sent,t.abrupt("return",new Uint8Array(n));case 8:if(!Hd.node){t.next=12;break}return t.abrupt("return",Uint8Array.from(Hd.node.createHash("sha512").update(e).digest()));case 12:throw new Error("The environment doesn't have sha512 function");case 13:case"end":return t.stop()}}),t)}))),function(){return Yd.apply(this,arguments)}),precompute:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gd.BASE,n=e.equals(gd.BASE)?e:new gd(e.x,e.y);return n._setWindowSize(t),n.multiply($h),n},sha512Sync:void 0};Object.defineProperties(Gd,{sha512Sync:{configurable:!1,get:function(){return Ed},set:function(t){Ed||(Ed=t)}}});var Zd={exports:{}};
@@ -180,4 +180,4 @@ function KP(){return KP=Object.assign?Object.assign.bind():function(t){for(var e
180
180
  * Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
181
181
  * MIT Licence
182
182
  */
183
- var HR,GR,ZR=9e15,VR=1e9,JR="0123456789abcdef",qR="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",XR="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",KR={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ZR,maxE:ZR,crypto:!1},$R=!0,tU="[DecimalError] ",eU=tU+"Invalid argument: ",nU=tU+"Precision limit exceeded",rU=tU+"crypto unavailable",iU="[object Decimal]",oU=Math.floor,aU=Math.pow,sU=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,uU=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,cU=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lU=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hU=1e7,dU=7,fU=qR.length-1,pU=XR.length-1,mU={toStringTag:iU};function gU(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",(n=dU-r.length)&&(o+=NU(n)),o+=r;a=t[e],(n=dU-(r=a+"").length)&&(o+=NU(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yU(t,e,n){if(t!==~~t||t<e||t>n)throw Error(eU+t)}function vU(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=dU,i=0):(i=Math.ceil((e+1)/dU),e%=dU),o=aU(10,dU-e),s=t[i]%o|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==aU(10,e-2)-1||(s==o/2||0==s)&&0==(t[i+1]/o/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==aU(10,e-3)-1,a}function bU(t,e,n){for(var r,i,o=[0],a=0,s=t.length;a<s;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=JR.indexOf(t.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}mU.absoluteValue=mU.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),MU(t)},mU.ceil=function(){return MU(new this.constructor(this),this.e+1,2)},mU.clampedTo=mU.clamp=function(t,e){var n=this,r=n.constructor;if(t=new r(t),e=new r(e),!t.s||!e.s)return new r(NaN);if(t.gt(e))throw Error(eU+e);return n.cmp(t)<0?t:n.cmp(e)>0?e:new r(n)},mU.comparedTo=mU.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,u=o.s,c=t.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==t.e)return o.e>t.e^u<0?1:-1;for(e=0,n=(r=a.length)<(i=s.length)?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},mU.cosine=mU.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?i=(1/PU(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");t.precision+=n,e=zU(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(2==GR||3==GR?n.neg():n,t,e,!0)):new r(1):new r(NaN)},mU.cubeRoot=mU.cbrt=function(){var t,e,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for($R=!1,(o=l.s*aU(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=gU(l.d),(o=((t=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=aU(n,1/3),t=oU((t+1)/3)-(t%3==(t<0?-1:2)),(r=new h(n=o==1/0?"5e"+t:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+t)).s=l.s),a=(t=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=wU(c.plus(l).times(s),c.plus(u),a+2,1),gU(s.d).slice(0,a)===(n=gU(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(MU(r,t+1,1),e=!r.times(r).times(r).eq(l));break}if(!i&&(MU(s,t+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return $R=!0,MU(r,t,h.rounding,e)},mU.decimalPlaces=mU.dp=function(){var t,e=this.d,n=NaN;if(e){if(n=((t=e.length-1)-oU(this.e/dU))*dU,t=e[t])for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},mU.dividedBy=mU.div=function(t){return wU(this,new this.constructor(t))},mU.dividedToIntegerBy=mU.divToInt=function(t){var e=this.constructor;return MU(wU(this,new e(t),0,1,1),e.precision,e.rounding)},mU.equals=mU.eq=function(t){return 0===this.cmp(t)},mU.floor=function(){return MU(new this.constructor(this),this.e+1,3)},mU.greaterThan=mU.gt=function(t){return this.cmp(t)>0},mU.greaterThanOrEqualTo=mU.gte=function(t){var e=this.cmp(t);return 1==e||0===e},mU.hyperbolicCosine=mU.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?e=(1/PU(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=zU(a,1,o.times(e),new a(1),!0);for(var u,c=t,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return MU(o,a.precision=n,a.rounding=r,!0)},mU.hyperbolicSine=mU.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=zU(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(r))>16?16:0|t,i=zU(o,2,i=i.times(1/PU(5,t)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=e,o.rounding=n,MU(i,e,n,!0)},mU.hyperbolicTangent=mU.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,wU(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},mU.inverseCosine=mU.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?e.isNeg()?xU(n,i,o):new n(0):new n(NaN):e.isZero()?xU(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=xU(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))},mU.inverseHyperbolicCosine=mU.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,$R=!1,n=n.times(n).minus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},mU.inverseHyperbolicSine=mU.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,$R=!1,n=n.times(n).plus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln())},mU.inverseHyperbolicTangent=mU.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?MU(new o(i),t,e,!0):(o.precision=n=r-i.e,i=wU(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},mU.inverseSine=mU.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==e?0===e?((t=xU(o,n+4,r).times(.5)).s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},mU.inverseTangent=mU.atan=function(){var t,e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=pU)return(a=xU(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=pU)return(a=xU(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,t=n=Math.min(28,s/dU+2|0);t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for($R=!1,e=Math.ceil(s/dU),r=1,u=c.times(c),a=new l(c),i=c;-1!==t;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[e])for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),$R=!0,MU(a,l.precision=h,l.rounding=d,!0)},mU.isFinite=function(){return!!this.d},mU.isInteger=mU.isInt=function(){return!!this.d&&oU(this.e/dU)>this.d.length-2},mU.isNaN=function(){return!this.s},mU.isNegative=mU.isNeg=function(){return this.s<0},mU.isPositive=mU.isPos=function(){return this.s>0},mU.isZero=function(){return!!this.d&&0===this.d[0]},mU.lessThan=mU.lt=function(t){return this.cmp(t)<0},mU.lessThanOrEqualTo=mU.lte=function(t){return this.cmp(t)<1},mU.logarithm=mU.log=function(t){var e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==t)t=new l(10),e=!0;else{if(n=(t=new l(t)).d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if($R=!1,a=CU(c,s=h+5),r=e?AU(l,s+10):CU(t,s),vU((u=wU(a,r,s,1)).d,i=h,d))do{if(a=CU(c,s+=10),r=e?AU(l,s+10):CU(t,s),u=wU(a,r,s,1),!o){+gU(u.d).slice(i+1,i+15)+1==1e14&&(u=MU(u,h+1,0));break}}while(vU(u.d,i+=10,d));return $R=!0,MU(u,h,d)},mU.minus=mU.sub=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return f.s&&t.s?f.d?t.s=-t.s:t=new p(t.d||f.s!==t.s?f:NaN):t=new p(NaN),t;if(f.s!=t.s)return t.s=-t.s,f.plus(t);if(c=f.d,d=t.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!c[0])return new p(3===u?-0:0);t=new p(f)}return $R?MU(t,s,u):t}if(n=oU(t.e/dU),l=oU(f.e/dU),c=c.slice(),o=l-n){for((h=o<0)?(e=c,o=-o,a=d.length):(e=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/dU),a)+2)&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(e=c,c=d,d=e,t.s=-t.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=hU-1;--c[i],c[r]+=hU}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(t.d=c,t.e=LU(c,n),$R?MU(t,s,u):t):new p(3===u?-0:0)},mU.modulo=mU.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?MU(new r(n),r.precision,r.rounding):($R=!1,9==r.modulo?(e=wU(n,t.abs(),0,3,1)).s*=t.s:e=wU(n,t,0,r.modulo,1),e=e.times(t),$R=!0,n.minus(e))},mU.naturalExponential=mU.exp=function(){return jU(this)},mU.naturalLogarithm=mU.ln=function(){return CU(this)},mU.negated=mU.neg=function(){var t=new this.constructor(this);return t.s=-t.s,MU(t)},mU.plus=mU.add=function(t){var e,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(t=new d(t),!h.d||!t.d)return h.s&&t.s?h.d||(t=new d(t.d||h.s===t.s?h:NaN)):t=new d(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.minus(t);if(c=h.d,l=t.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(t=new d(h)),$R?MU(t,s,u):t;if(o=oU(h.e/dU),r=oU(t.e/dU),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/dU))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),e=0;i;)e=(c[--i]=c[i]+l[i]+e)/hU|0,c[i]%=hU;for(e&&(c.unshift(e),++r),a=c.length;0==c[--a];)c.pop();return t.d=c,t.e=LU(c,r),$R?MU(t,s,u):t},mU.precision=mU.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(eU+t);return n.d?(e=EU(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},mU.round=function(){var t=this,e=t.constructor;return MU(new e(t),t.e+1,e.rounding)},mU.sine=mU.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:zU(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:0|n,e=e.times(1/PU(5,n)),e=zU(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(GR>2?n.neg():n,t,e,!0)):new r(NaN)},mU.squareRoot=mU.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for($R=!1,0==(c=Math.sqrt(+a))||c==1/0?(((e=gU(s)).length+u)%2==0&&(e+="0"),c=Math.sqrt(e),u=oU((u+1)/2)-(u<0||u%2),r=new l(e=c==1/0?"5e"+u:(e=c.toExponential()).slice(0,e.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(wU(a,o,n+2,1)).times(.5),gU(o.d).slice(0,n)===(e=gU(r.d)).slice(0,n)){if("9999"!=(e=e.slice(n-3,n+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(MU(r,u+1,1),t=!r.times(r).eq(a));break}if(!i&&(MU(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return $R=!0,MU(r,u,l.rounding,t)},mU.tangent=mU.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,(n=n.sin()).s=1,n=wU(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,MU(2==GR||4==GR?n.neg():n,t,e,!0)):new r(NaN)},mU.times=mU.mul=function(t){var e,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(t=new h(t)).d;if(t.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!t.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*t.s:t.s/0);for(n=oU(l.e/dU)+oU(t.e/dU),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+e,o[i--]=s%hU|0,e=s/hU|0;o[i]=(o[i]+e)%hU|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=LU(o,n),$R?MU(t,h.precision,h.rounding):t},mU.toBinary=function(t,e){return RU(this,2,t,e)},mU.toDecimalPlaces=mU.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(yU(t,0,VR),void 0===e?e=r.rounding:yU(e,0,8),MU(n,t+n.e+1,e))},mU.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,!0):(yU(t,0,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t+1,e),!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return void 0===t?n=kU(i):(yU(t,0,VR),void 0===e?e=o.rounding:yU(e,0,8),n=kU(r=MU(new o(i),t+i.e+1,e),!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},mU.toFraction=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,m=f.constructor;if(!p)return new m(f);if(c=n=new m(1),r=u=new m(0),a=(o=(e=new m(r)).e=EU(p)-f.e-1)%dU,e.d[0]=aU(10,a<0?dU+a:a),null==t)t=o>0?e:c;else{if(!(s=new m(t)).isInt()||s.lt(c))throw Error(eU+s);t=s.gt(e)?o>0?e:c:s}for($R=!1,s=new m(gU(p)),l=m.precision,m.precision=o=p.length*dU*2;h=wU(s,e,0,1,1),1!=(i=n.plus(h.times(r))).cmp(t);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=e,e=s.minus(h.times(i)),s=i;return i=wU(t.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=wU(c,r,o,1).minus(f).abs().cmp(wU(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],m.precision=l,$R=!0,d},mU.toHexadecimal=mU.toHex=function(t,e){return RU(this,16,t,e)},mU.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:yU(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?($R=!1,n=wU(n,t,0,e,1).times(t),$R=!0,MU(n)):(t.s=n.s,n=t),n},mU.toNumber=function(){return+this},mU.toOctal=function(t,e){return RU(this,8,t,e)},mU.toPower=mU.pow=function(t){var e,n,r,i,o,a,s=this,u=s.constructor,c=+(t=new u(t));if(!(s.d&&t.d&&s.d[0]&&t.d[0]))return new u(aU(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,t.eq(1))return MU(s,r,o);if((e=oU(t.e/dU))>=t.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=SU(u,s,n,r),t.s<0?new u(1).div(i):MU(i,r,o);if((a=s.s)<0){if(e<t.d.length-1)return new u(NaN);if(0==(1&t.d[e])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(e=0!=(n=aU(+s,c))&&isFinite(n)?new u(n+"").e:oU(c*(Math.log("0."+gU(s.d))/Math.LN10+s.e+1)))>u.maxE+1||e<u.minE-1?new u(e>0?a/0:0):($R=!1,u.rounding=s.s=1,n=Math.min(12,(e+"").length),(i=jU(t.times(CU(s,r+n)),r)).d&&vU((i=MU(i,r+5,1)).d,r,o)&&(e=r+10,+gU((i=MU(jU(t.times(CU(s,e+n)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=MU(i,r+1,0))),i.s=a,$R=!0,u.rounding=o,MU(i,r,o))},mU.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yU(t,1,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t,e),t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toSignificantDigits=mU.toSD=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(yU(t,1,VR),void 0===e?e=n.rounding:yU(e,0,8)),MU(new n(this),t,e)},mU.toString=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},mU.truncated=mU.trunc=function(){return MU(new this.constructor(this),this.e+1,1)},mU.valueOf=mU.toJSON=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var wU=function(){function t(t,e,n){var r,i=0,o=t.length;for(t=t.slice();o--;)r=t[o]*e+i,t[o]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]<e[n]?1:0,t[n]=i*r+t[n]-e[n];for(;!t[0]&&t.length>1;)t.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I=r.constructor,T=r.s==i.s?1:-1,j=r.d,C=i.d;if(!(j&&j[0]&&C&&C[0]))return new I(r.s&&i.s&&(j?!C||j[0]!=C[0]:C)?j&&0==j[0]||!C?0*T:T/0:NaN);for(u?(f=1,l=r.e-i.e):(u=hU,f=dU,l=oU(r.e/f)-oU(i.e/f)),N=C.length,x=j.length,v=(y=new I(T)).d=[],h=0;C[h]==(j[h]||0);h++);if(C[h]>(j[h]||0)&&l--,null==o?(k=o=I.precision,a=I.rounding):k=s?o+(r.e-i.e)+1:o,k<0)v.push(1),p=!0;else{if(k=k/f+2|0,h=0,1==N){for(d=0,C=C[0],k++;(h<x||d)&&k--;h++)L=d*u+(j[h]||0),v[h]=L/C|0,d=L%C|0;p=d||h<x}else{for((d=u/(C[0]+1)|0)>1&&(C=t(C,d,u),j=t(j,d,u),N=C.length,x=j.length),A=N,w=(b=j.slice(0,N)).length;w<N;)b[w++]=0;(S=C.slice()).unshift(0),E=C[0],C[1]>=u/2&&++E;do{d=0,(c=e(C,b,N,w))<0?(M=b[0],N!=w&&(M=M*u+(b[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=e(m=t(C,d,u),b,g=m.length,w=b.length))&&(d--,n(m,N<g?S:C,g,u))):(0==d&&(c=d=1),m=C.slice()),(g=m.length)<w&&m.unshift(0),n(b,m,w,u),-1==c&&(c=e(C,b,N,w=b.length))<1&&(d++,n(b,N<w?S:C,w,u)),w=b.length):0===c&&(d++,b=[0]),v[h++]=d,c&&b[0]?b[w++]=j[A]||0:(b=[j[A]],w=1)}while((A++<x||void 0!==b[0])&&k--);p=void 0!==b[0]}v[0]||v.shift()}if(1==f)y.e=l,HR=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;y.e=h+l*f-1,MU(y,s?o+y.e+1:o,a,p)}return y}}();function MU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor;t:if(null!=e){if(!(h=t.d))return t;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=e-i)<0)o+=dU,a=e,u=(l=h[d=0])/aU(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/dU))>=(s=h.length)){if(!r)break t;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=dU)-dU+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=dU)-dU+i)<0?0:l/aU(10,i-a-1)%10|0}if(r=r||e<0||void 0!==h[d+1]||(a<0?l:l%aU(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(t.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/aU(10,i-a):0:h[d-1])%10&1||n==(t.s<0?8:7)),e<1||!h[0])return h.length=0,c?(e-=t.e+1,h[0]=aU(10,(dU-e%dU)%dU),t.e=-e||0):h[0]=t.e=0,t;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=aU(10,dU-o),h[d]=a>0?(l/aU(10,i-a)%aU(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,h[0]==hU&&(h[0]=1));break}if(h[d]+=s,h[d]!=hU)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return $R&&(t.e>f.maxE?(t.d=null,t.e=NaN):t.e<f.minE&&(t.e=0,t.d=[0])),t}function kU(t,e,n){if(!t.isFinite())return DU(t);var r,i=t.e,o=gU(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+NU(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+NU(-i-1)+o,n&&(r=n-a)>0&&(o+=NU(r))):i>=a?(o+=NU(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+NU(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=NU(r))),o}function LU(t,e){var n=t[0];for(e*=dU;n>=10;n/=10)e++;return e}function AU(t,e,n){if(e>fU)throw $R=!0,n&&(t.precision=n),Error(nU);return MU(new t(qR),e,1,!0)}function xU(t,e,n){if(e>pU)throw Error(nU);return MU(new t(XR),e,n,!0)}function EU(t){var e=t.length-1,n=e*dU+1;if(e=t[e]){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function NU(t){for(var e="";t--;)e+="0";return e}function SU(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/dU+4);for($R=!1;;){if(n%2&&UU((o=o.times(e)).d,a)&&(i=!0),0===(n=oU(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}UU((e=e.times(e)).d,a)}return $R=!0,o}function IU(t){return 1&t.d[t.d.length-1]}function TU(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;){if(!(r=new t(e[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function jU(t,e){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=t.constructor,f=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?($R=!1,u=p):u=e,s=new d(.03125);t.e>-2;)t=t.times(s),h+=5;for(u+=r=Math.log(aU(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=MU(o.times(t),u,1),n=n.times(++l),gU((s=a.plus(wU(o,n,u,1))).d).slice(0,u)===gU(a.d).slice(0,u)){for(i=h;i--;)a=MU(a.times(a),u,1);if(null!=e)return d.precision=p,a;if(!(c<3&&vU(a.d,u-r,f,c)))return MU(a,d.precision=p,f,$R=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function CU(t,e){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=t,m=p.d,g=p.constructor,y=g.rounding,v=g.precision;if(p.s<0||!m||!m[0]||!p.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=p.s?NaN:m?0:p);if(null==e?($R=!1,l=v):l=e,g.precision=l+=10,r=(n=gU(m)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=AU(g,l+2,v).times(o+""),p=CU(new g(r+"."+n.slice(1)),l-10).plus(c),g.precision=v,null==e?MU(p,v,y,$R=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=gU((p=p.times(t)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new g("0."+n),o++):p=new g(r+"."+n.slice(1)),h=p,u=a=p=wU(p.minus(1),p.plus(1),l,1),d=MU(p.times(p),l,1),i=3;;){if(a=MU(a.times(d),l,1),gU((c=u.plus(wU(a,new g(i),l,1))).d).slice(0,l)===gU(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(AU(g,l+2,v).times(o+""))),u=wU(u,new g(f),l,1),null!=e)return g.precision=v,u;if(!vU(u.d,l-10,y,s))return MU(u,g.precision=v,y,$R=!0);g.precision=l+=10,c=a=p=wU(h.minus(1),h.plus(1),l,1),d=MU(p.times(p),l,1),i=s=1}u=c,i+=2}}function DU(t){return String(t.s*t.s/0)}function OU(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i)){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%dU,n<0&&(r+=dU),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=dU;r<i;)t.d.push(+e.slice(r,r+=dU));e=e.slice(r),r=dU-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),$R&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function _U(t,e){var n,r,i,o,a,s,u,c,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lU.test(e))return OU(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(uU.test(e))n=16,e=e.toLowerCase();else if(sU.test(e))n=2;else{if(!cU.test(e))throw Error(eU+e);n=8}for((o=e.search(/p/i))>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),a=(o=e.indexOf("."))>=0,r=t.constructor,a&&(o=(s=(e=e.replace(".","")).length)-o,i=SU(r,new r(n),o,2*o)),o=l=(c=bU(e,n,hU)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*t.s):(t.e=LU(c,l),t.d=c,$R=!1,a&&(t=wU(t,i,4*s)),u&&(t=t.times(Math.abs(u)<54?aU(2,u):NQ.pow(2,u))),$R=!0,t)}function zU(t,e,n,r,i){var o,a,s,u,c=t.precision,l=Math.ceil(c/dU);for($R=!1,u=n.times(n),s=new t(r);;){if(a=wU(s.times(u),new t(e++*e++),c,1),s=i?r.plus(a):r.minus(a),r=wU(a.times(u),new t(e++*e++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return $R=!0,a.d.length=l+1,a}function PU(t,e){for(var n=t;--e;)n*=t;return n}function BU(t,e){var n,r=e.s<0,i=xU(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return GR=r?4:1,e;if((n=e.divToInt(i)).isZero())GR=r?3:2;else{if((e=e.minus(n.times(i))).lte(o))return GR=IU(n)?r?2:3:r?4:1,e;GR=IU(n)?r?1:4:r?3:2}return e.minus(i).abs()}function RU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor,p=void 0!==n;if(p?(yU(n,1,VR),void 0===r?r=f.rounding:yU(r,0,8)):(n=f.precision,r=f.rounding),t.isFinite()){for(p?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,(a=(l=kU(t)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=bU(kU(d),10,i),d.e=d.d.length),o=u=(h=bU(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((t=new f(t)).d=h,t.e=o,h=(t=wU(t,d,n,r,0,i)).d,o=t.e,c=HR),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(t.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(t.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=JR.charAt(h[a]);if(p){if(u>1)if(16==e||8==e){for(a=16==e?4:3,--u;u%a;u++)l+="0";for(u=(h=bU(l,i,e)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=JR.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==e?"0x":2==e?"0b":8==e?"0o":"")+l}else l=DU(t);return t.s<0?"-"+l:l}function UU(t,e){if(t.length>e)return t.length=e,!0}function QU(t){return new this(t).abs()}function WU(t){return new this(t).acos()}function FU(t){return new this(t).acosh()}function YU(t,e){return new this(t).plus(e)}function HU(t){return new this(t).asin()}function GU(t){return new this(t).asinh()}function ZU(t){return new this(t).atan()}function VU(t){return new this(t).atanh()}function JU(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?xU(this,r,i):new this(0)).s=t.s:!t.d||e.isZero()?(n=xU(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,n=this.atan(wU(t,e,o,1)),e=xU(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(wU(t,e,o,1)):(n=xU(this,o,1).times(e.s>0?.25:.75)).s=t.s:n=new this(NaN),n}function qU(t){return new this(t).cbrt()}function XU(t){return MU(t=new this(t),t.e+1,2)}function KU(t,e,n){return new this(t).clamp(e,n)}function $U(t){if(!t||"object"!=typeof t)throw Error(tU+"Object expected");var e,n,r,i=!0===t.defaults,o=["precision",1,VR,"rounding",0,8,"toExpNeg",-ZR,0,"toExpPos",0,ZR,"maxE",0,ZR,"minE",-ZR,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!(oU(r)===r&&r>=o[e+1]&&r<=o[e+2]))throw Error(eU+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(eU+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(rU);this[n]=!0}else this[n]=!1}return this}function tQ(t){return new this(t).cos()}function eQ(t){return new this(t).cosh()}function nQ(t,e){return new this(t).div(e)}function rQ(t){return new this(t).exp()}function iQ(t){return MU(t=new this(t),t.e+1,3)}function oQ(){var t,e,n=new this(0);for($R=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return $R=!0,new this(1/0);n=e}return $R=!0,n.sqrt()}function aQ(t){return t instanceof NQ||t&&t.toStringTag===iU||!1}function sQ(t){return new this(t).ln()}function uQ(t,e){return new this(t).log(e)}function cQ(t){return new this(t).log(2)}function lQ(t){return new this(t).log(10)}function hQ(){return TU(this,arguments,"lt")}function dQ(){return TU(this,arguments,"gt")}function fQ(t,e){return new this(t).mod(e)}function pQ(t,e){return new this(t).mul(e)}function mQ(t,e){return new this(t).pow(e)}function gQ(t){var e,n,r,i,o=0,a=new this(1),s=[];if(void 0===t?t=this.precision:yU(t,1,VR),r=Math.ceil(t/dU),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(rU);for(e=crypto.randomBytes(r*=4);o<r;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(r=s[--o],t%=dU,r&&t&&(i=aU(10,dU-t),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=dU)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<dU&&(n-=dU-r)}return a.e=n,a.d=s,a}function yQ(t){return MU(t=new this(t),t.e+1,this.rounding)}function vQ(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function bQ(t){return new this(t).sin()}function wQ(t){return new this(t).sinh()}function MQ(t){return new this(t).sqrt()}function kQ(t,e){return new this(t).sub(e)}function LQ(){var t=0,e=arguments,n=new this(e[t]);for($R=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return $R=!0,MU(n,this.precision,this.rounding)}function AQ(t){return new this(t).tan()}function xQ(t){return new this(t).tanh()}function EQ(t){return MU(t=new this(t),t.e+1,1)}mU[Symbol.for("nodejs.util.inspect.custom")]=mU.toString,mU[Symbol.toStringTag]="Decimal";var NQ=mU.constructor=function t(e){var n,r,i;function o(t){var e,n,r,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,aQ(t))return i.s=t.s,void($R?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(r=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,n=t;n>=10;n/=10)e++;return void($R?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):OU(i,t.toString())}if("string"!==r)throw Error(eU+t);return 45===(n=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===n&&(t=t.slice(1)),i.s=1),lU.test(t)?OU(i,t):_U(i,t)}if(o.prototype=mU,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=$U,o.clone=t,o.isDecimal=aQ,o.abs=QU,o.acos=WU,o.acosh=FU,o.add=YU,o.asin=HU,o.asinh=GU,o.atan=ZU,o.atanh=VU,o.atan2=JU,o.cbrt=qU,o.ceil=XU,o.clamp=KU,o.cos=tQ,o.cosh=eQ,o.div=nQ,o.exp=rQ,o.floor=iQ,o.hypot=oQ,o.ln=sQ,o.log=uQ,o.log10=lQ,o.log2=cQ,o.max=hQ,o.min=dQ,o.mod=fQ,o.mul=pQ,o.pow=mQ,o.random=gQ,o.round=yQ,o.sign=vQ,o.sin=bQ,o.sinh=wQ,o.sqrt=MQ,o.sub=kQ,o.sum=LQ,o.tan=AQ,o.tanh=xQ,o.trunc=EQ,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)e.hasOwnProperty(r=i[n++])||(e[r]=this[r]);return o.config(e),o}(KR);qR=new NQ(qR),XR=new NQ(XR);const SQ=eL([Kk("mint"),Kk("vault"),Kk("authority"),nL("emissionsPerSecondX64"),nL("growthGlobalX64")]),IQ=eL([oL("anchorDiscriminator"),Kk("whirlpoolsConfig"),Uk(aL(),1,"whirlpoolBump"),rL("tickSpacing"),Uk(aL(),2,"tickSpacingSeed"),rL("feeRate"),rL("protocolFeeRate"),nL("liquidity"),nL("sqrtPrice"),Jk("tickCurrentIndex"),oL("protocolFeeOwedA"),oL("protocolFeeOwedB"),Kk("tokenMintA"),Kk("tokenVaultA"),nL("feeGrowthGlobalA"),Kk("tokenMintB"),Kk("tokenVaultB"),nL("feeGrowthGlobalB"),oL("rewardLastUpdatedTimestamp"),Uk(SQ,3,"rewardInfos")]),TQ=eL([Zk("initialized"),Vk("liquidityNet"),nL("liquidityGross"),nL("feeGrowthOutsideA"),nL("feeGrowthOutsideB"),Uk(nL(),3,"reward_growths_outside")]),jQ=eL([oL("anchorDiscriminator"),Jk("startTickIndex"),Uk(TQ,88,"ticks"),Kk("whirlpool")]);var CQ={blockchain:"solana",name:"orca",alternativeNames:[],label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",router:{v1:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:IQ}},slippage:!0};function DQ(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class OQ{constructor({tokenIn:t,tokenOut:e,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,exchange:s,getTransaction:u}){this.tokenIn=t,this.tokenOut=e,this.path=n,this.amountIn=DQ([r,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOutMin=DQ([a,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOut=DQ([o,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountInMax=DQ([i,"optionalAccess",t=>t.toString,"call",t=>t()]),this.exchange=s,this.getTransaction=u}}let _Q=["ethereum","bsc","polygon","solana","fantom","velas"];_Q.evm=["ethereum","bsc","polygon","fantom","velas"],_Q.solana=["solana"];const zQ=async({exchange:t,fixedPath:e,amountIn:n,amountOut:r})=>{let i=n.add(n.mul(100*parseFloat("0.5")).div(1e4));if(!_Q.evm.includes(t.blockchain))return i;const o=await CL({blockchain:t.blockchain,method:"latestBlockNumber"});let a=[];for(var s=0;s<=2;s++)a.push(o-s);const u=await Promise.all(a.map((async n=>{let{amountIn:i}=await t.getAmounts({path:e,amountOut:r,block:n});return i})));if(!u[0]||!u[1]||!u[2])return i;let c;if(u[0].gt(u[1])&&u[1].gt(u[2])){const t=u[0].sub(u[1]),e=u[1].sub(u[2]),n=t.add(e).div(2);if(c=u[0].add(n),c.gt(i))return c}else if(!u[0].eq(u[1])&&!u[1].eq(u[2])){const t=u[0].sub(u[1]).abs(),e=u[1].sub(u[2]).abs();let n,r;if(n=t.lt(e)?t:e,r=u[0].gt(u[1])&&u[0].gt(u[2])?u[0]:u[1].gt(u[2])&&u[1].gt(u[0])?u[1]:u[2],c=r.add(n),c.gt(i))return c}return i},PQ=async({exchange:t,fixedPath:e,amounts:n,tokenIn:r,tokenOut:i,amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amountInInput:c,amountOutInput:l,amountInMaxInput:h,amountOutMinInput:d})=>{if(d||l){if(_Q.evm.includes(t.blockchain))o=a=await zQ({exchange:t,fixedPath:e,amountIn:o,amountOut:d||s});else if(_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!=o){let i=zQ({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>r.push(t))),i}}))),r.push(n[n.length-1]),o=a=(n=r)[0]}}else if((h||c)&&_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!==o&&o<e.length-1)r.unshift(n[o]);else if(o===e.length-1){let i=(async({exchange:t,fixedPath:e,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>(r.unshift(t),t))),i}}))),r.push(n[0]),s=u=(n=r.slice().reverse())[n.length-1]}return{amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amounts:n}},BQ=t=>t.match("0x")?ln(t):t;let RQ=async({amount:t,blockchain:e,address:n})=>await YR.BigNumber({amount:t,blockchain:e,address:n}),UQ=async({blockchain:t,exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await RQ({amount:o,blockchain:t,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await RQ({amount:s,blockchain:t,address:r})),i&&"number"==typeof i&&(u.amountIn=await RQ({amount:i,blockchain:t,address:n})),a&&"number"==typeof a&&(u.amountInMax=await RQ({amount:a,blockchain:t,address:n})),u};class QQ{constructor({name:t,blockchain:e,alternativeNames:n,label:r,logo:i,router:o,factory:a,wrapper:s,pair:u,market:c,findPath:l,pathExists:h,getAmounts:d,getTransaction:f,slippage:p}){this.name=t,this.blockchain=e,this.alternativeNames=n,this.label=r,this.logo=i,this.router=o,this.factory=a,this.wrapper=s,this.pair=u,this.market=c,this.findPath=l,this.pathExists=h,this.getAmounts=d,this.getTransaction=f,this.slippage=p}async route({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}){return t===e?Promise.resolve():((({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s})=>{if(void 0!==a)throw"You cannot not set amountOutMax! Only amountInMax or amountOutMin!";if(void 0!==s)throw"You cannot not set amountInMin! Only amountInMax or amountOutMin!";if(void 0!==r&&void 0!==n)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==i&&void 0!==o)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==n&&void 0!==i)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==r&&void 0!==o)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}),await(({exchange:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,findPath:s,getAmounts:u,getTransaction:c,slippage:l})=>{if(e=BQ(e),n=BQ(n),[r,i,o,a].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([r,i,o,a].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async h=>{let{path:d,fixedPath:f}=await s({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a});if(void 0===d||0==d.length)return h();let p,[m,g,y,v]=[r,i,o,a];if(({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await u({path:d,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a})),[r,o,i,a].every((t=>null==t)))return h();l&&({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await PQ({exchange:t,fixedPath:f,amounts:p,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v})),h(new OQ({tokenIn:e,tokenOut:n,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,exchange:t,getTransaction:async({from:e})=>await c({exchange:t,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v,fromAddress:e})}))}))})({...await UQ({blockchain:this.blockchain,exchange:this,tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o}),findPath:this.findPath,getAmounts:this.getAmounts,getTransaction:this.getTransaction,slippage:this.slippage}))}}const WQ="79226673515401279992447579055",FQ="4295048016",YQ=t=>-t;class HQ{static priceToSqrtPriceX64(t,e,n){return r=t.mul(NQ.pow(10,n-e)).sqrt(),new Hk(r.mul(NQ.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(t,e,n){return(r=t,new NQ(r.toString()).mul(NQ.pow(2,-64))).pow(2).mul(NQ.pow(10,e-n));var r}static tickIndexToSqrtPriceX64(t){return new Hk(t>0?function(t){let e;e=new Hk(0!=(1&t)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&t)&&(e=GQ(e.mul(new Hk("79236085330515764027303304731")),96,256));0!=(4&t)&&(e=GQ(e.mul(new Hk("79244008939048815603706035061")),96,256));0!=(8&t)&&(e=GQ(e.mul(new Hk("79259858533276714757314932305")),96,256));0!=(16&t)&&(e=GQ(e.mul(new Hk("79291567232598584799939703904")),96,256));0!=(32&t)&&(e=GQ(e.mul(new Hk("79355022692464371645785046466")),96,256));0!=(64&t)&&(e=GQ(e.mul(new Hk("79482085999252804386437311141")),96,256));0!=(128&t)&&(e=GQ(e.mul(new Hk("79736823300114093921829183326")),96,256));0!=(256&t)&&(e=GQ(e.mul(new Hk("80248749790819932309965073892")),96,256));0!=(512&t)&&(e=GQ(e.mul(new Hk("81282483887344747381513967011")),96,256));0!=(1024&t)&&(e=GQ(e.mul(new Hk("83390072131320151908154831281")),96,256));0!=(2048&t)&&(e=GQ(e.mul(new Hk("87770609709833776024991924138")),96,256));0!=(4096&t)&&(e=GQ(e.mul(new Hk("97234110755111693312479820773")),96,256));0!=(8192&t)&&(e=GQ(e.mul(new Hk("119332217159966728226237229890")),96,256));0!=(16384&t)&&(e=GQ(e.mul(new Hk("179736315981702064433883588727")),96,256));0!=(32768&t)&&(e=GQ(e.mul(new Hk("407748233172238350107850275304")),96,256));0!=(65536&t)&&(e=GQ(e.mul(new Hk("2098478828474011932436660412517")),96,256));0!=(131072&t)&&(e=GQ(e.mul(new Hk("55581415166113811149459800483533")),96,256));0!=(262144&t)&&(e=GQ(e.mul(new Hk("38992368544603139932233054999993551")),96,256));return GQ(e,32,256)}(t):function(t){let e,n=Math.abs(t);e=new Hk(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(e=GQ(e.mul(new Hk("18444899583751176498")),64,256));0!=(4&n)&&(e=GQ(e.mul(new Hk("18443055278223354162")),64,256));0!=(8&n)&&(e=GQ(e.mul(new Hk("18439367220385604838")),64,256));0!=(16&n)&&(e=GQ(e.mul(new Hk("18431993317065449817")),64,256));0!=(32&n)&&(e=GQ(e.mul(new Hk("18417254355718160513")),64,256));0!=(64&n)&&(e=GQ(e.mul(new Hk("18387811781193591352")),64,256));0!=(128&n)&&(e=GQ(e.mul(new Hk("18329067761203520168")),64,256));0!=(256&n)&&(e=GQ(e.mul(new Hk("18212142134806087854")),64,256));0!=(512&n)&&(e=GQ(e.mul(new Hk("17980523815641551639")),64,256));0!=(1024&n)&&(e=GQ(e.mul(new Hk("17526086738831147013")),64,256));0!=(2048&n)&&(e=GQ(e.mul(new Hk("16651378430235024244")),64,256));0!=(4096&n)&&(e=GQ(e.mul(new Hk("15030750278693429944")),64,256));0!=(8192&n)&&(e=GQ(e.mul(new Hk("12247334978882834399")),64,256));0!=(16384&n)&&(e=GQ(e.mul(new Hk("8131365268884726200")),64,256));0!=(32768&n)&&(e=GQ(e.mul(new Hk("3584323654723342297")),64,256));0!=(65536&n)&&(e=GQ(e.mul(new Hk("696457651847595233")),64,256));0!=(131072&n)&&(e=GQ(e.mul(new Hk("26294789957452057")),64,256));0!=(262144&n)&&(e=GQ(e.mul(new Hk("37481735321082")),64,256));return e}(t))}static sqrtPriceX64ToTickIndex(t){if(t.gt(new Hk(WQ))||t.lt(new Hk(FQ)))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const e=t.bitLength()-1,n=function(t,e,n){let r=t.toTwos(n).shln(e);return r.imaskn(n+1),r.fromTwos(n)}(new Hk(e-64),32,128);let r=new Hk("8000000000000000","hex"),i=0,o=new Hk(0),a=e>=64?t.shrn(e-63):t.shln(63-e);for(;r.gt(new Hk(0))&&i<14;){a=a.mul(a);let t=a.shrn(127);a=a.shrn(63+t.toNumber()),o=o.add(r.mul(t)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new Hk("59543866431248")),c=GQ(u.sub(new Hk("184467440737095516")),64,128).toNumber(),l=GQ(u.add(new Hk("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HQ.tickIndexToSqrtPriceX64(l).lte(t)?l:c}static tickIndexToPrice(t,e,n){return HQ.sqrtPriceX64ToPrice(HQ.tickIndexToSqrtPriceX64(t),e,n)}static priceToTickIndex(t,e,n){return HQ.sqrtPriceX64ToTickIndex(HQ.priceToSqrtPriceX64(t,e,n))}static priceToInitializableTickIndex(t,e,n,r){return((t,e)=>t-t%e)(HQ.priceToTickIndex(t,e,n),r)}static invertPrice(t,e,n){const r=HQ.priceToTickIndex(t,e,n),i=YQ(r);return HQ.tickIndexToPrice(i,n,e)}static invertSqrtPriceX64(t){const e=HQ.sqrtPriceX64ToTickIndex(t),n=YQ(e);return HQ.tickIndexToSqrtPriceX64(n)}}function GQ(t,e,n){let r=t.toTwos(n).shrn(e);return r.imaskn(n-e+1),r.fromTwos(n-e)}const ZQ=new Hk(1e4),VQ=new Hk(1e6),JQ=new Hk(0),qQ=new Hk(1),XQ=new Hk(2),KQ=XQ.pow(new Hk(64)).sub(qQ);class $Q extends Hk{toBuffer(){const t=super.toArray().reverse(),e=buffer.Buffer.from(t);if(8===e.length)return e;assert__default.default(e.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return e.copy(n),n}static fromBuffer(t){return assert__default.default(8===t.length,`Invalid buffer length: ${t.length}`),new $Q([...t].reverse().map((t=>`00${t.toString(16)}`.slice(-2))).join(""),16)}}class tW{static mul(t,e,n){const r=t.mul(e);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!1,r)}static mulDivRoundUp(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!0,r)}static mulDivRoundUpIf(t,e,n,r,i){if(n.eq(JQ))throw new Error("mulDiv denominator is zero");const o=this.mul(t,e,i),a=o.div(n);return r&&o.mod(n).gt(JQ)?a.add(qQ):a}static checked_mul_shift_right(t,e,n){return this.checked_mul_shift_right_round_up_if(t,e,!1,n)}static checked_mul_shift_right_round_up_if(t,e,n,r){if(t.eq(JQ)||e.eq(JQ))return JQ;const i=this.mul(t,e,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new Hk(2).pow(new Hk(64)));const a=n&&o.and(KQ).gt(JQ);if(a&&o.eq(KQ))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(qQ):o}static isOverLimit(t,e){const n=XQ.pow(new Hk(e)).sub(qQ);return t.gt(n)}static divRoundUp(t,e){return this.divRoundUpIf(t,e,!0)}static divRoundUpIf(t,e,n){if(e.eq(JQ))throw new Error("divRoundUpIf - divide by zero");let r=t.div(e);return n&&t.mod(e).gt(JQ)?r.add(qQ):r}}const eW=(t,e,n)=>{const r=HQ.tickIndexToSqrtPriceX64(t);return{nextTickPrice:r,nextSqrtPriceLimit:n?Hk.max(e,r):Hk.min(e,r)}},nW=(t,e)=>t.gt(e)?[e,t]:[t,e],rW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JQ)?c.add(qQ):c;if(h.gt(KQ))throw new Error("Results larger than U64");return h},iW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i);return tW.checked_mul_shift_right_round_up_if(n,a,r,128)},oW=(t,e,n,r,i)=>r===i?((t,e,n,r)=>{if(n.eq(JQ))return t;let i=tW.mul(t,n,256),o=tW.mul(e,t,256).shln(64);if(tW.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=e.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tW.divRoundUp(o,s);if(u.lt(new Hk(FQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new Hk(WQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(t,e,n,r):((t,e,n,r)=>{let i=n.shln(64),o=tW.divRoundUpIf(i,e,!r);return r?t.add(o):t.sub(o)})(t,e,n,r),aW=(t,e,n,r,i)=>i===r?rW(t,e,n,r):iW(t,e,n,r),sW=(t,e,n,r,i,o,a)=>{let s=aW(r,i,n,o,a),u=t;if(o){u=tW.mulDiv(t,VQ.sub(new Hk(e)),VQ,128)}let c=u.gte(s)?i:oW(r,n,u,o,a),l=c.eq(i),h=((t,e,n,r,i)=>i===r?iW(t,e,n,!r):rW(t,e,n,!r))(r,c,n,o,a);l||(s=aW(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(t)&&(p=t),o&&!l)d=t.sub(f);else{const t=new Hk(e);d=tW.mulDivRoundUp(f,t,VQ.sub(t),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},uW=(t,e,n)=>n?e.sub(t):e.add(t),cW=(t,e,n,r,i)=>{let o=r,a=i,s=t;if(e>0){let t=((t,e)=>t.mul(new $Q(e).div(ZQ)))(s,e);s=s.sub(t),o=o.add(r)}if(n.gt(JQ)){const t=s.shln(64).div(n);a=a.add(t)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},lW=443636,hW=-443636,dW=88,fW=(t,e,n)=>{const r=(Math.floor(t/e/dW)+n)*e*dW,i=dW*e;if(r<hW-(hW%i+i))throw`startTickIndex is too small - - ${r}`;if(r>lW)throw`startTickIndex is too large - ${r}`;return r},pW=async({pool:t,freshWhirlpoolData:e,aToB:n})=>{const r=await(async({aToB:t,pool:e,tickSpacing:n,tickCurrentIndex:r})=>{const i=t?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=fW(r+i,n,o)}catch(t){return a}const u=(await Av.findProgramAddress([Yk.from("tick_array"),new Av(e.toString()).toBuffer(),Yk.from(s.toString())],new Av(CQ.router.v1.address)))[0];a.push(u),o=t?o-1:o+1}return a})({aToB:n,pool:t,tickSpacing:e.tickSpacing,tickCurrentIndex:e.tickCurrentIndex});return await Promise.all(r.map((async(t,e)=>{let n;try{n=await CL({blockchain:"solana",address:t.toString(),api:jQ,cache:10})}catch(t){}return{address:t,data:n}})))};class mW{static fromTickIndex(t,e){const n=Math.floor(Math.floor(t/e)/dW);let r=Math.floor(t%(e*dW)/e);return r<0&&(r=dW+r),new mW(n,r,e)}constructor(t,e,n){if(e>=dW)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(e<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=t,this.offsetIndex=e,this.tickSpacing=n}toTickIndex(){return this.arrayIndex*dW*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class gW{constructor(t,e,n){if(!t[0]||!t[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const e of t){if(!e||!e.data)break;this.sequence.push({address:e.address,data:e.data})}this.tickArrays=t,this.tickSpacing=e,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=mW.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(t){const e=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,t+e)}getNumOfTouchedArrays(){return this.touchedArrays.filter((t=>!!t)).length}getTouchedArrays(t){let e=this.touchedArrays.reduce(((t,e,n)=>(e&&t.push(this.sequence[n].address),t)),[]);if(0===e.length)return[];const n=t-e.length;return n>0&&(e=e.concat(Array(n).fill(e[e.length-1]))),e}getTick(t){const e=mW.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(e,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(e.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,t))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[e.offsetIndex]}findNextInitializedTickIndex(t){const e=this.aToB?t:t+this.tickSpacing;let n=mW.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const t=this.getTick(n.toTickIndex());if(t.initialized)return{nextIndex:n.toTickIndex(),nextTickData:t};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,lW),hW),nextTickData:null}}getLocalArrayIndex(t,e){return e?this.startArrayIndex-t:t-this.startArrayIndex}isArrayIndexInBounds(t,e){const n=this.getLocalArrayIndex(t.arrayIndex,e),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(t,e){const n=t+this.tickSpacing*dW;return e>=t&&e<n}}const yW=async({account:t,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await CL({blockchain:"solana",address:t.pubkey.toString(),api:CQ.router.v1.api,cache:10}),s=n.tokenMintA.toString()===e,u=await pW({pool:t.pubkey,freshWhirlpoolData:n,aToB:s}),c=new gW(u,n.tickSpacing,s),l=new Hk(s?FQ:WQ),h=!(!r&&!i),d=(({tokenAmount:t,aToB:e,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=t,s=JQ,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JQ;const d=n.feeRate,f=n.protocolFeeRate;let p=new $Q(0),m=e?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JQ)&&!i.eq(u);){let{nextIndex:t}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:g}=eW(t,i,e);const y=sW(a,d,c,u,g,o,e);h=h.add(y.feeAmount),o?(a=a.sub(y.amountIn),a=a.sub(y.feeAmount),s=s.add(y.amountOut)):(a=a.sub(y.amountOut),s=s.add(y.amountIn),s=s.add(y.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:b}=cW(y.feeAmount,f,c,p,m);if(p=v,m=b,y.nextPrice.eq(n)){const n=r.getTick(t);n.initialized&&(c=uW(n.liquidityNet,c,e)),l=e?t-1:t}else l=HQ.sqrtPriceX64ToTickIndex(y.nextPrice);u=y.nextPrice}return s})({tokenAmount:new Hk((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(t){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let vW=async(t,e)=>await CL(`solana://${CQ.router.v1.address}/getProgramAccounts`,{params:{filters:[{dataSize:CQ.router.v1.api.span},{memcmp:{offset:8,bytes:"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ"}},{memcmp:{offset:101,bytes:t}},{memcmp:{offset:181,bytes:e}}]},api:CQ.router.v1.api,cache:86400,cacheKey:["whirlpool",t.toString(),e.toString()].join("-")}),bW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await vW(t,e);return 0===a.length&&(a=await vW(e,t)),a=a.filter((t=>t.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await yW({account:a,tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(t){return[]}},wW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await bW({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(t=>t.reduce(((t,e)=>bt.from(e.price).gt(bt.from(t.price))?e:t)))(a):(t=>t.reduce(((t,e)=>bt.from(e.price).lt(bt.from(t.price))?e:t)))(a),s};function MW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const kW=L.solana;let LW=t=>{if(!t)return;let e=t.map(((e,n)=>e===kW.currency.address&&t[n+1]!=kW.wrapped.address&&t[n-1]!=kW.wrapped.address?kW.wrapped.address:e));return e[0]==kW.currency.address&&e[1]==kW.wrapped.address?e.splice(0,1):e[e.length-1]==kW.currency.address&&e[e.length-2]==kW.wrapped.address&&e.splice(e.length-1,1),e},AW=async({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=t.length&&(t=LW(t),(await bW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xW=async({path:t,amountIn:e,amountInMax:n})=>{let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[2],amountIn:e?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==t.length)return r},EW=async({path:t,amountOut:e,amountOutMin:n})=>{t=t.slice().reverse();let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[0],amountOut:e,amountOutMin:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[2],tokenOut:t[1],amountOut:e?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==t.length)return r.slice().reverse()};const NW=L.solana,SW=new Hk("14449647541112719096"),IW=new Hk("16635068063392030915"),TW=async({instructions:t,owner:e,token:n,account:r})=>{let i;try{i=!!await CL({blockchain:"solana",address:r.toString()})}catch(t){}i||t.push(await YR.solana.createAssociatedTokenAccountInstruction({token:n,owner:e,payer:e}))},jW=async({fromAddress:t,poolOne:e,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(d.toString()),isWritable:!0,isSigner:!1},{pubkey:n[0].address,isWritable:!0,isSigner:!1},{pubkey:n[1].address,isWritable:!0,isSigner:!1},{pubkey:n[2].address,isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(s.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],CW=({amount:t,otherAmountThreshold:e,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]),u=Yk.alloc(s.span),s.encode({anchorDiscriminator:IW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},DW=async({fromAddress:t,pool:e,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:a[0].address,isWritable:!0,isSigner:!1},{pubkey:a[1].address,isWritable:!0,isSigner:!1},{pubkey:a[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],OW=({amount:t,otherAmountThreshold:e,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]),a=Yk.alloc(o.span),o.encode({anchorDiscriminator:SW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _W=new QQ(Object.assign(CQ,{findPath:async({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([t,e].includes(kW.currency.address)&&[t,e].includes(kW.wrapped.address))return{path:void 0,fixedPath:void 0};let a,s,u,c;return await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,e]:t!=kW.wrapped.address&&t!=kW.currency.address&&await AW({path:[t,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&e!=kW.wrapped.address&&e!=kW.currency.address&&await AW({path:[e,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,kW.wrapped.address,e]:!kW.stables.usd.includes(t)&&(s=(await Promise.all(kW.stables.usd.map((async e=>await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?e:void 0)))).filter(Boolean))&&!kW.stables.usd.includes(e)&&(u=(await Promise.all(kW.stables.usd.map((async t=>await AW({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&(c=s.filter((t=>u.includes(t)))[0])&&(a=[t,c,e]),MW([a,"optionalAccess",t=>t.length])&&a[0]==kW.currency.address?a.splice(1,0,kW.wrapped.address):MW([a,"optionalAccess",t=>t.length])&&a[a.length-1]==kW.currency.address&&a.splice(a.length-1,0,kW.wrapped.address),{path:a,fixedPath:LW(a)}},pathExists:AW,getAmounts:async({path:t,tokenIn:e,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(t=LW(t),r){if(s=await EW({path:t,amountOut:r,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xW({path:t,amountIn:i,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await EW({path:t,amountOutMin:a,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xW({path:t,amountInMax:o,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({exchange:t,path:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o,amounts:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:"solana"},f=[];const p=LW(e);if(p.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const m=p[0],g=3==p.length?p[1]:void 0,y=p[p.length-1];let v;2==p.length?v=[await wW({tokenIn:m,tokenOut:y,amountIn:s||c,amountOut:u||l})]:s||c?(v=[await wW({tokenIn:m,tokenOut:g,amountIn:s||c})],v.push(await wW({tokenIn:g,tokenOut:y,amountIn:v[0].price}))):(v=[await wW({tokenIn:g,tokenOut:y,amountOut:u||l})],v.unshift(await wW({tokenIn:m,tokenOut:g,amountOut:v[0].price})));let b,w=e[0]===NW.currency.address&&p[0]===NW.wrapped.address,M=e[e.length-1]===NW.currency.address&&p[p.length-1]===NW.wrapped.address;const k=await EL("solana");if(w||M){const t=await k.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span),e=LM.generate();b=e.publicKey.toString();const r=w?new Hk(n.toString()).add(new Hk(t)):new Hk(t);let i=bb.createAccount({fromPubkey:new Av(h),newAccountPubkey:new Av(b),programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[e],f.push(i),f.push(YR.solana.initializeAccountInstruction({account:b,token:NW.wrapped.address,owner:h}))}if(1===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:d}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await DW({fromAddress:h,pool:v[0].pubkey,tokenAccountA:v[0].aToB?c:d,tokenVaultA:v[0].data.tokenVaultA,tokenAccountB:v[0].aToB?d:c,tokenVaultB:v[0].data.tokenVaultB,tickArrays:v[0].tickArrays}),data:OW({amount:a,otherAmountThreshold:u,sqrtPriceLimit:v[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:v[0].aToB})}))}else if(2===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=p[1],g=new Av(await YR.solana.findProgramAddress({owner:h,token:d}));await TW({instructions:f,owner:h,token:d,account:g});let k=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:k}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await jW({fromAddress:h,poolOne:v[0].pubkey,tickArraysOne:v[0].tickArrays,tokenAccountOneA:v[0].aToB?c:g,tokenVaultOneA:v[0].data.tokenVaultA,tokenAccountOneB:v[0].aToB?g:c,tokenVaultOneB:v[0].data.tokenVaultB,poolTwo:v[1].pubkey,tickArraysTwo:v[1].tickArrays,tokenAccountTwoA:v[1].aToB?g:k,tokenVaultTwoA:v[1].data.tokenVaultA,tokenAccountTwoB:v[1].aToB?k:g,tokenVaultTwoB:v[1].data.tokenVaultB}),data:CW({amount:a,otherAmountThreshold:u,amountSpecifiedIsInput:e,aToBOne:v[0].aToB,aToBTwo:v[1].aToB,sqrtPriceLimitOne:v[0].sqrtPriceLimit,sqrtPriceLimitTwo:v[1].sqrtPriceLimit})}))}return(w||M)&&f.push(YR.solana.closeAccountInstruction({account:b,owner:h})),d.instructions=f,d}}));function zW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const PW=(t,e,n)=>{if(!n)return;let r=n.map(((e,r)=>e===t.currency.address&&n[r+1]!=t.wrapped.address&&n[r-1]!=t.wrapped.address?t.wrapped.address:e));return r[0]==t.currency.address&&r[1]==t.wrapped.address?r.splice(0,1):r[r.length-1]==t.currency.address&&r[r.length-2]==t.wrapped.address&&r.splice(r.length-1,1),r},BW=({reserves:t,min:e,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?t[0].gte(Qc(e.toString(),o)):i.toLowerCase()==n.toLowerCase()&&t[1].gte(Qc(e.toString(),o)),RW=async(t,e,n)=>{if(1==PW(t,0,n).length)return!1;try{let r=await CL({blockchain:t.name,address:e.factory.address,method:"getPair",api:e.factory.api,cache:36e5,params:PW(t,0,n)});if(!r||r==t.zero)return!1;let[i,o,a]=await Promise.all([CL({blockchain:t.name,address:r,method:"getReserves",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token0",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token1",api:e.pair.api,cache:36e5})]);if(n.includes(t.wrapped.address))return BW({min:1,token:t.wrapped.address,decimals:t.currency.decimals,reserves:i,token0:o,token1:a});if(n.find((e=>t.stables.usd.includes(e)))){let e=n.find((e=>t.stables.usd.includes(e))),r=new YR({blockchain:t.name,address:e}),s=await r.decimals();return BW({min:1e3,token:e,decimals:s,reserves:i,token0:o,token1:a})}return!0}catch(t){return!1}};let UW=(t,e,{path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsOut",api:e.router.api,params:{amountIn:r,path:PW(t,0,n)}}).then((t=>{i(t[t.length-1])})).catch((()=>i()))})),QW=(t,e,{path:n,amountOut:r,block:i})=>new Promise((o=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsIn",api:e.router.api,params:{amountOut:r,path:PW(t,0,n)},block:i}).then((t=>o(t[0]))).catch((()=>o()))}));var WW={findPath:async(t,e,{tokenIn:n,tokenOut:r})=>{if([n,r].includes(t.currency.address)&&[n,r].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let i;if(await RW(t,e,[n,r]))i=[n,r];else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&r!=t.wrapped.address&&await RW(t,e,[r,t.wrapped.address]))i=[n,t.wrapped.address,r];else if(!t.stables.usd.includes(n)&&(await Promise.all(t.stables.usd.map((r=>RW(t,e,[n,r]))))).filter(Boolean).length&&r!=t.wrapped.address&&await RW(t,e,[t.wrapped.address,r])){let o=(await Promise.all(t.stables.usd.map((async r=>await RW(t,e,[n,r])?r:void 0)))).find(Boolean);i=[n,o,t.wrapped.address,r]}else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&!t.stables.usd.includes(r)&&(await Promise.all(t.stables.usd.map((n=>RW(t,e,[n,r]))))).filter(Boolean).length){let o=(await Promise.all(t.stables.usd.map((async n=>await RW(t,e,[n,r])?n:void 0)))).find(Boolean);i=[n,t.wrapped.address,o,r]}return zW([i,"optionalAccess",t=>t.length])&&i[0]==t.currency.address?i.splice(1,0,t.wrapped.address):zW([i,"optionalAccess",t=>t.length])&&i[i.length-1]==t.currency.address&&i.splice(i.length-1,0,t.wrapped.address),{path:i,fixedPath:PW(t,0,i)}},pathExists:RW,getAmounts:async(t,e,{path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await UW(t,e,{path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await UW(t,e,{path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.router.address,api:e.router.api};return n[0]===t.currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===t.currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PW(t,0,n),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const FW=L.bsc,YW={blockchain:"bsc",name:"pancakeswap",alternativeNames:["pancake"],label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:WW.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var HW=new QQ(Object.assign(YW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(FW,YW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(FW,YW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(FW,YW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(FW,YW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const GW=L.polygon,ZW={blockchain:"polygon",name:"quickswap",alternativeNames:[],label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:WW.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var VW=new QQ(Object.assign(ZW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(GW,ZW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(GW,ZW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(GW,ZW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(GW,ZW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const JW=L.fantom,qW={blockchain:"fantom",name:"spookyswap",alternativeNames:[],label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:WW.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var XW=new QQ(Object.assign(qW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(JW,qW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(JW,qW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(JW,qW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(JW,qW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const KW=L.ethereum,$W={blockchain:"ethereum",name:"uniswap_v2",alternativeNames:[],label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:WW.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var tF=new QQ(Object.assign($W,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(KW,$W,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(KW,$W,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(KW,$W,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(KW,$W,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const eF=L.velas,nF={blockchain:"velas",name:"wagyuswap",alternativeNames:[],label:"WagyuSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NC45MSAxMzAuMjYiPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxwYXRoIGQ9Ik0xMTcuMjgsOTYuNDVjMCwyNC42Mi0yMS4yNCw0NC42LTQ3LjQ1LDQ0LjZzLTQ3LjQ2LTIwLTQ3LjQ2LTQ0LjZjMC0zLjE5LDAtMTkuODUsNy40My0zMy40NSw3LjA4LTEzLDE5LjUyLTIxLjY5LDE5LjUyLTIxLjY5cy4xNywzLjgxLjY2LDcuODJhMjQuMSwyNC4xLDAsMCwwLDEsNGMuMDYtMy40NCwxLjM2LTExLjcsNi41Ny0yMS42Myw2LTExLjQ2LDE3LTIwLjcyLDE3LTIwLjcyYTEwOC41MSwxMDguNTEsMCwwLDAsLjMsMTYuOTFjLjg1LDcuNzIsNC4xNSwxNC45MSw1LjA3LDE1LjU5YTI1LjgyLDI1LjgyLDAsMCwxLC44Ni00Ljg1LDE3LjM0LDE3LjM0LDAsMCwxLDIuNTctNC42NWMuMi0uOC40Miw2LjE1LDIuODcsMTAuNDQsNS43LDEwLDIwLjE0LDIzLjEsMjMuNTEsMjhBNDIuNDQsNDIuNDQsMCwwLDEsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNjYTQwNGYiLz48cGF0aCBkPSJNNzMsMTM1LjU5Yy0yNi4yMSwwLTQ3LjQ1LTIwLTQ3LjQ1LTQ0LjYsMC0zLjA2LDAtMTguMzksNi40Ny0zMS42My0uNzYsMS4xNi0xLjQ4LDIuMzUtMi4xNSwzLjYtNy40NywxMy42NC03LjQ3LDMwLjMtNy40NywzMy40OSwwLDI0LjYyLDIxLjI0LDQ0LjYsNDcuNDYsNDQuNiwxOS4yOCwwLDM1Ljg3LTEwLjgsNDMuMy0yNi4zMUE0OC4yNSw0OC4yNSwwLDAsMSw3MywxMzUuNTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iIzkyMzg0YiIvPjxwYXRoIGQ9Ik01MCw0OS4yNmEyMy4wNiwyMy4wNiwwLDAsMCwxLDRDNTEsNDkuOTQsNTIuNSw0MS40OCw1Ny4xOSwzMi4xYy0uODYsMS4zNy0yLDMuNTMtMi43Niw1QTY1LDY1LDAsMCwwLDQ5Ljg3LDQ4QzQ5LjkyLDQ4LjQzLDUwLDQ4Ljg0LDUwLDQ5LjI2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiM5MjM4NGIiLz48cGF0aCBkPSJNNzguNDQsODIuNmMtOS4yOCwxMS4zNC0yMi4zLDE4LjA2LTE5LjEyLDIxLjE3LDMuMzQsMy4yNywyMy4wOSwxMy45MiwzOC4zLTEuNzEsOC04LjI0LDcuMzMtMjEuMTgsMi44Ni0yOS4wNiwwLDAsMi43LTcuOCwyLjU3LTguMzYtLjQ3LTEuOS0xMC0xMi0xMS4zMy0xMi42MkE4Ny4yMyw4Ny4yMywwLDAsMSw4OSw2NC43MUM4Ny43LDY4LjU1LDgzLjkyLDc1Ljg5LDc4LjQ0LDgyLjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iI2VjZDBjZiIvPjxwYXRoIGQ9Ik04My43OSw4Ny4xM2MtNiw3LjMtMTMuNzksMTIuMjUtMTEuNDcsMTMuOTRzMTAuNzYsNiwyMC41OS00YzcuMzItNy41MSw0LjIzLTE3LjQzLDEuOS0xOS4xMlM4OC44LDgxLDgzLjc5LDg3LjEzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNkYWIyYjUiLz48cGF0aCBkPSJNODYuMTMsOTEuMzVjLTIuNDMsMy4zNi0zLjQzLDYuNzUtMi4zMiw3LjU3czQtMS4yMyw2LjQ1LTQuNTgsMy40NC02Ljc0LDIuMzMtNy41N1M4OC41Niw4OCw4Ni4xMyw5MS4zNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMi4zNyAtMTAuNzkpIiBmaWxsPSIjYzk5NDljIi8+PHBhdGggZD0iTTg2LjIyLDQ0LjI0YTE1LjQzLDE1LjQzLDAsMCwxLTEtMi4wNkE2My4xOSw2My4xOSwwLDAsMSw2OC44LDU4LjY1QzYwLjYxLDY0LjM2LDU2LDY4LjYsNTMuNzUsODEsNTIuNTQsODcuNDYsMzUsNzcuNzQsMjkuMzIsODZjLTIuNDEsMy41Mi0yLjI1LDcuMDktMy41OCw5LjMxLjQzLDEwLjE4LDcuNDQsMjAsNy40NCwyMC0xLjE5LTEuNzItLjM3LTEyLDMuNjQtMTguNzQsMy44My02LjQ1LDE3LjEyLTYuOSwyMy4yOS0xMy43NkM2Ni41Nyw3NS43LDY2LjM2LDY5LjM4LDcxLDYzLjY5YzYuNS04LDE1LTE1LjEzLDE5LjcyLTEyLjg2QTU2LjQ0LDU2LjQ0LDAsMCwxLDg2LjIyLDQ0LjI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48cGF0aCBkPSJNMTE3LjI4LDk2LjQ1Yy0uNDMsMy0zLjY4LDkuMzEtNy44OCwxMC4yOS03LjY3LDEuNzctMTAuNzktMy0xNS42NywyYTI5LjgyLDI5LjgyLDAsMCwxLTI5LjY2LDcuMTFjLTkuNDMtMi45NC0yMC4xOCw2LjQzLTI3LDQuMzksNS4yOSw2Ljg2LDE3LjUzLDEyLDE4LjkyLDEyLjQyLTEtMS4xNi00LjA4LTUuODQtMS4xMi03LjM3LDUuNjQtMi45MSwxNCwyLjc1LDIwLjA4LDEuMDYsNy4yMS0yLDEwLjI5LTgsMTQuMS0xMC4zNSwxLjktMS4xOSwxMi05LjMxLDI0LjExLTEuNDZBNDIuMDYsNDIuMDYsMCwwLDAsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48L2c+PC9zdmc+",router:{address:"0x3D1c58B6d4501E34DF37Cf0f664A58059a188F00",api:WW.ROUTER},factory:{address:"0x69f3212344a38b35844cce4864c2af9c717f35e3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var rF=new QQ(Object.assign(nF,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(eF,nF,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(eF,nF,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(eF,nF,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(eF,nF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));var iF={findPath:async(t,{tokenIn:e,tokenOut:n})=>{if(![e,n].includes(t.currency.address)||![e,n].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let r=[e,n];return{path:r,fixedPath:r}},pathExists:async(t,e)=>!(e.length<=1)&&(!(e.length>=3)&&(e.includes(t.currency.address)&&e.includes(t.wrapped.address))),getAmounts:async({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.wrapper.address,api:e.wrapper.api};return n[0]===t.currency.address&&n[1]===t.wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===t.wrapped.address&&n[1]===t.currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const oF=L.bsc,aF={blockchain:"bsc",name:"wbnb",alternativeNames:[],label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",wrapper:{address:oF.wrapped.address,api:iF.WETH},slippage:!1};var sF=new QQ(Object.assign(aF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(oF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(oF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(oF,aF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const uF=L.ethereum,cF={blockchain:"ethereum",name:"weth",alternativeNames:[],label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:uF.wrapped.address,api:iF.WETH},slippage:!1};var lF=new QQ(Object.assign(cF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(uF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(uF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(uF,cF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const hF=L.fantom,dF={blockchain:"fantom",name:"wftm",alternativeNames:[],label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:hF.wrapped.address,api:iF.WETH},slippage:!1};var fF=new QQ(Object.assign(dF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(hF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(hF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(hF,dF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const pF=L.polygon,mF={blockchain:"polygon",name:"wmatic",alternativeNames:[],label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",wrapper:{address:pF.wrapped.address,api:iF.WETH},slippage:!1};var gF=new QQ(Object.assign(mF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(pF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(pF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(pF,mF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const yF=L.velas,vF={blockchain:"velas",name:"wvlx",alternativeNames:[],label:"Wrapped Velas",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMwMDM3QzE7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=",wrapper:{address:yF.wrapped.address,api:iF.WETH},slippage:!1};let bF={ethereum:[tF,lF],bsc:[HW,sF],polygon:[VW,gF],solana:[_W],fantom:[XW,fF],velas:[rF,new QQ(Object.assign(vF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(yF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(yF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(yF,vF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}))]},wF=({blockchain:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})=>Promise.all(bF[t].map((t=>t.route({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})))).then((t=>t.filter(Boolean)));var MF=kx.createContext(),kF=kx.createContext(),LF=function(t){var e=Ex(t).sort((function(t,e){if("0"==t.fromBalance||"0"==t.fromAmount)return-1;if("0"==e.fromBalance||"0"==e.fromAmount)return 1;var n=bt.from(t.fromBalance).div(bt.from(t.fromAmount)),r=bt.from(e.fromBalance).div(bt.from(e.fromAmount));return n.lt(r)?-1:r.lt(n)?1:0}));return e[e.length-1]};function AF(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function xF(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?AF(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):AF(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var EF=function(t){var e=function(t){return!t.every((function(t){return void 0!==t.amount||void 0!==t.fromAmount}))},r=kx.useContext(KB),i=r.amount;r.toAmount;var o,a=r.recover,s=QA(kx.useState(null==a&&e(t.accept)),2),u=s[0],c=s[1],l=kx.useContext(sR).account,h=kx.useContext(kF),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=kx.useContext(xB).setError,m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.fix:null),1)[0],b=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.currency:null),1)[0];u&&(o="object"==n(i)&&i.start&&i.start?i.start:"object"==n(i)&&i.fix?i.fix:1);var w=QA(kx.useState(o),2),M=w[0],k=w[1],A=QA(kx.useState(),2),x=A[0],E=A[1],N=QA(kx.useState(),2),S=N[0],I=N[1];kx.useEffect((function(){a||c(e(t.accept))}),[t.accept,a]);var T=kx.useCallback(pR.debounce((function(e){e.account,function(e){var n=e.amount,r=e.conversionRate,o=e.fixedCurrencyConversionRate;return new Promise((function(e,a){i&&i.token?e(t.accept.map((function(){return n}))):Promise.all(t.accept.map((function(t){return v?L[t.blockchain].stables.usd[0]==t.token?1/o*v:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/o*v,tokenOut:t.token,fromAddress:l,toAddress:l}):L[t.blockchain].stables.usd[0]==t.token?1/r*n:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/r*n,tokenOut:t.token,fromAddress:l,toAddress:l})}))).then((function(n){Promise.all(n.map((function(e,n){return"number"==typeof e?e:null==e[0]?void 0:YR.readable({blockchain:t.accept[n].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){y(t.accept.map((function(t,n){if(null!=e[n])return xF(xF({},t),{},{amount:lR(e[n])})})).filter((function(t){return!!t})))})).catch(p)}),500),[]);return kx.useEffect((function(){a||u&&l&&d&&(!v||f)&&T({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f})}),[u,l,d,v,f,M,a]),kx.useEffect((function(){u&&x?x.fromToken.readable(x.fromBalance).then((function(t){if(i&&i.token)wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:x.toToken.address,amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]?YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:x.toToken.address}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e-1):lR(e-1))})).catch(p):YR.readable({amount:x.fromBalance,blockchain:x.blockchain,address:x.fromToken.address}).then(I)})).catch(p);else if(x.fromToken.address==L[x.blockchain].stables.usd[0]){var e=parseFloat(new NQ(t).mul(d).toString());I(e>10?Math.round(e-1):e-1)}else wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:L[x.blockchain].stables.usd[0],amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]&&YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:L[x.blockchain].stables.usd[0]}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e):lR(e))})).catch(p)})).catch(p)})).catch(p):I(100)}),[l,x]),kx.createElement(MF.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:b,acceptWithAmount:g,amount:M,setAmount:k,setMaxRoute:E,maxAmount:S}},t.children)},NF=function(t){kx.useContext(xB).setError;var e=kx.useContext(KB),r=e.amount,i=e.currency,o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),c=u[0],l=u[1];return kx.useEffect((function(){"object"==n(r)&&r.currency&&tR.fromUSD({amount:1,code:r.currency}).then((function(t){return l(t.amount)})),tR.fromUSD({amount:1,code:i}).then((function(t){return s(t.amount)})).catch(s(1))}),[]),kx.createElement(kF.Provider,{value:{conversionRate:a,fixedCurrencyConversionRate:c}},t.children)},SF=kx.createContext(),IF=kx.createContext();const TF=({assets:t,blockchain:e,options:n})=>n.only?t.filter((t=>(n.only[e]||[]).find((e=>e.toLowerCase()==t.address.toLowerCase())))):n.exclude?t.filter((t=>(n.exclude[e]||[]).find((e=>e.toLowerCase()!=t.address.toLowerCase())))):t;var jF=async t=>{void 0===t&&(t={accounts:{}});let e=Promise.all(Object.keys(t.accounts).map((e=>new Promise(((n,r)=>{const i=t.accounts[e],o=new AbortController;setTimeout((()=>o.abort()),1e4),fetch(`https://public.depay.com/accounts/${e}/${i}/assets`,{signal:o.signal}).catch((t=>{console.log(t),n([])})).then((t=>{if(t&&t.ok)return t.json();n([])})).then((async r=>{if(r&&r.length)return await(async({address:t,options:e,assets:n,blockchain:r})=>{if(e.only&&e.only[r]&&!e.only[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(e.exclude&&e.exclude[r]&&e.exclude[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(!n.find((t=>t.address.toLowerCase()==L[r].currency.address.toLowerCase()))){let e=await CL({blockchain:r,address:t,method:"balance"},{cache:3e4});n=[{name:L[r].currency.name,symbol:L[r].currency.symbol,address:L[r].currency.address,type:"NATIVE",blockchain:r,balance:e.toString()},...n]}return n})({address:i,options:t,assets:TF({assets:r,blockchain:e,options:t}).map((t=>Object.assign(t,{blockchain:e}))),blockchain:e});n([])})).then(n).catch((t=>{console.log(t),n([])}))}))))).then((t=>t.flat()));return e};const CF=(t,e)=>Object.assign({},{address:t.address,symbol:t.symbol,name:t.name,decimals:t.decimals,type:t.type,blockchain:t.blockchain},{balance:e.toString()}),DF=({assets:t,asset:e})=>!!t.find((t=>t.blockchain==e.blockchain&&t.address.toLowerCase()==e.address.toLowerCase())),OF=({options:t,address:e,blockchain:n})=>!(!(t&&t.only&&t.only[n])||t.only[n].find((t=>t.toLowerCase()==e.toLowerCase())))||!!(t&&t.exclude&&t.exclude[n]&&t.exclude[n].find((t=>t.toLowerCase()==e.toLowerCase())));const _F=t=>(t.params.path=t.params.path.filter(((e,n,r)=>(1!=n||e!=L[t.blockchain].wrapped.address||r[0]!=L[t.blockchain].currency.address)&&(n!=r.length-2||e!=L[t.blockchain].wrapped.address||r[r.length-1]!=L[t.blockchain].currency.address))),t);var zF={ethereum:{payment:{address:"0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9"},weth:{wrap:{address:"0xF4cc97D00dD0639c3e383D7CafB3d815616cbB2C"},unwrap:{address:"0xcA575c6C5305e8127F3D376bb22776eAD370De4a"}},uniswap_v2:{address:"0xe04b08Dfc6CaA0F4Ec523a3Ae283Ece7efE00019",prepareTransaction:_F},paymentWithEvent:{address:"0xD8fBC10787b019fE4059Eb5AA5fB11a5862229EF"},paymentFee:{address:"0x874Cb669D7BFff79d4A6A30F4ea52c5e413BD6A7"},paymentFeeWithEvent:{address:"0x981cAd45c768d56136FDBb2C5E115F33D971bE6C"}},bsc:{payment:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11"},wbnb:{wrap:{address:"0xf361888459a4C863a8498ee344C2688C9196Be51"},unwrap:{address:"0x65693291C20271f5e5030261766D1D6b3AC9d44E"}},pancakeswap:{address:"0xAC3Ec4e420DD78bA86d932501E1f3867dbbfb77B",prepareTransaction:_F},paymentWithEvent:{address:"0x1869E236c03eE67B9FfEd3aCA139f4AeBA79Dc21"},paymentFee:{address:"0xae33f10AD57A38113f74FCdc1ffA6B1eC47B94E3"},paymentFeeWithEvent:{address:"0xF1a05D715AaBFA380543719F7bA8754d0331c5A9"}},polygon:{payment:{address:"0x78C0F1c712A9AA2004C1F401A7307d8bCB62abBd"},wmatic:{wrap:{address:"0x8B62F604499c1204573664447D445690E0A0011b"},unwrap:{address:"0x2fd0a07a4F73285d0eBa8176426BF9B8c0121206"}},quickswap:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",prepareTransaction:_F},paymentWithEvent:{address:"0xfAD2F276D464EAdB71435127BA2c2e9dDefb93a4"},paymentFee:{address:"0xd625c7087E940b2A91ed8bD8db45cB24D3526B56"},paymentFeeWithEvent:{address:"0xBC56ED8E32b64a33f64Ed7A5fF9EACdFC117e07a"}}},PF={...zF},BF={ethereum:{address:"0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},bsc:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},polygon:{address:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},RF={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new Hk("8445995362644372894"),layout:eL([oL("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new Hk("2482112285991870004"),layout:eL([oL("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new Hk("16156440424245087"),layout:eL([oL("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new Hk("6497164560834983274"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeToken:{anchorDiscriminator:new Hk("13483873682232752277"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwap:{anchorDiscriminator:new Hk("9797248061404332986"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new Hk("13662217913752830165"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new Hk("15695720599845325801"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new Hk("15074061855608091530"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])}}}},UF={...BF,...RF};var QF=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},WF="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ke?ke:"undefined"!=typeof self?self:{},FF="object"==typeof WF&&WF&&WF.Object===Object&&WF,YF="object"==typeof self&&self&&self.Object===Object&&self,HF=FF||YF||Function("return this")(),GF=function(){return HF.Date.now()},ZF=/\s/;var VF=function(t){for(var e=t.length;e--&&ZF.test(t.charAt(e)););return e},JF=/^\s+/;var qF=function(t){return t?t.slice(0,VF(t)+1).replace(JF,""):t},XF=HF.Symbol,KF=Object.prototype,$F=KF.hasOwnProperty,tY=KF.toString,eY=XF?XF.toStringTag:void 0;var nY=function(t){var e=$F.call(t,eY),n=t[eY];try{t[eY]=void 0;var r=!0}catch(t){}var i=tY.call(t);return r&&(e?t[eY]=n:delete t[eY]),i},rY=Object.prototype.toString;var iY=function(t){return rY.call(t)},oY=XF?XF.toStringTag:void 0;var aY=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":oY&&oY in Object(t)?nY(t):iY(t)};var sY=function(t){return null!=t&&"object"==typeof t};var uY=function(t){return"symbol"==typeof t||sY(t)&&"[object Symbol]"==aY(t)},cY=/^[-+]0x[0-9a-f]+$/i,lY=/^0b[01]+$/i,hY=/^0o[0-7]+$/i,dY=parseInt;var fY=function(t){if("number"==typeof t)return t;if(uY(t))return NaN;if(QF(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=QF(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=qF(t);var n=lY.test(t);return n||hY.test(t)?dY(t.slice(2),n?2:8):cY.test(t)?NaN:+t},pY=Math.max,mY=Math.min;var gY=function(t,e,n){var r,i,o,a,s,u,c=0,l=!1,h=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=r,o=i;return r=i=void 0,c=e,a=t.apply(o,n)}function p(t){var n=t-u;return void 0===u||n>=e||n<0||h&&t-c>=o}function m(){var t=GF();if(p(t))return g(t);s=setTimeout(m,function(t){var n=e-(t-u);return h?mY(n,o-(t-c)):n}(t))}function g(t){return s=void 0,d&&r?f(t):(r=i=void 0,a)}function y(){var t=GF(),n=p(t);if(r=arguments,i=this,u=t,n){if(void 0===s)return function(t){return c=t,s=setTimeout(m,e),l?f(t):a}(u);if(h)return clearTimeout(s),s=setTimeout(m,e),f(u)}return void 0===s&&(s=setTimeout(m,e)),a}return e=fY(e)||0,QF(n)&&(l=!!n.leading,o=(h="maxWait"in n)?pY(fY(n.maxWait)||0,e):o,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0},y.flush=function(){return void 0===s?a:g(GF())},y};var yY=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return QF(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),gY(t,e,{leading:r,maxWait:e,trailing:i})};let vY,bY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?t.toAddress:t.toToken.address:BF[t.blockchain].address,wY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:YR[t.blockchain].DEFAULT:BF[t.blockchain].api,MY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:"transfer":"route",kY=({paymentRoute:t,exchangeRoute:e,event:n})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:[t.toAddress,t.toAmount]:{path:LY({paymentRoute:t,exchangeRoute:e}),amounts:AY({paymentRoute:t,exchangeRoute:e}),addresses:xY({paymentRoute:t}),plugins:EY({paymentRoute:t,exchangeRoute:e,event:n}),data:[]},LY=({paymentRoute:t,exchangeRoute:e})=>e?e.path:[t.toToken.address],AY=({paymentRoute:t,exchangeRoute:e})=>{let n;n=e?e&&e.exchange.wrapper?[t.fromAmount,t.toAmount]:[t.fromAmount,t.toAmount,Math.round(Date.now()/1e3)+1800]:[t.fromAmount,t.toAmount],t.fee&&(n[4]=t.feeAmount);for(var r=0;r<n.length;r++)null==n[r]&&(n[r]="0");return n},xY=({paymentRoute:t})=>t.fee?[t.fromAddress,t.fee.receiver,t.toAddress]:[t.fromAddress,t.toAddress],EY=({paymentRoute:t,exchangeRoute:e,event:n})=>{let r=[];return e&&(t.exchangePlugin=zF[t.blockchain][e.exchange.name],t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].currency.address?r.push(t.exchangePlugin.wrap.address):t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].wrapped.address?r.push(t.exchangePlugin.unwrap.address):r.push(t.exchangePlugin.address)),("ifSwapped"!=n||t.directTransfer)&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address)?r.push(zF[t.blockchain].payment.address):r.push(zF[t.blockchain].paymentWithEvent.address),t.fee&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address?r.push(zF[t.blockchain].paymentFee.address):r.push(zF[t.blockchain].paymentFeeWithEvent.address)),r},NY=({paymentRoute:t})=>t.fromToken.address==L[t.blockchain].currency.address?t.directTransfer?t.toAmount.toString():t.fromAmount.toString():bt.from("0").toString(),SY=()=>vY||(vY="object"==typeof ke?ke:window,vY);const IY=()=>(void 0===SY()._Web3ClientConfiguration&&(SY()._Web3ClientConfiguration={}),SY()._Web3ClientConfiguration);class TY extends Dc{constructor(t,e,n,r){super(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[]}detectNetwork(){return Promise.resolve(L.findByName(this._network).id)}requestChunk(t,e){const n=t.map((t=>t.request));return Pu(e,JSON.stringify(n)).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r.result)}))})).catch((e=>{if(e&&"SERVER_ERROR"==e.code){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(t,this._endpoint)}else t.forEach((t=>{t.reject(e)}))}))}send(t,e){const n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t,this._endpoint))))}),IY().batchInterval||10)),i}}const jY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),CY=(t,e)=>{void 0===jY()[t]&&(jY()[t]=[]);const n=jY()[t].indexOf(e);n>-1&&jY()[t].splice(n,1),jY()[t].unshift(e)},DY=async(t,e,n=!0)=>{let r;jY()[t]=e.map(((r,i)=>new TY(r,t,e,(()=>{1===jY()[t].length?DY(t,e,n):jY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=jY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=jY()[t][o]}CY(t,r)};var OY=async t=>{let e=jY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},_Y=async t=>{let e=jY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};class zY extends kM{constructor(t,e,n,r){super(t),this._provider=new kM(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}requestChunk(t){const e=t.map((t=>t.request)),n=e=>{if(e&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>e.toString().match(t)))){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new kM(this._endpoint),this.requestChunk(t)}else t.forEach((t=>{t.reject(e)}))};try{return this._provider._rpcBatchRequest(e).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r)}))})).catch(n)}catch(t){return n(t)}}_rpcRequestReplacement(t,e){const n={methodName:t,args:e};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t))))}),IY().batchInterval||10)),i}}const PY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),BY=(t,e)=>{void 0===PY()[t]&&(PY()[t]=[]);const n=PY()[t].indexOf(e);n>-1&&PY()[t].splice(n,1),PY()[t].unshift(e)},RY=async(t,e,n=!0)=>{let r;PY()[t]=e.map(((r,i)=>new zY(r,t,e,(()=>{1===PY()[t].length?RY(t,e,n):PY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=PY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=PY()[t][o]}BY(t,r)};var UY=async t=>{let e=PY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},QY=async t=>{let e=PY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};let WY=["ethereum","bsc","polygon","solana","fantom","velas"];WY.evm=["ethereum","bsc","polygon","fantom","velas"],WY.solana=["solana"];let FY=()=>(null==SY()._Web3ClientCacheStore&&(SY()._Web3ClientCacheStore={}),SY()._Web3ClientCacheStore),YY=()=>(null==SY()._Web3ClientPromiseStore&&(SY()._Web3ClientPromiseStore={}),SY()._Web3ClientPromiseStore),HY=function({key:t}){YY()[t]=void 0},GY=function({call:t,key:e,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:t}){return YY()[t]}({key:e=JSON.stringify(e)});if(a)return a.then(r).catch(i);(function({key:t,promise:e}){return YY()[t]=e,e})({key:e,promise:new Promise(((a,s)=>0===n?t().then((t=>{r(t),a(t)})).catch((t=>{i(t),s(t)})):(o=function({key:t,expires:e}){let n=FY()[t];if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([n,"optionalAccess",t=>t.expiresAt])>Date.now())return n.value}({key:e,expires:n}),o?(r(o),a(o),o):void t().then((t=>{t&&function({key:t,value:e,expires:n}){FY()[t]={expiresAt:Date.now()+n,value:e}}({key:e,value:t,expires:n}),r(t),a(t)})).catch((t=>{i(t),s(t)})))))}).then((()=>{HY({key:e})})).catch((()=>{HY({key:e})}))}))};const ZY=async t=>{if(WY.evm.includes(t))return await OY(t);if(WY.solana.includes(t))return await UY(t);throw"Unknown blockchain: "+t};const VY=({address:t,api:e,method:n,params:r,provider:i,block:o})=>{let a=new wu(t,e,i),s=(({contract:t,method:e,params:n})=>t.interface.fragments.find((t=>t.name==e)).inputs.map(((t,e)=>Array.isArray(n)?n[e]:n[t.name])))({contract:a,method:n,params:r});return a[n](...s,{blockTag:o})},JY=({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a})=>n?VY({address:e,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:t,provider:e})=>e.getBalance(t))({address:e,provider:a}):"transactionCount"===r?(({address:t,provider:e})=>e.getTransactionCount(t))({address:e,provider:a}):void 0;const qY=async({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=Gk),await(async({address:t,api:e,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new Av(t));if(a&&a.data)return e.decode(a.data)})({address:e,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new Av(e),i).then((t=>n?t.map((t=>(t.data=n.decode(t.account.data),t))):t));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new Av(e));if("latestBlockNumber"===r)return await a.getSlot();if("balance"===r)return await(({address:t,provider:e})=>e.getBalance(new Av(t)))({address:e,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>u.toString().match(t)))){let u=s[s.indexOf(a)+1]||s[0];return qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const XY=async function(t,e){const{blockchain:n,address:r,method:i}=(t=>{if("object"==typeof t)return t;let e=t.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==e.groups.part2?e.groups.part1.match(/\d/)?{blockchain:e.groups.blockchain,address:e.groups.part1}:{blockchain:e.groups.blockchain,method:e.groups.part1}:{blockchain:e.groups.blockchain,address:e.groups.part1,method:e.groups.part2}})(t),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof t?t:e)||{};return await GY({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(WY.evm.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||IY().strategy||"failover",a=a||IY().timeout||void 0,"fastest"===s)return Promise.race((await _Y(t)).map((s=>{const u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});if(a){const t=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a)));return Promise.race([u,t])}return u})));{const s=await OY(t),u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(WY.solana.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||IY().strategy||"failover",a=a||IY().timeout||void 0;const u=await QY(t);if("fastest"===s)return Promise.race(u.map((s=>{const u=new Promise((a=>{qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s}).then(a)})),c=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a||1e4)));return Promise.race([u,c])})));{const s=await UY(t),c=qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})};let KY;const $Y=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=e.fromToken.address===L.solana.currency.address?new Hk(e.fromAmount):new Hk("0"),r=await ZY("solana"),i=new Hk(await r.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),o=e.fromAddress,a=n.add(i);return[bb.createAccount({fromPubkey:new Av(o),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:a}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:o})]},tH=async({wSolEscrowAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),i=await fH();return[bb.createAccount({fromPubkey:new Av(e.fromAddress),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:i.toString()})]},eH=({paymentRoute:t})=>{let e=[...t.exchangeRoutes[0].path];return e.indexOf(L.solana.currency.address)>-1&&e.splice(e.indexOf(L.solana.currency.address),1),e.indexOf(t.fromToken.address)>-1&&e.splice(e.indexOf(t.fromToken.address),1),e.indexOf(t.toToken.address)>-1&&e.splice(e.indexOf(t.toToken.address),1),2===e.length&&e[0]===L.solana.wrapped.address?e[1]:e[0]},nH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:eH({paymentRoute:t}),owner:t.fromAddress}),rH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||yH(t.exchangeRoutes[0].path).length<=2)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:await nH({paymentRoute:t}),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});return e?void 0:YR.solana.createAssociatedTokenAccountInstruction({token:eH({paymentRoute:t}),owner:t.fromAddress,payer:t.fromAddress})},iH=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(t)return YR.solana.closeAccountInstruction({account:t.publicKey.toString(),owner:e.fromAddress})},oH=async({from:t})=>{let e=[Yk.from("payments"),new Av(t).toBuffer()],[n]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},aH=async({from:t})=>{let e=(await oH({from:t})).toString();return await XY({blockchain:"solana",address:e,api:eL([oL("anchorDiscriminator"),oL("nonce")]),cache:1e3})},sH=async({from:t})=>{if(await aH({from:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t}),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createPaymentsAccount.layout.span);return RF.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:RF.solana.api.createPaymentsAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},uH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.fromToken.address,owner:t.fromAddress}),cH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.toAddress}),lH=async({paymentRoute:t})=>{if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.toAddress}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.toAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.toAddress),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.toAddress}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.toAddress,payer:t.fromAddress})}},hH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.fee.receiver}),dH=async({paymentRoute:t})=>{if(t.fee){if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.fee.receiver}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.feeAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.fee.receiver),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.fee.receiver}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.fee.receiver,payer:t.fromAddress})}}},fH=async()=>{let t=[Yk.from("escrow_sol")],[e,n]=await Av.findProgramAddress(t,new Av(RF.solana.address));return e},pH=async({paymentRoute:t})=>{let e=[Yk.from("escrow"),new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address).toBuffer()],[n,r]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},mH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address===L.solana.currency.address)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await pH({paymentRoute:t})).toString(),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});if(e)return;const n=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await pH({paymentRoute:t}),isSigner:!1,isWritable:!0}],r=Yk.alloc(RF.solana.api.createEscrowTokenAccount.layout.span);return RF.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowTokenAccount.anchorDiscriminator},r),new Zv({keys:n,programId:new Av(RF.solana.address),data:r})},gH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address!=L.solana.currency.address)return;if(await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await fH()).toString(),api:eL([oL("amount"),Kk("owner")]),cache:1e3}))({paymentRoute:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createEscrowSolAccount.layout.span);return RF.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},yH=t=>t.filter((t=>t!==L.solana.currency.address)),vH=()=>(KY=Math.ceil((new Date).getTime()/1e3)+600,KY),bH=async({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n})=>{const r=await aH({from:t.fromAddress}),i=(({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return"routeSol";if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address!==L.solana.currency.address&&0===t.exchangeRoutes.length)return"routeToken";if(t.exchangeRoutes.length>0&&2===yH(t.exchangeRoutes[0].path).length)return t.toToken.address===L.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(t.exchangeRoutes.length>0&&yH(t.exchangeRoutes[0].path).length>2)return t.toToken.address===L.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:t});switch(i){case"routeSol":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=new Av(t.toAddress),r=t.fee?new Av(t.fee.receiver):n,i=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0}],o=Yk.alloc(RF.solana.api.routeSol.layout.span);return RF.solana.api.routeSol.layout.encode({anchorDiscriminator:RF.solana.api.routeSol.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},o),new Zv({keys:i,programId:new Av(RF.solana.address),data:o})})({paymentRoute:t,paymentsAccountData:r});case"routeToken":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=await uH({paymentRoute:t}),r=await cH({paymentRoute:t}),i=t.fee?await hH({paymentRoute:t}):r,o=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(n),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0}],a=Yk.alloc(RF.solana.api.routeToken.layout.span);return RF.solana.api.routeToken.layout.encode({anchorDiscriminator:RF.solana.api.routeToken.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},a),new Zv({keys:o,programId:new Av(RF.solana.address),data:a})})({paymentRoute:t,paymentsAccountData:r});case"routeOrcaSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=n?n.publicKey:await uH({paymentRoute:t}),i=await cH({paymentRoute:t}),o=t.fee?await hH({paymentRoute:t}):i,a=await pH({paymentRoute:t}),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(s.data),c=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},s.keys[2],s.keys[4],s.keys[6],s.keys[7],s.keys[8],s.keys[9],s.keys[10],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0},{pubkey:new Av(o),isSigner:!1,isWritable:!0}],l=Yk.alloc(RF.solana.api.routeOrcaSwap.layout.span);return RF.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:u.amount,sqrtPriceLimit:u.sqrtPriceLimit,amountSpecifiedIsInput:u.amountSpecifiedIsInput,aToB:u.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},l),new Zv({keys:c,programId:new Av(RF.solana.address),data:l})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=await uH({paymentRoute:t}),i=n.publicKey,o=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(o.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},o.keys[2],o.keys[4],o.keys[6],o.keys[7],o.keys[8],o.keys[9],o.keys[10],{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaSwapSolOut.layout.span);return RF.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,sqrtPriceLimit:a.sqrtPriceLimit,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToB:a.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=new Av(await cH({paymentRoute:t})),i=t.fee?new Av(await hH({paymentRoute:t})):r,o=await pH({paymentRoute:t}),a=new Av(await nH({paymentRoute:t})),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=n?n.publicKey:new Av(await uH({paymentRoute:t})),c=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(s.data),l=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},s.keys[2],s.keys[3],{pubkey:u,isSigner:!1,isWritable:!0},s.keys[5],s.keys[7],{pubkey:a,isSigner:!1,isWritable:!0},s.keys[9],s.keys[11],s.keys[12],s.keys[13],s.keys[14],s.keys[15],s.keys[16],s.keys[17],s.keys[18],s.keys[19],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],h=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwap.layout.span);return RF.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:c.amount,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToBOne:c.aToBOne,aToBTwo:c.aToBTwo,sqrtPriceLimitOne:c.sqrtPriceLimitOne,sqrtPriceLimitTwo:c.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},h),new Zv({keys:l,programId:new Av(RF.solana.address),data:h})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=new Av(await nH({paymentRoute:t})),i=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),o=new Av(await uH({paymentRoute:t})),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(i.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},i.keys[2],i.keys[3],i.keys[5],i.keys[7],{pubkey:r,isSigner:!1,isWritable:!0},i.keys[9],i.keys[11],i.keys[12],i.keys[13],i.keys[14],i.keys[15],i.keys[16],i.keys[17],i.keys[18],i.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToBOne:a.aToBOne,aToBTwo:a.aToBTwo,sqrtPriceLimitOne:a.sqrtPriceLimitOne,sqrtPriceLimitTwo:a.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n})}},wH=async({paymentRoute:t})=>{const e=await(async({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address!==L.solana.currency.address)return LM.generate()})({paymentRoute:t}),n=await(async({paymentRoute:t})=>{if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return LM.generate()})({paymentRoute:t});let r=(await Promise.all([sH({from:t.fromAddress}),$Y({paymentRoute:t,wSolSenderAccountKeypair:e}),rH({paymentRoute:t}),lH({paymentRoute:t}),dH({paymentRoute:t}),gH({paymentRoute:t}),tH({paymentRoute:t,wSolEscrowAccountKeypair:n}),mH({paymentRoute:t}),bH({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n}),iH({paymentRoute:t,wSolSenderAccountKeypair:e})])).filter(Boolean).flat();const i={blockchain:t.blockchain,instructions:r,signers:[e,n].filter(Boolean),alts:[RF.solana.alt]};return i.deadline=KY,i};let MH=["ethereum","bsc","polygon","solana"];MH.evm=["ethereum","bsc","polygon"],MH.solana=["solana"];const kH=({paymentRoute:t,event:e,fee:n})=>{if(MH.evm.includes(t.blockchain))return(async({paymentRoute:t,event:e})=>{let n=t.exchangeRoutes[0],r={blockchain:t.blockchain,to:bY({paymentRoute:t}),api:wY({paymentRoute:t}),method:MY({paymentRoute:t}),params:kY({paymentRoute:t,exchangeRoute:n,event:e}),value:NY({paymentRoute:t})};return n&&t.exchangePlugin&&t.exchangePlugin.prepareTransaction&&(r=t.exchangePlugin.prepareTransaction(r)),r})({paymentRoute:t,event:e,fee:n});if(MH.solana.includes(t.blockchain))return wH({paymentRoute:t,event:e,fee:n});throw"Blockchain not supported!"};function LH(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class AH{constructor({blockchain:t,fromAddress:e,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,approvalTransaction:p,directTransfer:m,event:g}){this.blockchain=t,this.fromAddress=e,this.fromToken=n,this.fromAmount=LH([r||s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=LH([s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.approvalRequired=f,this.approvalTransaction=p,this.directTransfer=m,this.event=g,this.getTransaction=async()=>await kH({paymentRoute:this,event:g})}}function xH({assets:t,blacklist:e,accept:n,from:r,event:i}){return Promise.resolve(NH({assets:t,blacklist:e})).then((t=>function({assets:t,accept:e,from:n,event:r}){return Promise.all(t.map((async t=>{let i=e.filter((e=>e.blockchain==t.blockchain)),o=new YR(t);return Promise.all(i.map((async e=>{if(e.token&&e.amount){let i=e.blockchain,a=t.decimals,s=new YR({blockchain:i,address:e.token}),u=await s.decimals(),c=(await s.BigNumber(e.amount)).toString();return new AH({blockchain:i,fromToken:o,fromDecimals:a,toToken:s,toAmount:c,toDecimals:u,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}if(e.fromToken&&e.fromAmount&&o.address.toLowerCase()==e.fromToken.toLowerCase()){let i=e.blockchain,a=(await o.BigNumber(e.fromAmount)).toString(),s=t.decimals,u=new YR({blockchain:i,address:e.toToken}),c=await u.decimals();return new AH({blockchain:i,fromToken:o,fromDecimals:s,fromAmount:a,toToken:u,toDecimals:c,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}})))}))).then((t=>t.flat().filter((t=>t))))}({assets:t,accept:n,from:r,event:i}))).then((t=>DH({routes:t}))).then(SH).then(IH).then(TH).then(jH).then((t=>PH({routes:t}))).then(CH).then(UH).then(BH).then((t=>t.map((t=>new AH(t)))))}function EH({accept:t,from:e,whitelist:n,blacklist:r,event:i,update:o}){if(t.some((t=>t&&t.fee&&"string"==typeof t.fee.amount&&t.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(a,s)=>{let u,c=[];if(n)for(const t in n)(n[t]||[]).forEach((e=>{c.push({blockchain:t,address:e})}));else t.forEach((t=>{c.push({blockchain:t.blockchain,address:t.token||t.toToken})}));o&&(u=yY((async({assets:t,blacklist:e,accept:n,from:r,event:i})=>{o.callback(await xH({assets:t,blacklist:e,accept:n,from:r,event:i}))}),o.every));let l=[];const h=await(async t=>{void 0===t&&(t={accounts:{},priority:[]});let e=[],n=[];n=n.concat((t.priority||[]).map((n=>new Promise((async(r,i)=>{try{let i=new YR(n),o=Object.assign({},n,{name:await i.name(),symbol:await i.symbol(),decimals:await i.decimals(),balance:(await i.balance(t.accounts[n.blockchain])).toString()});if("0"!=o.balance){if(DF({assets:e,asset:n}))return r();e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)}else r()}catch(t){r()}})))));let r=[];for(var i in t.accounts)L.findByName(i).tokens.forEach((e=>{OF({options:t,address:e.address,blockchain:i})||r.push(Object.assign({},e,{blockchain:i}))}));if(n=n.concat(r.map((n=>new Promise(((r,i)=>{new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()}))}))))),null==t.only||Object.keys(t.only).every((t=>0==t.length))){let r=await jF(t);n=n.concat(r.map((n=>new Promise(((r,i)=>new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()})))))))}return await Promise.all(n),e})({accounts:e,priority:c,only:n,exclude:r,drip:n=>{o&&(l.push(n),u({assets:l,blacklist:r,accept:t,from:e,event:i}))}});a(await xH({assets:h,blacklist:r,accept:t,from:e,event:i}))}))}let NH=({assets:t,blacklist:e})=>null==e?t:t.filter((t=>null==e[t.blockchain]||!e[t.blockchain].find((e=>e.toLowerCase()==t.address.toLowerCase())))),SH=async t=>await Promise.all(t.map((t=>t.directTransfer?[]:t.toToken&&t.toAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountOutMin:t.toAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):t.fromToken&&t.fromAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountIn:t.fromAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):void 0))).then((e=>t.map(((t,n)=>(t.exchangeRoutes=e[n],t))))),IH=t=>t.filter((t=>0===t.exchangeRoutes.length||("solana"===t.blockchain||null!=PF[t.blockchain][t.exchangeRoutes[0].exchange.name]))),TH=t=>t.filter((t=>0!=t.exchangeRoutes.length||t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase())),jH=async t=>t.filter((t=>t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?bt.from(t.fromBalance).gte(bt.from(t.toAmount)):t.fromAmount&&t.toAmount?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountInMax)):t.exchangeRoutes[0]&&t.exchangeRoutes[0].amountIn?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountIn)):void 0)),CH=t=>Promise.all(t.map((t=>"solana"===t.blockchain?Promise.resolve(L.solana.maxInt):t.fromToken.allowance(t.fromAddress,UF[t.blockchain].address)))).then((e=>(t.map(((n,r)=>{n.directTransfer||n.fromToken.address.toLowerCase()==L[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?t[r].approvalRequired=!1:(t[r].approvalRequired=bt.from(n.fromAmount).gte(bt.from(e[r])),t[r].approvalRequired&&(t[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:YR[n.blockchain].DEFAULT,method:"approve",params:[UF[n.blockchain].address,L[n.blockchain].maxInt]}))})),t))),DH=({routes:t})=>t.map((t=>(MH.evm.includes(t.blockchain)?t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()&&null==t.fee:"solana"===t.blockchain&&(t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()),t))),OH=({paymentRoute:t,exchangeRoute:e})=>{let n,r,i;return e?(e&&e.exchange.wrapper,n=e.amountIn.toString(),r=_H({amount:e.amountOutMin.toString(),paymentRoute:t})):(n=t.fromAmount,r=_H({amount:t.fromAmount,paymentRoute:t})),t.fee&&(i=zH({paymentRoute:t})),{fromAmount:n,toAmount:r,feeAmount:i}},_H=({amount:t,paymentRoute:e})=>{if(e.fee){let n=zH({paymentRoute:e});return bt.from(t).sub(n).toString()}return t},zH=({paymentRoute:t})=>{if("string"==typeof t.fee.amount&&t.fee.amount.match("%"))return bt.from(t.toAmount).mul(10*parseFloat(t.fee.amount)).div(1e3).toString();if("string"==typeof t.fee.amount)return t.fee.amount;if("number"==typeof t.fee.amount)return Qc(t.fee.amount.toString(),t.toDecimals).toString();throw"Unknown fee amount type!"},PH=({routes:t})=>t.map((t=>{if(MH.evm.includes(t.blockchain))if(t.directTransfer&&!t.fee)t.fromAmount=t.toAmount;else{let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}else if(MH.solana.includes(t.blockchain)){let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}return t})),BH=t=>t.filter(((e,n)=>null==t.find(((t,r)=>e.fromToken.address==t.fromToken.address&&(e.fromToken.blockchain==t.fromToken.blockchain&&(!(!t.directTransfer||e.directTransfer)||(!(!bt.from(t.fromAmount).lt(bt.from(e.fromAmount))||e.directTransfer)||(t.fromAmount==e.fromAmount&&r<n||void 0)))))))),RH=t=>{switch(t){case"solana":return 10;case"polygon":return 30;case"bsc":return 70;case"ethereum":return 99;default:return 100}},UH=t=>t.sort(((t,e)=>RH(t.fromToken.blockchain)<RH(e.fromToken.blockchain)?-1:RH(e.fromToken.blockchain)<RH(t.fromToken.blockchain)?1:t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()||t.approvalRequired&&!e.approvalRequired?1:e.approvalRequired&&!t.approvalRequired||JSON.stringify([t.fromToken.address.toLowerCase(),t.toToken.address.toLowerCase()].sort())==JSON.stringify([L[t.blockchain].currency.address.toLowerCase(),L[t.blockchain].wrapped.address.toLowerCase()].sort())?-1:JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([L[e.blockchain].currency.address.toLowerCase(),L[e.blockchain].wrapped.address.toLowerCase()].sort())?1:t.fromToken.address.toLowerCase()==L[t.blockchain].currency.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==L[e.blockchain].currency.address.toLowerCase()?1:0));function QH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function WH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?QH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):QH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var FH=function(t){var e="object"==n(t.receiver)?t.receiver.address:t.receiver,r="object"==n(t.receiver)?t.receiver:void 0;return WH(WH({},t),{},{toAddress:e,toContract:r})},YH=function(t,e){var n={};return t.forEach((function(t){n[t.blockchain]=e})),n},HH=function(t){var e=t.accept,n=t.account,r=t.whitelist,i=t.blacklist,o=t.fee;return EH({accept:e.map(FH),from:YH(e,n),whitelist:r,blacklist:i,event:"ifRoutedAndNative",fee:o})};function GH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ZH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?GH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):GH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var VH=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),l=u[0],h=u[1],d=QA(kx.useState(!1),2),f=d[0],p=d[1],m=QA(kx.useState(0),2),g=m[0],y=m[1],v=kx.useContext(sR).account,b=kx.useContext(Ax).updatable,w=kx.useContext(KB).recover,M=function(){var n=e(c.mark((function n(r){return c.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:0==r.length?(i([]),t.setMaxRoute&&t.setMaxRoute(null)):x(r).then(function(){var n=e(c.mark((function e(n){var r,o;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===l?(r=n[0],h(r)):(o=n[n.findIndex((function(t){return t.fromToken.address==l.fromToken.address&&t.blockchain==l.blockchain}))],o?l.fromAmount!=o.fromAmount?s(o):l.approvalRequired!=o.approvalRequired&&h(o):h(n[0])),i(n),t.setMaxRoute&&t.setMaxRoute(LF(n));case 3:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}());case 1:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}(),k=function(){var n=e(c.mark((function e(n){var r;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.allRoutes,n.selectedRoute,0!=n.updatable&&t.accept&&v){e.next=3;break}return e.abrupt("return");case 3:return r=setTimeout((function(){p(!0)}),4e3),e.next=6,HH(Object.assign({},t,{account:v})).then((function(t){clearInterval(r),M(t)}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}(),L=function(t,e){t.fromAmount=e.toString()},A=function(){var t=e(c.mark((function t(e,n){var r,i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.directTransfer){t.next=2;break}return t.abrupt("return",e);case 2:return t.next=4,e.fromToken.readable(n||e.fromAmount);case 4:return r=t.sent,t.next=7,e.fromToken.BigNumber(lR(r));case 7:return i=t.sent,L(e,i),t.abrupt("return",e);case 10:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),x=function(){var t=e(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Promise.all(e.map((function(t){return A(t)}))));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=e(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:h(ZH({},a)),s(null);case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),N=function(){return k({allRoutes:r,selectedRoute:l,updatable:b})};return kx.useEffect((function(){var t=setTimeout((function(){y(g+1),k({allRoutes:r,selectedRoute:l,updatable:b})}),15e3);return function(){return clearTimeout(t)}}),[g,r,l,b]),kx.useEffect((function(){v&&t.accept&&null==w&&N()}),[v,t.accept]),kx.createElement(IF.Provider,{value:{selectedRoute:l,setSelectedRoute:h,refreshPaymentRoutes:N,allRoutes:r,setAllRoutes:i,slowRouting:f,updatedRouteWithNewPrice:a,updateRouteWithNewPrice:E}},t.children)},JH=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.acceptWithAmount,i=e.setMaxRoute,o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){n?r&&s(r):s(t.accept)}),[n,r]),kx.createElement(SF.Provider,{value:{}},kx.createElement(VH,{accept:a,whitelist:t.whitelist,blacklist:t.blacklist,event:t.event,setMaxRoute:i,fee:t.fee,container:t.container,document:t.document},t.children))},qH=function(){var t=kx.useContext(Pz).navigate;return kx.useContext(Lx).close,kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:yB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No Payment Option Found"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},kx.createElement("strong",{className:"FontSizeM"},"Please check if you have connected the correct wallet and top up if necessary.")),kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("button",{onClick:function(){return t("PaymentOptions")},className:"Link FontSizeM",title:"Check which payment options are available"},"Check available payment options"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"})})},XH=kx.createContext();let KH=["ethereum","bsc","polygon","solana","fantom","velas"];KH.evm=["ethereum","bsc","polygon","fantom","velas"],KH.solana=["solana"];const $H=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],tG=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];let eG=function(t){const[e,n]=kx.useState(),[r,i]=kx.useState(),o=t.blockchain.toLowerCase(),a=L.findByName(o).currency.address,s=t.address,u=t.id,c=new Date,l=["react-token-image",o,s,[c.getFullYear(),c.getMonth(),c.getDate()].join("-")].join("-"),h=t=>{localStorage.setItem(l,t),n(t)};kx.useEffect((()=>{const t=localStorage.getItem(l);if(t&&t.length)return h(t);a.toLowerCase()==s.toLowerCase()?h(L.findByName(o).logo):KH.evm.includes(o)?(i("repository"),h(f({blockchain:o,address:s}))):"solana"===o&&(i("metaplex"),d({blockchain:o,address:s}).then((t=>{h(t)})))}),[o,s]);const d=({blockchain:t,address:e})=>new Promise((async(n,r)=>{try{let r=new Av(e),i=new Av(YR.solana.METADATA_ACCOUNT),o=[Yk.from("metadata"),i.toBuffer(),r.toBuffer()],a=(await Av.findProgramAddress(o,i))[0],s=await CL({blockchain:t,address:a.toString(),api:YR.solana.METADATA_LAYOUT,cache:864e5});if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([s,"optionalAccess",t=>t.data,"optionalAccess",t=>t.uri])){const t=s.data.uri.replace(new RegExp("\0","g"),"");t&&t.length?await fetch(t).then((t=>t.json())).then((t=>{t&&t.image?n(t.image):n("")})).catch((()=>n(""))):n("")}else n("")}catch(t){n("")}})),f=({blockchain:t,address:e})=>["ethereum","bsc","polygon","fantom","solana"].includes(t)?`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${p(t)}/assets/${e}/logo.png`:"velas"==t?`https://raw.githubusercontent.com/wagyuswapapp/assets/master/blockchains/velas/assets/${e.toLowerCase()}/logo.png`:void 0,p=t=>{switch(t){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";default:throw"DePayReactTokenImage: Unknown blockchain"}},m=()=>{i("unknown"),h("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=")},g=t=>{t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),fetch(t).then((t=>{if(t.ok)return t.json();m()})).then((t=>{if(t){let e=t.image;e?(e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),i("meta"),h(e)):m()}})).catch(m)};return null==e?null:kx.createElement("img",{className:t.className,src:e,onError:t=>{"metaplex"==r?(i("repository"),h(f({blockchain:o,address:s}))):"repository"==r?(i("depay"),h(`https://integrate.depay.com/tokens/${o}/${s}/image`)):"depay"==r&&KH.evm.includes(o)?u?CL({blockchain:o,address:s,api:tG,method:"uri",params:[u]}).then((t=>{t=t.match("0x{id}")?t.replace("0x{id}",u):t,g(t)})).catch(m):CL({blockchain:o,address:s,api:$H,method:"tokenURI",params:[1]}).then(g).catch(m):m()},__self:this,__source:{fileName:"/Users/sebastian/Work/DePay/react-token-image/src/index.js",lineNumber:179}})};function nG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function rG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?nG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var iG=function(){var t=kx.useContext(KB).accept;kx.useContext(Lx).close;var e=kx.useContext(Pz).navigate,n=QA(kx.useState(),2),r=n[0],i=n[1];return kx.useEffect((function(){Promise.all(t.map((function(t){var e=new YR({blockchain:t.blockchain,address:t.token});return Promise.all([Promise.resolve(t),e.symbol(),e.name()])}))).then((function(t){return t.map((function(t){return rG(rG({},t[0]),{},{symbol:t[1],name:t[2]})}))})).then(i)}),[]),r?kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},r&&r.map((function(t,e){return kx.createElement("div",{className:"Card",key:e},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.blockchain,address:t.token}),kx.createElement("img",{className:"BlockchainLogo small "+L[t.blockchain].name,src:L[t.blockchain].logo,alt:L[t.blockchain].label,title:L[t.blockchain].label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenSymbolCell"},t.symbol)),kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},"on ",L[t.blockchain].label))))))})))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return e("back")}},kx.createElement("span",{className:"FontSizeM"},"❮")," Go back"))}):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},oG=kx.createContext(),aG=kx.createContext(),sG=function(t){var n=kx.useContext(xB).setError,r=kx.useContext(KB),i=r.sent,o=r.succeeded,a=r.failed,s=r.recover,u=r.before,l=kx.useContext(IF),h=l.selectedRoute,d=l.refreshPaymentRoutes,f=kx.useContext(Lx),p=f.open,m=f.close,g=f.setClosable,y=kx.useContext(IF).allRoutes,v=kx.useContext(Ax).setUpdatable,b=kx.useContext(nR),w=b.navigate,M=b.set,k=kx.useContext(sR).wallet,A=kx.useContext(oG),x=A.release,E=A.synchronousTracking,N=A.asynchronousTracking,S=A.trackingInitialized,I=A.initializeTracking,T=A.preTrack,j=kx.useContext(aG),C=j.foundTransaction,D=j.initializeTracking,O=QA(kx.useState(),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=QA(kx.useState(),2),Q=U[0],W=U[1],F=QA(kx.useState("initialized"),2),Y=F[0],H=F[1],G=function(t){0!=E||0!=N&&1!=S||g(!0),H("success"),o&&setTimeout((function(){return o(t)}),200)},Z=function(t,e){0!=N&&1!=S||g(!0),M(["PaymentFailed"]),H("failed"),a&&a(t,e)},V=function(){var t=e(c.mark((function t(){var e,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=_.route,t.next=3,k.account();case 3:return t.t1=t.sent,t.t2={from:t.t1},t.next=7,t.t0.getTransaction.call(t.t0,t.t2);case 7:if(e=t.sent,!u){t.next=14;break}return t.next=11,u(e);case 11:if(!1!==t.sent){t.next=14;break}return t.abrupt("return");case 14:return g(!1),H("paying"),v(!1),t.next=19,CL({blockchain:e.blockchain,method:"latestBlockNumber"});case 19:return n=t.sent,t.next=22,T(n,_.route,e).then((function(){k.sendTransaction(Object.assign({},e,{sent:function(t){D(t,n),i&&i(t)},succeeded:G,failed:Z})).then((function(t){R(t),I(t,n,_.route)})).catch((function(t){console.log("error",t),H("initialized"),g(!0),v(!0),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork")}))})).catch((function(t){console.log(t),H("initialized"),g(!0),v(!0),w("PreTrackingFailed")}));case 22:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();return kx.useEffect((function(){x&&H("success")}),[x]),kx.useEffect((function(){N&&S&&("success"==Y||"failed"==Y)&&g(!0)}),[S,Y]),kx.useEffect((function(){if(s){g(!1),v(!1),H("paying"),R({blockchain:s.blockchain,id:s.transaction,url:L.findByName(s.blockchain).explorerUrlFor({transaction:{id:s.transaction}})});var t=new YR({blockchain:s.blockchain,address:s.token});Promise.all([t.name(),t.symbol()]).then((function(t){var e=QA(t,2),n=e[0],r=e[1];z({blockchain:s.blockchain,token:s.token,name:n,symbol:r.toUpperCase(),amount:s.amount})})).catch(n)}}),[s]),kx.useEffect((function(){var t;C&&C.id&&C.status&&(C.id!=B.id&&(t=Object.assign({},B,{id:C.id,url:L.findByName(B.blockchain).explorerUrlFor({transaction:C})}),R(t)),"success"==C.status?G(t||B):"failed"==C.status&&Z(t||B))}),[C,B]),kx.useEffect((function(){if(h){var t=h.fromToken;Promise.all([t.name(),t.symbol(),t.readable(h.fromAmount)]).then((function(e){var n=QA(e,3),r=n[0],i=n[1],o=n[2];z({blockchain:h.blockchain,route:h,token:t.address,name:r,symbol:i.toUpperCase(),amount:o})})).catch(n)}else z(void 0)}),[h]),kx.useEffect((function(){y&&0==y.length?v(!1):y&&y.length>0&&v(!0)}),[y]),y instanceof Array&&0==y.length?kx.createElement(Uz,{open:p,close:m,start:"NoPaymentOptionFound",container:t.container,document:t.document,dialogs:{NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null)}}):kx.createElement(XH.Provider,{value:{payment:_,paymentState:Y,pay:V,transaction:B,approve:function(){g(!1),v(!1),H("approving"),k.sendTransaction(Object.assign({},_.route.approvalTransaction,{succeeded:function(){v(!0),g(!0),d().then((function(){H("initialized")}))}})).then((function(t){W(t)})).catch((function(t){console.log("error",t),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork"),H("initialized"),g(!0)}))},approvalTransaction:Q}},t.children)},uG=kx.createContext(),cG=function(t){var e=kx.useContext(Pz).navigate;kx.useContext(xB).setError,kx.useContext(sR).account;var r=kx.useContext(MF),i=r.amount,o=r.setAmount,a=r.maxAmount;kx.useContext(uG).displayedPaymentValue;var s=QA(kx.useState(i),2),u=s[0],c=s[1],l=kx.useContext(KB),h=l.currencyCode,d=l.amount,f=kx.useContext(IF);f.allRoutes;var p=f.setSelectedRoute,m="object"==n(d)&&d.min?d.min:1,g="object"==n(d)&&d.step?d.step:1,y=null!=d&&d.token?null:h,v=function(t){Number.isNaN(t)||c(t)},b=function(t){return g&&(t=parseFloat(new NQ(Math.floor(new NQ(t).div(g))).mul(g).toString())),t},w=function(t){return t=b(t),a&&(t=Math.max(m,Math.min(t,a))),t=b(t)};return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,y))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("input",{max:a?parseFloat(a):null,min:m,step:g,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(u),onChange:function(t){v(t.target.value)},onBlur:function(t){var e;e=t.target.value,c(w(e))}})),a&&kx.createElement("div",{style:{height:"40px"}},kx.createElement("div",{className:"FontSizeS"},hR(b(a)),kx.createElement("div",null,kx.createElement("button",{className:"TextButton",onClick:function(){v(w(a))}},"(Max)"))))))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){var t=w(parseFloat(u));t!=i&&(p(void 0),o(t)),e("back")}},"Done"))})},lG=function(t){var e=kx.useContext(uG).paymentValue;return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=e&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,e.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},hG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(IF),r=n.allRoutes,i=n.setSelectedRoute,o=kx.useContext(uG).displayedPaymentValue,a=kx.useContext(Pz).navigate,s=QA(kx.useState([]),2),u=s[0],c=s[1],l=QA(kx.useState([]),2),h=l[0],d=l[1];return kx.useEffect((function(){null!=r&&Promise.all(r.map((function(t){return t.exchangeRoutes[0],t.fromToken,Promise.all([t.fromToken.name(),t.fromToken.symbol(),t.fromToken.decimals(),t.fromToken.readable(t.fromAmount)])}))).then((function(t){c(r.map((function(e,n){return{name:t[n][0],symbol:t[n][1].toUpperCase(),decimals:t[n][2],amount:t[n][3],route:e}})))})).catch(e)}),[r]),kx.useEffect((function(){d(u.map((function(t,e){var n=L.findByName(t.route.blockchain);return kx.createElement("div",{key:e,className:"Card",title:"Select ".concat(t.symbol," as payment"),onClick:function(){i(t.route),a("back")}},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.route.blockchain,address:t.route.fromToken.address}),kx.createElement("img",{className:"BlockchainLogo small "+n.name,src:n.logo,alt:n.label,title:n.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},t.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)))),kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,hR(lR(parseFloat(t.route.fromBalance.toString())/Math.pow(10,t.decimals),"down")))))))})))}),[u]),0==u.length||0==h.length?kx.createElement(lG,null):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=o&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,o.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},h)),footer:kx.createElement("div",null)})},dG=function(){var t=kx.useContext(Lx).close,e=kx.useContext(XH).transaction;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),e&&kx.createElement("div",{className:"PaddingTopS"},kx.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==e?void 0:e.url,target:"_blank",rel:"noopener noreferrer"},"View on explorer")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){return t()}},"Try again"))})},fG=function(){return kx.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},kx.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},pG=function(t){return kx.createElement("svg",{className:"Checkmark Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},mG=function(t){return kx.createElement("svg",{className:"DigitalWalletIcon Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),kx.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),kx.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),kx.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},gG={ethereum:13,bsc:4,polygon:3,solana:.5},yG=function(t){return kx.createElement("div",{className:"LoadingText"},t.children,kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."))},vG=function(){var t=kx.useContext(MF);t.amount,t.amountsMissing;var e=kx.useContext(oG),n=e.synchronousTracking,r=e.asynchronousTracking,i=e.trackingInitialized,o=e.release,a=e.forwardTo,s=e.confirmationsRequired,u=e.confirmationsPassed,c=kx.useContext(XH),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,m=c.approvalTransaction,g=kx.useContext(uG).paymentValueLoss,y=kx.useContext(IF),v=y.updatedRouteWithNewPrice,b=y.updateRouteWithNewPrice;kx.useContext(Pz).navigate;var w=kx.useContext(Lx).close,M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(0),2),x=A[0],E=A[1];kx.useEffect((function(){if(s){var t=setInterval((function(){E(x+1)}),1e3);return function(){clearInterval(t)}}}),[s,x]),kx.useEffect((function(){u&&L(function(t,e,n){return(e-n)*gG[t]}(l.blockchain,s,u)-x)}),[u,x]),kx.useEffect((function(){u&&E(0)}),[u]);return kx.createElement("div",null,g&&kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Payment would lose ",g,"% of its value!"))),null==l.route||!l.route.approvalRequired||l.route.directTransfer||v?null:g?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary",onClick:p,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:null==m?void 0:m.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Approving"))):void 0,"paying"==h&&null==f?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",{className:"Card transparent disabled small"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(mG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Confirm transaction in your wallet"))))):"success"==h?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",null,kx.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),0==n&&0==r||r&&i?null:r&&0==i?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Payment validated"))))):kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Validating payment",s&&k>0&&kx.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",k,"s"))))))):void 0,v?kx.createElement("div",null,kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Price updated!"))),kx.createElement("button",{className:"ButtonPrimary",onClick:function(){b()}},"Reload")):g?kx.createElement("div",null,kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Pay")):"initialized"!=h&&"approving"!=h||!l.route?"paying"==h?kx.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Paying")):"success"==h?1==n?o?a?kx.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Continue"):kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Close"):void 0:kx.createElement("button",{className:["ButtonPrimary",l.route.approvalRequired&&!l.route.directTransfer?"disabled":""].join(" "),onClick:function(){l.route.approvalRequired&&!l.route.directTransfer||d()}},"Pay"))},bG=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.fixedAmount,i=kx.useContext(IF),o=i.slowRouting,a=i.selectedRoute;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment")),alternativeHeaderAction:t.alternativeHeaderAction,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&kx.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},kx.createElement("strong",null,"Loading payment options...")))})},wG=function(t){var e=kx.useContext(KB),n=e.currencyCode,r=e.recover,i=e.amount,o=e.currency,a=e.title,s=kx.useContext(XH),u=s.payment,c=s.paymentState,l=kx.useContext(MF),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,m=kx.useContext(sR).disconnect,g=kx.useContext(uG),y=g.paymentValue,v=g.displayedPaymentValue,b=kx.useContext(Pz).navigate,w=QA(kx.useState(!1),2),M=w[0],k=w[1],A=null!=i&&i.token?null:n,x=kx.createElement("span",{className:"DropDownWrapper"},kx.createElement("button",{type:"button",onClick:function(){return k(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},kx.createElement(rP,null)),M&&kx.createElement(nP,{hide:function(){return k(!1)},items:[{label:"Disconnect wallet",action:m}]}));if(null==u||null==r&&null==y)return kx.createElement(bG,{alternativeHeaderAction:x});var E=L.findByName(u.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:x,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&b("ChangeAmount")}},kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},A&&kx.createElement("div",{className:"TokenAmountRow"},new tR({amount:h.toFixed(2),code:n}).toString()),!A&&kx.createElement("div",{className:"TokenAmountRow"},h)))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&b("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:u.name},kx.createElement(eG,{blockchain:u.blockchain,address:u.token}),kx.createElement("img",{className:"BlockchainLogo small "+E.name,src:E.logo,alt:E.label,title:E.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},d&&!p&&kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},u.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(u.amount))),v!="".concat(u.symbol," ").concat(hR(u.amount))&&!(d&&!p)&&!1!==o&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},v))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},MG=function(){kx.useContext(XH).transaction;var t=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t("back")}},"Try again"))})},kG=function(){var t=kx.useContext(oG).continueTryTracking;kx.useContext(XH).transaction;var e=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t(),e("back")}},"Try again"))})},LG=function(t){var e=kx.useContext(XH).payment,n=kx.useContext(sR).wallet,r=kx.useContext(Pz).navigate,i=QA(kx.useState(!1),2);i[0],i[1];var o=L.findByName(e.route.blockchain);return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:o.logo})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(e.blockchain),r("back")}},"Switch Network"))})},AG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator,o=kx.useContext(sR).account,a=QA(kx.useState(),2),s=a[0],u=a[1];return kx.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),kx.createElement(Uz,{setNavigator:function(t){u(t),i(t)},open:n,close:r,start:"PaymentOverview",container:t.container,document:t.document,dialogs:{PaymentOverview:kx.createElement(wG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null),TrackingFailed:kx.createElement(kG,null),PreTrackingFailed:kx.createElement(MG,null)}})},xG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,r=[Yk.from("payments"),new Av(n).toBuffer()],t.next=4,Av.findProgramAddress(r,new Av("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=t.sent,o=QA(i,1),a=o[0],t.abrupt("return",a);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),EG=function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,t.next=3,xG({account:n});case 3:return r=t.sent.toString(),t.next=6,CL({blockchain:"solana",address:r,api:eL([oL("anchorDiscriminator"),oL("nonce")])});case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),NG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.blockchain,r=e.transaction,i=e.account,o=e.wallet,n||(n=r.blockchain),!Nx.evm.includes(n)){t.next=13;break}if(!r||null==r||!r.nonce){t.next=7;break}return t.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){t.next=11;break}return t.next=10,o.transactionCount({blockchain:n,address:i});case 10:return t.abrupt("return",t.sent.toString());case 11:t.next=22;break;case 13:if(!Nx.solana.includes(n)){t.next=22;break}return t.next=16,EG({account:i});case 16:if(!(s=t.sent)){t.next=21;break}return t.abrupt("return",s.nonce.toString());case 21:return t.abrupt("return","0");case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),SG=function(t){kx.useContext(xB).errorCallback;var n=kx.useContext(KB),r=n.track,i=n.validated;n.failed;var o=n.integration,a=n.link,s=n.type,u=kx.useContext(sR),l=u.account,h=u.wallet,d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState(),2),b=v[0],w=v[1],M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(),2);A[0],A[1];var x=QA(kx.useState(),2),E=x[0],N=x[1],S=QA(kx.useState(!1),2),I=S[0],T=S[1],j=QA(kx.useState(!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],C=QA(kx.useState(!(!r||1!=r.async)),1)[0],D=QA(kx.useState(!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],O=QA(kx.useState(!1),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=kx.useContext(Lx).setClosable,Q=kx.useContext(nR),W=Q.navigate,F=Q.set,Y=function n(r){var o=new WebSocket("wss://integrate.depay.com/cable");o.onopen=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=r.blockchain,t.t2=r.from,t.next=5,NG({transaction:r,account:l,wallet:h});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"PaymentChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),n={command:"subscribe",identifier:t.t5},o.send(JSON.stringify(n));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),o.onclose=function(t){t&&1e3==t.code||n(r)},o.onmessage=function(e){var n=JSON.parse(e.data);if("ping"!==n.type&&n.message){var r="success"==n.message.status;i&&setTimeout((function(){return i(r,n.message)}),200),n.message.release?(o.close(1e3),r?(z(!0),U(!0),R(n.message.forward_to),n.message.forward_to&&setTimeout((function(){t.document.location.href=n.message.forward_to}),200)):0==r&&(U(!0),F(["PaymentFailed"]))):n.message.confirmations&&(y(n.message.confirmations.required),w(n.message.confirmations.passed))}},o.onerror=function(t){console.log("WebSocket Error: "+t)}},H=function(t,e,n,i){(i=parseInt(i||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){Z(t,e,n,i+1)}),3e3):W("TrackingFailed")},G=function(t){if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(t){if(200==t.status||201==t.status)return t;throw t}));if(r.method)return r.method(t);throw"No tracking defined!"},Z=function(){var t=e(c.mark((function t(e,n,r,i){var o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=G,t.t1=e.blockchain,t.t2=e.id,t.t3=e.from,t.next=6,NG({transaction:e,account:l,wallet:h});case 6:t.t4=t.sent,t.t5=n.toString(),t.t6=r.fromToken.address,t.t7=r.fromAmount.toString(),t.t8=r.fromDecimals,t.t9=r.toToken.address,t.t10=r.toAmount.toString(),t.t11=r.toDecimals,t.t12=null==r||null===(o=r.feeAmount)||void 0===o?void 0:o.toString(),t.t13=e.deadline,t.t14={blockchain:t.t1,transaction:t.t2,sender:t.t3,nonce:t.t4,after_block:t.t5,from_token:t.t6,from_amount:t.t7,from_decimals:t.t8,to_token:t.t9,to_amount:t.t10,to_decimals:t.t11,fee_amount:t.t12,deadline:t.t13},(0,t.t0)(t.t14).then((function(t){T(!0)})).catch((function(t){H(e,n,r,i)}));case 18:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}(),V=function(){var n=e(c.mark((function e(n,o,a,s,u){var d,f;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=7,NG({transaction:o,account:l,wallet:h});case 7:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,d={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},f=function(e){e&&(e&&e.forward_to?(U(!0),R(e.forward_to),setTimeout((function(){t.document.location.href=e.forward_to}),200)):U(!0),clearInterval(u),i&&i(!0,e),z(!0))},r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(t){return 200==t.status||201==t.status?t.json().catch((function(){U(!0)})):void 0})).then(f):r.poll.method&&r.poll.method(d).then(f);case 13:case"end":return e.stop()}}),e)})));return function(t,e,r,i,o){return n.apply(this,arguments)}}();kx.useEffect((function(){if(D&&j){var t=setInterval((function(){return V(D,f,k,E,t)}),5e3);return function(){clearInterval(t)}}}),[D,f,k,E]);var J=function(){var t=e(c.mark((function t(e,n,r,i){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.blockchain,t.t4=e.id,t.t5=e.from,t.next=8,NG({transaction:e,account:l,wallet:h});case 8:t.t6=t.sent,t.t7=r.toAddress,t.t8=r.toToken.address,t.t9=Uc(r.toAmount,r.toDecimals),t.t10=n.toString(),t.t11=e.id,t.t12={sender_id:e.from,sender_token_id:r.fromToken.address,sender_amount:Uc(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},t.t13=r.fee?Uc(r.feeAmount,r.toDecimals):null,t.t14=r.fee?r.fee.receiver:null,t.t15=e.deadline,t.t16={blockchain:t.t3,transaction:t.t4,sender:t.t5,nonce:t.t6,receiver:t.t7,token:t.t8,amount:t.t9,confirmations:1,after_block:t.t10,uuid:t.t11,payload:t.t12,fee_amount:t.t13,fee_receiver:t.t14,deadline:t.t15},t.t17=t.t2.stringify.call(t.t2,t.t16),t.t18={headers:t.t1,method:"POST",body:t.t17},(0,t.t0)("https://public.depay.com/payments",t.t18).then((function(t){200==t.status||201==t.status||setTimeout((function(){J(e,n,r,i+1)}),3e3)})).catch((function(t){setTimeout((function(){J(e,n,r,i+1)}),3e3)}));case 22:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}();return kx.createElement(oG.Provider,{value:{synchronousTracking:j,asynchronousTracking:C,initializeTracking:function(t,e,n){J(t,e,n,1),(j||r&&1==r.async)&&Z(t,e,n),0!=j&&(p(t),L(e),N(n),Y(t))},preTrack:function(t,n,i){return j||C?new Promise(function(){var o=e(c.mark((function e(o,a){var s,u;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=n.blockchain,e.t1=l,e.next=4,NG({blockchain:n.blockchain,account:l,wallet:h});case 4:if(e.t2=e.sent,e.t3=t.toString(),e.t4=n.fromToken.address,e.t5=n.fromAmount.toString(),e.t6=n.fromDecimals,e.t7=n.toToken.address,e.t8=n.toAmount.toString(),e.t9=n.toDecimals,e.t10=null==n||null===(s=n.feeAmount)||void 0===s?void 0:s.toString(),e.t11=i.deadline,u={blockchain:e.t0,sender:e.t1,nonce:e.t2,after_block:e.t3,from_token:e.t4,from_amount:e.t5,from_decimals:e.t6,to_token:e.t7,to_amount:e.t8,to_decimals:e.t9,fee_amount:e.t10,deadline:e.t11},!r.endpoint){e.next=19;break}return e.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(t){return 200==t.status||201==t.status?o():a("PRETRACKING REQUEST FAILED")})));case 19:r.method?r.method(u).then(o).catch(a):a("No tracking defined!");case 20:case"end":return e.stop()}}),e)})));return function(t,e){return o.apply(this,arguments)}}()):Promise.resolve()},trackingInitialized:I,continueTryTracking:function(){H(f,k,E,1)},release:_,forwardTo:B,confirmationsRequired:g,confirmationsPassed:b}},t.children)},IG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(sR).account,r=kx.useContext(Ax).updatable,i=kx.useContext(KB),o=i.amount,a=i.currencyCode,s=kx.useContext(MF).amount,u=kx.useContext(XH).payment,c=QA(kx.useState(),2),l=c[0],h=c[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=kx.useContext(KB).currency,b=QA(kx.useState(0),2),w=b[0],M=b[1],k=function(t){var r=t.updatable,i=t.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),y(null),Promise.all([Promise.all(L[i.route.blockchain].stables.usd.map((function(t){return wF({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:t,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):wF({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?bt.from(i.route.toAmount).add(bt.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(t){var e,n=QA(t,2),r=n[0],o=n[1][0];if(o){var a=bt.from(o.amountOut),s=bt.from(i.route.fromAmount),u=100-a.mul(bt.from("100")).div(s).abs().toString();y(u>=10?u:null)}if(L[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=L[i.route.blockchain].tokens.find((function(t){return t.address===i.route.fromToken.address})).decimals;e=Uc(i.route.fromAmount.toString(),c)}else{var l=r.map((function(t){return t?t[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(t){var e=L[i.route.blockchain].tokens.find((function(e){return e.address===t.tokenOut})).decimals;return parseFloat(Uc(t.amountOut,e))})),f=d.reduce((function(t,e){return t+e}))/d.length,p=d.filter((function(t){return t<f+.1*f&&t>f-.1*f}));e=p.length?p.reduce((function(t,e){return t+e}))/p.length:d.reduce((function(t,e){return t+e}))/d.length}tR.fromUSD({amount:e,code:v}).then(h)})).catch(e))};return kx.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new tR({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),kx.useEffect((function(){n&&u&&k({updatable:r,payment:u})}),[u,n]),kx.useEffect((function(){var t=setTimeout((function(){M(w+1),k({updatable:r})}),15e3);return function(){return clearTimeout(t)}}),[w,r]),kx.createElement(uG.Provider,{value:{paymentValue:l,paymentValueLoss:g,displayedPaymentValue:f}},t.children)},TG=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],jG=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(!1),2),l=u[0],h=u[1];kx.useContext(xB).errorCallback;var d=kx.useContext(KB).recover,f=kx.useContext(sR),p=f.account,m=f.wallet;kx.useEffect((function(){if(l){var t=function(){fetch("https://public.depay.com/transactions/".concat(r.blockchain,"/").concat(r.from,"/").concat(r.nonce)).then((function(t){200==t.status&&t.json().then((function(t){"pending"!=t.status&&(s({id:t.external_id,status:t.status}),h(!1))}))}))},e=setInterval(t,5e3);return t(),function(){clearInterval(e)}}}),[l]);var g=function(){var t=e(c.mark((function t(e,n,r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r>3)){t.next=3;break}return console.log("TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!"),t.abrupt("return");case 3:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.id,t.t4=n.toString(),t.t5=e.blockchain,t.t6=e.from,t.next=12,NG({transaction:e,wallet:m,account:p});case 12:t.t7=t.sent,t.t8={id:t.t3,after_block:t.t4,blockchain:t.t5,sender:t.t6,nonce:t.t7},t.t9=t.t2.stringify.call(t.t2,t.t8),t.t10={method:"POST",headers:t.t1,body:t.t9},(0,t.t0)("https://public.depay.com/transactions",t.t10).then((function(t){200==t.status||201==t.status?console.log("TRANSACTION TRACKING INITIALIZED"):(console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3))})).catch((function(t){console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3)}));case 17:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}(),y=function t(n){var r=new WebSocket("wss://integrate.depay.com/cable");r.onopen=function(){var t=e(c.mark((function t(e){var i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=n.blockchain,t.t2=n.from,t.next=5,NG({transaction:n,wallet:m,account:p});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"TransactionChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),i={command:"subscribe",identifier:t.t5},r.send(JSON.stringify(i));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||t(n)},r.onmessage=function(t){var e=JSON.parse(t.data);"ping"!==e.type&&e.message&&e.message.status&&"pending"!=e.message.status&&(s(e.message),r.close(1e3))},r.onerror=function(t){console.log("WebSocket Error: "+t)}},v=function(t,e){Nx.evm.includes(t.blockchain)&&(i(t),null==d&&g(t,e,1),y(t),h(!0))};return kx.useEffect((function(){d&&v({blockchain:d.blockchain,id:d.transaction,from:d.sender,nonce:d.nonce},d.afterBlock)}),[d]),kx.createElement(aG.Provider,{value:{initializeTracking:v,foundTransaction:a}},t.children)},CG=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.accept,!e.recover){t.next=3;break}return t.abrupt("return");case 3:n.forEach((function(t){if(void 0===t.blockchain)throw"You need to set the blockchain your want to receive the payment on!";if(!Nx.includes(t.blockchain))throw"You need to set a supported blockchain!";if(void 0===t.token&&void 0===t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===t.token&&void 0!==t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===t.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),DG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.accept,r=e.amount,i=e.sent,o=e.succeeded,a=e.validated,s=e.failed,u=e.error,l=e.critical,h=e.style,d=e.whitelist,f=e.blacklist,p=e.providers,m=e.currency,g=e.connected,y=e.closed,v=e.track,b=e.recover,w=e.closable,M=e.integration,k=e.link,L=e.container,A=e.before,x=e.wallet,E=e.title,N=e.action,S=e.document,JB(),m&&!TG.includes(m.toLowerCase())&&(m=!1),t.prev=3,t.next=6,CG({accept:n,recover:b});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),I=VB({style:h,container:L,document:wB(S),closed:y},(function(t){return function(e){return kx.createElement(TB,{errorCallback:u,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"payment",before:A,amount:r,accept:n,currency:m,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:d,blacklist:f,providers:p,track:v,recover:b,integration:M,link:k,wallet:x,title:E,action:N}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:w},kx.createElement(mR,{document:S,container:e,connected:g,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:n},kx.createElement(JH,{accept:n,whitelist:d,blacklist:f,event:event,container:e,document:S},kx.createElement(jG,null,kx.createElement(SG,{document:wB(S)},kx.createElement(sG,{container:e,document:S},kx.createElement(IG,null,kx.createElement(AG,{document:S,container:e}),kx.createElement(Xz,null))))))))))))))}})),t.abrupt("return",{unmount:I});case 11:t.prev=11,t.t0=t.catch(3),console.log("critical error",t.t0),null!=l&&l(t.t0);case 15:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e){return t.apply(this,arguments)}}();DG.preload=function(t){var e=t.account,n=t.accept,r=t.whitelist,i=t.blacklist;t.event,HH({account:e,accept:n,whitelist:r,blacklist:i})};var OG=kx.createContext(),_G=kx.createContext(),zG=function(t){var e=kx.useContext(XH).payment,n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){e&&Promise.all([e.route.toToken.symbol(),e.route.toToken.readable(e.route.toAmount)]).then((function(t){var n=QA(t,2),r=n[0],o=n[1];i({address:e.route.toToken.address,symbol:r}),s(o)}))}),[e]),kx.createElement(_G.Provider,{value:{toToken:r,toTokenReadableAmount:a}},t.children)},PG=function(t){var e=kx.useContext(MF),n=e.acceptWithAmount,r=e.setMaxRoute,i=kx.useContext(KB).sell,o=kx.useContext(KB).blacklist;for(var a in null==o&&(o={}),i){var s=i[a];o[a]instanceof Array?o[a].push(s):o[a]=[s]}return kx.createElement(OG.Provider,{value:{}},kx.createElement(VH,{accept:n,blacklist:o,setMaxRoute:r},kx.createElement(sG,{container:t.container,document:t.document},kx.createElement(IG,null,kx.createElement(zG,null,t.children)))))},BG=function(t){return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},RG=function(t){kx.useContext(MF).amount;var e,n=kx.useContext(KB),r=n.tokenImage,i=n.amount,o=kx.useContext(uG).paymentValue,a=kx.useContext(XH),s=a.payment,u=a.paymentState,c=kx.useContext(Pz).navigate,l=kx.useContext(_G),h=l.toToken,d=l.toTokenReadableAmount,f=QA(kx.useState(),2),p=f[0],m=f[1];if(kx.useEffect((function(){if(o&&(null==i||1!=i.token)&&d){var t=o.amount/parseFloat(d),e=new tR({amount:t,code:o.code}).toString();e!=new tR({amount:0,code:o.code}).toString()&&m(e)}}),[o,d]),null==h||null==d||null==s||null==o)return kx.createElement(BG,null);e=r?kx.createElement("img",{src:r}):kx.createElement(eG,{blockchain:s.route.blockchain,address:h.address});var g=L.findByName(s.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:["Card","initialized"==u?"":"disabled"].join(" "),title:"initialized"==u?"Change amount":void 0,onClick:function(){"initialized"==u&&c("ChangeAmount")}},kx.createElement("div",{className:"CardImage",title:s.name},e,kx.createElement("img",{className:"BlockchainLogo small "+g.name,src:g.logo,alt:g.label,title:g.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},h.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(d)))),p&&kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,p," per token")))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==u?"":"disabled"].join(" "),title:"initialized"==u?"Change payment":void 0,onClick:function(){"initialized"==u&&c("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:s.name},kx.createElement(eG,{blockchain:s.route.blockchain,address:s.token})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},s.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(s.amount)))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},UG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator;return kx.createElement(Uz,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:t.container,document:t.document,dialogs:{SaleOverview:kx.createElement(RG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null)}})},QG=function(){var t=e(c.mark((function t(e){var r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("object"==n(r=e.sell)){t.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(r).length){t.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(r).length){t.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),WG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.amount,r=e.sell,i=e.sent,o=e.succeeded,a=e.failed,s=e.error,u=e.critical,l=e.style,h=e.blacklist,d=e.providers,f=e.currency,p=e.connected,m=e.closed,g=e.tokenImage,y=e.closable,v=e.integration,b=e.wallet,w=e.document,JB(),t.prev=2,t.next=5,QG({sell:r});case 5:return M=Object.keys(r).map((function(t){return{blockchain:t,token:r[t]}})),k=VB({style:l,document:wB(w),closed:m},(function(t){return function(e){return kx.createElement(TB,{errorCallback:s,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"sale",tokenImage:g,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:h,providers:d,integration:v,wallet:b}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:y},kx.createElement(mR,{container:e,connected:p,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:M},kx.createElement(jG,null,kx.createElement(SG,{document:wB(w)},kx.createElement(PG,{container:e,document:w},kx.createElement(UG,{document:w,container:e}),kx.createElement(Xz,null))))))))))))}})),t.abrupt("return",{unmount:k});case 10:t.prev=10,t.t0=t.catch(2),console.log("critical error",t.t0),null!=u&&u(t.t0);case 14:case"end":return t.stop()}}),t,null,[[2,10]])})));return function(e){return t.apply(this,arguments)}}();function FG(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===t)return t;var n="";return n+=t.slice(0,e+2),n+="...",n+=t.slice(t.length-e,t.length)}var YG=function(t){var e,n,r,i,o;return o=Math.floor(t/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,e=Math.floor(n/30),n%=30,{year:Math.floor(e/12),month:e%=12,day:n,hour:r,minute:i,second:o}};function HG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function GG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?HG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):HG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ZG=function(t){var e,n,r=kx.useContext(Kz),i=r.selection;r.setSelection;var o,a,s=kx.useContext(Lx).setOpen,u=kx.useContext(Pz).navigate;i.nft.createdAt&&(o=[(o=YG(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" ")),i.nft.holders&&(a=i.nft.holders>1e6?"Millions":i.nft.holders>1e5?"Hundreds of Thousands":i.nft.holders>2e3?"Thousands":i.nft.holders>100?"Hundreds":"Only a Few!!!");var c=(null===(e=i.nft)||void 0===e?void 0:e.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==c)return u("SelectBlockchain"),null;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&kx.createElement("img",{src:i.nft.image})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i.nft.address,href:L.findByName(c).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},FG(i.nft.address,6))))),i.nft.id&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Token ID")),kx.createElement("td",null,kx.createElement("div",null,i.nft.id))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,L.findByName(c).label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),o&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,o))),a&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,a))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){s(!1),t.resolve(GG(GG({},i.nft),{},{blockchain:c})),setTimeout(t.unmount,300)}},"Confirm"))})},VG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjMuMjUwODg5bW0iIGhlaWdodD0iNjMuMjUwODg5bW0iIHZpZXdCb3g9IjAgMCA2My4yNTA4ODYgNjMuMjUwODg4Ij4KICA8ZyBmaWxsPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC42MzI1KSI+CiAgICA8cGF0aCBmaWxsPSIjMjA4MWUyIiBkPSJNMTAwIDUwYzAgMjcuNjEyNy0yMi4zODczIDUwLTUwIDUwUzAgNzcuNjEyNyAwIDUwIDIyLjM4NzMgMCA1MCAwYzI3LjYxODUgMCA1MCAyMi4zODczIDUwIDUweiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTI0LjY2NzkgNTEuNjgwMS4yMTU3LS4zMzkxIDEzLjAwNy0yMC4zNDc4Yy4xOTAxLS4yOTc5LjYzNy0uMjY3MS43ODA4LjA1NjUgMi4xNzMgNC44Njk5IDQuMDQ4IDEwLjkyNjUgMy4xNjk2IDE0LjY5NzEtLjM3NSAxLjU1MTQtMS40MDI0IDMuNjUyNC0yLjU1ODMgNS41OTQyLS4xNDg5LjI4MjYtLjMxMzMuNTYtLjQ4OC44MjcxLS4wODIyLjEyMzMtLjIyMDkuMTk1Mi0uMzY5OS4xOTUySDI1LjA0OGMtLjM1OTYgMC0uNTcwMi0uMzkwNC0uMzgwMS0uNjgzMnoiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik04Mi42NDQ0IDU1LjQ2MXYzLjIyMDljMCAuMTg0OS0uMTEzLjM0OTMtLjI3NzQuNDIxMi0xLjAwNjguNDMxNS00LjQ1MzggMi4wMTM3LTUuODg3IDQuMDA2OS0zLjY1NzYgNS4wOTA4LTYuNDUyMSAxMi4zNy0xMi42OTg4IDEyLjM3SDM3LjcyMUMyOC40ODQ3IDc1LjQ4IDIxIDY3Ljk2OTcgMjEgNTguNzAyNHYtLjI5NzljMC0uMjQ2Ni4yMDAzLS40NDY5LjQ0NjktLjQ0NjloMTQuNTI3NmMuMjg3NiAwIC40OTgyLjI2NzEuNDcyNi41NDk2LS4xMDI4Ljk0NTIuMDcxOSAxLjkxMS41MTg4IDIuNzg5NC44NjMgMS43NTE4IDIuNjUwNyAyLjg0NiA0LjU4MjIgMi44NDZINDguNzR2LTUuNjE0OGgtNy4xMDk3Yy0uMzY0NyAwLS41ODA0LS40MjEzLS4zNjk4LS43MTkyLjA3Ny0uMTE4Mi4xNjQ0LS4yNDE0LjI1NjgtLjM4MDEuNjczLS45NTU1IDEuNjMzNi0yLjQ0MDEgMi41ODkxLTQuMTMwMi42NTI0LTEuMTQwNCAxLjI4NDItMi4zNTc5IDEuNzkyOC0zLjU4MDUuMTAyOC0uMjIwOS4xODQ5LS40NDcuMjY3MS0uNjY3OS4xMzg3LS4zOTA0LjI4MjYtLjc1NTEuMzg1My0xLjExOTguMTAyOC0uMzA4My4xODQ5LS42MzE5LjI2NzEtLjkzNS4yNDE1LTEuMDM3Ny4zNDQyLTIuMTM3LjM0NDItMy4yNzc0IDAtLjQ0NjktLjAyMDUtLjkxNDQtLjA2MTYtMS4zNjEzLS4wMjA2LS40ODgtLjA4MjItLjk3NjEtLjE0MzktMS40NjQxLS4wNDExLS40MzE1LS4xMTgxLS44NTc5LS4yMDAzLTEuMzA0OC0uMTAyNy0uNjUyNC0uMjQ2Ni0xLjI5OTYtLjQxMS0xLjk1MjFsLS4wNTY1LS4yNDY1Yy0uMTIzMy0uNDQ3LS4yMjYtLjg3MzMtLjM2OTgtMS4zMjAyLS40MDU5LTEuNDAyNS0uODczMy0yLjc2ODktMS4zNjY1LTQuMDQ4LS4xNzk4LS41MDg2LS4zODUzLS45OTY2LS41OTA4LTEuNDg0Ni0uMzAzLS43MzQ2LS42MTEzLTEuNDAyNC0uODkzOC0yLjAzNDMtLjE0MzgtLjI4NzctLjI2NzEtLjU0OTctLjM5MDQtLjgxNjgtLjEzODctLjMwMzEtLjI4MjUtLjYwNjItLjQyNjQtLjg5MzgtLjEwMjctLjIyMDktLjIyMDktLjQyNjQtLjMwMzEtLjYzMTlsLS44Nzg0LTEuNjIzM2MtLjEyMzMtLjIyMDkuMDgyMi0uNDgyOS4zMjM2LS40MTYxbDUuNDk2NyAxLjQ4OTdoLjAxNTRjLjAxMDIgMCAuMDE1NC4wMDUyLjAyMDUuMDA1MmwuNzI0My4yMDAzLjc5NjMuMjI2MS4yOTI4LjA4MjF2LTMuMjY3MUM0OC43NCAyMS4yNzkxIDUwLjAwMzcgMjAgNTEuNTY1NCAyMGMuNzgwOCAwIDEuNDg5Ny4zMTg1IDEuOTk4My44MzczLjUwODUuNTE4OS44MjcgMS4yMjc4LjgyNyAyLjAxODl2NC44NDk0bC41ODU3LjE2NDNjLjA0NjIuMDE1NS4wOTI0LjAzNi4xMzM1LjA2NjguMTQzOS4xMDc5LjM0OTMuMjY3MS42MTEzLjQ2MjQuMjA1NS4xNjQzLjQyNjQuMzY0Ny42OTM1LjU3MDIuNTI5MS40MjYzIDEuMTYxLjk3NiAxLjg1NDUgMS42MDc5LjE4NDkuMTU5Mi4zNjQ3LjMyMzYuNTI5MS40ODguODkzOS44MzIyIDEuODk1NiAxLjgwODIgMi44NTExIDIuODg3LjI2NzEuMzAzMS41MjkxLjYxMTMuNzk2Mi45MzQ5LjI2NzEuMzI4OC41NDk3LjY1MjQuNzk2Mi45NzYxLjMyMzcuNDMxNS42NzMuODc4NC45NzYxIDEuMzQ1OS4xNDM4LjIyMDkuMzA4Mi40NDY5LjQ0NjkuNjY3OC4zOTA0LjU5MDcuNzM0NiAxLjIwMjEgMS4wNjM0IDEuODEzNC4xMzg3LjI4MjUuMjgyNS41OTA3LjQwNTguODkzOC4zNjQ3LjgxNjguNjUyNCAxLjY0OS44MzczIDIuNDgxMi4wNTY1LjE3OTguMDk3Ni4zNzUuMTE4Mi41NDk3di4wNDExYy4wNjE2LjI0NjUuMDgyMi41MDg1LjEwMjcuNzc1Ni4wODIyLjg1MjguMDQxMSAxLjcwNTUtLjE0MzggMi41NjM0LS4wNzcxLjM2NDgtLjE3OTguNzA4OS0uMzAzMSAxLjA3MzctLjEyMzMuMzQ5My0uMjQ2Ni43MTQtLjQwNTggMS4wNTgyLS4zMDgyLjcxNC0uNjczIDEuNDI4MS0xLjEwNDUgMi4wOTU5LS4xMzg3LjI0NjYtLjMwMzEuNTA4Ni0uNDY3NS43NTUyLS4xNzk4LjI2MTktLjM2NDcuNTA4NS0uNTI5MS43NS0uMjI2LjMwODItLjQ2NzQuNjMxOC0uNzE0LjkxOTUtLjIyMDkuMzAzMS0uNDQ2OS42MDYyLS42OTM1Ljg3MzMtLjM0NDIuNDA1OC0uNjczLjc5MTEtMS4wMTcyIDEuMTYxLS4yMDU0LjI0MTQtLjQyNjMuNDg4LS42NTI0LjcwODktLjIyMDguMjQ2NS0uNDQ2OS40Njc0LS42NTI0LjY3MjktLjM0NDEuMzQ0Mi0uNjMxOC42MTEzLS44NzMzLjgzMjJsLS41NjUuNTE4OWMtLjA4MjIuMDcxOS0uMTkwMS4xMTMtLjMwMzEuMTEzaC00LjM3Njh2NS42MTQ4aDUuNTA2OWMxLjIzMjkgMCAyLjQwNDItLjQzNjcgMy4zNDk0LTEuMjM4MS4zMjM2LS4yODI1IDEuNzM2My0xLjUwNTEgMy40MDU4LTMuMzQ5My4wNTY1LS4wNjE3LjEyODUtLjEwNzkuMjEwNy0uMTI4NGwxNS4yMTA3LTQuMzk3M2MuMjgyNi0uMDgyMi41NzAyLjEzMzUuNTcwMi40MzE1eiIvPgogIDwvZz4KPC9zdmc+",JG=function(t){var n,r,i,o,a,s,u=kx.useContext(Pz).navigate,l=kx.useContext(Kz),h=l.selection,d=l.setSelection,f=QA(kx.useState(""),2),p=f[0],m=f[1],g=QA(kx.useState(""),2),y=g[0],v=g[1],b=QA(kx.useState(""),2),w=b[0],M=b[1],k=QA(kx.useState(""),2),A=k[0],x=k[1],E=QA(kx.useState(!1),2),N=E[0],S=E[1];return kx.useEffect((function(){var t,n,r=(null==h||null===(t=h.blockchain)||void 0===t?void 0:t.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain),i=function(){var t=e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r){t.next=10;break}return t.prev=1,t.next=4,CL({blockchain:r,address:h.nft.address,method:"balanceOf",api:YR[r][1155],params:["0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02","1"]});case 4:e=t.sent,t.next=9;break;case 7:t.prev=7,t.t0=t.catch(1);case 9:e&&S(!0);case 10:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(){return t.apply(this,arguments)}}();i()}),[h.blockchain]),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG}))))),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTBlockchain"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Select Blockchain"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("div",{className:"Card small",onClick:function(){return u("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:null===(n=L.findByName((null==h||null===(r=h.blockchain)||void 0===r?void 0:r.name)||(null==h?void 0:h.blockchain)||(null==h||null===(i=h.collection)||void 0===i?void 0:i.blockchain)))||void 0===n?void 0:n.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},null===(o=L.findByName((null==h||null===(a=h.blockchain)||void 0===a?void 0:a.name)||(null==h?void 0:h.blockchain)||(null==h||null===(s=h.collection)||void 0===s?void 0:s.blockchain)))||void 0===o?void 0:o.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))))),N&&kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:p,onChange:function(t){return m(t.target.value)},className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter NFT Name"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:A,onChange:function(t){return x(t.target.value)},placeholder:"CryptoPunks",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Image URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:y,onChange:function(t){return v(t.target.value)},placeholder:"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Link URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:w,onChange:function(t){return M(t.target.value)},placeholder:"https://opensea.io/collection/cryptopunks",className:"Search"})))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:["ButtonPrimary",y.length&&w.length&&A.length&&(!N||p.length)?"":"disabled"].join(" "),onClick:function(){y.length&&w.length&&A.length&&(!N||p.length)&&function(){var e,n,r=(null==h||null===(e=h.blockchain)||void 0===e?void 0:e.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain);d(Object.assign(t.selection,{nft:{blockchain:r,id:p,image:y,name:A,link:w,address:h.nft.address,type:N?"1155":"721"}})),u("ConfirmNFTSelection")}()}},"Continue"))})},qG={ethereum:"ethereum",matic:"polygon,"},XG=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz).setSelection,m=function(e){p(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},g=function(t){return new Promise((function(e,n){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(t)).then((function(t){if(200!=t.status)return e();t.json().then((function(t){return e(t.assets?t.assets[0]:void 0)})).catch((function(){return e()}))})).catch((function(){return e()}))}))},y=kx.useCallback(pR.debounce((function(n){fetch("https://api.opensea.io/api/v1/asset_contract/".concat(n)).then((function(i){200==i.status?i.json().then(function(){var i=e(c.mark((function e(i){var o,s,u,h,d,y,v,b,w,M;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("non-fungible"!=i.asset_contract_type){e.next=8;break}return e.next=3,g(n);case 3:(h=e.sent)&&(s=null!=h&&h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,u=null==h||null===(d=h.collection)||void 0===d||null===(y=d.stats)||void 0===y?void 0:y.num_owners),o={blockchain:s,holders:u,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"721"},e.next=22;break;case 8:if("semi-fungible"!=i.asset_contract_type){e.next=21;break}if("OPENSTORE"!=i.symbol||"OpenSea Collection"!=i.name){e.next=13;break}o={id:null,address:ln(i.address),type:"1155"},e.next=19;break;case 13:return e.next=15,g(n);case 15:w=e.sent,M=null!=w&&w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,null==w||null===(v=w.collection)||void 0===v||null===(b=v.stats)||void 0===b||b.num_owners,o={blockchain:M,id:null,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"1155"};case 19:e.next=22;break;case 21:i.address&&(o={address:ln(i.address)});case 22:o&&(null==o.type?(p(Object.assign(t.selection,{nft:o,blockchain:o.blockchain||"polygon"})),r("EnterNFTDataForOpenSea"),a("")):null!==o.id?(m(o),f([o]),r("ConfirmNFTSelection")):(p(Object.assign(t.selection,{nft:o})),r("SelectNFTIdOnOpenSea"),a(""))),l(!1);case 24:case"end":return e.stop()}}),e)})));return function(t){return i.apply(this,arguments)}}()).catch((function(){l(!1)})):l(!1)})).catch((function(){l(!1)}))}),500),[]);return n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return m(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterContractAddress"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter contract address"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterContractAddress",name:"DePayWidgetsEnterContractAddress",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?y(e):l(!1)},className:"Search",autoFocus:!0,placeholder:"0x495f947276749ce646f68ac8c248420045cb7b5e"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})};function KG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $G(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?KG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):KG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var tZ={ethereum:"ethereum",matic:"polygon,"},eZ=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz),m=p.selection,g=p.setSelection,y=function(e){g(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},v=kx.useCallback(pR.debounce((function(t){fetch("https://api.opensea.io/api/v1/asset/".concat(m.nft.address,"/").concat(t)).then((function(t){if(200!=t.status)return resolve();t.json().then(function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=null!=e&&e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,r=$G($G({},m.nft),{},{blockchain:n,id:e.token_id,image:e.image_url,name:e.name,link:e.permalink}),f([r]),y(r),l(!1);case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(){l(!1)}))})).catch((function(){l(!1)}))}),500),[]);return kx.useEffect((function(){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(m.nft.address)).then((function(t){if(200!=t.status)return resolve();t.json().then((function(t){if(t.assets.length<=6){var e=t.assets.map((function(t){var e=null!=t&&t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0;return $G($G({},m.nft),{},{blockchain:e,id:t.token_id,image:t.image_url,name:t.name,link:t.permalink})}));f(e),1==e.length&&y(e[0])}}))}))}),[]),n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return y(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterCollectionId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterCollectionId",name:"DePayWidgetsEnterCollectionId",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?v(e):l(!1)},className:"Search",placeholder:"35347623114821255323888368639026081793120226253597860997754787918389704654849"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})},nZ=function(t){var e=kx.useContext(Pz).navigate,n=[{name:"OpenSea",navigate:"SelectNFTContractOnOpenSea",logo:VG}].map((function(t,n){return kx.createElement("div",{key:n,className:"Card Row",onClick:function(){return function(t){e(t.navigate)}(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.logo})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:t.name},kx.createElement("span",{className:"CardText"},t.name)),kx.createElement("div",{className:"CardTokenName PaddingTopXS"},kx.createElement(fG,null))))}));return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select NFT")),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Choose which marketplace"))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},n)})},rZ=function(t){kx.useContext(KB).what;var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(Kz),o=i.selection;i.setSelection;var a=QA(kx.useState(),2);a[0];var s,u=a[1];return s="SelectMarketplace",kx.createElement(Uz,{open:n,close:r,start:s,container:t.container,document:t.document,setNavigator:function(t){u(t)},dialogs:{SelectMarketplace:kx.createElement(nZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTContractOnOpenSea:kx.createElement(XG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTIdOnOpenSea:kx.createElement(eZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),EnterNFTDataForOpenSea:kx.createElement(JG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmNFTSelection:kx.createElement(ZG,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},iZ=function(t){var e=kx.useContext(Kz).selection,n=kx.useContext(Lx).setOpen,r=e.token,i=r.address||r.external_id,o=r.logo||r.image,a=L.findByName(r.blockchain),s=r.first_transfer?YG(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},o&&kx.createElement("img",{src:o}),!o&&kx.createElement(eG,{blockchain:r.blockchain,address:i})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},FG(i,8))))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,a.label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Symbol")),kx.createElement("td",null,kx.createElement("div",null,r.symbol))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("div",null,r.name))),s&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,s))),u&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,u))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),t.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(t.unmount,300)}},"Confirm"))})},oZ=function(t){var n=kx.useContext(Pz).navigate,r=kx.useContext(Lx).setOpen,i=kx.useContext(Kz).setSelection,o=QA(kx.useState(!1),2),a=o[0],s=o[1],u=QA(kx.useState(""),2),l=u[0],h=u[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(!1),2),g=m[0],y=m[1],v=QA(kx.useState([]),2),b=v[0],w=v[1],M=QA(kx.useState(),2);M[0],M[1];var k=kx.useRef(),A=function(e){var n=L.findByName(e);p(n),i(Object.assign(t.selection,{blockchain:n,token:void 0})),w(n.tokens)};kx.useEffect((function(){e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,BA();case 2:(e=t.sent[0])?e.connectedTo().then((function(t){var e=L.findByName(t);window._depay_token_selection_selected_blockchain?A(window._depay_token_selection_selected_blockchain):t&&t.length&&e&&e.tokens&&e.tokens.length?A(t):A("ethereum")})).catch((function(){return A("ethereum")})):A("ethereum");case 4:case"end":return t.stop()}}),t)})))()}),[]),kx.useEffect((function(){t.selection.blockchain&&(p(t.selection.blockchain),w(t.selection.blockchain.tokens),k.current&&(k.current.value="",k.current.focus()))}),[t.selection,t.selection.blockchain]);var x,E=kx.useCallback(pR.debounce((function(t,e){fetch("https://public.depay.com/tokens/search?blockchain=".concat(e,"&term=").concat(t)).then((function(t){200==t.status?t.json().then((function(t){w(t),s(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return x=a?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:b.map((function(e,o){return kx.createElement("div",{key:"".concat(o,"-").concat(e.address),className:"Card Row",onClick:function(){return function(e){e.address&&e.address.match("0x")&&(e.address=ln(e.address)),e.external_id&&e.external_id.match("0x")&&(e.external_id=ln(e.external_id)),f.tokens.find((function(t){return t.address==(e.address||e.external_id)}))?(r(!1),t.resolve({blockchain:f.name,address:e.address||e.external_id,logo:e.logo||e.image,name:e.name,symbol:e.symbol,decimals:e.decimals,routable:!0}),setTimeout(t.unmount,300)):(i(Object.assign(t.selection,{token:e})),n("ConfirmTokenSelection"))}(e)}},kx.createElement("div",{className:"CardImage"},e.logo&&kx.createElement("img",{src:e.logo}),e.image&&kx.createElement("img",{src:e.image}),!(e.logo||e.image)&&kx.createElement(eG,{blockchain:e.blockchain,address:e.external_id||e.address})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:e.symbol},kx.createElement("span",{className:"CardText"},e.symbol)),kx.createElement("div",{className:"CardTokenName",title:e.name},kx.createElement("span",{className:"CardText"},e.name))))})),null==f?null:kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS"},kx.createElement("div",{className:"Card small",onClick:function(){n("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:f.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},f.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("input",{value:l,onBlur:function(){return y(!1)},onChange:function(t){y(!1),s(!0);var e=t.target.value;if(h(e),e.match(/^0x/)){var n;w([]);try{n=new YR({blockchain:f.name,address:e})}catch(t){}if(null==n)return void s(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(f.name,"/").concat(e)).then((function(t){if(200==t.status)return t.json()}))]).then((function(t){var n=QA(t,4),r=n[0],i=n[1],o=n[2],a=n[3];w([{name:r,symbol:i,decimals:o,address:e,blockchain:f.name,routable:!!a}]),s(!1)}))}else e&&e.length?(w([]),E(e,f.name)):(w(f.tokens),s(!1))},className:"Search",autoFocus:!0,placeholder:"Search name or paste address",ref:k}),g&&kx.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},kx.createElement("div",{className:"Tooltip"},kx.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},x),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},kx.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),k.current&&(k.current.value="",k.current.focus())}},"Token missing? Add it.")))})},aZ=function(t){kx.useContext(KB).what;var e,n=kx.useContext(Lx),r=n.open,i=n.close,o=kx.useContext(Kz).selection;return e="SelectToken",kx.createElement(Uz,{open:r,close:i,start:e,container:t.container,document:t.document,dialogs:{SelectToken:kx.createElement(oZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmTokenSelection:kx.createElement(iZ,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},sZ={Connect:function(t){var r,i,o;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(a){return kx.createElement(TB,{errorCallback:i,container:a,unmount:t},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,kx.createElement(bB,{document:o,container:a,resolve:e,reject:n,autoClose:!0}),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Login:function(t){var r,i,o,a,s,u,l;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.message,s=t.endpoint,u=t.recover,l=t.wallet),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{message:a,endpoint:s||"/login",recoverSignature:u,wallet:l}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(mR,{container:n,unmount:t},kx.createElement(cR,{document:o,container:n,resolve:function(n){var r=n.account,i=n.wallet;t(),e({account:r,wallet:i})}}),kx.createElement(Xz,null))))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Payment:DG,Sale:WG,Select:function(t){var r,i,o,a,s;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.what),null==a?s='"what" needs to be configured!':["token","nft"].indexOf(a)<0&&(s='Unknown "what" configured: '.concat(a,"!")),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{error:s,errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{what:a}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,"token"==a&&kx.createElement(aZ,{document:o,container:n,unmount:t,resolve:e}),"nft"==a&&kx.createElement(rZ,{document:o,container:n,unmount:t,resolve:e})),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Loading:aR};export{sZ as default};
183
+ var HR,GR,ZR=9e15,VR=1e9,JR="0123456789abcdef",qR="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",XR="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",KR={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ZR,maxE:ZR,crypto:!1},$R=!0,tU="[DecimalError] ",eU=tU+"Invalid argument: ",nU=tU+"Precision limit exceeded",rU=tU+"crypto unavailable",iU="[object Decimal]",oU=Math.floor,aU=Math.pow,sU=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,uU=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,cU=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lU=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hU=1e7,dU=7,fU=qR.length-1,pU=XR.length-1,mU={toStringTag:iU};function gU(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",(n=dU-r.length)&&(o+=NU(n)),o+=r;a=t[e],(n=dU-(r=a+"").length)&&(o+=NU(n))}else if(0===a)return"0";for(;a%10==0;)a/=10;return o+a}function yU(t,e,n){if(t!==~~t||t<e||t>n)throw Error(eU+t)}function vU(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=dU,i=0):(i=Math.ceil((e+1)/dU),e%=dU),o=aU(10,dU-e),s=t[i]%o|0,null==r?e<3?(0==e?s=s/100|0:1==e&&(s=s/10|0),a=n<4&&99999==s||n>3&&49999==s||5e4==s||0==s):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==aU(10,e-2)-1||(s==o/2||0==s)&&0==(t[i+1]/o/100|0):e<4?(0==e?s=s/1e3|0:1==e?s=s/100|0:2==e&&(s=s/10|0),a=(r||n<4)&&9999==s||!r&&n>3&&4999==s):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==aU(10,e-3)-1,a}function bU(t,e,n){for(var r,i,o=[0],a=0,s=t.length;a<s;){for(i=o.length;i--;)o[i]*=e;for(o[0]+=JR.indexOf(t.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(void 0===o[r+1]&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}mU.absoluteValue=mU.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),MU(t)},mU.ceil=function(){return MU(new this.constructor(this),this.e+1,2)},mU.clampedTo=mU.clamp=function(t,e){var n=this,r=n.constructor;if(t=new r(t),e=new r(e),!t.s||!e.s)return new r(NaN);if(t.gt(e))throw Error(eU+e);return n.cmp(t)<0?t:n.cmp(e)>0?e:new r(n)},mU.comparedTo=mU.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,u=o.s,c=t.s;if(!a||!s)return u&&c?u!==c?u:a===s?0:!a^u<0?1:-1:NaN;if(!a[0]||!s[0])return a[0]?u:s[0]?-c:0;if(u!==c)return u;if(o.e!==t.e)return o.e>t.e^u<0?1:-1;for(e=0,n=(r=a.length)<(i=s.length)?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^u<0?1:-1;return r===i?0:r>i^u<0?1:-1},mU.cosine=mU.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?i=(1/PU(4,n=Math.ceil(r/3))).toString():(n=16,i="2.3283064365386962890625e-10");t.precision+=n,e=zU(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(2==GR||3==GR?n.neg():n,t,e,!0)):new r(1):new r(NaN)},mU.cubeRoot=mU.cbrt=function(){var t,e,n,r,i,o,a,s,u,c,l=this,h=l.constructor;if(!l.isFinite()||l.isZero())return new h(l);for($R=!1,(o=l.s*aU(l.s*l,1/3))&&Math.abs(o)!=1/0?r=new h(o.toString()):(n=gU(l.d),(o=((t=l.e)-n.length+1)%3)&&(n+=1==o||-2==o?"0":"00"),o=aU(n,1/3),t=oU((t+1)/3)-(t%3==(t<0?-1:2)),(r=new h(n=o==1/0?"5e"+t:(n=o.toExponential()).slice(0,n.indexOf("e")+1)+t)).s=l.s),a=(t=h.precision)+3;;)if(c=(u=(s=r).times(s).times(s)).plus(l),r=wU(c.plus(l).times(s),c.plus(u),a+2,1),gU(s.d).slice(0,a)===(n=gU(r.d)).slice(0,a)){if("9999"!=(n=n.slice(a-3,a+1))&&(i||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(MU(r,t+1,1),e=!r.times(r).times(r).eq(l));break}if(!i&&(MU(s,t+1,0),s.times(s).times(s).eq(l))){r=s;break}a+=4,i=1}return $R=!0,MU(r,t,h.rounding,e)},mU.decimalPlaces=mU.dp=function(){var t,e=this.d,n=NaN;if(e){if(n=((t=e.length-1)-oU(this.e/dU))*dU,t=e[t])for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n},mU.dividedBy=mU.div=function(t){return wU(this,new this.constructor(t))},mU.dividedToIntegerBy=mU.divToInt=function(t){var e=this.constructor;return MU(wU(this,new e(t),0,1,1),e.precision,e.rounding)},mU.equals=mU.eq=function(t){return 0===this.cmp(t)},mU.floor=function(){return MU(new this.constructor(this),this.e+1,3)},mU.greaterThan=mU.gt=function(t){return this.cmp(t)>0},mU.greaterThanOrEqualTo=mU.gte=function(t){var e=this.cmp(t);return 1==e||0===e},mU.hyperbolicCosine=mU.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,(i=o.d.length)<32?e=(1/PU(4,t=Math.ceil(i/3))).toString():(t=16,e="2.3283064365386962890625e-10"),o=zU(a,1,o.times(e),new a(1),!0);for(var u,c=t,l=new a(8);c--;)u=o.times(o),o=s.minus(u.times(l.minus(u.times(l))));return MU(o,a.precision=n,a.rounding=r,!0)},mU.hyperbolicSine=mU.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,(r=i.d.length)<3)i=zU(o,2,i,i,!0);else{t=(t=1.4*Math.sqrt(r))>16?16:0|t,i=zU(o,2,i=i.times(1/PU(5,t)),i,!0);for(var a,s=new o(5),u=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(u.times(a).plus(c))))}return o.precision=e,o.rounding=n,MU(i,e,n,!0)},mU.hyperbolicTangent=mU.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,wU(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)},mU.inverseCosine=mU.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return-1!==r?0===r?e.isNeg()?xU(n,i,o):new n(0):new n(NaN):e.isZero()?xU(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=xU(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))},mU.inverseHyperbolicCosine=mU.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,$R=!1,n=n.times(n).minus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)},mU.inverseHyperbolicSine=mU.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,$R=!1,n=n.times(n).plus(1).sqrt().plus(n),$R=!0,r.precision=t,r.rounding=e,n.ln())},mU.inverseHyperbolicTangent=mU.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?MU(new o(i),t,e,!0):(o.precision=n=r-i.e,i=wU(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)},mU.inverseSine=mU.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,-1!==e?0===e?((t=xU(o,n+4,r).times(.5)).s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))},mU.inverseTangent=mU.atan=function(){var t,e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&h+4<=pU)return(a=xU(l,h+4,d).times(.25)).s=c.s,a}else{if(!c.s)return new l(NaN);if(h+4<=pU)return(a=xU(l,h+4,d).times(.5)).s=c.s,a}for(l.precision=s=h+10,l.rounding=1,t=n=Math.min(28,s/dU+2|0);t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for($R=!1,e=Math.ceil(s/dU),r=1,u=c.times(c),a=new l(c),i=c;-1!==t;)if(i=i.times(u),o=a.minus(i.div(r+=2)),i=i.times(u),void 0!==(a=o.plus(i.div(r+=2))).d[e])for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),$R=!0,MU(a,l.precision=h,l.rounding=d,!0)},mU.isFinite=function(){return!!this.d},mU.isInteger=mU.isInt=function(){return!!this.d&&oU(this.e/dU)>this.d.length-2},mU.isNaN=function(){return!this.s},mU.isNegative=mU.isNeg=function(){return this.s<0},mU.isPositive=mU.isPos=function(){return this.s>0},mU.isZero=function(){return!!this.d&&0===this.d[0]},mU.lessThan=mU.lt=function(t){return this.cmp(t)<0},mU.lessThanOrEqualTo=mU.lte=function(t){return this.cmp(t)<1},mU.logarithm=mU.log=function(t){var e,n,r,i,o,a,s,u,c=this,l=c.constructor,h=l.precision,d=l.rounding;if(null==t)t=new l(10),e=!0;else{if(n=(t=new l(t)).d,t.s<0||!n||!n[0]||t.eq(1))return new l(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new l(n&&!n[0]?-1/0:1!=c.s?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10==0;)i/=10;o=1!==i}if($R=!1,a=CU(c,s=h+5),r=e?AU(l,s+10):CU(t,s),vU((u=wU(a,r,s,1)).d,i=h,d))do{if(a=CU(c,s+=10),r=e?AU(l,s+10):CU(t,s),u=wU(a,r,s,1),!o){+gU(u.d).slice(i+1,i+15)+1==1e14&&(u=MU(u,h+1,0));break}}while(vU(u.d,i+=10,d));return $R=!0,MU(u,h,d)},mU.minus=mU.sub=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.constructor;if(t=new p(t),!f.d||!t.d)return f.s&&t.s?f.d?t.s=-t.s:t=new p(t.d||f.s!==t.s?f:NaN):t=new p(NaN),t;if(f.s!=t.s)return t.s=-t.s,f.plus(t);if(c=f.d,d=t.d,s=p.precision,u=p.rounding,!c[0]||!d[0]){if(d[0])t.s=-t.s;else{if(!c[0])return new p(3===u?-0:0);t=new p(f)}return $R?MU(t,s,u):t}if(n=oU(t.e/dU),l=oU(f.e/dU),c=c.slice(),o=l-n){for((h=o<0)?(e=c,o=-o,a=d.length):(e=d,n=l,a=c.length),o>(r=Math.max(Math.ceil(s/dU),a)+2)&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for((h=(r=c.length)<(a=d.length))&&(a=r),r=0;r<a;r++)if(c[r]!=d[r]){h=c[r]<d[r];break}o=0}for(h&&(e=c,c=d,d=e,t.s=-t.s),a=c.length,r=d.length-a;r>0;--r)c[a++]=0;for(r=d.length;r>o;){if(c[--r]<d[r]){for(i=r;i&&0===c[--i];)c[i]=hU-1;--c[i],c[r]+=hU}c[r]-=d[r]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--n;return c[0]?(t.d=c,t.e=LU(c,n),$R?MU(t,s,u):t):new p(3===u?-0:0)},mU.modulo=mU.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?MU(new r(n),r.precision,r.rounding):($R=!1,9==r.modulo?(e=wU(n,t.abs(),0,3,1)).s*=t.s:e=wU(n,t,0,r.modulo,1),e=e.times(t),$R=!0,n.minus(e))},mU.naturalExponential=mU.exp=function(){return jU(this)},mU.naturalLogarithm=mU.ln=function(){return CU(this)},mU.negated=mU.neg=function(){var t=new this.constructor(this);return t.s=-t.s,MU(t)},mU.plus=mU.add=function(t){var e,n,r,i,o,a,s,u,c,l,h=this,d=h.constructor;if(t=new d(t),!h.d||!t.d)return h.s&&t.s?h.d||(t=new d(t.d||h.s===t.s?h:NaN)):t=new d(NaN),t;if(h.s!=t.s)return t.s=-t.s,h.minus(t);if(c=h.d,l=t.d,s=d.precision,u=d.rounding,!c[0]||!l[0])return l[0]||(t=new d(h)),$R?MU(t,s,u):t;if(o=oU(h.e/dU),r=oU(t.e/dU),c=c.slice(),i=o-r){for(i<0?(n=c,i=-i,a=l.length):(n=l,r=o,a=c.length),i>(a=(o=Math.ceil(s/dU))>a?o+1:a+1)&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for((a=c.length)-(i=l.length)<0&&(i=a,n=l,l=c,c=n),e=0;i;)e=(c[--i]=c[i]+l[i]+e)/hU|0,c[i]%=hU;for(e&&(c.unshift(e),++r),a=c.length;0==c[--a];)c.pop();return t.d=c,t.e=LU(c,r),$R?MU(t,s,u):t},mU.precision=mU.sd=function(t){var e,n=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(eU+t);return n.d?(e=EU(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e},mU.round=function(){var t=this,e=t.constructor;return MU(new e(t),t.e+1,e.rounding)},mU.sine=mU.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+dU,r.rounding=1,n=function(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:zU(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:0|n,e=e.times(1/PU(5,n)),e=zU(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}(r,BU(r,n)),r.precision=t,r.rounding=e,MU(GR>2?n.neg():n,t,e,!0)):new r(NaN)},mU.squareRoot=mU.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,u=a.e,c=a.s,l=a.constructor;if(1!==c||!s||!s[0])return new l(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for($R=!1,0==(c=Math.sqrt(+a))||c==1/0?(((e=gU(s)).length+u)%2==0&&(e+="0"),c=Math.sqrt(e),u=oU((u+1)/2)-(u<0||u%2),r=new l(e=c==1/0?"5e"+u:(e=c.toExponential()).slice(0,e.indexOf("e")+1)+u)):r=new l(c.toString()),n=(u=l.precision)+3;;)if(r=(o=r).plus(wU(a,o,n+2,1)).times(.5),gU(o.d).slice(0,n)===(e=gU(r.d)).slice(0,n)){if("9999"!=(e=e.slice(n-3,n+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(MU(r,u+1,1),t=!r.times(r).eq(a));break}if(!i&&(MU(o,u+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}return $R=!0,MU(r,u,l.rounding,t)},mU.tangent=mU.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,(n=n.sin()).s=1,n=wU(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,MU(2==GR||4==GR?n.neg():n,t,e,!0)):new r(NaN)},mU.times=mU.mul=function(t){var e,n,r,i,o,a,s,u,c,l=this,h=l.constructor,d=l.d,f=(t=new h(t)).d;if(t.s*=l.s,!(d&&d[0]&&f&&f[0]))return new h(!t.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:d&&f?0*t.s:t.s/0);for(n=oU(l.e/dU)+oU(t.e/dU),(u=d.length)<(c=f.length)&&(o=d,d=f,f=o,a=u,u=c,c=a),o=[],r=a=u+c;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=u+r;i>r;)s=o[i]+f[r]*d[i-r-1]+e,o[i--]=s%hU|0,e=s/hU|0;o[i]=(o[i]+e)%hU|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=LU(o,n),$R?MU(t,h.precision,h.rounding):t},mU.toBinary=function(t,e){return RU(this,2,t,e)},mU.toDecimalPlaces=mU.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(yU(t,0,VR),void 0===e?e=r.rounding:yU(e,0,8),MU(n,t+n.e+1,e))},mU.toExponential=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,!0):(yU(t,0,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t+1,e),!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return void 0===t?n=kU(i):(yU(t,0,VR),void 0===e?e=o.rounding:yU(e,0,8),n=kU(r=MU(new o(i),t+i.e+1,e),!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},mU.toFraction=function(t){var e,n,r,i,o,a,s,u,c,l,h,d,f=this,p=f.d,m=f.constructor;if(!p)return new m(f);if(c=n=new m(1),r=u=new m(0),a=(o=(e=new m(r)).e=EU(p)-f.e-1)%dU,e.d[0]=aU(10,a<0?dU+a:a),null==t)t=o>0?e:c;else{if(!(s=new m(t)).isInt()||s.lt(c))throw Error(eU+s);t=s.gt(e)?o>0?e:c:s}for($R=!1,s=new m(gU(p)),l=m.precision,m.precision=o=p.length*dU*2;h=wU(s,e,0,1,1),1!=(i=n.plus(h.times(r))).cmp(t);)n=r,r=i,i=c,c=u.plus(h.times(i)),u=i,i=e,e=s.minus(h.times(i)),s=i;return i=wU(t.minus(n),r,0,1,1),u=u.plus(i.times(c)),n=n.plus(i.times(r)),u.s=c.s=f.s,d=wU(c,r,o,1).minus(f).abs().cmp(wU(u,n,o,1).minus(f).abs())<1?[c,r]:[u,n],m.precision=l,$R=!0,d},mU.toHexadecimal=mU.toHex=function(t,e){return RU(this,16,t,e)},mU.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),null==t){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),void 0===e?e=r.rounding:yU(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?($R=!1,n=wU(n,t,0,e,1).times(t),$R=!0,MU(n)):(t.s=n.s,n=t),n},mU.toNumber=function(){return+this},mU.toOctal=function(t,e){return RU(this,8,t,e)},mU.toPower=mU.pow=function(t){var e,n,r,i,o,a,s=this,u=s.constructor,c=+(t=new u(t));if(!(s.d&&t.d&&s.d[0]&&t.d[0]))return new u(aU(+s,c));if((s=new u(s)).eq(1))return s;if(r=u.precision,o=u.rounding,t.eq(1))return MU(s,r,o);if((e=oU(t.e/dU))>=t.d.length-1&&(n=c<0?-c:c)<=9007199254740991)return i=SU(u,s,n,r),t.s<0?new u(1).div(i):MU(i,r,o);if((a=s.s)<0){if(e<t.d.length-1)return new u(NaN);if(0==(1&t.d[e])&&(a=1),0==s.e&&1==s.d[0]&&1==s.d.length)return s.s=a,s}return(e=0!=(n=aU(+s,c))&&isFinite(n)?new u(n+"").e:oU(c*(Math.log("0."+gU(s.d))/Math.LN10+s.e+1)))>u.maxE+1||e<u.minE-1?new u(e>0?a/0:0):($R=!1,u.rounding=s.s=1,n=Math.min(12,(e+"").length),(i=jU(t.times(CU(s,r+n)),r)).d&&vU((i=MU(i,r+5,1)).d,r,o)&&(e=r+10,+gU((i=MU(jU(t.times(CU(s,e+n)),e),e+5,1)).d).slice(r+1,r+15)+1==1e14&&(i=MU(i,r+1,0))),i.s=a,$R=!0,u.rounding=o,MU(i,r,o))},mU.toPrecision=function(t,e){var n,r=this,i=r.constructor;return void 0===t?n=kU(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(yU(t,1,VR),void 0===e?e=i.rounding:yU(e,0,8),n=kU(r=MU(new i(r),t,e),t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n},mU.toSignificantDigits=mU.toSD=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(yU(t,1,VR),void 0===e?e=n.rounding:yU(e,0,8)),MU(new n(this),t,e)},mU.toString=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n},mU.truncated=mU.trunc=function(){return MU(new this.constructor(this),this.e+1,1)},mU.valueOf=mU.toJSON=function(){var t=this,e=t.constructor,n=kU(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};var wU=function(){function t(t,e,n){var r,i=0,o=t.length;for(t=t.slice();o--;)r=t[o]*e+i,t[o]=r%n|0,i=r/n|0;return i&&t.unshift(i),t}function e(t,e,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(t[i]!=e[i]){o=t[i]>e[i]?1:-1;break}return o}function n(t,e,n,r){for(var i=0;n--;)t[n]-=i,i=t[n]<e[n]?1:0,t[n]=i*r+t[n]-e[n];for(;!t[0]&&t.length>1;)t.shift()}return function(r,i,o,a,s,u){var c,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I=r.constructor,T=r.s==i.s?1:-1,j=r.d,C=i.d;if(!(j&&j[0]&&C&&C[0]))return new I(r.s&&i.s&&(j?!C||j[0]!=C[0]:C)?j&&0==j[0]||!C?0*T:T/0:NaN);for(u?(f=1,l=r.e-i.e):(u=hU,f=dU,l=oU(r.e/f)-oU(i.e/f)),N=C.length,x=j.length,v=(y=new I(T)).d=[],h=0;C[h]==(j[h]||0);h++);if(C[h]>(j[h]||0)&&l--,null==o?(k=o=I.precision,a=I.rounding):k=s?o+(r.e-i.e)+1:o,k<0)v.push(1),p=!0;else{if(k=k/f+2|0,h=0,1==N){for(d=0,C=C[0],k++;(h<x||d)&&k--;h++)L=d*u+(j[h]||0),v[h]=L/C|0,d=L%C|0;p=d||h<x}else{for((d=u/(C[0]+1)|0)>1&&(C=t(C,d,u),j=t(j,d,u),N=C.length,x=j.length),A=N,w=(b=j.slice(0,N)).length;w<N;)b[w++]=0;(S=C.slice()).unshift(0),E=C[0],C[1]>=u/2&&++E;do{d=0,(c=e(C,b,N,w))<0?(M=b[0],N!=w&&(M=M*u+(b[1]||0)),(d=M/E|0)>1?(d>=u&&(d=u-1),1==(c=e(m=t(C,d,u),b,g=m.length,w=b.length))&&(d--,n(m,N<g?S:C,g,u))):(0==d&&(c=d=1),m=C.slice()),(g=m.length)<w&&m.unshift(0),n(b,m,w,u),-1==c&&(c=e(C,b,N,w=b.length))<1&&(d++,n(b,N<w?S:C,w,u)),w=b.length):0===c&&(d++,b=[0]),v[h++]=d,c&&b[0]?b[w++]=j[A]||0:(b=[j[A]],w=1)}while((A++<x||void 0!==b[0])&&k--);p=void 0!==b[0]}v[0]||v.shift()}if(1==f)y.e=l,HR=p;else{for(h=1,d=v[0];d>=10;d/=10)h++;y.e=h+l*f-1,MU(y,s?o+y.e+1:o,a,p)}return y}}();function MU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor;t:if(null!=e){if(!(h=t.d))return t;for(i=1,s=h[0];s>=10;s/=10)i++;if((o=e-i)<0)o+=dU,a=e,u=(l=h[d=0])/aU(10,i-a-1)%10|0;else if((d=Math.ceil((o+1)/dU))>=(s=h.length)){if(!r)break t;for(;s++<=d;)h.push(0);l=u=0,i=1,a=(o%=dU)-dU+1}else{for(l=s=h[d],i=1;s>=10;s/=10)i++;u=(a=(o%=dU)-dU+i)<0?0:l/aU(10,i-a-1)%10|0}if(r=r||e<0||void 0!==h[d+1]||(a<0?l:l%aU(10,i-a-1)),c=n<4?(u||r)&&(0==n||n==(t.s<0?3:2)):u>5||5==u&&(4==n||r||6==n&&(o>0?a>0?l/aU(10,i-a):0:h[d-1])%10&1||n==(t.s<0?8:7)),e<1||!h[0])return h.length=0,c?(e-=t.e+1,h[0]=aU(10,(dU-e%dU)%dU),t.e=-e||0):h[0]=t.e=0,t;if(0==o?(h.length=d,s=1,d--):(h.length=d+1,s=aU(10,dU-o),h[d]=a>0?(l/aU(10,i-a)%aU(10,a)|0)*s:0),c)for(;;){if(0==d){for(o=1,a=h[0];a>=10;a/=10)o++;for(a=h[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,h[0]==hU&&(h[0]=1));break}if(h[d]+=s,h[d]!=hU)break;h[d--]=0,s=1}for(o=h.length;0===h[--o];)h.pop()}return $R&&(t.e>f.maxE?(t.d=null,t.e=NaN):t.e<f.minE&&(t.e=0,t.d=[0])),t}function kU(t,e,n){if(!t.isFinite())return DU(t);var r,i=t.e,o=gU(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+NU(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+NU(-i-1)+o,n&&(r=n-a)>0&&(o+=NU(r))):i>=a?(o+=NU(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+NU(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=NU(r))),o}function LU(t,e){var n=t[0];for(e*=dU;n>=10;n/=10)e++;return e}function AU(t,e,n){if(e>fU)throw $R=!0,n&&(t.precision=n),Error(nU);return MU(new t(qR),e,1,!0)}function xU(t,e,n){if(e>pU)throw Error(nU);return MU(new t(XR),e,n,!0)}function EU(t){var e=t.length-1,n=e*dU+1;if(e=t[e]){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function NU(t){for(var e="";t--;)e+="0";return e}function SU(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/dU+4);for($R=!1;;){if(n%2&&UU((o=o.times(e)).d,a)&&(i=!0),0===(n=oU(n/2))){n=o.d.length-1,i&&0===o.d[n]&&++o.d[n];break}UU((e=e.times(e)).d,a)}return $R=!0,o}function IU(t){return 1&t.d[t.d.length-1]}function TU(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;){if(!(r=new t(e[o])).s){i=r;break}i[n](r)&&(i=r)}return i}function jU(t,e){var n,r,i,o,a,s,u,c=0,l=0,h=0,d=t.constructor,f=d.rounding,p=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(null==e?($R=!1,u=p):u=e,s=new d(.03125);t.e>-2;)t=t.times(s),h+=5;for(u+=r=Math.log(aU(2,h))/Math.LN10*2+5|0,n=o=a=new d(1),d.precision=u;;){if(o=MU(o.times(t),u,1),n=n.times(++l),gU((s=a.plus(wU(o,n,u,1))).d).slice(0,u)===gU(a.d).slice(0,u)){for(i=h;i--;)a=MU(a.times(a),u,1);if(null!=e)return d.precision=p,a;if(!(c<3&&vU(a.d,u-r,f,c)))return MU(a,d.precision=p,f,$R=!0);d.precision=u+=10,n=o=s=new d(1),l=0,c++}a=s}}function CU(t,e){var n,r,i,o,a,s,u,c,l,h,d,f=1,p=t,m=p.d,g=p.constructor,y=g.rounding,v=g.precision;if(p.s<0||!m||!m[0]||!p.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=p.s?NaN:m?0:p);if(null==e?($R=!1,l=v):l=e,g.precision=l+=10,r=(n=gU(m)).charAt(0),!(Math.abs(o=p.e)<15e14))return c=AU(g,l+2,v).times(o+""),p=CU(new g(r+"."+n.slice(1)),l-10).plus(c),g.precision=v,null==e?MU(p,v,y,$R=!0):p;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=gU((p=p.times(t)).d)).charAt(0),f++;for(o=p.e,r>1?(p=new g("0."+n),o++):p=new g(r+"."+n.slice(1)),h=p,u=a=p=wU(p.minus(1),p.plus(1),l,1),d=MU(p.times(p),l,1),i=3;;){if(a=MU(a.times(d),l,1),gU((c=u.plus(wU(a,new g(i),l,1))).d).slice(0,l)===gU(u.d).slice(0,l)){if(u=u.times(2),0!==o&&(u=u.plus(AU(g,l+2,v).times(o+""))),u=wU(u,new g(f),l,1),null!=e)return g.precision=v,u;if(!vU(u.d,l-10,y,s))return MU(u,g.precision=v,y,$R=!0);g.precision=l+=10,c=a=p=wU(h.minus(1),h.plus(1),l,1),d=MU(p.times(p),l,1),i=s=1}u=c,i+=2}}function DU(t){return String(t.s*t.s/0)}function OU(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);r++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(r,i)){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%dU,n<0&&(r+=dU),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=dU;r<i;)t.d.push(+e.slice(r,r+=dU));e=e.slice(r),r=dU-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),$R&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function _U(t,e){var n,r,i,o,a,s,u,c,l;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lU.test(e))return OU(t,e)}else if("Infinity"===e||"NaN"===e)return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(uU.test(e))n=16,e=e.toLowerCase();else if(sU.test(e))n=2;else{if(!cU.test(e))throw Error(eU+e);n=8}for((o=e.search(/p/i))>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),a=(o=e.indexOf("."))>=0,r=t.constructor,a&&(o=(s=(e=e.replace(".","")).length)-o,i=SU(r,new r(n),o,2*o)),o=l=(c=bU(e,n,hU)).length-1;0===c[o];--o)c.pop();return o<0?new r(0*t.s):(t.e=LU(c,l),t.d=c,$R=!1,a&&(t=wU(t,i,4*s)),u&&(t=t.times(Math.abs(u)<54?aU(2,u):NQ.pow(2,u))),$R=!0,t)}function zU(t,e,n,r,i){var o,a,s,u,c=t.precision,l=Math.ceil(c/dU);for($R=!1,u=n.times(n),s=new t(r);;){if(a=wU(s.times(u),new t(e++*e++),c,1),s=i?r.plus(a):r.minus(a),r=wU(a.times(u),new t(e++*e++),c,1),void 0!==(a=s.plus(r)).d[l]){for(o=l;a.d[o]===s.d[o]&&o--;);if(-1==o)break}o=s,s=r,r=a,a=o}return $R=!0,a.d.length=l+1,a}function PU(t,e){for(var n=t;--e;)n*=t;return n}function BU(t,e){var n,r=e.s<0,i=xU(t,t.precision,1),o=i.times(.5);if((e=e.abs()).lte(o))return GR=r?4:1,e;if((n=e.divToInt(i)).isZero())GR=r?3:2;else{if((e=e.minus(n.times(i))).lte(o))return GR=IU(n)?r?2:3:r?4:1,e;GR=IU(n)?r?1:4:r?3:2}return e.minus(i).abs()}function RU(t,e,n,r){var i,o,a,s,u,c,l,h,d,f=t.constructor,p=void 0!==n;if(p?(yU(n,1,VR),void 0===r?r=f.rounding:yU(r,0,8)):(n=f.precision,r=f.rounding),t.isFinite()){for(p?(i=2,16==e?n=4*n-3:8==e&&(n=3*n-2)):i=e,(a=(l=kU(t)).indexOf("."))>=0&&(l=l.replace(".",""),(d=new f(1)).e=l.length-a,d.d=bU(kU(d),10,i),d.e=d.d.length),o=u=(h=bU(l,10,i)).length;0==h[--u];)h.pop();if(h[0]){if(a<0?o--:((t=new f(t)).d=h,t.e=o,h=(t=wU(t,d,n,r,0,i)).d,o=t.e,c=HR),a=h[n],s=i/2,c=c||void 0!==h[n+1],c=r<4?(void 0!==a||c)&&(0===r||r===(t.s<0?3:2)):a>s||a===s&&(4===r||c||6===r&&1&h[n-1]||r===(t.s<0?8:7)),h.length=n,c)for(;++h[--n]>i-1;)h[n]=0,n||(++o,h.unshift(1));for(u=h.length;!h[u-1];--u);for(a=0,l="";a<u;a++)l+=JR.charAt(h[a]);if(p){if(u>1)if(16==e||8==e){for(a=16==e?4:3,--u;u%a;u++)l+="0";for(u=(h=bU(l,i,e)).length;!h[u-1];--u);for(a=1,l="1.";a<u;a++)l+=JR.charAt(h[a])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>u)for(o-=u;o--;)l+="0";else o<u&&(l=l.slice(0,o)+"."+l.slice(o))}else l=p?"0p+0":"0";l=(16==e?"0x":2==e?"0b":8==e?"0o":"")+l}else l=DU(t);return t.s<0?"-"+l:l}function UU(t,e){if(t.length>e)return t.length=e,!0}function QU(t){return new this(t).abs()}function WU(t){return new this(t).acos()}function FU(t){return new this(t).acosh()}function YU(t,e){return new this(t).plus(e)}function HU(t){return new this(t).asin()}function GU(t){return new this(t).asinh()}function ZU(t){return new this(t).atan()}function VU(t){return new this(t).atanh()}function JU(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return t.s&&e.s?t.d||e.d?!e.d||t.isZero()?(n=e.s<0?xU(this,r,i):new this(0)).s=t.s:!t.d||e.isZero()?(n=xU(this,o,1).times(.5)).s=t.s:e.s<0?(this.precision=o,this.rounding=1,n=this.atan(wU(t,e,o,1)),e=xU(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(wU(t,e,o,1)):(n=xU(this,o,1).times(e.s>0?.25:.75)).s=t.s:n=new this(NaN),n}function qU(t){return new this(t).cbrt()}function XU(t){return MU(t=new this(t),t.e+1,2)}function KU(t,e,n){return new this(t).clamp(e,n)}function $U(t){if(!t||"object"!=typeof t)throw Error(tU+"Object expected");var e,n,r,i=!0===t.defaults,o=["precision",1,VR,"rounding",0,8,"toExpNeg",-ZR,0,"toExpPos",0,ZR,"maxE",0,ZR,"minE",-ZR,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!(oU(r)===r&&r>=o[e+1]&&r<=o[e+2]))throw Error(eU+n+": "+r);this[n]=r}if(n="crypto",i&&(this[n]=KR[n]),void 0!==(r=t[n])){if(!0!==r&&!1!==r&&0!==r&&1!==r)throw Error(eU+n+": "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(rU);this[n]=!0}else this[n]=!1}return this}function tQ(t){return new this(t).cos()}function eQ(t){return new this(t).cosh()}function nQ(t,e){return new this(t).div(e)}function rQ(t){return new this(t).exp()}function iQ(t){return MU(t=new this(t),t.e+1,3)}function oQ(){var t,e,n=new this(0);for($R=!1,t=0;t<arguments.length;)if((e=new this(arguments[t++])).d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return $R=!0,new this(1/0);n=e}return $R=!0,n.sqrt()}function aQ(t){return t instanceof NQ||t&&t.toStringTag===iU||!1}function sQ(t){return new this(t).ln()}function uQ(t,e){return new this(t).log(e)}function cQ(t){return new this(t).log(2)}function lQ(t){return new this(t).log(10)}function hQ(){return TU(this,arguments,"lt")}function dQ(){return TU(this,arguments,"gt")}function fQ(t,e){return new this(t).mod(e)}function pQ(t,e){return new this(t).mul(e)}function mQ(t,e){return new this(t).pow(e)}function gQ(t){var e,n,r,i,o=0,a=new this(1),s=[];if(void 0===t?t=this.precision:yU(t,1,VR),r=Math.ceil(t/dU),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)(i=e[o])>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else{if(!crypto.randomBytes)throw Error(rU);for(e=crypto.randomBytes(r*=4);o<r;)(i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((127&e[o+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else for(;o<r;)s[o++]=1e7*Math.random()|0;for(r=s[--o],t%=dU,r&&t&&(i=aU(10,dU-t),s[o]=(r/i|0)*i);0===s[o];o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;0===s[0];n-=dU)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<dU&&(n-=dU-r)}return a.e=n,a.d=s,a}function yQ(t){return MU(t=new this(t),t.e+1,this.rounding)}function vQ(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function bQ(t){return new this(t).sin()}function wQ(t){return new this(t).sinh()}function MQ(t){return new this(t).sqrt()}function kQ(t,e){return new this(t).sub(e)}function LQ(){var t=0,e=arguments,n=new this(e[t]);for($R=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return $R=!0,MU(n,this.precision,this.rounding)}function AQ(t){return new this(t).tan()}function xQ(t){return new this(t).tanh()}function EQ(t){return MU(t=new this(t),t.e+1,1)}mU[Symbol.for("nodejs.util.inspect.custom")]=mU.toString,mU[Symbol.toStringTag]="Decimal";var NQ=mU.constructor=function t(e){var n,r,i;function o(t){var e,n,r,i=this;if(!(i instanceof o))return new o(t);if(i.constructor=o,aQ(t))return i.s=t.s,void($R?!t.d||t.e>o.maxE?(i.e=NaN,i.d=null):t.e<o.minE?(i.e=0,i.d=[0]):(i.e=t.e,i.d=t.d.slice()):(i.e=t.e,i.d=t.d?t.d.slice():t.d));if("number"===(r=typeof t)){if(0===t)return i.s=1/t<0?-1:1,i.e=0,void(i.d=[0]);if(t<0?(t=-t,i.s=-1):i.s=1,t===~~t&&t<1e7){for(e=0,n=t;n>=10;n/=10)e++;return void($R?e>o.maxE?(i.e=NaN,i.d=null):e<o.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[t]):(i.e=e,i.d=[t]))}return 0*t!=0?(t||(i.s=NaN),i.e=NaN,void(i.d=null)):OU(i,t.toString())}if("string"!==r)throw Error(eU+t);return 45===(n=t.charCodeAt(0))?(t=t.slice(1),i.s=-1):(43===n&&(t=t.slice(1)),i.s=1),lU.test(t)?OU(i,t):_U(i,t)}if(o.prototype=mU,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=$U,o.clone=t,o.isDecimal=aQ,o.abs=QU,o.acos=WU,o.acosh=FU,o.add=YU,o.asin=HU,o.asinh=GU,o.atan=ZU,o.atanh=VU,o.atan2=JU,o.cbrt=qU,o.ceil=XU,o.clamp=KU,o.cos=tQ,o.cosh=eQ,o.div=nQ,o.exp=rQ,o.floor=iQ,o.hypot=oQ,o.ln=sQ,o.log=uQ,o.log10=lQ,o.log2=cQ,o.max=hQ,o.min=dQ,o.mod=fQ,o.mul=pQ,o.pow=mQ,o.random=gQ,o.round=yQ,o.sign=vQ,o.sin=bQ,o.sinh=wQ,o.sqrt=MQ,o.sub=kQ,o.sum=LQ,o.tan=AQ,o.tanh=xQ,o.trunc=EQ,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<i.length;)e.hasOwnProperty(r=i[n++])||(e[r]=this[r]);return o.config(e),o}(KR);qR=new NQ(qR),XR=new NQ(XR);const SQ=eL([Kk("mint"),Kk("vault"),Kk("authority"),nL("emissionsPerSecondX64"),nL("growthGlobalX64")]),IQ=eL([oL("anchorDiscriminator"),Kk("whirlpoolsConfig"),Uk(aL(),1,"whirlpoolBump"),rL("tickSpacing"),Uk(aL(),2,"tickSpacingSeed"),rL("feeRate"),rL("protocolFeeRate"),nL("liquidity"),nL("sqrtPrice"),Jk("tickCurrentIndex"),oL("protocolFeeOwedA"),oL("protocolFeeOwedB"),Kk("tokenMintA"),Kk("tokenVaultA"),nL("feeGrowthGlobalA"),Kk("tokenMintB"),Kk("tokenVaultB"),nL("feeGrowthGlobalB"),oL("rewardLastUpdatedTimestamp"),Uk(SQ,3,"rewardInfos")]),TQ=eL([Zk("initialized"),Vk("liquidityNet"),nL("liquidityGross"),nL("feeGrowthOutsideA"),nL("feeGrowthOutsideB"),Uk(nL(),3,"reward_growths_outside")]),jQ=eL([oL("anchorDiscriminator"),Jk("startTickIndex"),Uk(TQ,88,"ticks"),Kk("whirlpool")]);var CQ={blockchain:"solana",name:"orca",alternativeNames:[],label:"Orca",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ImthdG1hbl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjAwIDQ1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAwIDQ1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjRkZEMTVDIiBkPSJNNDg4LjQsMjIyLjljMCwxMDMuOC04NC4xLDE4Ny45LTE4Ny45LDE4Ny45Yy0xMDMuOCwwLTE4Ny45LTg0LjEtMTg3LjktMTg3LjlDMTEyLjYsMTE5LjEsMTk2LjcsMzUsMzAwLjUsMzUKCUM0MDQuMiwzNSw0ODguNCwxMTkuMSw0ODguNCwyMjIuOXoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjE3LjY3NTUiIGQ9Ik0yMDkuNSwyOTkuOGMxLjYtMS4xLDMuMS0yLjgsMy45LTUuMWMwLjgtMi42LDAuMy00LjksMC02LjJjMCwwLDAtMC4xLDAtMC4xbDAuMy0xLjhjMC45LDAuNSwxLjksMS4xLDMsMS45CgljMC4zLDAuMiwwLjcsMC41LDEuMSwwLjdjMC41LDAuNCwxLjEsMC44LDEuNCwxYzAuNiwwLjQsMS41LDEsMi41LDEuNWMyNS4xLDE1LjYsNDUuOCwyMiw2Mi4yLDIxLjJjMTctMC44LDI4LjktOS40LDM1LjEtMjEuOQoJYzUuOS0xMi4xLDYuMi0yNywyLTQwLjljLTQuMi0xMy45LTEzLTI3LjUtMjYuMi0zNi45Yy0yMi4yLTE1LjgtNDIuNS0zOS44LTUyLjctNjAuM2MtNS4yLTEwLjQtNy4zLTE4LjctNi43LTI0LjIKCWMwLjMtMi41LDEtNC4xLDItNS4xYzAuOS0xLDIuNi0yLjEsNS45LTIuNmM2LjktMS4xLDE1LTMuNiwyMy4xLTYuMmMzLjItMSw2LjMtMiw5LjUtMi45YzExLjctMy40LDI0LjItNi4zLDM3LjItNi4zCgljMjUuMywwLDU1LDExLDg2LjMsNTYuOGM0MC4yLDU4LjgsMTguMSwxMjQuNC0yOC4yLDE1OC45Yy0yMy4xLDE3LjItNTEuOSwyNi4zLTgxLjUsMjIuOUMyNjIuOSwzNDEuMywyMzQuOSwzMjcuOSwyMDkuNSwyOTkuOHoKCSBNMjE0LjIsMjg0LjZDMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjcsMjE0LjIsMjg0LjZDMjE0LjEsMjg0LjcsMjE0LjIsMjg0LjYsMjE0LjIsMjg0LjZ6IE0yMTEuNiwyODUuOAoJQzIxMS42LDI4NS44LDIxMS43LDI4NS44LDIxMS42LDI4NS44QzIxMS43LDI4NS44LDIxMS42LDI4NS44LDIxMS42LDI4NS44eiIvPgo8cGF0aCBkPSJNMjMyLjUsMTI0LjNjMCwwLDcxLjgtMTkuMSw4Ny41LTE5LjFjMTUuNywwLDc4LjYsMzAuNSw5Ni45LDg2LjNjMjYsNzktNDQuNywxMzAuOS01Mi43LDEyNS44CgljNzYuMS02Mi45LTQ4LjQtMTc5LjEtMTA5LjYtMTcwLjRjLTcuNiwxLjEtMy40LDcuNi0zLjQsNy42bC0xLjcsMTdsLTEyLjctMjEuMkwyMzIuNSwxMjQuM3oiLz4KPHBhdGggZD0iTTQwNi41LDE2Ny42YzIyLjcsMzkuOSwxOCwxNy4xLDEyLjksNjIuN2M5LjMtMTUuMSwyMy45LTMuOCwyOS45LDJjMS4xLDEsMi45LDAuNCwyLjgtMS4xYy0wLjItNi44LTIuMi0yMS40LTEzLjQtMzcuMQoJQzQyMy40LDE3Mi42LDQwNi41LDE2Ny42LDQwNi41LDE2Ny42eiIvPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC45OTMiIGQ9Ik00MTkuNCwyMzAuM2M1LTQ1LjYsOS43LTIyLjgtMTIuOS02Mi43YzAsMCwxNi45LDUsMzIuMywyNi41YzExLjIsMTUuNywxMy4xLDMwLjMsMTMuNCwzNy4xCgljMC4xLDEuNS0xLjcsMi4xLTIuOCwxLjFDNDQzLjMsMjI2LjUsNDI4LjcsMjE1LjMsNDE5LjQsMjMwLjN6IE00MTkuNCwyMzAuM2MwLjktMi4xLDIuMi01LjUsMi4yLTUuNSIvPgo8cGF0aCBkPSJNMjI0LDIyNC4yYy05LjYsMTYuMi0yOS4yLDE1LTI4LjgsMzQuM2MxNy41LDM5LDE3LjYsMzYuMiwxNy42LDM2LjJjMzIuNS0xOC4yLDE5LjEtNTguNSwxNC4zLTcwLjQKCUMyMjYuNiwyMjMsMjI0LjcsMjIzLDIyNCwyMjQuMnoiLz4KPHBhdGggZD0iTTE1MC40LDI2MC4xYzE4LjcsMi40LDI5LjgtMTMuOCw0NC44LTEuNmMxOS45LDM3LjgsMTcuNiwzNi4yLDE3LjYsMzYuMmMtMzQuNCwxNC40LTU3LjktMjEtNjQuMy0zMi4xCglDMTQ3LjgsMjYxLjMsMTQ5LDI1OS45LDE1MC40LDI2MC4xeiIvPgo8cGF0aCBkPSJNMzA2LjksMjM2YzAsMCwxOC43LDE5LjEsOC45LDIyLjFjLTEyLjItNy41LTM0LTEuNy00NC43LDEuOWMtMi42LDAuOS01LjItMS40LTQuMy00LjFjMy42LTEwLDEyLjYtMjguNiwyOS45LTMxCglDMzA2LjksMjIyLjQsMzA2LjksMjM2LDMwNi45LDIzNnoiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTMxOC4zLDE0Mi41Yy0yLjEtMy02LjQtMTEsNi44LTExYzEzLjIsMCwzMy4zLDE0LjksMzcuNCwyMC40Yy0xLjMsMy40LTkuOCw0LjEtMTQsMy44Yy00LjItMC4zLTExLjUtMS0xNy0zLjgKCUMzMjYsMTQ5LjIsMzIwLjUsMTQ1LjUsMzE4LjMsMTQyLjV6Ii8+Cjwvc3ZnPgo=",router:{v1:{address:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",api:IQ}},slippage:!0};function DQ(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class OQ{constructor({tokenIn:t,tokenOut:e,path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,exchange:s,getTransaction:u}){this.tokenIn=t,this.tokenOut=e,this.path=n,this.amountIn=DQ([r,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOutMin=DQ([a,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountOut=DQ([o,"optionalAccess",t=>t.toString,"call",t=>t()]),this.amountInMax=DQ([i,"optionalAccess",t=>t.toString,"call",t=>t()]),this.exchange=s,this.getTransaction=u}}let _Q=["ethereum","bsc","polygon","solana","fantom","velas"];_Q.evm=["ethereum","bsc","polygon","fantom","velas"],_Q.solana=["solana"];const zQ=async({exchange:t,fixedPath:e,amountIn:n,amountOut:r})=>{let i=n.add(n.mul(100*parseFloat("0.5")).div(1e4));if(!_Q.evm.includes(t.blockchain))return i;const o=await CL({blockchain:t.blockchain,method:"latestBlockNumber"});let a=[];for(var s=0;s<=2;s++)a.push(o-s);const u=await Promise.all(a.map((async n=>{let{amountIn:i}=await t.getAmounts({path:e,amountOut:r,block:n});return i})));if(!u[0]||!u[1]||!u[2])return i;let c;if(u[0].gt(u[1])&&u[1].gt(u[2])){const t=u[0].sub(u[1]),e=u[1].sub(u[2]),n=t.add(e).div(2);if(c=u[0].add(n),c.gt(i))return c}else if(!u[0].eq(u[1])&&!u[1].eq(u[2])){const t=u[0].sub(u[1]).abs(),e=u[1].sub(u[2]).abs();let n,r;if(n=t.lt(e)?t:e,r=u[0].gt(u[1])&&u[0].gt(u[2])?u[0]:u[1].gt(u[2])&&u[1].gt(u[0])?u[1]:u[2],c=r.add(n),c.gt(i))return c}return i},PQ=async({exchange:t,fixedPath:e,amounts:n,tokenIn:r,tokenOut:i,amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amountInInput:c,amountOutInput:l,amountInMaxInput:h,amountOutMinInput:d})=>{if(d||l){if(_Q.evm.includes(t.blockchain))o=a=await zQ({exchange:t,fixedPath:e,amountIn:o,amountOut:d||s});else if(_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!=o){let i=zQ({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>r.push(t))),i}}))),r.push(n[n.length-1]),o=a=(n=r)[0]}}else if((h||c)&&_Q.solana.includes(t.blockchain)){let r=[];await Promise.all(e.map(((i,o)=>{if(0!==o&&o<e.length-1)r.unshift(n[o]);else if(o===e.length-1){let i=(async({exchange:t,fixedPath:e,amountOut:n,amountIn:r})=>n.sub(n.mul(100*parseFloat("0.5")).div(1e4)))({exchange:t,fixedPath:[e[o-1],e[o]],amountIn:n[o-1],amountOut:n[o]});return i.then((t=>(r.unshift(t),t))),i}}))),r.push(n[0]),s=u=(n=r.slice().reverse())[n.length-1]}return{amountIn:o,amountInMax:a,amountOut:s,amountOutMin:u,amounts:n}},BQ=t=>t.match("0x")?ln(t):t;let RQ=async({amount:t,blockchain:e,address:n})=>await YR.BigNumber({amount:t,blockchain:e,address:n}),UQ=async({blockchain:t,exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s})=>{let u={exchange:e,tokenIn:n,tokenOut:r,amountIn:i,amountOut:o,amountInMax:a,amountOutMin:s};return o&&"number"==typeof o&&(u.amountOut=await RQ({amount:o,blockchain:t,address:r})),s&&"number"==typeof s&&(u.amountOutMin=await RQ({amount:s,blockchain:t,address:r})),i&&"number"==typeof i&&(u.amountIn=await RQ({amount:i,blockchain:t,address:n})),a&&"number"==typeof a&&(u.amountInMax=await RQ({amount:a,blockchain:t,address:n})),u};class QQ{constructor({name:t,blockchain:e,alternativeNames:n,label:r,logo:i,router:o,factory:a,wrapper:s,pair:u,market:c,findPath:l,pathExists:h,getAmounts:d,getTransaction:f,slippage:p}){this.name=t,this.blockchain=e,this.alternativeNames=n,this.label=r,this.logo=i,this.router=o,this.factory=a,this.wrapper=s,this.pair=u,this.market=c,this.findPath=l,this.pathExists=h,this.getAmounts=d,this.getTransaction=f,this.slippage=p}async route({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}){return t===e?Promise.resolve():((({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s})=>{if(void 0!==a)throw"You cannot not set amountOutMax! Only amountInMax or amountOutMin!";if(void 0!==s)throw"You cannot not set amountInMin! Only amountInMax or amountOutMin!";if(void 0!==r&&void 0!==n)throw"You cannot set amountIn and amountOut at the same time, use amountInMax or amountOutMin to describe the non exact part of the swap!";if(void 0!==i&&void 0!==o)throw"You cannot set amountInMax and amountOutMin at the same time, use amountIn or amountOut to describe the part of the swap that needs to be exact!";if(void 0!==n&&void 0!==i)throw"Setting amountIn and amountInMax at the same time makes no sense. Decide if amountIn needs to be exact or not!";if(void 0!==r&&void 0!==o)throw"Setting amountOut and amountOutMin at the same time makes no sense. Decide if amountOut needs to be exact or not!"})({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o,amountOutMax:a,amountInMin:s}),await(({exchange:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,findPath:s,getAmounts:u,getTransaction:c,slippage:l})=>{if(e=BQ(e),n=BQ(n),[r,i,o,a].filter(Boolean).length>1)throw"You can only pass one: amountIn, amountOut, amountInMax or amountOutMin";if([r,i,o,a].filter(Boolean).length<1)throw"You need to pass exactly one: amountIn, amountOut, amountInMax or amountOutMin";return new Promise((async h=>{let{path:d,fixedPath:f}=await s({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a});if(void 0===d||0==d.length)return h();let p,[m,g,y,v]=[r,i,o,a];if(({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await u({path:d,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a})),[r,o,i,a].every((t=>null==t)))return h();l&&({amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p}=await PQ({exchange:t,fixedPath:f,amounts:p,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v})),h(new OQ({tokenIn:e,tokenOut:n,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,exchange:t,getTransaction:async({from:e})=>await c({exchange:t,path:d,amountIn:r,amountInMax:o,amountOut:i,amountOutMin:a,amounts:p,amountInInput:m,amountOutInput:g,amountInMaxInput:y,amountOutMinInput:v,fromAddress:e})}))}))})({...await UQ({blockchain:this.blockchain,exchange:this,tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o}),findPath:this.findPath,getAmounts:this.getAmounts,getTransaction:this.getTransaction,slippage:this.slippage}))}}const WQ="79226673515401279992447579055",FQ="4295048016",YQ=t=>-t;class HQ{static priceToSqrtPriceX64(t,e,n){return r=t.mul(NQ.pow(10,n-e)).sqrt(),new Hk(r.mul(NQ.pow(2,64)).floor().toFixed());var r}static sqrtPriceX64ToPrice(t,e,n){return(r=t,new NQ(r.toString()).mul(NQ.pow(2,-64))).pow(2).mul(NQ.pow(10,e-n));var r}static tickIndexToSqrtPriceX64(t){return new Hk(t>0?function(t){let e;e=new Hk(0!=(1&t)?"79232123823359799118286999567":"79228162514264337593543950336");0!=(2&t)&&(e=GQ(e.mul(new Hk("79236085330515764027303304731")),96,256));0!=(4&t)&&(e=GQ(e.mul(new Hk("79244008939048815603706035061")),96,256));0!=(8&t)&&(e=GQ(e.mul(new Hk("79259858533276714757314932305")),96,256));0!=(16&t)&&(e=GQ(e.mul(new Hk("79291567232598584799939703904")),96,256));0!=(32&t)&&(e=GQ(e.mul(new Hk("79355022692464371645785046466")),96,256));0!=(64&t)&&(e=GQ(e.mul(new Hk("79482085999252804386437311141")),96,256));0!=(128&t)&&(e=GQ(e.mul(new Hk("79736823300114093921829183326")),96,256));0!=(256&t)&&(e=GQ(e.mul(new Hk("80248749790819932309965073892")),96,256));0!=(512&t)&&(e=GQ(e.mul(new Hk("81282483887344747381513967011")),96,256));0!=(1024&t)&&(e=GQ(e.mul(new Hk("83390072131320151908154831281")),96,256));0!=(2048&t)&&(e=GQ(e.mul(new Hk("87770609709833776024991924138")),96,256));0!=(4096&t)&&(e=GQ(e.mul(new Hk("97234110755111693312479820773")),96,256));0!=(8192&t)&&(e=GQ(e.mul(new Hk("119332217159966728226237229890")),96,256));0!=(16384&t)&&(e=GQ(e.mul(new Hk("179736315981702064433883588727")),96,256));0!=(32768&t)&&(e=GQ(e.mul(new Hk("407748233172238350107850275304")),96,256));0!=(65536&t)&&(e=GQ(e.mul(new Hk("2098478828474011932436660412517")),96,256));0!=(131072&t)&&(e=GQ(e.mul(new Hk("55581415166113811149459800483533")),96,256));0!=(262144&t)&&(e=GQ(e.mul(new Hk("38992368544603139932233054999993551")),96,256));return GQ(e,32,256)}(t):function(t){let e,n=Math.abs(t);e=new Hk(0!=(1&n)?"18445821805675392311":"18446744073709551616");0!=(2&n)&&(e=GQ(e.mul(new Hk("18444899583751176498")),64,256));0!=(4&n)&&(e=GQ(e.mul(new Hk("18443055278223354162")),64,256));0!=(8&n)&&(e=GQ(e.mul(new Hk("18439367220385604838")),64,256));0!=(16&n)&&(e=GQ(e.mul(new Hk("18431993317065449817")),64,256));0!=(32&n)&&(e=GQ(e.mul(new Hk("18417254355718160513")),64,256));0!=(64&n)&&(e=GQ(e.mul(new Hk("18387811781193591352")),64,256));0!=(128&n)&&(e=GQ(e.mul(new Hk("18329067761203520168")),64,256));0!=(256&n)&&(e=GQ(e.mul(new Hk("18212142134806087854")),64,256));0!=(512&n)&&(e=GQ(e.mul(new Hk("17980523815641551639")),64,256));0!=(1024&n)&&(e=GQ(e.mul(new Hk("17526086738831147013")),64,256));0!=(2048&n)&&(e=GQ(e.mul(new Hk("16651378430235024244")),64,256));0!=(4096&n)&&(e=GQ(e.mul(new Hk("15030750278693429944")),64,256));0!=(8192&n)&&(e=GQ(e.mul(new Hk("12247334978882834399")),64,256));0!=(16384&n)&&(e=GQ(e.mul(new Hk("8131365268884726200")),64,256));0!=(32768&n)&&(e=GQ(e.mul(new Hk("3584323654723342297")),64,256));0!=(65536&n)&&(e=GQ(e.mul(new Hk("696457651847595233")),64,256));0!=(131072&n)&&(e=GQ(e.mul(new Hk("26294789957452057")),64,256));0!=(262144&n)&&(e=GQ(e.mul(new Hk("37481735321082")),64,256));return e}(t))}static sqrtPriceX64ToTickIndex(t){if(t.gt(new Hk(WQ))||t.lt(new Hk(FQ)))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");const e=t.bitLength()-1,n=function(t,e,n){let r=t.toTwos(n).shln(e);return r.imaskn(n+1),r.fromTwos(n)}(new Hk(e-64),32,128);let r=new Hk("8000000000000000","hex"),i=0,o=new Hk(0),a=e>=64?t.shrn(e-63):t.shln(63-e);for(;r.gt(new Hk(0))&&i<14;){a=a.mul(a);let t=a.shrn(127);a=a.shrn(63+t.toNumber()),o=o.add(r.mul(t)),r=r.shrn(1),i+=1}const s=o.shrn(32),u=n.add(s).mul(new Hk("59543866431248")),c=GQ(u.sub(new Hk("184467440737095516")),64,128).toNumber(),l=GQ(u.add(new Hk("15793534762490258745")),64,128).toNumber();if(c==l)return c;return HQ.tickIndexToSqrtPriceX64(l).lte(t)?l:c}static tickIndexToPrice(t,e,n){return HQ.sqrtPriceX64ToPrice(HQ.tickIndexToSqrtPriceX64(t),e,n)}static priceToTickIndex(t,e,n){return HQ.sqrtPriceX64ToTickIndex(HQ.priceToSqrtPriceX64(t,e,n))}static priceToInitializableTickIndex(t,e,n,r){return((t,e)=>t-t%e)(HQ.priceToTickIndex(t,e,n),r)}static invertPrice(t,e,n){const r=HQ.priceToTickIndex(t,e,n),i=YQ(r);return HQ.tickIndexToPrice(i,n,e)}static invertSqrtPriceX64(t){const e=HQ.sqrtPriceX64ToTickIndex(t),n=YQ(e);return HQ.tickIndexToSqrtPriceX64(n)}}function GQ(t,e,n){let r=t.toTwos(n).shrn(e);return r.imaskn(n-e+1),r.fromTwos(n-e)}const ZQ=new Hk(1e4),VQ=new Hk(1e6),JQ=new Hk(0),qQ=new Hk(1),XQ=new Hk(2),KQ=XQ.pow(new Hk(64)).sub(qQ);class $Q extends Hk{toBuffer(){const t=super.toArray().reverse(),e=buffer.Buffer.from(t);if(8===e.length)return e;assert__default.default(e.length<8,"u64 too large");const n=buffer.Buffer.alloc(8);return e.copy(n),n}static fromBuffer(t){return assert__default.default(8===t.length,`Invalid buffer length: ${t.length}`),new $Q([...t].reverse().map((t=>`00${t.toString(16)}`.slice(-2))).join(""),16)}}class tW{static mul(t,e,n){const r=t.mul(e);if(this.isOverLimit(r,n))throw new Error(`Mul result higher than u${n}`);return r}static mulDiv(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!1,r)}static mulDivRoundUp(t,e,n,r){return this.mulDivRoundUpIf(t,e,n,!0,r)}static mulDivRoundUpIf(t,e,n,r,i){if(n.eq(JQ))throw new Error("mulDiv denominator is zero");const o=this.mul(t,e,i),a=o.div(n);return r&&o.mod(n).gt(JQ)?a.add(qQ):a}static checked_mul_shift_right(t,e,n){return this.checked_mul_shift_right_round_up_if(t,e,!1,n)}static checked_mul_shift_right_round_up_if(t,e,n,r){if(t.eq(JQ)||e.eq(JQ))return JQ;const i=this.mul(t,e,r);if(this.isOverLimit(i,r))throw new Error(`MulShiftRight overflowed u${r}.`);const o=i.div(new Hk(2).pow(new Hk(64)));const a=n&&o.and(KQ).gt(JQ);if(a&&o.eq(KQ))throw new Error(`MulShiftRight overflowed u${r}.`);return a?o.add(qQ):o}static isOverLimit(t,e){const n=XQ.pow(new Hk(e)).sub(qQ);return t.gt(n)}static divRoundUp(t,e){return this.divRoundUpIf(t,e,!0)}static divRoundUpIf(t,e,n){if(e.eq(JQ))throw new Error("divRoundUpIf - divide by zero");let r=t.div(e);return n&&t.mod(e).gt(JQ)?r.add(qQ):r}}const eW=(t,e,n)=>{const r=HQ.tickIndexToSqrtPriceX64(t);return{nextTickPrice:r,nextSqrtPriceLimit:n?Hk.max(e,r):Hk.min(e,r)}},nW=(t,e)=>t.gt(e)?[e,t]:[t,e],rW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i),s=n.mul(a).shln(64),u=i.mul(o),c=s.div(u),l=s.mod(u),h=r&&!l.eq(JQ)?c.add(qQ):c;if(h.gt(KQ))throw new Error("Results larger than U64");return h},iW=(t,e,n,r)=>{let[i,o]=nW(t,e),a=o.sub(i);return tW.checked_mul_shift_right_round_up_if(n,a,r,128)},oW=(t,e,n,r,i)=>r===i?((t,e,n,r)=>{if(n.eq(JQ))return t;let i=tW.mul(t,n,256),o=tW.mul(e,t,256).shln(64);if(tW.isOverLimit(o,256))throw new Error("getNextSqrtPriceFromARoundUp - numerator overflow u256");let a=e.shln(64);if(!r&&a.lte(i))throw new Error("getNextSqrtPriceFromARoundUp - Unable to divide currLiquidityX64 by product");let s=r?a.add(i):a.sub(i),u=tW.divRoundUp(o,s);if(u.lt(new Hk(FQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than min sqrt price");if(u.gt(new Hk(WQ)))throw new Error("getNextSqrtPriceFromARoundUp - price less than max sqrt price");return u})(t,e,n,r):((t,e,n,r)=>{let i=n.shln(64),o=tW.divRoundUpIf(i,e,!r);return r?t.add(o):t.sub(o)})(t,e,n,r),aW=(t,e,n,r,i)=>i===r?rW(t,e,n,r):iW(t,e,n,r),sW=(t,e,n,r,i,o,a)=>{let s=aW(r,i,n,o,a),u=t;if(o){u=tW.mulDiv(t,VQ.sub(new Hk(e)),VQ,128)}let c=u.gte(s)?i:oW(r,n,u,o,a),l=c.eq(i),h=((t,e,n,r,i)=>i===r?iW(t,e,n,!r):rW(t,e,n,!r))(r,c,n,o,a);l||(s=aW(r,c,n,o,a));let d,f=o?s:h,p=o?h:s;if(!o&&p.gt(t)&&(p=t),o&&!l)d=t.sub(f);else{const t=new Hk(e);d=tW.mulDivRoundUp(f,t,VQ.sub(t),128)}return{amountIn:f,amountOut:p,nextPrice:c,feeAmount:d}},uW=(t,e,n)=>n?e.sub(t):e.add(t),cW=(t,e,n,r,i)=>{let o=r,a=i,s=t;if(e>0){let t=((t,e)=>t.mul(new $Q(e).div(ZQ)))(s,e);s=s.sub(t),o=o.add(r)}if(n.gt(JQ)){const t=s.shln(64).div(n);a=a.add(t)}return{nextProtocolFee:o,nextFeeGrowthGlobalInput:a}},lW=443636,hW=-443636,dW=88,fW=(t,e,n)=>{const r=(Math.floor(t/e/dW)+n)*e*dW,i=dW*e;if(r<hW-(hW%i+i))throw`startTickIndex is too small - - ${r}`;if(r>lW)throw`startTickIndex is too large - ${r}`;return r},pW=async({pool:t,freshWhirlpoolData:e,aToB:n})=>{const r=await(async({aToB:t,pool:e,tickSpacing:n,tickCurrentIndex:r})=>{const i=t?0:n;let o=0,a=[];for(let s=0;s<3;s++){let s;try{s=fW(r+i,n,o)}catch(t){return a}const u=(await Av.findProgramAddress([Yk.from("tick_array"),new Av(e.toString()).toBuffer(),Yk.from(s.toString())],new Av(CQ.router.v1.address)))[0];a.push(u),o=t?o-1:o+1}return a})({aToB:n,pool:t,tickSpacing:e.tickSpacing,tickCurrentIndex:e.tickCurrentIndex});return await Promise.all(r.map((async(t,e)=>{let n;try{n=await CL({blockchain:"solana",address:t.toString(),api:jQ,cache:10})}catch(t){}return{address:t,data:n}})))};class mW{static fromTickIndex(t,e){const n=Math.floor(Math.floor(t/e)/dW);let r=Math.floor(t%(e*dW)/e);return r<0&&(r=dW+r),new mW(n,r,e)}constructor(t,e,n){if(e>=dW)throw new Error("Invalid offsetIndex - value has to be smaller than TICK_ARRAY_SIZE");if(e<0)throw new Error("Invalid offsetIndex - value is smaller than 0");if(n<0)throw new Error("Invalid tickSpacing - value is less than 0");this.arrayIndex=t,this.offsetIndex=e,this.tickSpacing=n}toTickIndex(){return this.arrayIndex*dW*this.tickSpacing+this.offsetIndex*this.tickSpacing}toNextInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()+this.tickSpacing,this.tickSpacing)}toPrevInitializableTickIndex(){return mW.fromTickIndex(this.toTickIndex()-this.tickSpacing,this.tickSpacing)}}class gW{constructor(t,e,n){if(!t[0]||!t[0].data)throw new Error("TickArray index 0 must be initialized");this.sequence=[];for(const e of t){if(!e||!e.data)break;this.sequence.push({address:e.address,data:e.data})}this.tickArrays=t,this.tickSpacing=e,this.aToB=n,this.touchedArrays=[...Array(this.sequence.length).fill(!1)],this.startArrayIndex=mW.fromTickIndex(this.sequence[0].data.startTickIndex,this.tickSpacing).arrayIndex}isValidTickArray0(t){const e=this.aToB?0:this.tickSpacing,n=this.sequence[0].data;return this.checkIfIndexIsInTickArrayRange(n.startTickIndex,t+e)}getNumOfTouchedArrays(){return this.touchedArrays.filter((t=>!!t)).length}getTouchedArrays(t){let e=this.touchedArrays.reduce(((t,e,n)=>(e&&t.push(this.sequence[n].address),t)),[]);if(0===e.length)return[];const n=t-e.length;return n>0&&(e=e.concat(Array(n).fill(e[e.length-1]))),e}getTick(t){const e=mW.fromTickIndex(t,this.tickSpacing);if(!this.isArrayIndexInBounds(e,this.aToB))throw new Error("Provided tick index is out of bounds for this sequence.");const n=this.getLocalArrayIndex(e.arrayIndex,this.aToB),r=this.sequence[n].data;if(this.touchedArrays[n]=!0,!r)throw new Error(`TickArray at index ${n} is not initialized.`);if(!this.checkIfIndexIsInTickArrayRange(r.startTickIndex,t))throw new Error(`TickArray at index ${n} is unexpected for this sequence.`);return r.ticks[e.offsetIndex]}findNextInitializedTickIndex(t){const e=this.aToB?t:t+this.tickSpacing;let n=mW.fromTickIndex(e,this.tickSpacing);if(!this.isArrayIndexInBounds(n,this.aToB))throw new Error(`Swap input value traversed too many arrays. Out of bounds at attempt to traverse tick index - ${n.toTickIndex()}.`);for(;this.isArrayIndexInBounds(n,this.aToB);){const t=this.getTick(n.toTickIndex());if(t.initialized)return{nextIndex:n.toTickIndex(),nextTickData:t};n=this.aToB?n.toPrevInitializableTickIndex():n.toNextInitializableTickIndex()}return{nextIndex:Math.max(Math.min(this.aToB?n.toTickIndex()+this.tickSpacing:n.toTickIndex()-1,lW),hW),nextTickData:null}}getLocalArrayIndex(t,e){return e?this.startArrayIndex-t:t-this.startArrayIndex}isArrayIndexInBounds(t,e){const n=this.getLocalArrayIndex(t.arrayIndex,e),r=this.sequence.length;return n>=0&&n<r}checkIfIndexIsInTickArrayRange(t,e){const n=t+this.tickSpacing*dW;return e>=t&&e<n}}const yW=async({account:t,tokenIn:e,tokenOut:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a})=>{try{const n=await CL({blockchain:"solana",address:t.pubkey.toString(),api:CQ.router.v1.api,cache:10}),s=n.tokenMintA.toString()===e,u=await pW({pool:t.pubkey,freshWhirlpoolData:n,aToB:s}),c=new gW(u,n.tickSpacing,s),l=new Hk(s?FQ:WQ),h=!(!r&&!i),d=(({tokenAmount:t,aToB:e,freshWhirlpoolData:n,tickSequence:r,sqrtPriceLimit:i,amountSpecifiedIsInput:o})=>{let a=t,s=JQ,u=n.sqrtPrice,c=n.liquidity,l=n.tickCurrentIndex,h=JQ;const d=n.feeRate,f=n.protocolFeeRate;let p=new $Q(0),m=e?n.feeGrowthGlobalA:n.feeGrowthGlobalB;for(;a.gt(JQ)&&!i.eq(u);){let{nextIndex:t}=r.findNextInitializedTickIndex(l),{nextTickPrice:n,nextSqrtPriceLimit:g}=eW(t,i,e);const y=sW(a,d,c,u,g,o,e);h=h.add(y.feeAmount),o?(a=a.sub(y.amountIn),a=a.sub(y.feeAmount),s=s.add(y.amountOut)):(a=a.sub(y.amountOut),s=s.add(y.amountIn),s=s.add(y.feeAmount));let{nextProtocolFee:v,nextFeeGrowthGlobalInput:b}=cW(y.feeAmount,f,c,p,m);if(p=v,m=b,y.nextPrice.eq(n)){const n=r.getTick(t);n.initialized&&(c=uW(n.liquidityNet,c,e)),l=e?t-1:t}else l=HQ.sqrtPriceX64ToTickIndex(y.nextPrice);u=y.nextPrice}return s})({tokenAmount:new Hk((r||i||o||a).toString()),aToB:s,freshWhirlpoolData:n,tickSequence:c,sqrtPriceLimit:l,amountSpecifiedIsInput:h});return{price:d.toString(),tickArrays:u,aToB:s,sqrtPriceLimit:l}}catch(t){return{price:void 0,tickArrays:void 0,aToB:void 0,sqrtPriceLimit:void 0}}};let vW=async(t,e)=>await CL(`solana://${CQ.router.v1.address}/getProgramAccounts`,{params:{filters:[{dataSize:CQ.router.v1.api.span},{memcmp:{offset:8,bytes:"2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ"}},{memcmp:{offset:101,bytes:t}},{memcmp:{offset:181,bytes:e}}]},api:CQ.router.v1.api,cache:86400,cacheKey:["whirlpool",t.toString(),e.toString()].join("-")}),bW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{try{let a=await vW(t,e);return 0===a.length&&(a=await vW(e,t)),a=a.filter((t=>t.data.liquidity.gt(1))),a=(await Promise.all(a.map((async a=>{const{price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l}=await yW({account:a,tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});return void 0!==s&&{pubkey:a.pubkey,price:s,tickArrays:u,sqrtPriceLimit:c,aToB:l,data:{tokenVaultA:a.data.tokenVaultA,tokenVaultB:a.data.tokenVaultB}}})))).filter(Boolean),a}catch(t){return[]}},wW=async({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o})=>{const a=await bW({tokenIn:t,tokenOut:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o});if(!a||0===a.length)return;let s;return s=n||r?(t=>t.reduce(((t,e)=>bt.from(e.price).gt(bt.from(t.price))?e:t)))(a):(t=>t.reduce(((t,e)=>bt.from(e.price).lt(bt.from(t.price))?e:t)))(a),s};function MW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const kW=L.solana;let LW=t=>{if(!t)return;let e=t.map(((e,n)=>e===kW.currency.address&&t[n+1]!=kW.wrapped.address&&t[n-1]!=kW.wrapped.address?kW.wrapped.address:e));return e[0]==kW.currency.address&&e[1]==kW.wrapped.address?e.splice(0,1):e[e.length-1]==kW.currency.address&&e[e.length-2]==kW.wrapped.address&&e.splice(e.length-1,1),e},AW=async({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})=>1!=t.length&&(t=LW(t),(await bW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i})).length>0),xW=async({path:t,amountIn:e,amountInMax:n})=>{let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[0],tokenOut:t[1],amountIn:e,amountInMax:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[2],amountIn:e?r[1]:void 0,amountInMax:n?r[1]:void 0})).price)),r.length==t.length)return r},EW=async({path:t,amountOut:e,amountOutMin:n})=>{t=t.slice().reverse();let r=[bt.from(e||n)];if(r.push(bt.from((await wW({tokenIn:t[1],tokenOut:t[0],amountOut:e,amountOutMin:n})).price)),3===t.length&&r.push(bt.from((await wW({tokenIn:t[2],tokenOut:t[1],amountOut:e?r[1]:void 0,amountOutMin:n?r[1]:void 0})).price)),r.length==t.length)return r.slice().reverse()};const NW=L.solana,SW=new Hk("14449647541112719096"),IW=new Hk("16635068063392030915"),TW=async({instructions:t,owner:e,token:n,account:r})=>{let i;try{i=!!await CL({blockchain:"solana",address:r.toString()})}catch(t){}i||t.push(await YR.solana.createAssociatedTokenAccountInstruction({token:n,owner:e,payer:e}))},jW=async({fromAddress:t,poolOne:e,tickArraysOne:n,tokenAccountOneA:r,tokenVaultOneA:i,tokenAccountOneB:o,tokenVaultOneB:a,poolTwo:s,tickArraysTwo:u,tokenAccountTwoA:c,tokenVaultTwoA:l,tokenAccountTwoB:h,tokenVaultTwoB:d})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(s.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(a.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(c.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(l.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(h.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(d.toString()),isWritable:!0,isSigner:!1},{pubkey:n[0].address,isWritable:!0,isSigner:!1},{pubkey:n[1].address,isWritable:!0,isSigner:!1},{pubkey:n[2].address,isWritable:!0,isSigner:!1},{pubkey:u[0].address,isWritable:!0,isSigner:!1},{pubkey:u[1].address,isWritable:!0,isSigner:!1},{pubkey:u[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(s.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],CW=({amount:t,otherAmountThreshold:e,amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a})=>{let s,u;return s=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]),u=Yk.alloc(s.span),s.encode({anchorDiscriminator:IW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),amountSpecifiedIsInput:n,aToBOne:r,aToBTwo:i,sqrtPriceLimitOne:o,sqrtPriceLimitTwo:a},u),u},DW=async({fromAddress:t,pool:e,tokenAccountA:n,tokenVaultA:r,tokenAccountB:i,tokenVaultB:o,tickArrays:a})=>[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isWritable:!1,isSigner:!1},{pubkey:new Av(t),isWritable:!1,isSigner:!0},{pubkey:new Av(e.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(n.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(r.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(i.toString()),isWritable:!0,isSigner:!1},{pubkey:new Av(o.toString()),isWritable:!0,isSigner:!1},{pubkey:a[0].address,isWritable:!0,isSigner:!1},{pubkey:a[1].address,isWritable:!0,isSigner:!1},{pubkey:a[2].address,isWritable:!0,isSigner:!1},{pubkey:(await Av.findProgramAddress([Yk.from("oracle"),new Av(e.toString()).toBuffer()],new Av(CQ.router.v1.address)))[0],isWritable:!1,isSigner:!1}],OW=({amount:t,otherAmountThreshold:e,sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i})=>{let o,a;return o=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]),a=Yk.alloc(o.span),o.encode({anchorDiscriminator:SW,amount:new Hk(t.toString()),otherAmountThreshold:new Hk(e.toString()),sqrtPriceLimit:n,amountSpecifiedIsInput:r,aToB:i},a),a};var _W=new QQ(Object.assign(CQ,{findPath:async({tokenIn:t,tokenOut:e,amountIn:n,amountOut:r,amountInMax:i,amountOutMin:o})=>{if([t,e].includes(kW.currency.address)&&[t,e].includes(kW.wrapped.address))return{path:void 0,fixedPath:void 0};let a,s,u,c;return await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,e]:t!=kW.wrapped.address&&t!=kW.currency.address&&await AW({path:[t,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})&&e!=kW.wrapped.address&&e!=kW.currency.address&&await AW({path:[e,kW.wrapped.address],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?a=[t,kW.wrapped.address,e]:!kW.stables.usd.includes(t)&&(s=(await Promise.all(kW.stables.usd.map((async e=>await AW({path:[t,e],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?e:void 0)))).filter(Boolean))&&!kW.stables.usd.includes(e)&&(u=(await Promise.all(kW.stables.usd.map((async t=>await AW({path:[e,t],amountIn:n,amountInMax:i,amountOut:r,amountOutMin:o})?t:void 0)))).filter(Boolean))&&(c=s.filter((t=>u.includes(t)))[0])&&(a=[t,c,e]),MW([a,"optionalAccess",t=>t.length])&&a[0]==kW.currency.address?a.splice(1,0,kW.wrapped.address):MW([a,"optionalAccess",t=>t.length])&&a[a.length-1]==kW.currency.address&&a.splice(a.length-1,0,kW.wrapped.address),{path:a,fixedPath:LW(a)}},pathExists:AW,getAmounts:async({path:t,tokenIn:e,tokenOut:n,amountOut:r,amountIn:i,amountInMax:o,amountOutMin:a})=>{let s;if(t=LW(t),r){if(s=await EW({path:t,amountOut:r,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(i){if(s=await xW({path:t,amountIn:i,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}else if(a){if(s=await EW({path:t,amountOutMin:a,tokenIn:e,tokenOut:n}),null==(i=s?s[0]:void 0)||o&&i.gt(o))return{};void 0===o&&(o=i)}else if(o){if(s=await xW({path:t,amountInMax:o,tokenIn:e,tokenOut:n}),null==(r=s?s[s.length-1]:void 0)||a&&r.lt(a))return{};void 0===a&&(a=r)}return{amountOut:r||a,amountIn:i||o,amountInMax:o||i,amountOutMin:a||r,amounts:s}},getTransaction:async({exchange:t,path:e,amountIn:n,amountInMax:r,amountOut:i,amountOutMin:o,amounts:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:"solana"},f=[];const p=LW(e);if(p.length>3)throw"Orca can only handle fixed paths with a max length of 3 (2 pools)!";const m=p[0],g=3==p.length?p[1]:void 0,y=p[p.length-1];let v;2==p.length?v=[await wW({tokenIn:m,tokenOut:y,amountIn:s||c,amountOut:u||l})]:s||c?(v=[await wW({tokenIn:m,tokenOut:g,amountIn:s||c})],v.push(await wW({tokenIn:g,tokenOut:y,amountIn:v[0].price}))):(v=[await wW({tokenIn:g,tokenOut:y,amountOut:u||l})],v.unshift(await wW({tokenIn:m,tokenOut:g,amountOut:v[0].price})));let b,w=e[0]===NW.currency.address&&p[0]===NW.wrapped.address,M=e[e.length-1]===NW.currency.address&&p[p.length-1]===NW.wrapped.address;const k=await EL("solana");if(w||M){const t=await k.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span),e=LM.generate();b=e.publicKey.toString();const r=w?new Hk(n.toString()).add(new Hk(t)):new Hk(t);let i=bb.createAccount({fromPubkey:new Av(h),newAccountPubkey:new Av(b),programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r});i.signers=[e],f.push(i),f.push(YR.solana.initializeAccountInstruction({account:b,token:NW.wrapped.address,owner:h}))}if(1===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:d}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await DW({fromAddress:h,pool:v[0].pubkey,tokenAccountA:v[0].aToB?c:d,tokenVaultA:v[0].data.tokenVaultA,tokenAccountB:v[0].aToB?d:c,tokenVaultB:v[0].data.tokenVaultB,tickArrays:v[0].tickArrays}),data:OW({amount:a,otherAmountThreshold:u,sqrtPriceLimit:v[0].sqrtPriceLimit,amountSpecifiedIsInput:e,aToB:v[0].aToB})}))}else if(2===v.length){let e=!(!s&&!l),a=e?n:i,u=e?o:r,c=new Av(w?b:await YR.solana.findProgramAddress({owner:h,token:m})),d=p[1],g=new Av(await YR.solana.findProgramAddress({owner:h,token:d}));await TW({instructions:f,owner:h,token:d,account:g});let k=new Av(M?b:await YR.solana.findProgramAddress({owner:h,token:y}));M||await TW({instructions:f,owner:h,token:y,account:k}),f.push(new Zv({programId:new Av(t.router.v1.address),keys:await jW({fromAddress:h,poolOne:v[0].pubkey,tickArraysOne:v[0].tickArrays,tokenAccountOneA:v[0].aToB?c:g,tokenVaultOneA:v[0].data.tokenVaultA,tokenAccountOneB:v[0].aToB?g:c,tokenVaultOneB:v[0].data.tokenVaultB,poolTwo:v[1].pubkey,tickArraysTwo:v[1].tickArrays,tokenAccountTwoA:v[1].aToB?g:k,tokenVaultTwoA:v[1].data.tokenVaultA,tokenAccountTwoB:v[1].aToB?k:g,tokenVaultTwoB:v[1].data.tokenVaultB}),data:CW({amount:a,otherAmountThreshold:u,amountSpecifiedIsInput:e,aToBOne:v[0].aToB,aToBTwo:v[1].aToB,sqrtPriceLimitOne:v[0].sqrtPriceLimit,sqrtPriceLimitTwo:v[1].sqrtPriceLimit})}))}return(w||M)&&f.push(YR.solana.closeAccountInstruction({account:b,owner:h})),d.instructions=f,d}}));function zW(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}const PW=(t,e,n)=>{if(!n)return;let r=n.map(((e,r)=>e===t.currency.address&&n[r+1]!=t.wrapped.address&&n[r-1]!=t.wrapped.address?t.wrapped.address:e));return r[0]==t.currency.address&&r[1]==t.wrapped.address?r.splice(0,1):r[r.length-1]==t.currency.address&&r[r.length-2]==t.wrapped.address&&r.splice(r.length-1,1),r},BW=({reserves:t,min:e,token:n,token0:r,token1:i,decimals:o})=>r.toLowerCase()==n.toLowerCase()?t[0].gte(Qc(e.toString(),o)):i.toLowerCase()==n.toLowerCase()&&t[1].gte(Qc(e.toString(),o)),RW=async(t,e,n)=>{if(1==PW(t,0,n).length)return!1;try{let r=await CL({blockchain:t.name,address:e.factory.address,method:"getPair",api:e.factory.api,cache:36e5,params:PW(t,0,n)});if(!r||r==t.zero)return!1;let[i,o,a]=await Promise.all([CL({blockchain:t.name,address:r,method:"getReserves",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token0",api:e.pair.api,cache:36e5}),CL({blockchain:t.name,address:r,method:"token1",api:e.pair.api,cache:36e5})]);if(n.includes(t.wrapped.address))return BW({min:1,token:t.wrapped.address,decimals:t.currency.decimals,reserves:i,token0:o,token1:a});if(n.find((e=>t.stables.usd.includes(e)))){let e=n.find((e=>t.stables.usd.includes(e))),r=new YR({blockchain:t.name,address:e}),s=await r.decimals();return BW({min:1e3,token:e,decimals:s,reserves:i,token0:o,token1:a})}return!0}catch(t){return!1}};let UW=(t,e,{path:n,amountIn:r,tokenIn:i,tokenOut:o})=>new Promise((i=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsOut",api:e.router.api,params:{amountIn:r,path:PW(t,0,n)}}).then((t=>{i(t[t.length-1])})).catch((()=>i()))})),QW=(t,e,{path:n,amountOut:r,block:i})=>new Promise((o=>{CL({blockchain:t.name,address:e.router.address,method:"getAmountsIn",api:e.router.api,params:{amountOut:r,path:PW(t,0,n)},block:i}).then((t=>o(t[0]))).catch((()=>o()))}));var WW={findPath:async(t,e,{tokenIn:n,tokenOut:r})=>{if([n,r].includes(t.currency.address)&&[n,r].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let i;if(await RW(t,e,[n,r]))i=[n,r];else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&r!=t.wrapped.address&&await RW(t,e,[r,t.wrapped.address]))i=[n,t.wrapped.address,r];else if(!t.stables.usd.includes(n)&&(await Promise.all(t.stables.usd.map((r=>RW(t,e,[n,r]))))).filter(Boolean).length&&r!=t.wrapped.address&&await RW(t,e,[t.wrapped.address,r])){let o=(await Promise.all(t.stables.usd.map((async r=>await RW(t,e,[n,r])?r:void 0)))).find(Boolean);i=[n,o,t.wrapped.address,r]}else if(n!=t.wrapped.address&&await RW(t,e,[n,t.wrapped.address])&&!t.stables.usd.includes(r)&&(await Promise.all(t.stables.usd.map((n=>RW(t,e,[n,r]))))).filter(Boolean).length){let o=(await Promise.all(t.stables.usd.map((async n=>await RW(t,e,[n,r])?n:void 0)))).find(Boolean);i=[n,t.wrapped.address,o,r]}return zW([i,"optionalAccess",t=>t.length])&&i[0]==t.currency.address?i.splice(1,0,t.wrapped.address):zW([i,"optionalAccess",t=>t.length])&&i[i.length-1]==t.currency.address&&i.splice(i.length-1,0,t.wrapped.address),{path:i,fixedPath:PW(t,0,i)}},pathExists:RW,getAmounts:async(t,e,{path:n,block:r,tokenIn:i,tokenOut:o,amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c})=>{if(a){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:a,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(s){if(null==(a=await UW(t,e,{path:n,amountIn:s,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}else if(c){if(null==(s=await QW(t,e,{block:r,path:n,amountOut:c,tokenIn:i,tokenOut:o}))||u&&s.gt(u))return{};void 0===u&&(u=s)}else if(u){if(null==(a=await UW(t,e,{path:n,amountIn:u,tokenIn:i,tokenOut:o}))||c&&a.lt(c))return{};void 0===c&&(c=a)}return{amountOut:a,amountIn:s,amountInMax:u,amountOutMin:c}},getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.router.address,api:e.router.api};return n[0]===t.currency.address?s||l?(d.method="swapExactETHForTokens",d.value=r.toString(),d.params={amountOutMin:a.toString()}):(u||c)&&(d.method="swapETHForExactTokens",d.value=i.toString(),d.params={amountOut:o.toString()}):n[n.length-1]===t.currency.address?s||l?(d.method="swapExactTokensForETH",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactETH",d.params={amountInMax:i.toString(),amountOut:o.toString()}):s||l?(d.method="swapExactTokensForTokens",d.params={amountIn:r.toString(),amountOutMin:a.toString()}):(u||c)&&(d.method="swapTokensForExactTokens",d.params={amountInMax:i.toString(),amountOut:o.toString()}),d.params=Object.assign({},d.params,{path:PW(t,0,n),to:h,deadline:Math.round(Date.now()/1e3)+86400}),d},ROUTER:[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],FACTORY:[{inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token0",type:"address"},{indexed:!0,internalType:"address",name:"token1",type:"address"},{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"PairCreated",type:"event"},{constant:!0,inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"allPairs",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"allPairsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"}],name:"createPair",outputs:[{internalType:"address",name:"pair",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"feeToSetter",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"getPair",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeTo",type:"address"}],name:"setFeeTo",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_feeToSetter",type:"address"}],name:"setFeeToSetter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],PAIR:[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount0In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1In",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount0Out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount1Out",type:"uint256"},{indexed:!0,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint112",name:"reserve0",type:"uint112"},{indexed:!1,internalType:"uint112",name:"reserve1",type:"uint112"}],name:"Sync",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"MINIMUM_LIQUIDITY",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"burn",outputs:[{internalType:"uint256",name:"amount0",type:"uint256"},{internalType:"uint256",name:"amount1",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getReserves",outputs:[{internalType:"uint112",name:"_reserve0",type:"uint112"},{internalType:"uint112",name:"_reserve1",type:"uint112"},{internalType:"uint32",name:"_blockTimestampLast",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_token0",type:"address"},{internalType:"address",name:"_token1",type:"address"}],name:"initialize",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"kLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"mint",outputs:[{internalType:"uint256",name:"liquidity",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"price0CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"price1CumulativeLast",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"}],name:"skim",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"amount0Out",type:"uint256"},{internalType:"uint256",name:"amount1Out",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"sync",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"token0",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"token1",outputs:[{internalType:"address",name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}]};const FW=L.bsc,YW={blockchain:"bsc",name:"pancakeswap",alternativeNames:["pancake"],label:"PancakeSwap",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk4IiBoZWlnaHQ9IjE5OSIgdmlld0JveD0iMCAwIDE5OCAxOTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOTguNTUyIDE5OC42MDdDNjkuMDYxMyAxOTguNTg1IDQ1LjMwNiAxOTEuNTggMjguNzA3OSAxNzguOTk4QzExLjkxMDggMTY2LjI2NSAzIDE0OC4xOTUgMyAxMjcuNzQ4QzMgMTA4LjA0NyAxMS44OTEzIDkzLjg0MTEgMjEuOTUxNyA4NC4yMzg1QzI5LjgzNTkgNzYuNzEzMiAzOC41MzYzIDcxLjg5MzYgNDQuNTk0NSA2OS4xMjEzQzQzLjIyNDUgNjQuOTU5NCA0MS41MTUzIDU5LjUxMDggMzkuOTg2MSA1My44ODMyQzM3LjkzOTkgNDYuMzUyNyAzNS45MzI1IDM3LjUxNzQgMzUuOTMyNSAzMS4wNDI5QzM1LjkzMjUgMjMuMzc5NSAzNy42MjA0IDE1LjY4MzMgNDIuMTcxNCA5LjcwMzA2QzQ2Ljk3OTcgMy4zODQ3NiA1NC4yMTgyIDAgNjIuOTI2NCAwQzY5LjczMjIgMCA3NS41MTAzIDIuNDk5MDMgODAuMDMzOSA2LjgxMDExQzg0LjM1NzkgMTAuOTMwOSA4Ny4yMzU3IDE2LjQwMzQgODkuMjIyNyAyMi4xMDgyQzkyLjcxNDMgMzIuMTMyNSA5NC4wNzM4IDQ0LjcyNjQgOTQuNDU1MSA1Ny4yOTQ1SDEwMi43OTZDMTAzLjE3OCA0NC43MjY0IDEwNC41MzcgMzIuMTMyNSAxMDguMDI5IDIyLjEwODJDMTEwLjAxNiAxNi40MDM0IDExMi44OTQgMTAuOTMwOSAxMTcuMjE4IDYuODEwMTFDMTIxLjc0MSAyLjQ5OTAzIDEyNy41MTkgMCAxMzQuMzI1IDBDMTQzLjAzMyAwIDE1MC4yNzIgMy4zODQ3NiAxNTUuMDggOS43MDMwNkMxNTkuNjMxIDE1LjY4MzMgMTYxLjMxOSAyMy4zNzk1IDE2MS4zMTkgMzEuMDQyOUMxNjEuMzE5IDM3LjUxNzQgMTU5LjMxMiA0Ni4zNTI3IDE1Ny4yNjUgNTMuODgzMkMxNTUuNzM2IDU5LjUxMDggMTU0LjAyNyA2NC45NTk0IDE1Mi42NTcgNjkuMTIxM0MxNTguNzE1IDcxLjg5MzYgMTY3LjQxNiA3Ni43MTMyIDE3NS4zIDg0LjIzODVDMTg1LjM2IDkzLjg0MTEgMTk0LjI1MiAxMDguMDQ3IDE5NC4yNTIgMTI3Ljc0OEMxOTQuMjUyIDE0OC4xOTUgMTg1LjM0MSAxNjYuMjY1IDE2OC41NDQgMTc4Ljk5OEMxNTEuOTQ1IDE5MS41OCAxMjguMTkgMTk4LjU4NSA5OC42OTk2IDE5OC42MDdIOTguNTUyWiIgZmlsbD0iIzYzMzAwMSIvPgo8cGF0aCBkPSJNNjIuOTI2MiA3LjI4ODMzQzUwLjE3MTYgNy4yODgzMyA0NC4zMDA0IDE2LjgwMzcgNDQuMzAwNCAyOS45NjMyQzQ0LjMwMDQgNDAuNDIzMSA1MS4xMjIyIDYxLjM3MTUgNTMuOTIxMiA2OS41MjYzQzU0LjU1MDggNzEuMzYwNSA1My41NjE2IDczLjM3MDEgNTEuNzU3NCA3NC4wODE0QzQxLjUzNTEgNzguMTEyMSAxMS4zNjc5IDkyLjg3IDExLjM2NzkgMTI2LjY2OUMxMS4zNjc5IDE2Mi4yNzIgNDIuMDI0NiAxODkuMTE3IDk4LjU1ODEgMTg5LjE2Qzk4LjU4MDYgMTg5LjE2IDk4LjYwMzEgMTg5LjE1OSA5OC42MjU2IDE4OS4xNTlDOTguNjQ4MSAxODkuMTU5IDk4LjY3MDYgMTg5LjE2IDk4LjY5MzEgMTg5LjE2QzE1NS4yMjcgMTg5LjExNyAxODUuODgzIDE2Mi4yNzIgMTg1Ljg4MyAxMjYuNjY5QzE4NS44ODMgOTIuODcgMTU1LjcxNiA3OC4xMTIxIDE0NS40OTQgNzQuMDgxNEMxNDMuNjkgNzMuMzcwMSAxNDIuNyA3MS4zNjA1IDE0My4zMyA2OS41MjYzQzE0Ni4xMjkgNjEuMzcxNSAxNTIuOTUxIDQwLjQyMzEgMTUyLjk1MSAyOS45NjMyQzE1Mi45NTEgMTYuODAzNyAxNDcuMDggNy4yODgzMyAxMzQuMzI1IDcuMjg4MzNDMTE1Ljk2NSA3LjI4ODMzIDExMS4zODkgMzMuMjk1NSAxMTEuMDYyIDYxLjIwNzVDMTExLjA0IDYzLjA3MDkgMTA5LjUzNCA2NC41ODI4IDEwNy42NyA2NC41ODI4SDg5LjU4MDdDODcuNzE3MiA2NC41ODI4IDg2LjIxMDggNjMuMDcwOSA4Ni4xODkgNjEuMjA3NUM4NS44NjI2IDMzLjI5NTUgODEuMjg2IDcuMjg4MzMgNjIuOTI2MiA3LjI4ODMzWiIgZmlsbD0iI0QxODg0RiIvPgo8cGF0aCBkPSJNOTguNjkzMSAxNzcuNzU1QzU3LjE1NTEgMTc3Ljc1NSAxMS40Mzk3IDE1NS41MiAxMS4zNjgxIDEyNi43MzdDMTEuMzY4IDEyNi43ODEgMTEuMzY3OSAxMjYuODI2IDExLjM2NzkgMTI2Ljg3MUMxMS4zNjc5IDE2Mi41MDMgNDIuMDczNCAxODkuMzYyIDk4LjY5MzEgMTg5LjM2MkMxNTUuMzEzIDE4OS4zNjIgMTg2LjAxOCAxNjIuNTAzIDE4Ni4wMTggMTI2Ljg3MUMxODYuMDE4IDEyNi44MjYgMTg2LjAxOCAxMjYuNzgxIDE4Ni4wMTggMTI2LjczN0MxODUuOTQ2IDE1NS41MiAxNDAuMjMxIDE3Ny43NTUgOTguNjkzMSAxNzcuNzU1WiIgZmlsbD0iI0ZFREM5MCIvPgo8cGF0aCBkPSJNNzUuNjEzNSAxMTcuODk2Qzc1LjYxMzUgMTI3LjYxNCA3MS4wMjEgMTMyLjY3NSA2NS4zNTU4IDEzMi42NzVDNTkuNjkwNyAxMzIuNjc1IDU1LjA5ODEgMTI3LjYxNCA1NS4wOTgxIDExNy44OTZDNTUuMDk4MSAxMDguMTc4IDU5LjY5MDcgMTAzLjExNyA2NS4zNTU4IDEwMy4xMTdDNzEuMDIxIDEwMy4xMTcgNzUuNjEzNSAxMDguMTc4IDc1LjYxMzUgMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPHBhdGggZD0iTTE0Mi4yODggMTE3Ljg5NkMxNDIuMjg4IDEyNy42MTQgMTM3LjY5NiAxMzIuNjc1IDEzMi4wMzEgMTMyLjY3NUMxMjYuMzY1IDEzMi42NzUgMTIxLjc3MyAxMjcuNjE0IDEyMS43NzMgMTE3Ljg5NkMxMjEuNzczIDEwOC4xNzggMTI2LjM2NSAxMDMuMTE3IDEzMi4wMzEgMTAzLjExN0MxMzcuNjk2IDEwMy4xMTcgMTQyLjI4OCAxMDguMTc4IDE0Mi4yODggMTE3Ljg5NloiIGZpbGw9IiM2MzMwMDEiLz4KPC9zdmc+Cg==",router:{address:"0x10ED43C718714eb63d5aA57B78B54704E256024E",api:WW.ROUTER},factory:{address:"0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var HW=new QQ(Object.assign(YW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(FW,YW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(FW,YW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(FW,YW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(FW,YW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const GW=L.polygon,ZW={blockchain:"polygon",name:"quickswap",alternativeNames:[],label:"QuickSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzAyLjQ1IDcwMi40NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIj48cmVjdCB3aWR0aD0iNzUwIiBoZWlnaHQ9Ijc1MCIgZmlsbD0ibm9uZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj48cGF0aCBkPSJNMzU0Ljc0LDI0LjM3YTM1MS4yNywzNTEuMjcsMCwwLDEsMzYzLjc0LDI3NywzNTQsMzU0LDAsMCwxLDEuMjMsMTQxLjI2QTM1MS43NiwzNTEuNzYsMCwwLDEsNTEwLjEyLDY5OS4zYy03My43NywzMS0xNTguMjUsMzUuMzUtMjM0LjkxLDEyLjU0QTM1MiwzNTIsMCwwLDEsNDYuNTEsNDk5LjU2Yy0yOC03My40NS0zMC4xNi0xNTYuMzgtNi4yNC0yMzEuMjVBMzUwLjg4LDM1MC44OCwwLDAsMSwzNTQuNzQsMjQuMzciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1OC44MSwzNDkuNThjMS4zOSw2LjQxLDIuMjMsMTIuOTIsMy42MSwxOS4zNS44NSwzLjkzLDIuMTMsMyw0LjE1LDEuMjgsMy44Ny0zLjI1LDcuNTktNi42OSwxMS45NC05LjMxLDEuMjMuMjQsMS44NiwxLjIyLDIuNTMsMi4xLDExLjM5LDE0Ljg3LDI2LjUzLDI0LDQ0LjM3LDI4Ljk0YTE0Ny4yMywxNDcuMjMsMCwwLDAsMjUuMTcsNC42Nyw0Mi42OCw0Mi42OCwwLDAsMS02LjYxLTkuOTVjLTIuODUtNi40MS0xLjg1LTEyLjE1LDIuOTUtMTcuMjIsNS44Ny02LjE5LDEzLjYyLTguNzYsMjEuNDgtMTAuOCwxNi40OC00LjMsMzMuMjctNC43Myw1MC4xOC0zLjUzQTIwMi4xMSwyMDIuMTEsMCwwLDEsMzU4Ljc1LDM2MmMxMSwzLjA2LDIxLjcyLDYuNzMsMzEuNDQsMTIuODgsMS4zNiwxLjA5LDIuMywyLjYsMy42MSwzLjc0LDEyLjQ5LDEzLjQxLDE5Ljc4LDI5LjI1LDIwLjI4LDQ3LjU1LjM0LDEyLjY1LTMuMTYsMjQuNzItOS41LDM1LjgyLTExLjQyLDIwLTI4LjA5LDM0LjU2LTQ4LDQ1LjcxQTE3MC41LDE3MC41LDAsMCwxLDI5MSw1MjguNDJjLTQxLjI0LDQuNDctNzkuNDUtNC40Ny0xMTQuNTktMjYuMzYtMjkuMjEtMTguMTktNTEuNjUtNDMuMDgtNzAtNzEuOTJhMzM5LjU3LDMzOS41NywwLDAsMS0yMi41Mi00Mi43NWMtLjgxLTEuOC0xLTMuODEtMS44Mi01LjI5LjUyLDEuNzUsMS40OSwzLjczLS40Myw1LjYtLjU4LTcuNDUuMDgtMTQuOS40Ny0yMi4zMWEyODcuMTMsMjg3LjEzLDAsMCwxLDkuNDgtNjAuNTRBMjkyLjkxLDI5Mi45MSwwLDAsMSwyNjYuMDYsMTA5LjA5LDI4Ny4yLDI4Ny4yLDAsMCwxLDM0Ni41OSw4OS45YzQzLjU3LTQsODUuNzksMS43MywxMjcsMTYuMzQtNi4yNywxMS44OS00Miw0My43Mi02OS44LDYyLjE1YTk0LjExLDk0LjExLDAsMCwwLTUuNDQtMjMuNTFjLS4xNC0yLDEuNjYtMi42NSwyLjc4LTMuNjFxOC42Ny03LjQ2LDE3LjQzLTE0Ljc3YTE3LjE0LDE3LjE0LDAsMCwwLDEuNjktMS40OWMuNjYtLjcxLDEuNzctMS4zLDEuNTQtMi40cy0xLjU1LTEuMTUtMi40Ny0xLjNhNDYuODIsNDYuODIsMCwwLDAtOC4xNy0xYy0zLjgxLS40NS03LjU2LTEuMy0xMS40LTEuMzgtMi45NS0uMTgtNS44NS0uOTMtOC44My0uNjlhMjguMjIsMjguMjIsMCwwLDEtNC41LS4zMmMtMi41LS43OS01LjA3LS40NC03LjYxLS40My0xLjUyLDAtMy0uMTEtNC41NiwwLTQuMzUuMjUtOC43My0uNDgtMTMuMDcuMzRhMTIuODcsMTIuODcsMCwwLDEtMy4yMS4zMmMtMS4yNiwwLTIuNTEuMDYtMy43NywwYTEyLjM1LDEyLjM1LDAsMCwwLTQuODcuNDdjLTQuNTkuNDEtOS4xOS43OC0xMy43MywxLjYxLTUuNDgsMS4xNi0xMS4wOSwxLjQ0LTE2LjUzLDIuNzktNSwxLjMtMTAuMTMsMi0xNSwzLjc0LTYuNTEsMS43OS0xMi45NSwzLjg0LTE5LjM1LDYtOS4zNCwzLjcxLTE4LjgyLDcuMS0yNy43MSwxMS44NmEyNDguNzQsMjQ4Ljc0LDAsMCwwLTU1LjY2LDM2Ljk0QTI2Ni41NSwyNjYuNTUsMCwwLDAsMTU5LjY4LDIyN2EyNTQuODcsMjU0Ljg3LDAsMCwwLTE2LjU0LDI2LjE2Yy0zLjE3LDUuOS02LjIyLDExLjg1LTksMTgtMiw0LjcxLTQuNDIsOS4yNy02LDE0LjE4LTIsNC45LTMuNjQsOS45Mi01LjIyLDE1LTEuODgsNS4wNi0zLDEwLjM1LTQuNDUsMTUuNTMtLjYzLDItMSw0LjExLTEuNTMsNi4xOC0uNjMsMi40OS0xLDUtMS40Nyw3LjU1LS43Nyw0LjI1LTEuNDgsOC41LTIuMDksMTIuNzhhMTE4LjY0LDExOC42NCwwLDAsMC0xLjU3LDEzLjI5Yy0uNzQsMi45NC0uMiw2LS43NCw5LS44MiwzLjY5LS4yOCw3LjQ1LS41MiwxMS4xNi0uMTEsMi42MS0uMTYsNS4yMy0uMDksNy44NSwwLDEuMDctLjQ5LDIuNTcuNjQsMy4wOSwxLjI5LjYsMi4yMy0uNzcsMy4xNi0xLjUzLDMuMTgtMi42LDYuMjktNS4yOSw5LjQtOCwxMC40Ny05LDIxLjA3LTE3Ljg4LDMxLjU4LTI2Ljg1LjkxLS43NywxLjktMi43OSwzLjUyLS43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNMzkwLjExLDM3NS43OGMtMTIuMzctNy4zNS0yNS44OS0xMS42My0zOS43Ny0xNC45MmExOTcuMjUsMTk3LjI1LDAsMCwwLTU1LjY4LTUuMWMtMTMuMjEuNjYtMjYuMzEsMi41LTM4LjQ4LDguM2EzMi42MSwzMi42MSwwLDAsMC00LjIxLDIuNDNjLTkuODUsNi42LTExLjM1LDE1LjQtNC4yMywyNC45MSwxLjQ4LDIsMy4xMiwzLjgxLDUuMSw2LjIyLTYuMzksMC0xMi4wNS0xLjE5LTE3LjY5LTIuMzEtMTUuMTItMy0yOS4zMi04LjI0LTQxLjUtMTgtNS44Ni00LjY4LTExLjIyLTkuOTMtMTUuMTQtMTYuNDUsMS42LTIuNjEsNC4yOC0zLjgzLDYuNzgtNS4yNyw0LjgyLTIsOS4xOS00LjkxLDE0LTcuMDlhMjA3LjU1LDIwNy41NSwwLDAsMSw2Ny40LTE4YzkuMzItLjg3LDE4LjY1LTEuNzYsMjgtMS40MUEzMTEuMzgsMzExLjM4LDAsMCwxLDM3NiwzNDMuMjVjNi44LDIuMTIsMTMuNTIsNC40NSwyMC41OSw2Ljg0LDAtMi0xLjE0LTMuMTktMS45LTQuNDhBOTYuMTgsOTYuMTgsMCwwLDAsMzg1LDMzMS44OGMtMS4zMy0xLjU2LTMuMTgtMi45My0zLjE0LTUuMzMsMy43My44NSw3LjQ2LDEuNjgsMTEuMTgsMi41NiwxLC4yMywyLjE3LjgzLDIuODEsMCwuODUtMS4wOC0uNDMtMi0xLTIuODQtNS40OS04LjE5LTEyLjMzLTE1LjE3LTE5LjY3LTIxLjY4LDMuODktMi4yNiw3Ljg5LS40MiwxMS42OC4wNiwzOC44Nyw1LDc0LjI5LDE4LjgxLDEwNS4xOCw0Myw0MC45LDMyLjA5LDY3LjMzLDczLjU0LDc4LjQ3LDEyNC41MUExODAuNTQsMTgwLjU0LDAsMCwxLDU3My44Nyw1MjRjLTIuMTksMzAuMTEtMTEuNjUsNTcuOS0yOS40NSw4Mi41OC0xLjE3LDEuNjItMi43NSwyLjkxLTMuNjEsNC43Ni00LDYtMTAsMTAuMDgtMTUuNDQsMTQuNTItMjkuNTUsMjQtNjQsMzYuNDYtMTAxLjE0LDQyLjI4YTMxMC4zNCwzMTAuMzQsMCwwLDEtODcuMzEsMS41NCwyODguMTcsMjg4LjE3LDAsMCwxLTEyNy4zOS00OC4xNGMtOS4yNy02LjI5LTE4LjM2LTEyLjg1LTI2LjUxLTIwLjYyYS42NS42NSwwLDAsMSwwLTFjMS43NC0uNjksMi44NC41Nyw0LDEuNDNhMTg5LjA4LDE4OS4wOCwwLDAsMCw2NSwzMS41NiwyMjguNDYsMjI4LjQ2LDAsMCwwLDIzLjg3LDQuNzVjMS44Mi42NiwzLjc1LjM1LDUuNjIuNjZhNy41NSw3LjU1LDAsMCwxLDEuMTMuMjNjMTguMjQsMi4xNiwzNi4zNy44OSw1NC4zNi0yLjI4LDM5LjU0LTcsNzQuNjYtMjMuNTUsMTA0Ljc1LTUwLjE1LDIwLjUtMTguMTIsMzYuNjgtMzkuNTMsNDUuMjQtNjUuOTVzNy4zNS01Mi4xLTQuNjctNzcuNDhjLTIuNDcsMTEuMzgtOC40NCwyMC44LTE1LjkxLDI5LjM4YTEwNi4wOSwxMDYuMDksMCwwLDEtMjYuMDcsMjEuMTljLTEuMTQuNjYtMi40LDEuOTEtMy43MS45LTEuMTMtLjg2LS40NS0yLjM3LS4xLTMuNTFhMTM5LjY0LDEzOS42NCwwLDAsMCw0Ljk0LTI0LjJjMy41LTM0LjUxLTkuODItNjEuMzctMzcuMy04MS43NGExMTkuOCwxMTkuOCwwLDAsMC0xNC4wNi05IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzI2MmY3MSIvPjxwYXRoIGQ9Ik0yNzYuMDgsNjM4LjQxYTE1MS4xNiwxNTEuMTYsMCwwLDEtMjkuODYtNi4xQTE5OC41MywxOTguNTMsMCwwLDEsMTk0LjM1LDYwOGMtMy44My0yLjUxLTcuMDctNS44Ni0xMS4yNC03Ljg5LTIuMzktLjM0LTMuMzktMi42OC01LjMtMy43LTQwLjM4LTM1LjktNjgtODAtODMuODMtMTMxLjQ4QTI4MC41NCwyODAuNTQsMCwwLDEsODEuNjMsMzg3LjdjLjEtMiwuMi0zLjkzLjM2LTcsMiw0LjM2LDMuNDgsNy44Miw1LjA1LDExLjI2LDE0LjUzLDMxLjg2LDMzLjEzLDYwLjkzLDU4Ljc0LDg1LjEyQzE3Myw1MDIuODIsMjA0LjY4LDUyMCwyNDIsNTI2YzQzLjcxLDcuMTEsODQuNjEtLjUxLDEyMi4yMi0yNC4wNiwxOC43NS0xMS43NSwzNC4xNC0yNi45NCw0My00Ny42NSwxMC43Mi0yNS4xMSw2LjY4LTQ4LjQ0LTkuNjUtNjkuOTUtMS40My0xLjg4LTIuOTUtMy42OS00LjQzLTUuNTQsMS45NC0xLjY2LDMsLjI2LDQuMDcsMS4xOGE4My4yMiw4My4yMiwwLDAsMSwyMi42LDI5LjksODgsODgsMCwwLDEsNy44NSwzNS4xOSw3OS43NSw3OS43NSwwLDAsMS04LDM1Ljg3LDUuMzksNS4zOSwwLDAsMCwzLjI0LTEuMTcsOTguMzQsOTguMzQsMCwwLDAsMTQuNjUtMTAuMzVjMS40Mi0xLjIzLDIuNjctMy4wOCw1LTIuOGExNjUuMywxNjUuMywwLDAsMS02LjA5LDI3Ljc1LDEzMS43NCwxMzEuNzQsMCwwLDAsMTcuMjctMTEuNDhjNC4zMy0zLjM4LDcuODMtNy42MiwxMi4wOC0xMS4wNiwxLjgxLjc3LDEuODEsMi41NiwyLjIzLDQuMDgsNi45MiwyNSwxLjkxLDQ4LjI4LTEwLjQyLDcwLjMtMTUsMjYuNy0zNyw0Ni41Ny02Mi42Miw2Mi42NWEyMTMuMzMsMjEzLjMzLDAsMCwxLTY3LjI3LDI3LjU1LDE0Mi4yLDE0Mi4yLDAsMCwxLTQ1LjY3LDIuNjloMGMtMS45LTEtNC4wNy4xOS02LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNNjU0LjE3LDQ1My4wN2EyMTIsMjEyLDAsMCwwLTIwLjc3LTgyLjM1QTIxOC45LDIxOC45LDAsMCwwLDYwMywzMjRjLTEwLjktMTIuOTEtMjMuNDItMjMuOTMtMzYuNTYtMzQuMzgsMS4yMy0xLjIxLDIuNzYtMSw0LjI0LS44YTIzNi4yOCwyMzYuMjgsMCwwLDEsNTMuNzksMTIuNzhBODAuMiw4MC4yLDAsMCwxLDYzNywzMDcuNDNhNDAuMzgsNDAuMzgsMCwwLDEsNC4xNiwyLjQ0Yy4zNC4xOS41My42OSwxLC41OGExLjI3LDEuMjcsMCwwLDEtLjIxLTEuMzdjLTExLjg0LTE1LjQyLTI2LjE1LTI4LjI4LTQxLjE3LTQwLjVhMzAyLDMwMiwwLDAsMC01OC4xOC0zNi45LDI4Ny42NCwyODcuNjQsMCwwLDAtOTEuNTctMjcuNDVjLTIuODMtLjM1LTUuNzUsMC04LjUxLTEtLjI0LTEuODksMS4zNS0yLjUyLDIuNDUtMy40NCwxOC42Ny0xNS41NSwzMy42OS0zNCw0NC4yOC01NS45NGExNTcuMSwxNTcuMSwwLDAsMCw4LjE0LTIwLjUzYy42NC0yLDEtNC4xNywzLTUuNDRhMjg4LjE2LDI4OC4xNiwwLDAsMSw4OC40Nyw2NiwyOTIuMSwyOTIuMSwwLDAsMSw2Ni42NCwyNzBjLS44NC40Ni0xLS4yNi0xLjM0LS43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0MTg5YzkiLz48cGF0aCBkPSJNNTQwLjgxLDYxMS4zN2MwLTIuOTQsMi4zNC00LjYsMy43OS02LjY2LDEzLjY2LTE5LjUxLDIyLTQxLjEyLDI2LjMxLTY0LjQ4LDIuNjctMTQuNDcsMi45LTI5LjA4LDItNDMuNTctMS40Ny0yMi4zNC03LjE4LTQzLjgzLTE2LjE5LTY0LjQyYTIxMi4yNSwyMTIuMjUsMCwwLDAtMjQuNzMtNDIuNTcsMjIxLjI0LDIyMS4yNCwwLDAsMC0zNi4xNi0zNy42MkEyMDcuNTYsMjA3LjU2LDAsMCwwLDQyNS4xOSwzMTRhMTk4LjEsMTk4LjEsMCwwLDAtNDIuMjUtOC42OWMtMi41OS0uMjMtNS4xNS0uODUtNy43OC0uNjktOS4xMy02LjczLTE4LjM5LTEzLjI0LTI4Ljc5LTE3Ljk0LDAtLjMzLDAtLjY3LjA3LTEsMy43NCwwLDcuNDkuMDYsMTEuMjMsMCw1Mi40My0uOTQsMTAwLjc1LDExLjkxLDE0Myw0My44NEM1NDQuNCwzNjIuNTksNTcxLjc0LDQwNi4zMiw1ODIsNDYwLjNjOC43Myw0Ni4wNSwyLDg5LjU0LTIzLjU2LDEyOS40NC01LDcuODUtMTAuNTMsMTUuNDEtMTcuNjEsMjEuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTUwMC40LDExNy45MWMtNS4yNSwxNi4wNS0xMS44NCwzMS40Ny0yMS4yNyw0NS41OWExNzIuNzgsMTcyLjc4LDAsMCwxLTM0LjQyLDM3LjczYy0uNzYuNjMtMS40NSwxLjM1LTIuMTcsMi00LjU4LDIuMzMtOC4zNSw1Ljg1LTEyLjU5LDguNjhhMjY3LjY4LDI2Ny42OCwwLDAsMS00OS4zOSwyNS41Myw4LjA5LDguMDksMCwwLDEtMS4yOS4zMmMtLjc2LTEuMTIuMTQtMS41My42LTIsOS44Mi05LjM1LDE1LjkxLTIwLjkyLDIwLTMzLjY2YTUsNSwwLDAsMSwzLjE3LTMuNjVjMzAuNTEtMTIuMDgsNTQuODYtMzIuMTUsNzQuOC01Ny45LDEuODEtMi4zNCwzLjU4LTQuNzEsNS44Mi03LjY2LTYuMTctLjEyLTEwLjksMy0xNi4xMiwzLjgyLTEsLjA2LTIuMjcuODgtMi41LTFhMjE1LjI3LDIxNS4yNywwLDAsMCw0MS44NC03NS42NWMuNTUtMS43OCwwLTQuMjMsMi40OC01LjEzYS40NC40NCwwLDAsMSwuMjUuNDVjMCwuMTgtLjA4LjI2LS4xMy4yNmEyMzAuNDksMjMwLjQ5LDAsMCwxLTguMzUsNTguNTYsMzYuODgsMzYuODgsMCwwLDAtLjY5LDMuNjMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTYxZjQyIi8+PHBhdGggZD0iTTM4MS44MiwzMjYuNTRhMTIwLDEyMCwwLDAsMSwxNi4wNiwyMi40Yy40My43OSwxLjU0LDEuNjguNTUsMi42MS0uNzUuNy0xLjYyLS4xNi0yLjQxLS40NmEzNDksMzQ5LDAsMCwwLTYyLjU2LTE3Yy0xMC43NS0xLjg1LTIxLjY2LTIuNjYtMzIuNTgtMy40NWExOTQuMDksMTk0LjA5LDAsMCwwLTI5LjQ1LjQyYy0yMi40MiwxLjgtNDQuMjQsNi41OS02NSwxNS41Ni02LjQsMi43Ny0xMi45NCw1LjI1LTE4Ljg5LDktLjY4LjQzLTEuNDksMS4xMy0yLjI3LjA2YTE5OS41OSwxOTkuNTksMCwwLDEsNTkuMi0yOC40MWMyOS4xNS04LjcsNTguOTMtMTAuODQsODkuMTUtOC40NmEzMjguNDIsMzI4LjQyLDAsMCwxLDQ1Ljc0LDYuOTUsMjEuOTIsMjEuOTIsMCwwLDEsMi40NC44MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzc0LjMyLDExNi4zOGg0LjVjMi40MiwxLDUuMDctLjI4LDcuNS43NGg0LjQ5Yy4zOCwyLjE3LTEuNDEsMy4wOC0yLjY1LDQuMTMtMjAuNzgsMTcuNTYtNDEuNDEsMzUuMjktNjIuMiw1Mi44My02Ljg3LDUuNzktMTMuNjgsMTEuNjUtMjAuNTQsMTcuNDVhNi4xNCw2LjE0LDAsMCwwLTIuMzUsMi44M2MtOSwzLjM3LTE3LjM2LDcuNi0yNCwxNC45NC0zLjEzLDMuNDgtNS4xOCw3LjUtNy40NCwxMS40Ni02LjE3LDQtMTEuMzYsOS4yNi0xNywxNC0xNC43NywxMi40Mi0yOS4zNSwyNS4wNi00NC4xNiwzNy40My0xLjI1LDEtMi4wNywyLjUtMy41MiwzLjMxLTIuNTUtMy44LTItOC0xLjM5LTEyLjEyLDEuODYtMy4wNiw0LjgtNSw3LjQ0LTcuMjhxMjEuNTQtMTguMjcsNDMtMzYuNTljMTQtMTEuODUsMjcuOTItMjMuNzcsNDEuOS0zNS42M3EyNC4xMi0yMC40NSw0OC4xNy00MWM4LjkzLTcuNiwxNy44LTE1LjI2LDI2Ljg2LTIyLjcxLDEuMzctMS4xMywyLjMzLTIsMS4yOC0zLjgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzVjOTRjZSIvPjxwYXRoIGQ9Ik02MzcuNTEsMzA4LjQxYy0xNy42My04LjU2LTM2LjI3LTEzLjc4LTU1LjU0LTE2LjktNS4xNS0uODQtMTAuMy0xLjg3LTE1LjU1LTEuOTEtNi43Mi00LjI1LTEzLjMxLTguNzMtMjAuMTktMTIuN2EyMDkuNzMsMjA5LjczLDAsMCwwLTcyLjE4LTI1Ljc1LDkuMDksOS4wOSwwLDAsMS0xLjY1LS42NGM3LjY1LTEuNCwzMy42OSwyLjUxLDUxLjcyLDcuNDdhMjQzLjA3LDI0My4wNywwLDAsMSw0OC40NywxOWMtMS42Mi00Ljg1LTQuNTgtOC4xMy02LjM5LTEyLS4xOC0xLTEuNjMtMS45NC0uNjYtM3MyLjA3LjA4LDMsLjQ5YzIuNiwxLjE4LDUuMDgsMi42MSw3LjY5LDMuNzdhMzQ3LjUyLDM0Ny41MiwwLDAsMSw2MS40LDQwLjQ5YzEuMDYsMS40LDEuMDYsMS40LS4xMSwxLjY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzE2MWY0MiIvPjxwYXRoIGQ9Ik0zNzQuMzIsMTE2LjM4Yy40NiwxLjEsMS45Mi4zLDIuNjEsMS41My00LjE4LDMuNjItOC4zNiw3LjMtMTIuNjEsMTAuOTFxLTExLjUxLDkuNzgtMjMuMDcsMTkuNDhRMzI0Ljg3LDE2Mi4xMywzMDguNSwxNzZjLTcuNTgsNi40NC0xNS4wNSwxMy0yMi42MywxOS40Ni05LjE4LDcuOC0xOC40NSwxNS41MS0yNy42NSwyMy4zLTcuMyw2LjE5LTE0LjUzLDEyLjQ3LTIxLjgyLDE4LjY4LTcuNjcsNi41Mi0xNS4zNywxMy0yMy4wNiwxOS40OWwtNy43MSw2LjQ3LDIuMTktOS43NmMtMS4yNC0zLjE5LDEuMzUtNC42MywzLjEzLTYuMSw3LTUuODQsMTMuODgtMTEuODEsMjAuODMtMTcuNzFxMjQuMjUtMjAuNTgsNDguNDktNDEuMjIsMjAuODQtMTcuNyw0MS42Ni0zNS4zOWMxMi45Mi0xMSwyNS45My0yMS45MSwzOC43Mi0zMy4wNywxLS44NiwyLjg1LTEuODcuMTUtMyw0LjQzLTEuNjEsOS0uMzMsMTMuNTItLjczIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzY0OTdkMCIvPjxwYXRoIGQ9Ik0zNjAuOCwxMTcuMTFjMS4wNS4xOSwyLjItLjM3LDMuMy40OS0yLjY1LDMuOS02LjU1LDYuNDUtMTAsOS40NC05LjgyLDguNTYtMTkuNzksMTctMjkuNzQsMjUuMzctOS4xLDcuNjgtMTguMjksMTUuMjYtMjcuMzcsMjNzLTE4LjIzLDE1Ljc0LTI3LjQsMjMuNTQtMTguMjksMTUuMjctMjcuMzYsMjNTMjI0LDIzNy41OCwyMTQuODcsMjQ1LjQ1Yy0yLjc0LDIuMzctNi4zNyw0LTcuMDUsOC4xNS00Ljg0LjU1LTcuNCw0LjY0LTEwLjk0LDcuMTYtNS41OSw0LTkuODQsOS40Ny0xNSwxMy45NS01LjE5LDMuNjktOS43Nyw4LjEtMTQuNjEsMTIuMi0xNC4zOCwxMi4xOS0yOC43LDI0LjQ2LTQzLjEzLDM2LjU5LTIsMS42OC0zLjc3LDMuNjYtNiw1LjA2LTEsLjYyLTEuOTEsMS43OS0zLjMyLjgxYTE2LjksMTYuOSwwLDAsMSwxLjUxLTcuNTFjNy4xOS00LjU5LDEzLjE3LTEwLjY3LDE5LjY2LTE2LjEsMTcuODgtMTUsMzUuNjEtMzAuMTYsNTMuMzgtNDUuMjlzMzUuMy0zMC4xMyw1My00NS4xNXEyNi0yMiw1MS45NC00NC4wOGMxNy42OC0xNSwzNS40NC0zMCw1My00NS4xNSwzLjQ5LTMsNy4xNi01LjgzLDEwLjU2LTloMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMzk5LjgxLDExNy44N2M0LjA3LS4wNSw4LDEsMTIsMS41LDEuMDksMi4zOS0xLDMuMzItMi4yMyw0LjQzLTUsNC4zNy0xMC4yMyw4LjQ4LTE1LjEsMTMtLjUyLS42OS0xLjA4LTEuMzYtMS41Ni0yLjA5LTEuMTEtMS42NS0xLjg5LTEuMjEtMi42MS4zMy01LjksMTIuNjYtMTYuMDUsMjEuNDYtMjcuMSwyOS4zYTIwMi4xNCwyMDIuMTQsMCwwLDEtMzkuODcsMjEuNzljLS43Ni0xLjQ0LS44My0xLjUuNDctMi44NCwyLjY5LTIuNzgsNS43Ny01LjE0LDguNzItNy42NCwyMS4yOS0xOC4xLDQyLjY0LTM2LjEyLDYzLjgxLTU0LjM3LDEuMjMtMS4wNywyLjI5LTIuMywzLjQ3LTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTM5OS44MSwxMTcuODdhNC41NSw0LjU1LDAsMCwxLTEuNzUsMy4xNHEtMjAuNiwxNy40My00MS4xMywzNC45My0xNS43MiwxMy40LTMxLjM2LDI2Ljg5Yy0uOTQuODItMi43MSwxLjQtMi4yMywzLjNhMTg3LjQsMTg3LjQsMCwwLDEtMjAuMjcsOC4yNGMtMi4zMy0uNjQtLjQtMS40NywwLTEuODUsNC4wOS0zLjYyLDguMjMtNy4xOCwxMi4zOS0xMC43MnExMS40Ny05Ljc1LDIzLTE5LjQ3YzcuNTctNi40LDE1LjE4LTEyLjc3LDIyLjczLTE5LjE5czE1LjEyLTEyLjg3LDIyLjU3LTE5LjQyYzIuNDEtMi4xMiw1LjM2LTMuNjgsNy02LjU5LDMuMDYtLjQ0LDYsLjYsOSwuNzQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTM0Ni42MSwyMDhjNy45Mi0zLjkyLDE2LjE5LTcuMjEsMjMuMS0xMi45MywxLjQ0LS4wNiwxLjI4Ljc2Ljk0LDEuNjktNi4zOCwyNi40Mi0yNi40Miw0My43Ny01My41Miw0Ni4zLTUuMjIuNDktMTAuNDMsMS4wOS0xNS42OS41OS42OC0xLjkzLDIuNTEtMS43Niw0LTIuMTcsNS44OC0xLjYsMTEuNzEtMy4zMSwxNy4xNi02LjEzLDEwLjIyLTUuMjgsMTcuNzEtMTMuMDcsMjItMjMuODRhOC4yMiw4LjIyLDAsMCwxLDIuMDUtMy41MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMxNjFmNDIiLz48cGF0aCBkPSJNMzQ2LjYxLDIwOGMtMy4yNiwxMi42LTExLjI5LDIxLjMxLTIyLjM5LDI3LjU1LTcuMTMsNC0xNSw1Ljg2LTIyLjc3LDguMS0xLjkxLTUuNTkuMTYtMTAuMzIsMy41Mi0xNC41NywzLjk0LTUsOS4zLTguMDgsMTUtMTAuNjlBMjc3LjA4LDI3Ny4wOCwwLDAsMSwzNDYuNjEsMjA4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQxOGFjOSIvPjxwYXRoIGQ9Ik0xMTQuOCwzMjkuMzdjNC40NS0xLjY1LDcuMzEtNS40MSwxMC44MS04LjI4LDExLjI5LTkuMjcsMjIuMzgtMTguNzgsMzMuNTEtMjguMjQsNS44NS01LDExLjYxLTEwLjA1LDE3LjQxLTE1LjA4LDEuNTgtMS4zNywzLjA1LTIuOTQsNS4zNC0zLjA2LTYsNy41Mi0xMS43MywxNS4yNC0xNiwyMy45M3EtMTcuMjUsMTQuNi0zNC40NCwyOS4yN2MtNS4zLDQuNTMtMTAuNzEsOC45NC0xNS45MywxMy41Ny0uOC43MS0xLjcsMS42LTIuOTQuNjRhNTQuMTMsNTQuMTMsMCwwLDEsMi4yNC0xMi43NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2NDk3ZDAiLz48cGF0aCBkPSJNMTU4LjgxLDM0OS41OGMtMy41NC4yNy01LjE0LDMuNDQtNy40OCw1LjMzLTkuODUsNy45NS0xOS40NSwxNi4yMi0yOSwyNC40OS0zLjIsMi43Ni02LjMsNS42Mi05LjY5LDguMTYtMi4yMywxLjY4LTMuMDcsMS0zLTEuNTgsMC0zLjEyLDAtNi4yNCwwLTkuMzYsMy40Ni0zLjc1LDcuNjEtNi43MiwxMS40OC0xMCwxMS4xNy05LjQ4LDIyLjIzLTE5LjEsMzMuNTUtMjguNDIsMS0uOCwxLjc5LTIuMjYsMy40Ni0xLjMxbC43NSwxMi42OSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA3LDI3NS40OGE0LjE3LDQuMTcsMCwwLDEsMS45MS0zLjA4YzktNy42LDE4LTE1LjE1LDI3LTIyLjc2LDcuMzktNi4yNSwxNC43Mi0xMi41NiwyMi4wNy0xOC44NywzLjg2LTMuMzEsNy42OS02LjY2LDExLjUyLTEwLC43My0uNjQsMS40MS0xLjEyLDIuMTIsMC0uODMsMy40MS0xLjgyLDYuNzktMS43MiwxMC4zNS00LDQuNDMtOC44OSw3LjkzLTEzLjQyLDExLjgtMTQsMTItMjcuOTUsMjMuOTMtNDIsMzUuNzZhMTEuMzQsMTEuMzQsMCwwLDAtMS40OCwxLjY4LDcuOTMsNy45MywwLDAsMS02LTQuODgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNTU5MWNkIi8+PHBhdGggZD0iTTExMi41NiwzNDIuMTJjMy4yNC0xLDUuMTMtMy44MSw3LjU2LTUuODIsMTMuMTctMTAuODksMjYuMTMtMjIsMzkuMTctMzMuMDgsMi4wNS0xLjczLDMuNDktNC4zMyw2LjU4LTQuNThhMTUwLjg5LDE1MC44OSwwLDAsMC02LDE4Yy0yLjM0LS4yMy0zLjUzLDEuNjQtNSwyLjg4LTEzLjU4LDExLjY3LTI3LjI4LDIzLjItNDAuOTIsMzQuOC0uODIuNjktMS41NSwxLjcxLTIuODksMS4yNmE0NC44OCw0NC44OCwwLDAsMSwxLjUtMTMuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1Yzk0Y2UiLz48cGF0aCBkPSJNMjEzLDI4MC4zNmMtLjkzLTEuNjguNjUtMi4yMywxLjQ3LTIuOTNxMTcuMi0xNC43MSwzNC40OS0yOS4zNCw5Ljc3LTguMjgsMTkuNTktMTYuNDlhNC4xNiw0LjE2LDAsMCwxLDEuMzgtLjQ3LDI5LjkyLDI5LjkyLDAsMCwwLDEuMzgsOWMtMy45Myw0LjU2LTguODcsOC0xMy4zOSwxMS44NnEtMTUuMTMsMTMtMzAuNDUsMjUuOTNhMy41LDMuNSwwLDAsMC0xLjU0LDJjLTQuMjYsMS41OC04LjU2LDIuMjEtMTIuOTMuNDEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC4wNiwzMzYuODljLTQuMjEsMi40MS03LjU3LDUuOTEtMTEuMjcsOS05Ljc2LDgtMTkuMzcsMTYuMjUtMjguOTQsMjQuNS0yLjY0LDIuMjgtNSw0LjgyLTguMjgsNi4yNy4zOS00LS44NC04LjA4Ljc0LTEycTIyLjE3LTE4Ljk0LDQ0LjQ2LTM3Ljc2YzEtLjg2LDIuMDYtMS45MSwzLjY0LTEuMjMtLjEyLDMuNzUtLjIzLDcuNS0uMzUsMTEuMjYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNGU4ZmNjIi8+PHBhdGggZD0iTTE1OC40MSwzMjUuNjNjLTQuNzUsMi41NS04LjQyLDYuNS0xMi41Miw5Ljg4LTkuNjgsNy45NS0xOS4xNCwxNi4xNi0yOC43MywyNC4yMi0yLjE0LDEuODEtMy42NCw0LjU2LTYuODUsNC44OS4zOC0zLS44LTYuMTEuNzUtOXExNC0xMiwyOC4wNi0yMy45MmM2LjM0LTUuMzksMTIuNzQtMTAuNzEsMTkuMDctMTYuMSwyLTEuNzIsMS40Ny4xNywxLjY1LDEuMDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1OTFjZCIvPjxwYXRoIGQ9Ik0yMjYsMjgwYy0xLjM4LTEtLjQxLTEuNzQuMzItMi4zNSw4LjgyLTcuNCwxNy42OC0xNC43NSwyNi40OS0yMi4xNiw1LjUtNC42MywxMC45My05LjM0LDE2LjM3LTE0YTMuNjYsMy42NiwwLDAsMSwyLjItMS4yOGwyLjI1LDQuNDljLTEuNzMsMi42Ny00LjUsNC4zMy02LjQ1LDYuNzktMTAuODMsMTItMjIuOTUsMjIuMTQtMzguMjksMjcuOTFBMTkuNTMsMTkuNTMsMCwwLDEsMjI2LDI4MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0ODhkY2EiLz48cGF0aCBkPSJNMzk0LjQ4LDEzNi44YzEuMzYtNC4yNSw1Ljc3LTUuNDcsOC4zOC04LjQ3LDIuNzgtMy4xOSw3LjMzLTQuNjEsOC45NS05LDMuMjYsMCw2LjM4Ljg2LDkuNTUsMS40NSwyLjc0LjUxLDIuODYsMS43LDEsMy4zOS00LjA4LDMuNjQtOC4yLDcuMjYtMTIuMzQsMTAuODItMy44NiwzLjMyLTcuNzgsNi41Ny0xMS42OCw5Ljg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM0NjhjY2EiLz48cGF0aCBkPSJNMjA5LjM3LDMwNy44MWMuNjYsMS42Ni0xLjMzLDIuNDktMS4xLDQtMS00LjU2LTMuNTEtNi4zMy04LjA4LTUuNDJhMjMuNjUsMjMuNjUsMCwwLDAtMTIuNjQsNy4zNWMtLjk0LDEtMiwxLjg5LTMsMi44NC0uODItMSwwLTEuODcuMzMtMi43NiwyLTYuNTEsNi4zOS0xMS4xNCwxMS45My0xNC44M2ExMi41NywxMi41NywwLDAsMSw0LjA2LTEuODVjNi40Mi0xLjUzLDkuOTQsMS42MSw5LjA2LDguMTJhOC4yOCw4LjI4LDAsMCwxLS42MSwyLjUzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyOGFjOSIvPjxwYXRoIGQ9Ik0yMDkuMzcsMzA3LjgxYzAtMSwuMDYtMiwuMDctMywuMTEtNi41NC0zLjYtOS05LjY3LTYuMjUtNywzLjItMTEuNDIsOC45Mi0xNC40OSwxNS43OS0uNzEuMTMtMS4wOC0uMDctLjg2LS44NiwyLjIxLTguMTYsNi40Ny0xNC45MiwxMy41Ni0xOS43M2ExNC44MiwxNC44MiwwLDAsMSw1Ljg1LTIuMjgsNi4yNSw2LjI1LDAsMCwxLDcuNDEsNC42MSwxNC44OCwxNC44OCwwLDAsMS0xLjg3LDExLjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjMTgyMTQ0Ii8+PHBhdGggZD0iTTI2Ny4xMywyNTEuNDFjLTEuMjYtMS0uMTUtMS40LjUyLTEuODcsMi4xMS0xLjQ3LDMuMjctNC4xLDUuOTMtNC45MiwzLjQsNS4zOCw4LjgzLDcuNzUsMTQuNDksOS43NywxLjE0LjQxLDIuMzMuNjcsNC4xOSwxLjE5LTguNzIsMi4yNy0xNi4yNCwxLjM5LTIzLjE1LTMuMzNhMywzLDAsMCwwLTItLjg0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQ1OGNjYSIvPjxwYXRoIGQ9Ik01NzYuMjIsMjY2LjIzYy0yLjc1LS4zMi00Ljg0LTIuMi03LjM0LTMuMTMtMS0uMzYtMS44OS0xLjY0LTIuOTItLjgtLjg1LjcuNTQsMS43NC4yNCwyLjcxLTEuNTMtMS4zNC0yLjA2LTMuMjYtMi44Ni01LjIxLDQuNDYsMS44NSw4LjkxLDMuNjQsMTIuODgsNi40MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2MzY1N2QiLz48cGF0aCBkPSJNNjM3LjUxLDMwOC40MWMuODEtLjUxLDAtMS4xMy4xMS0xLjY5bDQuMzUsMi4zNiwyLjM0LDNjLTIuODUtLjc2LTQuNzgtMi4zMS02LjgtMy42NyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMyNjMxNTQiLz48cGF0aCBkPSJNNDY1LjE5LDI0OS4yNmExNC4yNiwxNC4yNiwwLDAsMSw2LC40NWMtMi4zMiwxLjI2LTMuOTIsMS4wOS02LS40NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiNhMDlhYTkiLz48cGF0aCBkPSJNMTc3LjgxLDU5Ni4zNmMyLjMzLjQyLDMuMzksMi42Nyw1LjMsMy43TDE4Myw2MDFhMTQuMjIsMTQuMjIsMCwwLDEtNS4yMS00LjU5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzQyNGE3ZiIvPjxwYXRoIGQ9Ik02NTQuMTcsNDUzLjA3bDEuMzQuNzVjLjE5LDEuNTEtLjQ1LDIuNzUtMS4zNCw0LjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzhjYjdkZSIvPjxwYXRoIGQ9Ik00NjUsMTM1Ljc5Yy41MSwxLjE1LDEuNjYuNjgsMi41LDFsLTQsMS41NWMtLjMxLTEuNTkuNzctMS45NSwxLjUxLTIuNTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNWE1ZDc2Ii8+PHBhdGggZD0iTTE4NC40MiwzMTMuNTFsLjg2Ljg2Yy0uMjMuNzQtLjQ1LDEuNDktLjY4LDIuMjNMMTgzLDMxOC42N2MuNDgtMi40Mi41MS0zLjksMS40My01LjE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzRmNjY4YSIvPjxwYXRoIGQ9Ik0zNzAuNjUsMTk2LjczYy0uMjItLjYyLS4xMy0xLjQtLjk0LTEuNjkuMjQtLjU4Ljg5LTEuMzksMS4xOS0xLjEuOS44Ny41MiwxLjkxLS4yNSwyLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzU1NWE3MyIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZhNjEuNDQsNjEuNDQsMCwwLDEsNC41LTE1Ljc3YzguODItNi4xNSwxNi41OC0xMy42LDI0Ljc5LTIwLjVxMjEuMzUtMTgsNDIuNTMtMzYuMTQsMTkuMzUtMTYuNTUsMzguNzktMzMsMjEtMTcuOCw0Mi0zNS42NmMxMi43NC0xMC44MywyNS41Mi0yMS42MywzOC4yMS0zMi41Myw4LjktNy42NSwxOC0xNS4wNywyNi43NC0yMi44OGE1Myw1MywwLDAsMSwxNC4yNC0xLjUyLDEuNDQsMS40NCwwLDAsMSwxLjU0LS4xOGMxLjA2LDEuODEtLjI5LDIuODQtMS4zOSwzLjc2cS0xOC4xMywxNS4zNi0zNi4xOSwzMC44MVEyOTQuMjgsMTY4LjYzLDI3NSwxODVxLTE3Ljc5LDE1LjE4LTM1LjY0LDMwLjI5UTIxNy43LDIzMy42NywxOTYsMjUyLjFjLTE4LDE1LjI1LTM1Ljg4LDMwLjU5LTUzLjksNDUuNzktNyw1Ljg3LTEzLjgxLDExLjg4LTIwLjg3LDE3LjYzLS44OC43MS0yLjA3LDMtMy40Ny4zNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ZDljZDIiLz48cGF0aCBkPSJNMzM1LjMxLDExOS4zOGMtMS4yNiw0LjIxLTUuMzMsNS43OS04LjIyLDguMzYtOS40Nyw4LjQyLTE5LjI2LDE2LjQ5LTI4Ljk0LDI0LjY3LTEwLjgzLDkuMTMtMjEuNzIsMTguMi0zMi41MSwyNy4zOC05LjM4LDgtMTguNjIsMTYuMTEtMjgsMjQuMS05LjA5LDcuNzQtMTguMjksMTUuMzQtMjcuMzgsMjMuMDZzLTE4LjExLDE1LjU1LTI3LjIxLDIzLjI4LTE4LjI1LDE1LjM3LTI3LjM1LDIzLjA5Yy03LjQ5LDYuMzYtMTQuOTIsMTIuNzktMjIuMzksMTkuMTYtMywyLjU4LTYuMTEsNS4xLTkuMTYsNy42NS0uNjYuNTUtMS4yNi44Mi0xLjg2LDBhNjAsNjAsMCwwLDEsNS4yNS0xNWM2LjktNC4zNSwxMi42Ny0xMC4xLDE4Ljg2LTE1LjMycTIxLjMzLTE4LDQyLjUxLTM2LjEzLDIxLjkyLTE4Ljc1LDQzLjkyLTM3LjM5LDE4LjEtMTUuNDIsMzYuMjUtMzAuNzljMTUuNzMtMTMuMywzMS4zMy0yNi43Niw0Ny4xMy00MGE2Ljk0LDYuOTQsMCwwLDAsMi41OC0zLjEzYzUuMzEtMi4wNiwxMS0xLjkzLDE2LjUxLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjNzI5ZmQ0Ii8+PHBhdGggZD0iTTMxOC44LDEyMi4zNmMyLjMzLjYxLjQzLDEuNDYsMCwxLjg1LTQuMjUsMy44Mi04LjU0LDcuNjEtMTIuODksMTEuMzEtNy41Nyw2LjQzLTE1LjIsMTIuNzktMjIuNzksMTkuMnEtMTYuNjcsMTQtMzMuMjksMjguMTNjLTkuMDksNy43My0xOC4wOCwxNS41Ni0yNy4xNiwyMy4yOS05LjM2LDgtMTguNzksMTUuODUtMjguMTYsMjMuODItOS4wOCw3LjczLTE4LjA5LDE1LjU0LTI3LjE3LDIzLjI3UzE0OS4xLDI2OC42MSwxNDAsMjc2LjI5Yy0zLjMzLDIuOC02LjY0LDUuNjItMTAsOC4zNy0uNjYuNTQtMS4zNywxLjc2LTIuNDQuNDQsMS01LjE2LDMuNzItOS42MSw2LTE0LjI0LDEyLjMzLTEwLjU0LDI0LjcyLTIxLDM3LjA2LTMxLjU2cTE5LjA4LTE2LjI5LDM4LjIxLTMyLjUyLDE4LjI1LTE1LjUzLDM2LjUzLTMxUTI2NC42LDE1OS4zOSwyODMuODYsMTQzYzYuNjUtNS42NCwxMy4wOS0xMS41NCwxOS45NS0xNyw0Ljc1LTIuMjEsOS45LTIuODMsMTUtMy43MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM3OGEyZDUiLz48cGF0aCBkPSJNMzAzLjgxLDEyNi4wN2MtNC43Niw2LjE5LTExLjIyLDEwLjU1LTE3LDE1LjYzLTcuNTcsNi42NC0xNS4zMiwxMy4wNS0yMywxOS41NS03LjQ5LDYuMzQtMTUsMTIuNjUtMjIuNDksMTlTMjI2LjM5LDE5MywyMTguOSwxOTkuNHMtMTUuMjEsMTIuOC0yMi43OSwxOS4yM2MtNy4zOSw2LjI4LTE0LjcxLDEyLjYzLTIyLjEsMTguOTFxLTE0LjA2LDEyLTI4LjE3LDIzLjg1Yy0zLjMyLDIuODEtNi42Niw1LjYtMTAsOC40YTMuNDMsMy40MywwLDAsMS0yLjMyLDEuMDcsOTkuOTMsOTkuOTMsMCwwLDEsOS0xOGMxNy4xMi0xMy45MSwzMy43Ny0yOC40LDUwLjU3LTQyLjcsMTkuNDUtMTYuNTcsMzktMzMsNTguMzQtNDkuNzMsMTAuOTQtOS40NSwyMi4zLTE4LjQxLDMyLjg1LTI4LjMyYTExMy40MywxMTMuNDMsMCwwLDEsMTkuNS02IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzdkYTVkNiIvPjxwYXRoIGQ9Ik0yODQuMzEsMTMyLjExYy43NSwxLjM0LS42LDEuNzQtMS4xOCwyLjI2cS0xMi40OCwxMC45NC0yNS4wNiwyMS43M2MtNy4zNSw2LjMxLTE0Ljc3LDEyLjU0LTIyLjE2LDE4LjhxLTEzLjc4LDExLjY3LTI3LjU4LDIzLjM0Yy03LjQ3LDYuMzUtMTQuOSwxMi43Ni0yMi4zOCwxOS4xMS05LjM3LDgtMTguNzgsMTUuODctMjguMTUsMjMuODJxLTUuODQsNS0xMS42MSwxMGE2LjQ1LDYuNDUsMCwwLDEtMy42NCwxLjc0LDE1OS4yNiwxNTkuMjYsMCwwLDEsMTYuNTItMjYuMjRjNS44LTQuMjcsMTEuMS05LjE2LDE2LjU5LTEzLjgxcTIxLjM5LTE4LjEyLDQyLjcyLTM2LjMyLDE2LjUtMTQuMDYsMzMtMjguMTRjMS43LTEuNDUsMy44My0yLjM4LDUuMTMtNC4yOSw4LjcyLTUuMjgsMTguMy04LjUzLDI3LjgyLTExLjk1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzgxYTdkOCIvPjxwYXRoIGQ9Ik00NDIuNTUsNDY2LjY0Yy03LjU1LDYuMTYtMTQuOTUsMTIuNTQtMjUsMTYuODFhODguODYsODguODYsMCwwLDAsNi42My0xOC4yNGM1LjkyLTI2LC40My00OS42Ni0xNC44Ny03MS4yNC0zLjc4LTUuMzItOC44Ni05LjQ0LTEzLjM2LTE0LjA5LS43My0uNzUtMS41Mi0xLjY5LTIuODMtMS4wNi0xLjM1LS42Ni0yLTItMy0zLC42NS0uODMsMS4zMi0uMzcsMiwwLDE4LjEzLDEwLjI4LDMzLjI0LDIzLjYyLDQyLjQ3LDQyLjY5YTg1LjIzLDg1LjIzLDAsMCwxLDguMTgsMzAsODYuODYsODYuODYsMCwwLDEtLjE3LDE4LjE3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjMuNzggLTIzLjc3KSIgZmlsbD0iIzBlMWY2NiIvPjxwYXRoIGQ9Ik0xMTcuOCwzMTUuODZjMywxLjA4LDQtMS45MSw1LjU0LTMuMTQsMTUuMjEtMTIuNTksMzAuMjEtMjUuNDQsNDUuMjMtMzguMjYsMTQuMTctMTIuMSwyOC4yNS0yNC4zMSw0Mi40NS0zNi4zOCwxNS44MS0xMy40MywzMS43NC0yNi43LDQ3LjU1LTQwLjEzLDE0LjItMTIuMDcsMjguMjgtMjQuMjcsNDIuNDQtMzYuMzhRMzI0LDE0MiwzNDcsMTIyLjRjMS41Ny0xLjM0LDMuODMtMiw0LjExLTQuNTMuODYtLjgyLDIuMTMuMDgsMy0uNzNsMy43NiwwYy0xLjE1LDQtNSw1LjM5LTcuNyw3LjgxLTcuNzYsNy0xNS44NSwxMy41OS0yMy44MiwyMC4zMy05LjExLDcuNy0xOC4yNiwxNS4zNi0yNy4zNiwyMy4wOC03LjM5LDYuMjctMTQuNzIsMTIuNjItMjIuMTIsMTguOS0xMC45LDkuMjQtMjEuODUsMTguNDItMzIuNzQsMjcuNjctNy40LDYuMjgtMTQuNzIsMTIuNjQtMjIuMSwxOC45Mi05LjM4LDgtMTguOCwxNS44OC0yOC4xOCwyMy44NS03LjM5LDYuMjgtMTQuNzEsMTIuNjQtMjIuMSwxOC45Mi03LjU3LDYuNDQtMTUuMjEsMTIuODEtMjIuNzgsMTkuMjVzLTE1LjA4LDEzLTIyLjY1LDE5LjQzYy0yLjY0LDIuMjUtNS4zOCw0LjQtOC4wOCw2LjYtLjY0LjUyLTEuMjUuODUtMS44NywwYTExLjc1LDExLjc1LDAsMCwxLDEuNDktNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2OTlhZDEiLz48cGF0aCBkPSJNMjU2LjQ5LDE0NC4wNmMtLjYzLDMuNTUtNC4wOSw0LjQ4LTYuMjksNi40Ni03LjY2LDYuODktMTUuNjMsMTMuNDMtMjMuNDksMjAuMDgtOS4yLDcuNzctMTguNDIsMTUuNS0yNy42LDIzLjI5LTcuMzksNi4yNi0xNC43MywxMi41OS0yMi4wOCwxOC44OXEtOC4wNiw2LjktMTYuMSwxMy44M2MtLjYzLjU0LTEuMjQuODctMS44NiwwYTE0MS43MiwxNDEuNzIsMCwwLDEsMTMuMTQtMTcuMTFjMTcuNjUtMjAuNSwzNy43LTM4LjMsNjAuNzMtNTIuNiw3LjYtNC43MSwxNS4xNC05LjYsMjMuNTUtMTIuODUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy43OCAtMjMuNzcpIiBmaWxsPSIjODhhYmQ5Ii8+PHBhdGggZD0iTTM4Ni4zMiwxMTcuMTJjLTIuNDktLjMzLTUuMTMuNzctNy41LS43NCwyLjQ5LjMyLDUuMTItLjc4LDcuNS43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM1NTkxY2QiLz48cGF0aCBkPSJNMzU0LjA1LDExNy4xNGMtLjc5LDEuMDctMiwuNjItMywuNzNoLTEuNTFjMS4zMy0xLjMsMy0uNTIsNC41LS43MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiM2ODlhZDEiLz48cGF0aCBkPSJNMjgyLjA2LDYzOS4xMmExODIuMywxODIuMywwLDAsMCw3MS44MS0xMS4zMSwyMTQsMjE0LDAsMCwwLDYxLjYxLTM0LjY3YzE4LjA5LTE0LjY4LDMzLjY2LTMxLjUzLDQ0LjA2LTUyLjYxYTEwMS4zNiwxMDEuMzYsMCwwLDAsMTAuMjItMzZjMS0xMS4zMS0uODgtMjItMy45NS0zMi42NC4zNC0yLjYxLDIuNzItMy44LDQuMTEtNS42Myw1LjM4LTcuMDcsOS4zNS0xNC42OSwxMS0yMy40NmEyNy40MywyNy40MywwLDAsMSwxLjIxLTMuNDMsMTExLDExMSwwLDAsMSw4LDIxLjE2YzIuNjMsMTAuMzEsNC4xMSwyMC44LDMuMzMsMzEuNGExMjMuMzEsMTIzLjMxLDAsMCwxLTE2LjA2LDUyLjMyYy05LjE2LDE2LjE1LTIxLDMwLTM0LjYsNDIuMzdhMTk5Ljg5LDE5OS44OSwwLDAsMS0zOS4zNywyNy41NCwyMTkuNSwyMTkuNSwwLDAsMS01NC4yNiwyMC43MSwyMDkuMjcsMjA5LjI3LDAsMCwxLTM2LjA1LDUuMmMtNS44NS4zMy0xMS43MS44My0xNy41Mi40Ni00LjUxLS4yOS05LjE0LDAtMTMuNTYtMS4zNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjc4IC0yMy43NykiIGZpbGw9IiMwZTFmNjYiLz48L2c+PC9zdmc+",router:{address:"0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff",api:WW.ROUTER},factory:{address:"0x5757371414417b8C6CAad45bAeF941aBc7d3Ab32",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var VW=new QQ(Object.assign(ZW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(GW,ZW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(GW,ZW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(GW,ZW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(GW,ZW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const JW=L.fantom,qW={blockchain:"fantom",name:"spookyswap",alternativeNames:[],label:"SpookySwap",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNjQxIDY0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQxIDY0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiMxMjExMjIiIGQ9Ik0zNC4yLDMyMGMwLDE1OC41LDEyOC41LDI4Ni4zLDI4Ni4zLDI4Ni4zYzE1OC41LDAsMjg2LjMtMTI4LjUsMjg2LjMtMjg2LjNjMC0xNTguNS0xMjguNS0yODYuMy0yODYuMy0yODYuMwoJCUMxNjIuNywzMy43LDM0LjIsMTYyLjIsMzQuMiwzMjBMMzQuMiwzMjB6Ii8+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0YyRjRGOCIgZD0iTTEyMC45LDI0Ny42Yy0zLjMsMjIuMiwwLjcsNDUuNyw0LjYsNjcuOGMyLDMuMyw1LjIsNS45LDkuOCw3LjJjLTkuMSwxOS42LTE0LjMsNDAuNC0xNC4zLDYyLjYKCQljMCw5My4zLDkwLDE2OC45LDIwMS41LDE2OC45UzUyNCw0NzguNSw1MjQsMzg1LjJjMC0yMS41LTUuMi00My0xNC4zLTYyLjZjMy45LTEuMyw2LjUtMy45LDcuOC03LjJjNC42LTIyLjIsOC41LTQ1LjcsNS4yLTY3LjgKCQljLTMuMy0zMC0xMy43LTM5LjgtNDUtMzJjLTE1LjcsMy45LTM2LjUsMTMtNTIuOCwyNC4xYy0zMC0xNS02NS4yLTIzLjUtMTAyLjQtMjMuNWMtMzcuOCwwLTczLjcsOS4xLTEwMy43LDI0LjEKCQljLTE2LjMtMTEuMS0zNy4yLTIwLjktNTMuNS0yNC44QzEzNCwyMDcuOCwxMjQuMiwyMTcuNiwxMjAuOSwyNDcuNkwxMjAuOSwyNDcuNnogTTIzOC4zLDM4MC43Yy0yMy41LTEwLjQtNjMuOS03LjgtNjMuOS03LjgKCQlzMiwzNy44LDI0LjgsNTAuOWMyNy40LDE1LDc4LjksNy44LDc4LjksNy44UzI3My41LDM5Ni4zLDIzOC4zLDM4MC43TDIzOC4zLDM4MC43eiBNMzY5LjQsNDMyLjJjMCwwLDUwLjksNy44LDc4LjktNy44CgkJYzIzLjUtMTMsMjQuOC01MC45LDI0LjgtNTAuOXMtNDAuNC0yLjYtNjMuOSw3LjhDMzc0LDM5Ni4zLDM2OS40LDQzMS41LDM2OS40LDQzMi4yTDM2OS40LDQzMi4yeiBNMzEyLjcsNDU4LjkKCQljMCwyLjYsNS4yLDUuMiwxMS43LDUuMnMxMS43LTIsMTEuNy01LjJjMC0yLjYtNS4yLTUuMi0xMS43LTUuMkMzMTcuOSw0NTMuNywzMTIuNyw0NTUuNywzMTIuNyw0NTguOUwzMTIuNyw0NTguOXoiLz4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjRjJGNEY4IiBkPSJNNTUyLjcsNDM1LjRjLTE4LjktNy4yLTM5LjEtMTEuMS01OS4zLTExLjFjLTUuMiwwLTUuMi03LjgsMC03LjhjMjAuOSwwLDQxLjcsMy45LDYxLjMsMTEuNwoJCWMyLDAuNywzLjMsMi42LDIuNiw0LjZDNTU2LjYsNDM0LjgsNTU0LjYsNDM2LjEsNTUyLjcsNDM1LjRMNTUyLjcsNDM1LjR6IE05Mi4yLDQyNy42YzE5LjYtNy44LDQwLjQtMTEuMSw2MS4zLTExLjcKCQljNS4yLDAsNS4yLDcuOCwwLDcuOGMtMjAuMiwwLTQwLjQsMy45LTU5LjMsMTEuMWMtMiwwLjctNC42LTAuNy01LjItMi42Qzg5LDQzMC45LDkwLjMsNDI4LjMsOTIuMiw0MjcuNkw5Mi4yLDQyNy42eiBNMTMyLjcsNDUwLjQKCQljOS44LTMuMywyMC4yLTQuNiwzMC01LjJjNS4yLDAsNS4yLDcuOCwwLDcuOGMtOS4xLDAtMTguOSwyLTI3LjQsNC42Yy04LjUsMi42LTE3LjYsNS45LTI0LjEsMTEuN2MtMy45LDMuMy05LjEtMi01LjktNS45CgkJQzExMy4xLDQ1NywxMjMuNSw0NTMuNywxMzIuNyw0NTAuNEwxMzIuNyw0NTAuNHogTTE3MS44LDQ2NS40Yy03LjgsMy4zLTE1LjcsNy44LTIyLjgsMTIuNGMtNy4yLDQuNi0xMy43LDEwLjQtMTguOSwxNwoJCWMtMS4zLDItMC43LDQuNiwxLjMsNS4yYzIsMS4zLDQuNiwwLjcsNS4yLTEuM2M0LjYtNS45LDExLjEtMTEuMSwxNy0xNWM3LjItNC42LDE0LjMtOC41LDIxLjUtMTEuN2MyLTEuMywyLjYtMy4zLDEuMy01LjIKCQlDMTc2LjQsNDY0LjgsMTczLjgsNDY0LjEsMTcxLjgsNDY1LjRMMTcxLjgsNDY1LjR6IE00ODMuNSw0NTMuN2M5LjEsMCwxOC45LDIsMjcuNCw0LjZjNC42LDEuMyw5LjEsMy4zLDEzLjcsNS4yCgkJYzMuOSwxLjMsNy4yLDMuOSwxMC40LDYuNWMzLjksMy4zLDkuMS0yLDUuOS01LjljLTcuMi02LjUtMTcuNi0xMC40LTI2LjctMTNjLTkuOC0zLjMtMjAuMi00LjYtMzAtNS4yCgkJQzQ3OSw0NDUuMiw0NzksNDUzLjcsNDgzLjUsNDUzLjdMNDgzLjUsNDUzLjd6IE00OTIuNyw0ODMuN2MtNy4yLTQuNi0xNC4zLTcuOC0yMS41LTExLjFsMCwwYy0yLTEuMy0yLjYtMy4zLTEuMy01LjIKCQljMS4zLTIsMy4zLTIuNiw1LjItMS4zYzE1LjcsNi41LDMyLDE1LjcsNDEuNywyOS4zYzEuMywyLDAuNyw0LjYtMS4zLDUuMmMtMiwxLjMtNC42LDAuNy01LjItMS4zCgkJQzUwNS43LDQ5Mi44LDQ5OS4yLDQ4Ny42LDQ5Mi43LDQ4My43TDQ5Mi43LDQ4My43eiIvPgoJPHBhdGggZmlsbD0iIzY2NjVERCIgZD0iTTYyLjIsMzM1LjdjMy45LTUuOSwzNS45LTIyLjgsNzUuNy0zMy4zYzguNS0yNC44LDE5LjYtNDguMywzMi03MS4xbDMyLTU4Yy05LjEtMy45LTE4LjMtOS4xLTI2LjctMTUKCQljLTEuMy0xLjMtMi42LTIuNi0zLjktMy45Yy0wLjctMS4zLTEuMy0zLjMtMS4zLTQuNnMyLTMuOSwyLjYtNC42YzItMi42LDQuNi00LjYsNy4yLTcuMmM1LjktNS4yLDEyLjQtOS44LDE5LjYtMTMuNwoJCWMzLjMtMiw2LjUtMy45LDkuOC02LjVjMjIuOC0xNC4zLDM1LjktMjUuNCw1Ni43LTM3LjhjMjAuMi0xMS43LDMwLTE4LjMsNTIuOC0xNy42YzI5LjMsMCwxMDEuNyw5Mi42LDEzNC4zLDE0MC4yCgkJYzE5LjYsMjguNyw0Ni4zLDgwLjIsNTYuMSw5OS44YzIsMC43LDQuNiwxLjMsNi41LDJjMzAsOS4xLDU4LjcsMjIuMiw2NS45LDMwLjdjNi41LDcuMi0yMS41LDEwLjQtNDguOSwxNS43CgkJYy0yNy40LDQuNi0xMjAuNyw3LjItMjEwLDcuOGMtODkuMywwLjctMTkzLjctMi42LTIxNi41LTUuOUM4My4xLDM0OS4zLDU3LjcsMzQyLjgsNjIuMiwzMzUuN0w2Mi4yLDMzNS43eiIvPgoJPHBhdGggZmlsbD0iI0ZGOTlBNSIgZD0iTTQ4My41LDI1Ni4xYzAsMC01OC43LTE1LTE2Mi40LTE1Yy0xMTEuNSwwLTE2NSwxNy0xNjUsMTdzLTYuNSwxMi40LTkuMSwxOC45Yy0yLjYsNy4yLTkuMSwyNS40LTkuMSwyNS40CgkJUzIxOC44LDI4OCwzMjIuNSwyODhjNjIuNiwwLDEyNC42LDUuMiwxODYuNSwxNS43YzAsMC05LjEtMjIuMi0xNS0zMS4zQzQ5MC43LDI2Ny4yLDQ4Ny41LDI2MS4zLDQ4My41LDI1Ni4xTDQ4My41LDI1Ni4xeiIvPgoJPHBhdGggZmlsbD0iI0ZGRTYwMCIgZD0iTTEzMy4zLDEzMS41YzYuNS0wLjcsMTUuNywxOS42LDE1LjcsMTkuNnMyMC45LTUuOSwyNC44LDBjMy4zLDUuOS0xNSwxOS42LTE1LDE5LjZzMTEuMSwxOS42LDcuMiwyMy41CgkJYy0zLjMsMy45LTIyLjgtOC41LTIyLjgtOC41cy0xNSwxNy0xOS42LDE0LjNjLTUuMi0yLjYsMC43LTI0LjgsMC43LTI0LjhzLTIxLjUtOS4xLTE5LjYtMTQuM2MxLjMtNS4yLDIzLjUtNy4yLDIzLjUtNy4yCgkJUzEyNi44LDEzMi44LDEzMy4zLDEzMS41TDEzMy4zLDEzMS41eiIvPgo8L2c+Cjwvc3ZnPgo=",router:{address:"0xF491e7B69E4244ad4002BC14e878a34207E38c29",api:WW.ROUTER},factory:{address:"0x152eE697f2E276fA89E96742e9bB9aB1F2E61bE3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var XW=new QQ(Object.assign(qW,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(JW,qW,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(JW,qW,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(JW,qW,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(JW,qW,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const KW=L.ethereum,$W={blockchain:"ethereum",name:"uniswap_v2",alternativeNames:[],label:"Uniswap v2",logo:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQxIiBoZWlnaHQ9IjY0MCIgdmlld0JveD0iMCAwIDY0MSA2NDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yMjQuNTM0IDEyMy4yMjZDMjE4LjY5MiAxMjIuMzIgMjE4LjQ0NSAxMjIuMjEzIDIyMS4xOTUgMTIxLjc5MUMyMjYuNDY0IDEyMC45OCAyMzguOTA1IDEyMi4wODUgMjQ3LjQ3OSAxMjQuMTIzQzI2Ny40OTQgMTI4Ljg4MSAyODUuNzA3IDE0MS4wNjkgMzA1LjE0OCAxNjIuNzE0TDMxMC4zMTMgMTY4LjQ2NUwzMTcuNzAxIDE2Ny4yNzdDMzQ4LjgyOCAxNjIuMjc1IDM4MC40OTMgMTY2LjI1IDQwNi45NzggMTc4LjQ4NUM0MTQuMjY0IDE4MS44NTEgNDI1Ljc1MiAxODguNTUyIDQyNy4xODcgMTkwLjI3NEM0MjcuNjQ1IDE5MC44MjIgNDI4LjQ4NSAxOTQuMzU1IDQyOS4wNTMgMTk4LjEyNEM0MzEuMDIgMjExLjE2NCA0MzAuMDM2IDIyMS4xNiA0MjYuMDQ3IDIyOC42MjVDNDIzLjg3NyAyMzIuNjg4IDQyMy43NTYgMjMzLjk3NSA0MjUuMjE1IDIzNy40NTJDNDI2LjM4IDI0MC4yMjcgNDI5LjYyNyAyNDIuMjggNDMyLjg0MyAyNDIuMjc2QzQzOS40MjUgMjQyLjI2NyA0NDYuNTA5IDIzMS42MjcgNDQ5Ljc5MSAyMTYuODIzTDQ1MS4wOTUgMjEwLjk0M0w0NTMuNjc4IDIxMy44NjhDNDY3Ljg0NiAyMjkuOTIgNDc4Ljk3NCAyNTEuODExIDQ4MC44ODUgMjY3LjM5M0w0ODEuMzgzIDI3MS40NTVMNDc5LjAwMiAyNjcuNzYyQzQ3NC45MDMgMjYxLjQwNyA0NzAuNzg1IDI1Ny4wOCA0NjUuNTEyIDI1My41OTFDNDU2LjAwNiAyNDcuMzAxIDQ0NS45NTUgMjQ1LjE2MSA0MTkuMzM3IDI0My43NThDMzk1LjI5NiAyNDIuNDkxIDM4MS42OSAyNDAuNDM4IDM2OC4xOTggMjM2LjAzOEMzNDUuMjQ0IDIyOC41NTQgMzMzLjY3MiAyMTguNTg3IDMwNi40MDUgMTgyLjgxMkMyOTQuMjk0IDE2Ni45MjMgMjg2LjgwOCAxNTguMTMxIDI3OS4zNjIgMTUxLjA1MUMyNjIuNDQyIDEzNC45NjQgMjQ1LjgxNiAxMjYuNTI3IDIyNC41MzQgMTIzLjIyNloiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTQzMi42MSAxNTguNzA0QzQzMy4yMTUgMTQ4LjA1NyA0MzQuNjU5IDE0MS4wMzMgNDM3LjU2MiAxMzQuNjJDNDM4LjcxMSAxMzIuMDgxIDQzOS43ODggMTMwLjAwMyA0MzkuOTU0IDEzMC4wMDNDNDQwLjEyIDEzMC4wMDMgNDM5LjYyMSAxMzEuODc3IDQzOC44NDQgMTM0LjE2N0M0MzYuNzMzIDE0MC4zOTIgNDM2LjM4NyAxNDguOTA1IDQzNy44NCAxNTguODExQzQzOS42ODYgMTcxLjM3OSA0NDAuNzM1IDE3My4xOTIgNDU0LjAxOSAxODYuNzY5QzQ2MC4yNSAxOTMuMTM3IDQ2Ny40OTcgMjAxLjE2OCA0NzAuMTI0IDIwNC42MTZMNDc0LjkwMSAyMTAuODg2TDQ3MC4xMjQgMjA2LjQwNUM0NjQuMjgyIDIwMC45MjYgNDUwLjg0NyAxOTAuMjQgNDQ3Ljg3OSAxODguNzEyQzQ0NS44OSAxODcuNjg4IDQ0NS41OTQgMTg3LjcwNSA0NDQuMzY2IDE4OC45MjdDNDQzLjIzNSAxOTAuMDUzIDQ0Mi45OTcgMTkxLjc0NCA0NDIuODQgMTk5Ljc0MUM0NDIuNTk2IDIxMi4yMDQgNDQwLjg5NyAyMjAuMjA0IDQzNi43OTcgMjI4LjIwM0M0MzQuNTggMjMyLjUyOSA0MzQuMjMgMjMxLjYwNiA0MzYuMjM3IDIyNi43MjNDNDM3LjczNSAyMjMuMDc3IDQzNy44ODcgMjIxLjQ3NCA0MzcuODc2IDIwOS40MDhDNDM3Ljg1MyAxODUuMTY3IDQzNC45NzUgMTc5LjMzOSA0MTguMDk3IDE2OS4zNTVDNDEzLjgyMSAxNjYuODI2IDQwNi43NzYgMTYzLjE3OCA0MDIuNDQyIDE2MS4yNDlDMzk4LjEwNyAxNTkuMzIgMzk0LjY2NCAxNTcuNjM5IDM5NC43ODkgMTU3LjUxNEMzOTUuMjY3IDE1Ny4wMzggNDExLjcyNyAxNjEuODQyIDQxOC4zNTIgMTY0LjM5QzQyOC4yMDYgMTY4LjE4MSA0MjkuODMzIDE2OC42NzIgNDMxLjAzIDE2OC4yMTVDNDMxLjgzMiAxNjcuOTA5IDQzMi4yMiAxNjUuNTcyIDQzMi42MSAxNTguNzA0WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMjM1Ljg4MyAyMDAuMTc1QzIyNC4wMjIgMTgzLjg0NiAyMTYuNjg0IDE1OC44MDkgMjE4LjI3MiAxNDAuMDkzTDIxOC43NjQgMTM0LjMwMUwyMjEuNDYzIDEzNC43OTRDMjI2LjUzNCAxMzUuNzE5IDIzNS4yNzUgMTM4Ljk3MyAyMzkuMzY5IDE0MS40NTlDMjUwLjYwMiAxNDguMjgxIDI1NS40NjUgMTU3LjI2MyAyNjAuNDEzIDE4MC4zMjhDMjYxLjg2MiAxODcuMDgzIDI2My43NjMgMTk0LjcyOCAyNjQuNjM4IDE5Ny4zMTdDMjY2LjA0NyAyMDEuNDgzIDI3MS4zNjkgMjExLjIxNCAyNzUuNjk2IDIxNy41MzRDMjc4LjgxMyAyMjIuMDg1IDI3Ni43NDMgMjI0LjI0MiAyNjkuODUzIDIyMy42MkMyNTkuMzMxIDIyMi42NyAyNDUuMDc4IDIxMi44MzQgMjM1Ljg4MyAyMDAuMTc1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNNDE4LjIyMyAzMjEuNzA3QzM2Mi43OTMgMjk5LjM4OSAzNDMuMjcxIDI4MC4wMTcgMzQzLjI3MSAyNDcuMzMxQzM0My4yNzEgMjQyLjUyMSAzNDMuNDM3IDIzOC41ODUgMzQzLjYzOCAyMzguNTg1QzM0My44NCAyMzguNTg1IDM0NS45ODUgMjQwLjE3MyAzNDguNDA0IDI0Mi4xMTNDMzU5LjY0NCAyNTEuMTI4IDM3Mi4yMzEgMjU0Ljk3OSA0MDcuMDc2IDI2MC4wNjJDNDI3LjU4IDI2My4wNTQgNDM5LjExOSAyNjUuNDcgNDQ5Ljc2MyAyNjlDNDgzLjU5NSAyODAuMjIgNTA0LjUyNyAzMDIuOTkgNTA5LjUxOCAzMzQuMDA0QzUxMC45NjkgMzQzLjAxNiA1MTAuMTE4IDM1OS45MTUgNTA3Ljc2NiAzNjguODIyQzUwNS45MSAzNzUuODU3IDUwMC4yNDUgMzg4LjUzNyA0OTguNzQyIDM4OS4wMjNDNDk4LjMyNSAzODkuMTU4IDQ5Ny45MTcgMzg3LjU2MiA0OTcuODEgMzg1LjM4OUM0OTcuMjQgMzczLjc0NCA0OTEuMzU1IDM2Mi40MDYgNDgxLjQ3MiAzNTMuOTEzQzQ3MC4yMzUgMzQ0LjI1NyA0NTUuMTM3IDMzNi41NjkgNDE4LjIyMyAzMjEuNzA3WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBkPSJNMzc5LjMxIDMzMC45NzhDMzc4LjYxNSAzMjYuODQ2IDM3Ny40MTEgMzIxLjU2OCAzNzYuNjMzIDMxOS4yNUwzNzUuMjE5IDMxNS4wMzZMMzc3Ljg0NiAzMTcuOTg1QzM4MS40ODEgMzIyLjA2NSAzODQuMzU0IDMyNy4yODcgMzg2Ljc4OSAzMzQuMjQxQzM4OC42NDcgMzM5LjU0OSAzODguODU2IDM0MS4xMjcgMzg4Ljg0MiAzNDkuNzUzQzM4OC44MjggMzU4LjIyMSAzODguNTk2IDM1OS45OTYgMzg2Ljg4IDM2NC43NzNDMzg0LjE3NCAzNzIuMzA3IDM4MC44MTYgMzc3LjY0OSAzNzUuMTgxIDM4My4zODNDMzY1LjA1NiAzOTMuNjg4IDM1Mi4wMzggMzk5LjM5MyAzMzMuMjUzIDQwMS43NkMzMjkuOTg3IDQwMi4xNzEgMzIwLjQ3IDQwMi44NjQgMzEyLjEwMyA0MDMuMjk5QzI5MS4wMTYgNDA0LjM5NSAyNzcuMTM4IDQwNi42NjEgMjY0LjY2OCA0MTEuMDRDMjYyLjg3NSA0MTEuNjcgMjYxLjI3NCA0MTIuMDUyIDI2MS4xMTIgNDExLjg5QzI2MC42MDcgNDExLjM4OCAyNjkuMDk4IDQwNi4zMjYgMjc2LjExMSA0MDIuOTQ4QzI4NS45OTkgMzk4LjE4NSAyOTUuODQyIDM5NS41ODYgMzE3Ljg5NyAzOTEuOTEzQzMyOC43OTIgMzkwLjA5OCAzNDAuMDQzIDM4Ny44OTcgMzQyLjkgMzg3LjAyMUMzNjkuODggMzc4Ljc0OSAzODMuNzQ4IDM1Ny40MDIgMzc5LjMxIDMzMC45NzhaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGQ9Ik00MDQuNzE5IDM3Ni4xMDVDMzk3LjM1NSAzNjAuMjczIDM5NS42NjQgMzQ0Ljk4OCAzOTkuNjk4IDMzMC43MzJDNDAwLjEzIDMyOS4yMDkgNDAwLjgyNCAzMjcuOTYyIDQwMS4yNDIgMzI3Ljk2MkM0MDEuNjU5IDMyNy45NjIgNDAzLjM5NyAzMjguOTAyIDQwNS4xMDMgMzMwLjA1QzQwOC40OTcgMzMyLjMzNSA0MTUuMzAzIDMzNi4xODIgNDMzLjQzNyAzNDYuMDY5QzQ1Ni4wNjUgMzU4LjQwNiA0NjguOTY2IDM2Ny45NTkgNDc3Ljc0IDM3OC44NzNDNDg1LjQyMyAzODguNDMyIDQ5MC4xNzggMzk5LjMxOCA0OTIuNDY3IDQxMi41OTNDNDkzLjc2MiA0MjAuMTEzIDQ5My4wMDMgNDM4LjIwNiA0OTEuMDc0IDQ0NS43NzhDNDg0Ljk5IDQ2OS42NTMgNDcwLjg1IDQ4OC40MDYgNDUwLjY4MiA0OTkuMzQ5QzQ0Ny43MjcgNTAwLjk1MiA0NDUuMDc1IDUwMi4yNjkgNDQ0Ljc4OCA1MDIuMjc1QzQ0NC41MDEgNTAyLjI4IDQ0NS41NzcgNDk5LjU0MyA0NDcuMTggNDk2LjE5MUM0NTMuOTY1IDQ4Mi4wMDkgNDU0LjczNyA0NjguMjE0IDQ0OS42MDggNDUyLjg1OUM0NDYuNDY3IDQ0My40NTcgNDQwLjA2NCA0MzEuOTg1IDQyNy4xMzUgNDEyLjU5NkM0MTIuMTAzIDM5MC4wNTQgNDA4LjQxNyAzODQuMDU0IDQwNC43MTkgMzc2LjEwNVoiIGZpbGw9IiNGRjAwN0EiLz4KPHBhdGggZD0iTTE5Ni41MTkgNDYxLjUyNUMyMTcuMDg5IDQ0NC4xNTcgMjQyLjY4MiA0MzEuODE5IDI2NS45OTYgNDI4LjAzMkMyNzYuMDQzIDQyNi4zOTkgMjkyLjc4IDQyNy4wNDcgMzAyLjA4NCA0MjkuNDI4QzMxNi45OTggNDMzLjI0NSAzMzAuMzM4IDQ0MS43OTMgMzM3LjI3NiA0NTEuOTc4QzM0NC4wNTcgNDYxLjkzMiAzNDYuOTY2IDQ3MC42MDYgMzQ5Ljk5NSA0ODkuOTA2QzM1MS4xODkgNDk3LjUxOSAzNTIuNDg5IDUwNS4xNjQgMzUyLjg4MiA1MDYuODk1QzM1NS4xNTYgNTE2Ljg5NyAzNTkuNTgzIDUyNC44OTIgMzY1LjA2NyA1MjguOTA3QzM3My43NzkgNTM1LjI4MyAzODguNzggNTM1LjY4IDQwMy41MzYgNTI5LjkyNEM0MDYuMDQxIDUyOC45NDcgNDA4LjIxNSA1MjguMjcxIDQwOC4zNjggNTI4LjQyNEM0MDguOTAzIDUyOC45NTUgNDAxLjQ3MyA1MzMuOTMgMzk2LjIzIDUzNi41NDhDMzg5LjE3NyA1NDAuMDcxIDM4My41NjggNTQxLjQzNCAzNzYuMTE1IDU0MS40MzRDMzYyLjYgNTQxLjQzNCAzNTEuMzc5IDUzNC41NTggMzQyLjAxNiA1MjAuNTM5QzM0MC4xNzQgNTE3Ljc4IDMzNi4wMzIgNTA5LjUxNiAzMzIuODEzIDUwMi4xNzZDMzIyLjkyOCA0NzkuNjI4IDMxOC4wNDYgNDcyLjc1OSAzMDYuNTY4IDQ2NS4yNDJDMjk2LjU3OSA0NTguNzAxIDI4My42OTcgNDU3LjUzIDI3NC4wMDYgNDYyLjI4MkMyNjEuMjc2IDQ2OC41MjMgMjU3LjcyNCA0ODQuNzkxIDI2Ni44NDIgNDk1LjEwMUMyNzAuNDY1IDQ5OS4xOTggMjc3LjIyMyA1MDIuNzMyIDI4Mi43NDkgNTAzLjQxOUMyOTMuMDg2IDUwNC43MDUgMzAxLjk3IDQ5Ni44NDEgMzAxLjk3IDQ4Ni40MDRDMzAxLjk3IDQ3OS42MjcgMjk5LjM2NSA0NzUuNzYgMjkyLjgwOCA0NzIuODAxQzI4My44NTIgNDY4Ljc2IDI3NC4yMjYgNDczLjQ4MyAyNzQuMjcyIDQ4MS44OTdDMjc0LjI5MiA0ODUuNDg0IDI3NS44NTQgNDg3LjczNyAyNzkuNDUgNDg5LjM2NEMyODEuNzU3IDQ5MC40MDggMjgxLjgxMSA0OTAuNDkxIDI3OS45MjkgNDkwLjFDMjcxLjcxMiA0ODguMzk2IDI2OS43ODcgNDc4LjQ5IDI3Ni4zOTQgNDcxLjkxM0MyODQuMzI2IDQ2NC4wMTggMzAwLjcyOSA0NjcuNTAyIDMwNi4zNjIgNDc4LjI3OUMzMDguNzI4IDQ4Mi44MDUgMzA5LjAwMyA0OTEuODIgMzA2Ljk0IDQ5Ny4yNjRDMzAyLjMyMiA1MDkuNDQ4IDI4OC44NTkgNTE1Ljg1NSAyNzUuMjAxIDUxMi4zNjhDMjY1LjkwMyA1MDkuOTk0IDI2Mi4xMTcgNTA3LjQyNCAyNTAuOTA2IDQ5NS44NzZDMjMxLjQyNSA0NzUuODA5IDIyMy44NjIgNDcxLjkyIDE5NS43NzcgNDY3LjUzNkwxOTAuMzk1IDQ2Ni42OTZMMTk2LjUxOSA0NjEuNTI1WiIgZmlsbD0iI0ZGMDA3QSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ5LjYyMDIgMTIuMDAzMUMxMTQuNjc4IDkwLjk2MzggMjE0Ljk3NyAyMTMuOTAxIDIxOS45NTcgMjIwLjc4NEMyMjQuMDY4IDIyNi40NjcgMjIyLjUyMSAyMzEuNTc2IDIxNS40NzggMjM1LjU4QzIxMS41NjEgMjM3LjgwNyAyMDMuNTA4IDI0MC4wNjMgMTk5LjQ3NiAyNDAuMDYzQzE5NC45MTYgMjQwLjA2MyAxODkuNzc5IDIzNy44NjcgMTg2LjAzOCAyMzQuMzE4QzE4My4zOTMgMjMxLjgxIDE3Mi43MjEgMjE1Ljg3NCAxNDguMDg0IDE3Ny42NDZDMTI5LjIzMyAxNDguMzk2IDExMy40NTcgMTI0LjEzMSAxMTMuMDI3IDEyMy43MjVDMTEyLjAzMiAxMjIuNzg1IDExMi4wNDkgMTIyLjgxNyAxNDYuMTYyIDE4My44NTRDMTY3LjU4MiAyMjIuMTgxIDE3NC44MTMgMjM1LjczMSAxNzQuODEzIDIzNy41NDNDMTc0LjgxMyAyNDEuMjI5IDE3My44MDggMjQzLjE2NiAxNjkuMjYxIDI0OC4yMzhDMTYxLjY4MSAyNTYuNjk0IDE1OC4yOTMgMjY2LjE5NSAxNTUuODQ3IDI4NS44NTlDMTUzLjEwNCAzMDcuOTAyIDE0NS4zOTQgMzIzLjQ3MyAxMjQuMDI2IDM1MC4xMjJDMTExLjUxOCAzNjUuNzIyIDEwOS40NzEgMzY4LjU4MSAxMDYuMzE1IDM3NC44NjlDMTAyLjMzOSAzODIuNzg2IDEwMS4yNDYgMzg3LjIyMSAxMDAuODAzIDM5Ny4yMTlDMTAwLjMzNSA0MDcuNzkgMTAxLjI0NyA0MTQuNjE5IDEwNC40NzcgNDI0LjcyNkMxMDcuMzA0IDQzMy41NzUgMTEwLjI1NSA0MzkuNDE3IDExNy44IDQ1MS4xMDRDMTI0LjMxMSA0NjEuMTg4IDEyOC4wNjEgNDY4LjY4MyAxMjguMDYxIDQ3MS42MTRDMTI4LjA2MSA0NzMuOTQ3IDEyOC41MDYgNDczLjk1IDEzOC41OTYgNDcxLjY3MkMxNjIuNzQxIDQ2Ni4yMTkgMTgyLjM0OCA0NTYuNjI5IDE5My4zNzUgNDQ0Ljg3N0MyMDAuMTk5IDQzNy42MDMgMjAxLjgwMSA0MzMuNTg2IDIwMS44NTMgNDIzLjYxOEMyMDEuODg3IDQxNy4wOTggMjAxLjY1OCA0MTUuNzMzIDE5OS44OTYgNDExLjk4MkMxOTcuMDI3IDQwNS44NzcgMTkxLjgwNCA0MDAuODAxIDE4MC4yOTIgMzkyLjkzMkMxNjUuMjA5IDM4Mi42MjEgMTU4Ljc2NyAzNzQuMzIgMTU2Ljk4NyAzNjIuOTA0QzE1NS41MjcgMzUzLjUzNyAxNTcuMjIxIDM0Ni45MjggMTY1LjU2NSAzMjkuNDRDMTc0LjIwMiAzMTEuMzM4IDE3Ni4zNDIgMzAzLjYyNCAxNzcuNzkgMjg1LjM3OEMxNzguNzI1IDI3My41ODkgMTgwLjAyIDI2OC45NCAxODMuNDA3IDI2NS4yMDlDMTg2LjkzOSAyNjEuMzE3IDE5MC4xMTkgMjYwIDE5OC44NjEgMjU4LjgwNUMyMTMuMTEzIDI1Ni44NTggMjIyLjE4OCAyNTMuMTcxIDIyOS42NDggMjQ2LjI5N0MyMzYuMTE5IDI0MC4zMzQgMjM4LjgyNyAyMzQuNTg4IDIzOS4yNDMgMjI1LjkzOEwyMzkuNTU4IDIxOS4zODJMMjM1Ljk0MiAyMTUuMTY2QzIyMi44NDYgMTk5Ljg5NiA0MC44NSAwIDQwLjA0NCAwQzM5Ljg3MTkgMCA0NC4xODEzIDUuNDAxNzggNDkuNjIwMiAxMi4wMDMxWk0xMzUuNDEyIDQwOS4xOEMxMzguMzczIDQwMy45MzcgMTM2LjggMzk3LjE5NSAxMzEuODQ3IDM5My45MDJDMTI3LjE2NyAzOTAuNzkgMTE5Ljg5NyAzOTIuMjU2IDExOS44OTcgMzk2LjMxMUMxMTkuODk3IDM5Ny41NDggMTIwLjU4MiAzOTguNDQ5IDEyMi4xMjQgMzk5LjI0M0MxMjQuNzIgNDAwLjU3OSAxMjQuOTA5IDQwMi4wODEgMTIyLjg2NiA0MDUuMTUyQzEyMC43OTcgNDA4LjI2MiAxMjAuOTY0IDQxMC45OTYgMTIzLjMzNyA0MTIuODU0QzEyNy4xNjIgNDE1Ljg0OSAxMzIuNTc2IDQxNC4yMDIgMTM1LjQxMiA0MDkuMThaIiBmaWxsPSIjRkYwMDdBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQ4LjU1MiAyNjIuMjQ0QzI0MS44NjIgMjY0LjI5OSAyMzUuMzU4IDI3MS4zOSAyMzMuMzQ0IDI3OC44MjZDMjMyLjExNiAyODMuMzYyIDIzMi44MTMgMjkxLjMxOSAyMzQuNjUzIDI5My43NzZDMjM3LjYyNSAyOTcuNzQ1IDI0MC40OTkgMjk4Ljc5MSAyNDguMjgyIDI5OC43MzZDMjYzLjUxOCAyOTguNjMgMjc2Ljc2NCAyOTIuMDk1IDI3OC4zMDQgMjgzLjkyNUMyNzkuNTY3IDI3Ny4yMjkgMjczLjc0OSAyNjcuOTQ4IDI2NS43MzYgMjYzLjg3NEMyNjEuNjAxIDI2MS43NzIgMjUyLjgwNyAyNjAuOTM4IDI0OC41NTIgMjYyLjI0NFpNMjY2LjM2NCAyNzYuMTcyQzI2OC43MTQgMjcyLjgzNCAyNjcuNjg2IDI2OS4yMjUgMjYzLjY5IDI2Ni43ODVDMjU2LjA4IDI2Mi4xMzggMjQ0LjU3MSAyNjUuOTgzIDI0NC41NzEgMjczLjE3M0MyNDQuNTcxIDI3Ni43NTIgMjUwLjU3MiAyODAuNjU2IDI1Ni4wNzQgMjgwLjY1NkMyNTkuNzM1IDI4MC42NTYgMjY0Ljc0NiAyNzguNDczIDI2Ni4zNjQgMjc2LjE3MloiIGZpbGw9IiNGRjAwN0EiLz4KPC9zdmc+Cg==",router:{address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",api:WW.ROUTER},factory:{address:"0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var tF=new QQ(Object.assign($W,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(KW,$W,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(KW,$W,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(KW,$W,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(KW,$W,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const eF=L.velas,nF={blockchain:"velas",name:"wagyuswap",alternativeNames:[],label:"WagyuSwap",logo:"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5NC45MSAxMzAuMjYiPjxnIGlkPSJMYXllcl8yIiBkYXRhLW5hbWU9IkxheWVyIDIiPjxwYXRoIGQ9Ik0xMTcuMjgsOTYuNDVjMCwyNC42Mi0yMS4yNCw0NC42LTQ3LjQ1LDQ0LjZzLTQ3LjQ2LTIwLTQ3LjQ2LTQ0LjZjMC0zLjE5LDAtMTkuODUsNy40My0zMy40NSw3LjA4LTEzLDE5LjUyLTIxLjY5LDE5LjUyLTIxLjY5cy4xNywzLjgxLjY2LDcuODJhMjQuMSwyNC4xLDAsMCwwLDEsNGMuMDYtMy40NCwxLjM2LTExLjcsNi41Ny0yMS42Myw2LTExLjQ2LDE3LTIwLjcyLDE3LTIwLjcyYTEwOC41MSwxMDguNTEsMCwwLDAsLjMsMTYuOTFjLjg1LDcuNzIsNC4xNSwxNC45MSw1LjA3LDE1LjU5YTI1LjgyLDI1LjgyLDAsMCwxLC44Ni00Ljg1LDE3LjM0LDE3LjM0LDAsMCwxLDIuNTctNC42NWMuMi0uOC40Miw2LjE1LDIuODcsMTAuNDQsNS43LDEwLDIwLjE0LDIzLjEsMjMuNTEsMjhBNDIuNDQsNDIuNDQsMCwwLDEsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNjYTQwNGYiLz48cGF0aCBkPSJNNzMsMTM1LjU5Yy0yNi4yMSwwLTQ3LjQ1LTIwLTQ3LjQ1LTQ0LjYsMC0zLjA2LDAtMTguMzksNi40Ny0zMS42My0uNzYsMS4xNi0xLjQ4LDIuMzUtMi4xNSwzLjYtNy40NywxMy42NC03LjQ3LDMwLjMtNy40NywzMy40OSwwLDI0LjYyLDIxLjI0LDQ0LjYsNDcuNDYsNDQuNiwxOS4yOCwwLDM1Ljg3LTEwLjgsNDMuMy0yNi4zMUE0OC4yNSw0OC4yNSwwLDAsMSw3MywxMzUuNTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iIzkyMzg0YiIvPjxwYXRoIGQ9Ik01MCw0OS4yNmEyMy4wNiwyMy4wNiwwLDAsMCwxLDRDNTEsNDkuOTQsNTIuNSw0MS40OCw1Ny4xOSwzMi4xYy0uODYsMS4zNy0yLDMuNTMtMi43Niw1QTY1LDY1LDAsMCwwLDQ5Ljg3LDQ4QzQ5LjkyLDQ4LjQzLDUwLDQ4Ljg0LDUwLDQ5LjI2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiM5MjM4NGIiLz48cGF0aCBkPSJNNzguNDQsODIuNmMtOS4yOCwxMS4zNC0yMi4zLDE4LjA2LTE5LjEyLDIxLjE3LDMuMzQsMy4yNywyMy4wOSwxMy45MiwzOC4zLTEuNzEsOC04LjI0LDcuMzMtMjEuMTgsMi44Ni0yOS4wNiwwLDAsMi43LTcuOCwyLjU3LTguMzYtLjQ3LTEuOS0xMC0xMi0xMS4zMy0xMi42MkE4Ny4yMyw4Ny4yMywwLDAsMSw4OSw2NC43MUM4Ny43LDY4LjU1LDgzLjkyLDc1Ljg5LDc4LjQ0LDgyLjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjIuMzcgLTEwLjc5KSIgZmlsbD0iI2VjZDBjZiIvPjxwYXRoIGQ9Ik04My43OSw4Ny4xM2MtNiw3LjMtMTMuNzksMTIuMjUtMTEuNDcsMTMuOTRzMTAuNzYsNiwyMC41OS00YzcuMzItNy41MSw0LjIzLTE3LjQzLDEuOS0xOS4xMlM4OC44LDgxLDgzLjc5LDg3LjEzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNkYWIyYjUiLz48cGF0aCBkPSJNODYuMTMsOTEuMzVjLTIuNDMsMy4zNi0zLjQzLDYuNzUtMi4zMiw3LjU3czQtMS4yMyw2LjQ1LTQuNTgsMy40NC02Ljc0LDIuMzMtNy41N1M4OC41Niw4OCw4Ni4xMyw5MS4zNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMi4zNyAtMTAuNzkpIiBmaWxsPSIjYzk5NDljIi8+PHBhdGggZD0iTTg2LjIyLDQ0LjI0YTE1LjQzLDE1LjQzLDAsMCwxLTEtMi4wNkE2My4xOSw2My4xOSwwLDAsMSw2OC44LDU4LjY1QzYwLjYxLDY0LjM2LDU2LDY4LjYsNTMuNzUsODEsNTIuNTQsODcuNDYsMzUsNzcuNzQsMjkuMzIsODZjLTIuNDEsMy41Mi0yLjI1LDcuMDktMy41OCw5LjMxLjQzLDEwLjE4LDcuNDQsMjAsNy40NCwyMC0xLjE5LTEuNzItLjM3LTEyLDMuNjQtMTguNzQsMy44My02LjQ1LDE3LjEyLTYuOSwyMy4yOS0xMy43NkM2Ni41Nyw3NS43LDY2LjM2LDY5LjM4LDcxLDYzLjY5YzYuNS04LDE1LTE1LjEzLDE5LjcyLTEyLjg2QTU2LjQ0LDU2LjQ0LDAsMCwxLDg2LjIyLDQ0LjI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48cGF0aCBkPSJNMTE3LjI4LDk2LjQ1Yy0uNDMsMy0zLjY4LDkuMzEtNy44OCwxMC4yOS03LjY3LDEuNzctMTAuNzktMy0xNS42NywyYTI5LjgyLDI5LjgyLDAsMCwxLTI5LjY2LDcuMTFjLTkuNDMtMi45NC0yMC4xOCw2LjQzLTI3LDQuMzksNS4yOSw2Ljg2LDE3LjUzLDEyLDE4LjkyLDEyLjQyLTEtMS4xNi00LjA4LTUuODQtMS4xMi03LjM3LDUuNjQtMi45MSwxNCwyLjc1LDIwLjA4LDEuMDYsNy4yMS0yLDEwLjI5LTgsMTQuMS0xMC4zNSwxLjktMS4xOSwxMi05LjMxLDI0LjExLTEuNDZBNDIuMDYsNDIuMDYsMCwwLDAsMTE3LjI4LDk2LjQ1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIyLjM3IC0xMC43OSkiIGZpbGw9IiNmNGVhZTYiLz48L2c+PC9zdmc+",router:{address:"0x3D1c58B6d4501E34DF37Cf0f664A58059a188F00",api:WW.ROUTER},factory:{address:"0x69f3212344a38b35844cce4864c2af9c717f35e3",api:WW.FACTORY},pair:{api:WW.PAIR},slippage:!0};var rF=new QQ(Object.assign(nF,{findPath:({tokenIn:t,tokenOut:e})=>WW.findPath(eF,nF,{tokenIn:t,tokenOut:e}),pathExists:t=>WW.pathExists(eF,nF,t),getAmounts:({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>WW.getAmounts(eF,nF,{path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>WW.getTransaction(eF,nF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));var iF={findPath:async(t,{tokenIn:e,tokenOut:n})=>{if(![e,n].includes(t.currency.address)||![e,n].includes(t.wrapped.address))return{path:void 0,fixedPath:void 0};let r=[e,n];return{path:r,fixedPath:r}},pathExists:async(t,e)=>!(e.length<=1)&&(!(e.length>=3)&&(e.includes(t.currency.address)&&e.includes(t.wrapped.address))),getAmounts:async({path:t,block:e,tokenIn:n,tokenOut:r,amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s})=>(i?o=a=s=i:o?i=a=s=o:s?o=a=i=s:a&&(i=s=o=a),{amountOut:i,amountIn:o,amountInMax:a,amountOutMin:s}),getTransaction:(t,e,{path:n,amountIn:r,amountInMax:i,amountOut:o,amountOutMin:a,amountInInput:s,amountOutInput:u,amountInMaxInput:c,amountOutMinInput:l,fromAddress:h})=>{let d={blockchain:t.name,from:h,to:e.wrapper.address,api:e.wrapper.api};return n[0]===t.currency.address&&n[1]===t.wrapped.address?(d.method="deposit",d.value=r.toString(),d):n[0]===t.wrapped.address&&n[1]===t.currency.address?(d.method="withdraw",d.value=0,d.params={wad:r},d):void 0},WETH:[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}]};const oF=L.bsc,aF={blockchain:"bsc",name:"wbnb",alternativeNames:[],label:"Wrapped BNB",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0YwQjkwQjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01NCw0MS4xbDQyLTI0LjJsNDIsMjQuMmwtMTUuNCw4LjlMOTYsMzQuOUw2OS40LDUwTDU0LDQxLjF6IE0xMzgsNzEuN2wtMTUuNC04LjlMOTYsNzhMNjkuNCw2Mi43bC0xNS40LDl2MTgKCUw4MC42LDEwNXYzMC41bDE1LjQsOWwxNS40LTlWMTA1TDEzOCw4OS43VjcxLjd6IE0xMzgsMTIwLjN2LTE4bC0xNS40LDguOXYxOEMxMjIuNiwxMjkuMSwxMzgsMTIwLjMsMTM4LDEyMC4zeiBNMTQ4LjksMTI2LjQKCWwtMjYuNiwxNS4zdjE4bDQyLTI0LjJWODdsLTE1LjQsOUMxNDguOSw5NiwxNDguOSwxMjYuNCwxNDguOSwxMjYuNHogTTEzMy41LDU2LjRsMTUuNCw5djE4bDE1LjQtOXYtMThsLTE1LjQtOUwxMzMuNSw1Ni40CglMMTMzLjUsNTYuNHogTTgwLjYsMTQ4LjN2MThsMTUuNCw5bDE1LjQtOXYtMThMOTYsMTU3LjFMODAuNiwxNDguM3ogTTU0LDEyMC4zbDE1LjQsOXYtMTguMUw1NCwxMDIuM0w1NCwxMjAuM0w1NCwxMjAuM3oKCSBNODAuNiw1Ni40bDE1LjQsOWwxNS40LTlMOTYsNDcuNUM5Niw0Ny40LDgwLjYsNTYuNCw4MC42LDU2LjRMODAuNiw1Ni40eiBNNDMuMSw2NS40bDE1LjQtOWwtMTUuNC05bC0xNS40LDl2MThsMTUuNCw5TDQzLjEsNjUuNAoJTDQzLjEsNjUuNHogTTQzLjEsOTUuOUwyNy43LDg3djQ4LjVsNDIsMjQuMnYtMThsLTI2LjYtMTUuM1Y5NS45TDQzLjEsOTUuOXoiLz4KPC9zdmc+Cg==",wrapper:{address:oF.wrapped.address,api:iF.WETH},slippage:!1};var sF=new QQ(Object.assign(aF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(oF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(oF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(oF,aF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const uF=L.ethereum,cF={blockchain:"ethereum",name:"weth",alternativeNames:[],label:"Wrapped Ethereum",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgaW1hZ2UtcmVuZGVyaW5nPSJvcHRpbWl6ZVF1YWxpdHkiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgzLjUgMjgzLjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMzQzNDM0O30KCS5zdDF7ZmlsbDojOEM4QzhDO30KCS5zdDJ7ZmlsbDojM0MzQzNCO30KCS5zdDN7ZmlsbDojMTQxNDE0O30KCS5zdDR7ZmlsbDojMzkzOTM5O30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQxLjcsMjUuOWwtMS41LDUuMnYxNTMuM2wxLjUsMS41bDcxLjItNDIuMUwxNDEuNywyNS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNS45TDcwLjYsMTQzLjhsNzEuMSw0Mi4xdi03NC40VjI1Ljl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0MS43LDE5OS40bC0wLjgsMS4xdjU0LjZsMC44LDIuNWw3MS4yLTEwMC4zTDE0MS43LDE5OS40eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNDEuNywyNTcuNnYtNTguMmwtNzEuMS00Mi4xTDE0MS43LDI1Ny42eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNDEuNywxODUuOWw3MS4yLTQyLjFsLTcxLjItMzIuM1YxODUuOXoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzAuNiwxNDMuOGw3MS4xLDQyLjF2LTc0LjRMNzAuNiwxNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:uF.wrapped.address,api:iF.WETH},slippage:!1};var lF=new QQ(Object.assign(cF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(uF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(uF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(uF,cF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const hF=L.fantom,dF={blockchain:"fantom",name:"wftm",alternativeNames:[],label:"Wrapped Fantom",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTkyIDE5MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTkyIDE5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iY2lyY2xlIj4KCTxnIGlkPSJGYW50b20tY2lyY2xlIj4KCQk8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsUnVsZT0iZXZlbm9kZCIgY2xpcFJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMxOTY5RkYiIGNsYXNzPSJzdDAiIGN4PSI5NiIgY3k9Ijk2IiByPSI4MC40Ii8+CgkJPHBhdGggaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIiBkPSJNOTEuMSw0MS4yYzIuNy0xLjQsNi44LTEuNCw5LjUsMGwyNy42LDE0LjZjMS42LDAuOSwyLjUsMi4xLDIuNywzLjVoMHY3My4zCgkJCWMwLDEuNC0wLjksMi45LTIuNywzLjhsLTI3LjYsMTQuNmMtMi43LDEuNC02LjgsMS40LTkuNSwwbC0yNy42LTE0LjZjLTEuOC0wLjktMi42LTIuNC0yLjctMy44YzAtMC4xLDAtMC4zLDAtMC40bDAtNzIuNAoJCQljMC0wLjEsMC0wLjIsMC0wLjNsMC0wLjJoMGMwLjEtMS4zLDEtMi42LDIuNi0zLjVMOTEuMSw0MS4yeiBNMTI2LjYsOTkuOWwtMjYsMTMuN2MtMi43LDEuNC02LjgsMS40LTkuNSwwTDY1LjIsMTAwdjMyLjMKCQkJbDI1LjksMTMuNmMxLjUsMC44LDMuMSwxLjYsNC43LDEuN2wwLjEsMGMxLjUsMCwzLTAuOCw0LjYtMS41bDI2LjItMTMuOVY5OS45eiBNNTYuNSwxMzAuOWMwLDIuOCwwLjMsNC43LDEsNgoJCQljMC41LDEuMSwxLjMsMS45LDIuOCwyLjlsMC4xLDAuMWMwLjMsMC4yLDAuNywwLjQsMS4xLDAuN2wwLjUsMC4zbDEuNiwwLjlsLTIuMiwzLjdsLTEuNy0xLjFsLTAuMy0wLjJjLTAuNS0wLjMtMC45LTAuNi0xLjMtMC44CgkJCWMtNC4yLTIuOC01LjctNS45LTUuNy0xMi4zbDAtMC4ySDU2LjV6IE05My44LDgwLjVjLTAuMiwwLjEtMC40LDAuMS0wLjYsMC4yTDY1LjYsOTUuM2MwLDAtMC4xLDAtMC4xLDBsMCwwbDAsMGwwLjEsMGwyNy42LDE0LjYKCQkJYzAuMiwwLjEsMC40LDAuMiwwLjYsMC4yVjgwLjV6IE05OC4yLDgwLjV2MjkuOGMwLjItMC4xLDAuNC0wLjEsMC42LTAuMmwyNy42LTE0LjZjMCwwLDAuMSwwLDAuMSwwbDAsMGwwLDBsLTAuMSwwTDk4LjgsODAuNwoJCQlDOTguNiw4MC42LDk4LjQsODAuNSw5OC4yLDgwLjV6IE0xMjYuNiw2NC40bC0yNC44LDEzbDI0LjgsMTNWNjQuNHogTTY1LjIsNjQuNHYyNi4xbDI0LjgtMTNMNjUuMiw2NC40eiBNOTguNyw0NS4xCgkJCWMtMS40LTAuOC00LTAuOC01LjUsMEw2NS42LDU5LjdjMCwwLTAuMSwwLTAuMSwwbDAsMGwwLDBsMC4xLDBsMjcuNiwxNC42YzEuNCwwLjgsNCwwLjgsNS41LDBsMjcuNi0xNC42YzAsMCwwLjEsMCwwLjEsMGwwLDBsMCwwCgkJCWwtMC4xLDBMOTguNyw0NS4xeiBNMTMwLjcsNDYuNWwxLjcsMS4xbDAuMywwLjJjMC41LDAuMywwLjksMC42LDEuMywwLjhjNC4yLDIuOCw1LjcsNS45LDUuNywxMi4zbDAsMC4yaC00LjNjMC0yLjgtMC4zLTQuNy0xLTYKCQkJYy0wLjUtMS4xLTEuMy0xLjktMi44LTIuOWwtMC4xLTAuMWMtMC4zLTAuMi0wLjctMC40LTEuMS0wLjdsLTAuNS0wLjNsLTEuNi0wLjlMMTMwLjcsNDYuNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K",wrapper:{address:hF.wrapped.address,api:iF.WETH},slippage:!1};var fF=new QQ(Object.assign(dF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(hF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(hF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(hF,dF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const pF=L.polygon,mF={blockchain:"polygon",name:"wmatic",alternativeNames:[],label:"Wrapped MATIC",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NS40IDQ1LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM4MjQ3RTU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzEuOSwxNi42Yy0wLjctMC40LTEuNi0wLjQtMi4yLDBsLTUuMywzLjFsLTMuNSwybC01LjEsMy4xYy0wLjcsMC40LTEuNiwwLjQtMi4yLDBsLTQtMi40CgljLTAuNi0wLjQtMS4xLTEuMS0xLjEtMnYtNC42YzAtMC45LDAuNS0xLjYsMS4xLTJsNC0yLjNjMC43LTAuNCwxLjUtMC40LDIuMiwwbDQsMi40YzAuNywwLjQsMS4xLDEuMSwxLjEsMnYzLjFsMy41LTIuMXYtMy4yCgljMC0wLjktMC40LTEuNi0xLjEtMmwtNy41LTQuNGMtMC43LTAuNC0xLjUtMC40LTIuMiwwTDYsMTEuN2MtMC43LDAuNC0xLjEsMS4xLTEuMSwxLjh2OC43YzAsMC45LDAuNCwxLjYsMS4xLDJsNy42LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw1LjEtMi45bDMuNS0yLjFsNS4xLTIuOWMwLjctMC40LDEuNi0wLjQsMi4yLDBsNCwyLjNjMC43LDAuNCwxLjEsMS4xLDEuMSwydjQuNmMwLDAuOS0wLjQsMS42LTEuMSwyCglsLTMuOSwyLjNjLTAuNywwLjQtMS41LDAuNC0yLjIsMGwtNC0yLjNjLTAuNy0wLjQtMS4xLTEuMS0xLjEtMnYtMi45TDIxLDI4Ljd2My4xYzAsMC45LDAuNCwxLjYsMS4xLDJsNy41LDQuNAoJYzAuNywwLjQsMS41LDAuNCwyLjIsMGw3LjUtNC40YzAuNy0wLjQsMS4xLTEuMSwxLjEtMlYyM2MwLTAuOS0wLjQtMS42LTEuMS0yQzM5LjIsMjEsMzEuOSwxNi42LDMxLjksMTYuNnoiLz4KPC9zdmc+Cg==",wrapper:{address:pF.wrapped.address,api:iF.WETH},slippage:!1};var gF=new QQ(Object.assign(mF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(pF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(pF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(pF,mF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}));const yF=L.velas,vF={blockchain:"velas",name:"wvlx",alternativeNames:[],label:"Wrapped Velas",logo:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0iTGF5ZXJfMSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGltYWdlLXJlbmRlcmluZz0ib3B0aW1pemVRdWFsaXR5IgoJIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDUuNCA0NS40IgoJIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ1LjQgNDUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMwMDM3QzE7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjguOCwyMi44bC02LjEsMTAuNmwtNi4xLTEwLjdMMjguOCwyMi44TDI4LjgsMjIuOHogTTM0LjksMTkuMkgxMC41bDEyLjIsMjEuNEwzNC45LDE5LjJ6IE02LjUsMTIuMWwyLDMuNgoJaDI4LjNsMi4xLTMuNkg2LjV6Ii8+Cjwvc3ZnPgo=",wrapper:{address:yF.wrapped.address,api:iF.WETH},slippage:!1};let bF={ethereum:[tF,lF],bsc:[HW,sF],polygon:[VW,gF],solana:[_W],fantom:[XW,fF],velas:[rF,new QQ(Object.assign(vF,{findPath:({tokenIn:t,tokenOut:e})=>iF.findPath(yF,{tokenIn:t,tokenOut:e}),pathExists:t=>iF.pathExists(yF,t),getAmounts:iF.getAmounts,getTransaction:({path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})=>iF.getTransaction(yF,vF,{path:t,amountIn:e,amountInMax:n,amountOut:r,amountOutMin:i,amountInInput:o,amountOutInput:a,amountInMaxInput:s,amountOutMinInput:u,fromAddress:c})}))]},wF=({blockchain:t,tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})=>Promise.all(bF[t].map((t=>t.route({tokenIn:e,tokenOut:n,amountIn:r,amountOut:i,amountInMax:o,amountOutMin:a,amountOutMax:s,amountInMin:u})))).then((t=>t.filter(Boolean)));var MF=kx.createContext(),kF=kx.createContext(),LF=function(t){var e=Ex(t).sort((function(t,e){if("0"==t.fromBalance||"0"==t.fromAmount)return-1;if("0"==e.fromBalance||"0"==e.fromAmount)return 1;var n=bt.from(t.fromBalance).div(bt.from(t.fromAmount)),r=bt.from(e.fromBalance).div(bt.from(e.fromAmount));return n.lt(r)?-1:r.lt(n)?1:0}));return e[e.length-1]};function AF(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function xF(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?AF(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):AF(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var EF=function(t){var e=function(t){return!t.every((function(t){return void 0!==t.amount||void 0!==t.fromAmount}))},r=kx.useContext(KB),i=r.amount;r.toAmount;var o,a=r.recover,s=QA(kx.useState(null==a&&e(t.accept)),2),u=s[0],c=s[1],l=kx.useContext(sR).account,h=kx.useContext(kF),d=h.conversionRate,f=h.fixedCurrencyConversionRate,p=kx.useContext(xB).setError,m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.fix:null),1)[0],b=QA(kx.useState("object"==n(i)&&i.fix&&i.currency?i.currency:null),1)[0];u&&(o="object"==n(i)&&i.start&&i.start?i.start:"object"==n(i)&&i.fix?i.fix:1);var w=QA(kx.useState(o),2),M=w[0],k=w[1],A=QA(kx.useState(),2),x=A[0],E=A[1],N=QA(kx.useState(),2),S=N[0],I=N[1];kx.useEffect((function(){a||c(e(t.accept))}),[t.accept,a]);var T=kx.useCallback(pR.debounce((function(e){e.account,function(e){var n=e.amount,r=e.conversionRate,o=e.fixedCurrencyConversionRate;return new Promise((function(e,a){i&&i.token?e(t.accept.map((function(){return n}))):Promise.all(t.accept.map((function(t){return v?L[t.blockchain].stables.usd[0]==t.token?1/o*v:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/o*v,tokenOut:t.token,fromAddress:l,toAddress:l}):L[t.blockchain].stables.usd[0]==t.token?1/r*n:wF({blockchain:t.blockchain,tokenIn:L[t.blockchain].stables.usd[0],amountIn:1/r*n,tokenOut:t.token,fromAddress:l,toAddress:l})}))).then((function(n){Promise.all(n.map((function(e,n){return"number"==typeof e?e:null==e[0]?void 0:YR.readable({blockchain:t.accept[n].blockchain,amount:e[0].amountOut,address:e[0].tokenOut})}))).then(e).catch(p)})).catch(p)}))}({amount:e.amount,conversionRate:e.conversionRate,fixedCurrencyConversionRate:e.fixedCurrencyConversionRate}).then((function(e){y(t.accept.map((function(t,n){if(null!=e[n])return xF(xF({},t),{},{amount:lR(e[n])})})).filter((function(t){return!!t})))})).catch(p)}),500),[]);return kx.useEffect((function(){a||u&&l&&d&&(!v||f)&&T({account:l,amount:M,conversionRate:d,fixedCurrencyConversionRate:f})}),[u,l,d,v,f,M,a]),kx.useEffect((function(){u&&x?x.fromToken.readable(x.fromBalance).then((function(t){if(i&&i.token)wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:x.toToken.address,amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]?YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:x.toToken.address}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e-1):lR(e-1))})).catch(p):YR.readable({amount:x.fromBalance,blockchain:x.blockchain,address:x.fromToken.address}).then(I)})).catch(p);else if(x.fromToken.address==L[x.blockchain].stables.usd[0]){var e=parseFloat(new NQ(t).mul(d).toString());I(e>10?Math.round(e-1):e-1)}else wF({blockchain:x.blockchain,tokenIn:x.fromToken.address,tokenOut:L[x.blockchain].stables.usd[0],amountIn:parseFloat(t),fromAddress:l,toAddress:l}).then((function(t){null!=t[0]&&YR.readable({amount:t[0].amountOut,blockchain:x.blockchain,address:L[x.blockchain].stables.usd[0]}).then((function(t){var e=parseFloat(new NQ(t).div(1.01).mul(d).toString());I(e>10?Math.round(e):lR(e))})).catch(p)})).catch(p)})).catch(p):I(100)}),[l,x]),kx.createElement(MF.Provider,{value:{amountsMissing:u,fixedAmount:v,fixedCurrency:b,acceptWithAmount:g,amount:M,setAmount:k,setMaxRoute:E,maxAmount:S}},t.children)},NF=function(t){kx.useContext(xB).setError;var e=kx.useContext(KB),r=e.amount,i=e.currency,o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),c=u[0],l=u[1];return kx.useEffect((function(){"object"==n(r)&&r.currency&&tR.fromUSD({amount:1,code:r.currency}).then((function(t){return l(t.amount)})),tR.fromUSD({amount:1,code:i}).then((function(t){return s(t.amount)})).catch(s(1))}),[]),kx.createElement(kF.Provider,{value:{conversionRate:a,fixedCurrencyConversionRate:c}},t.children)},SF=kx.createContext(),IF=kx.createContext();const TF=({assets:t,blockchain:e,options:n})=>n.only?t.filter((t=>(n.only[e]||[]).find((e=>e.toLowerCase()==t.address.toLowerCase())))):n.exclude?t.filter((t=>(n.exclude[e]||[]).find((e=>e.toLowerCase()!=t.address.toLowerCase())))):t;var jF=async t=>{void 0===t&&(t={accounts:{}});let e=Promise.all(Object.keys(t.accounts).map((e=>new Promise(((n,r)=>{const i=t.accounts[e],o=new AbortController;setTimeout((()=>o.abort()),1e4),fetch(`https://public.depay.com/accounts/${e}/${i}/assets`,{signal:o.signal}).catch((t=>{console.log(t),n([])})).then((t=>{if(t&&t.ok)return t.json();n([])})).then((async r=>{if(r&&r.length)return await(async({address:t,options:e,assets:n,blockchain:r})=>{if(e.only&&e.only[r]&&!e.only[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(e.exclude&&e.exclude[r]&&e.exclude[r].find((t=>t.toLowerCase()==L[r].currency.address.toLowerCase())))return n;if(!n.find((t=>t.address.toLowerCase()==L[r].currency.address.toLowerCase()))){let e=await CL({blockchain:r,address:t,method:"balance"},{cache:3e4});n=[{name:L[r].currency.name,symbol:L[r].currency.symbol,address:L[r].currency.address,type:"NATIVE",blockchain:r,balance:e.toString()},...n]}return n})({address:i,options:t,assets:TF({assets:r,blockchain:e,options:t}).map((t=>Object.assign(t,{blockchain:e}))),blockchain:e});n([])})).then(n).catch((t=>{console.log(t),n([])}))}))))).then((t=>t.flat()));return e};const CF=(t,e)=>Object.assign({},{address:t.address,symbol:t.symbol,name:t.name,decimals:t.decimals,type:t.type,blockchain:t.blockchain},{balance:e.toString()}),DF=({assets:t,asset:e})=>!!t.find((t=>t.blockchain==e.blockchain&&t.address.toLowerCase()==e.address.toLowerCase())),OF=({options:t,address:e,blockchain:n})=>!(!(t&&t.only&&t.only[n])||t.only[n].find((t=>t.toLowerCase()==e.toLowerCase())))||!!(t&&t.exclude&&t.exclude[n]&&t.exclude[n].find((t=>t.toLowerCase()==e.toLowerCase())));const _F=t=>(t.params.path=t.params.path.filter(((e,n,r)=>(1!=n||e!=L[t.blockchain].wrapped.address||r[0]!=L[t.blockchain].currency.address)&&(n!=r.length-2||e!=L[t.blockchain].wrapped.address||r[r.length-1]!=L[t.blockchain].currency.address))),t);var zF={ethereum:{payment:{address:"0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9"},weth:{wrap:{address:"0xF4cc97D00dD0639c3e383D7CafB3d815616cbB2C"},unwrap:{address:"0xcA575c6C5305e8127F3D376bb22776eAD370De4a"}},uniswap_v2:{address:"0xe04b08Dfc6CaA0F4Ec523a3Ae283Ece7efE00019",prepareTransaction:_F},paymentWithEvent:{address:"0xD8fBC10787b019fE4059Eb5AA5fB11a5862229EF"},paymentFee:{address:"0x874Cb669D7BFff79d4A6A30F4ea52c5e413BD6A7"},paymentFeeWithEvent:{address:"0x981cAd45c768d56136FDBb2C5E115F33D971bE6C"}},bsc:{payment:{address:"0x8B127D169D232D5F3ebE1C3D06CE343FD7C1AA11"},wbnb:{wrap:{address:"0xf361888459a4C863a8498ee344C2688C9196Be51"},unwrap:{address:"0x65693291C20271f5e5030261766D1D6b3AC9d44E"}},pancakeswap:{address:"0xAC3Ec4e420DD78bA86d932501E1f3867dbbfb77B",prepareTransaction:_F},paymentWithEvent:{address:"0x1869E236c03eE67B9FfEd3aCA139f4AeBA79Dc21"},paymentFee:{address:"0xae33f10AD57A38113f74FCdc1ffA6B1eC47B94E3"},paymentFeeWithEvent:{address:"0xF1a05D715AaBFA380543719F7bA8754d0331c5A9"}},polygon:{payment:{address:"0x78C0F1c712A9AA2004C1F401A7307d8bCB62abBd"},wmatic:{wrap:{address:"0x8B62F604499c1204573664447D445690E0A0011b"},unwrap:{address:"0x2fd0a07a4F73285d0eBa8176426BF9B8c0121206"}},quickswap:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",prepareTransaction:_F},paymentWithEvent:{address:"0xfAD2F276D464EAdB71435127BA2c2e9dDefb93a4"},paymentFee:{address:"0xd625c7087E940b2A91ed8bD8db45cB24D3526B56"},paymentFeeWithEvent:{address:"0xBC56ED8E32b64a33f64Ed7A5fF9EACdFC117e07a"}}},PF={...zF},BF={ethereum:{address:"0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},bsc:{address:"0x0Dfb7137bC64b63F7a0de7Cb9CDa178702666220",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},polygon:{address:"0x2CA727BC33915823e3D05fe043d310B8c5b2dC5b",api:[{inputs:[{internalType:"address",name:"_configuration",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"configuration",outputs:[{internalType:"contract DePayRouterV1Configuration",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pluginAddress",type:"address"}],name:"isApproved",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"path",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"address[]",name:"addresses",type:"address[]"},{internalType:"address[]",name:"plugins",type:"address[]"},{internalType:"string[]",name:"data",type:"string[]"}],name:"route",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]}},RF={solana:{address:"DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7",ammProgram:"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",alt:"EYGgx5fYCZtLN2pvnR4Bhn5KpMffKwyHCms4VhjSvF2K",api:{createPaymentsAccount:{anchorDiscriminator:new Hk("8445995362644372894"),layout:eL([oL("anchorDiscriminator")])},createEscrowSolAccount:{anchorDiscriminator:new Hk("2482112285991870004"),layout:eL([oL("anchorDiscriminator")])},createEscrowTokenAccount:{anchorDiscriminator:new Hk("16156440424245087"),layout:eL([oL("anchorDiscriminator")])},routeSol:{anchorDiscriminator:new Hk("6497164560834983274"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeToken:{anchorDiscriminator:new Hk("13483873682232752277"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwap:{anchorDiscriminator:new Hk("9797248061404332986"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaSwapSolOut:{anchorDiscriminator:new Hk("13662217913752830165"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwap:{anchorDiscriminator:new Hk("15695720599845325801"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])},routeOrcaTwoHopSwapSolOut:{anchorDiscriminator:new Hk("15074061855608091530"),layout:eL([oL("anchorDiscriminator"),oL("nonce"),oL("amountIn"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo"),oL("paymentAmount"),oL("feeAmount"),qk("deadline")])}}}},UF={...BF,...RF};var QF=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},WF="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ke?ke:"undefined"!=typeof self?self:{},FF="object"==typeof WF&&WF&&WF.Object===Object&&WF,YF="object"==typeof self&&self&&self.Object===Object&&self,HF=FF||YF||Function("return this")(),GF=function(){return HF.Date.now()},ZF=/\s/;var VF=function(t){for(var e=t.length;e--&&ZF.test(t.charAt(e)););return e},JF=/^\s+/;var qF=function(t){return t?t.slice(0,VF(t)+1).replace(JF,""):t},XF=HF.Symbol,KF=Object.prototype,$F=KF.hasOwnProperty,tY=KF.toString,eY=XF?XF.toStringTag:void 0;var nY=function(t){var e=$F.call(t,eY),n=t[eY];try{t[eY]=void 0;var r=!0}catch(t){}var i=tY.call(t);return r&&(e?t[eY]=n:delete t[eY]),i},rY=Object.prototype.toString;var iY=function(t){return rY.call(t)},oY=XF?XF.toStringTag:void 0;var aY=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":oY&&oY in Object(t)?nY(t):iY(t)};var sY=function(t){return null!=t&&"object"==typeof t};var uY=function(t){return"symbol"==typeof t||sY(t)&&"[object Symbol]"==aY(t)},cY=/^[-+]0x[0-9a-f]+$/i,lY=/^0b[01]+$/i,hY=/^0o[0-7]+$/i,dY=parseInt;var fY=function(t){if("number"==typeof t)return t;if(uY(t))return NaN;if(QF(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=QF(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=qF(t);var n=lY.test(t);return n||hY.test(t)?dY(t.slice(2),n?2:8):cY.test(t)?NaN:+t},pY=Math.max,mY=Math.min;var gY=function(t,e,n){var r,i,o,a,s,u,c=0,l=!1,h=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=r,o=i;return r=i=void 0,c=e,a=t.apply(o,n)}function p(t){var n=t-u;return void 0===u||n>=e||n<0||h&&t-c>=o}function m(){var t=GF();if(p(t))return g(t);s=setTimeout(m,function(t){var n=e-(t-u);return h?mY(n,o-(t-c)):n}(t))}function g(t){return s=void 0,d&&r?f(t):(r=i=void 0,a)}function y(){var t=GF(),n=p(t);if(r=arguments,i=this,u=t,n){if(void 0===s)return function(t){return c=t,s=setTimeout(m,e),l?f(t):a}(u);if(h)return clearTimeout(s),s=setTimeout(m,e),f(u)}return void 0===s&&(s=setTimeout(m,e)),a}return e=fY(e)||0,QF(n)&&(l=!!n.leading,o=(h="maxWait"in n)?pY(fY(n.maxWait)||0,e):o,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0},y.flush=function(){return void 0===s?a:g(GF())},y};var yY=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return QF(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),gY(t,e,{leading:r,maxWait:e,trailing:i})};let vY,bY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?t.toAddress:t.toToken.address:BF[t.blockchain].address,wY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:YR[t.blockchain].DEFAULT:BF[t.blockchain].api,MY=({paymentRoute:t})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:"transfer":"route",kY=({paymentRoute:t,exchangeRoute:e,event:n})=>t.directTransfer&&!t.fee?t.toToken.address==L[t.blockchain].currency.address?void 0:[t.toAddress,t.toAmount]:{path:LY({paymentRoute:t,exchangeRoute:e}),amounts:AY({paymentRoute:t,exchangeRoute:e}),addresses:xY({paymentRoute:t}),plugins:EY({paymentRoute:t,exchangeRoute:e,event:n}),data:[]},LY=({paymentRoute:t,exchangeRoute:e})=>e?e.path:[t.toToken.address],AY=({paymentRoute:t,exchangeRoute:e})=>{let n;n=e?e&&e.exchange.wrapper?[t.fromAmount,t.toAmount]:[t.fromAmount,t.toAmount,Math.round(Date.now()/1e3)+1800]:[t.fromAmount,t.toAmount],t.fee&&(n[4]=t.feeAmount);for(var r=0;r<n.length;r++)null==n[r]&&(n[r]="0");return n},xY=({paymentRoute:t})=>t.fee?[t.fromAddress,t.fee.receiver,t.toAddress]:[t.fromAddress,t.toAddress],EY=({paymentRoute:t,exchangeRoute:e,event:n})=>{let r=[];return e&&(t.exchangePlugin=zF[t.blockchain][e.exchange.name],t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].currency.address?r.push(t.exchangePlugin.wrap.address):t.exchangePlugin.wrap&&t.fromToken.address==L[t.blockchain].wrapped.address?r.push(t.exchangePlugin.unwrap.address):r.push(t.exchangePlugin.address)),("ifSwapped"!=n||t.directTransfer)&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address)?r.push(zF[t.blockchain].payment.address):r.push(zF[t.blockchain].paymentWithEvent.address),t.fee&&("ifRoutedAndNative"!=n||t.directTransfer||t.toToken.address!=L[t.blockchain].currency.address?r.push(zF[t.blockchain].paymentFee.address):r.push(zF[t.blockchain].paymentFeeWithEvent.address)),r},NY=({paymentRoute:t})=>t.fromToken.address==L[t.blockchain].currency.address?t.directTransfer?t.toAmount.toString():t.fromAmount.toString():bt.from("0").toString(),SY=()=>vY||(vY="object"==typeof ke?ke:window,vY);const IY=()=>(void 0===SY()._Web3ClientConfiguration&&(SY()._Web3ClientConfiguration={}),SY()._Web3ClientConfiguration);class TY extends Dc{constructor(t,e,n,r){super(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[]}detectNetwork(){return Promise.resolve(L.findByName(this._network).id)}requestChunk(t,e){const n=t.map((t=>t.request));return Pu(e,JSON.stringify(n)).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r.result)}))})).catch((e=>{if(e&&"SERVER_ERROR"==e.code){const e=this._endpoints.indexOf(this._endpoint)+1;this._failover(),this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this.requestChunk(t,this._endpoint)}else t.forEach((t=>{t.reject(e)}))}))}send(t,e){const n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t,this._endpoint))))}),IY().batchInterval||10)),i}}const jY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),CY=(t,e)=>{void 0===jY()[t]&&(jY()[t]=[]);const n=jY()[t].indexOf(e);n>-1&&jY()[t].splice(n,1),jY()[t].unshift(e)},DY=async(t,e,n=!0)=>{let r;jY()[t]=e.map(((r,i)=>new TY(r,t,e,(()=>{1===jY()[t].length?DY(t,e,n):jY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=jY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"net_version",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=jY()[t][o]}CY(t,r)};var OY=async t=>{let e=jY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},_Y=async t=>{let e=jY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await DY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};class zY extends kM{constructor(t,e,n,r){super(t),this._provider=new kM(t),this._network=e,this._endpoint=t,this._endpoints=n,this._failover=r,this._pendingBatch=[],this._rpcRequest=this._rpcRequestReplacement.bind(this)}requestChunk(t){const e=t.map((t=>t.request)),n=e=>{if(e&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>e.toString().match(t)))){const e=this._endpoints.indexOf(this._endpoint)+1;this._endpoint=e>=this._endpoints.length?this._endpoints[0]:this._endpoints[e],this._provider=new kM(this._endpoint),this.requestChunk(t)}else t.forEach((t=>{t.reject(e)}))};try{return this._provider._rpcBatchRequest(e).then((e=>{t.forEach(((t,n)=>{const r=e[n];if(r.error){const e=new Error(r.error.message);e.code=r.error.code,e.data=r.error.data,t.reject(e)}else t.resolve(r)}))})).catch(n)}catch(t){return n(t)}}_rpcRequestReplacement(t,e){const n={methodName:t,args:e};null==this._pendingBatch&&(this._pendingBatch=[]);const r={request:n,resolve:null,reject:null},i=new Promise(((t,e)=>{r.resolve=t,r.reject=e}));return this._pendingBatch.push(r),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout((()=>{const t=this._pendingBatch;this._pendingBatch=[],this._pendingBatchAggregator=null;const e=[];for(let n=0;n<Math.ceil(t.length/99);n++)e[n]=t.slice(99*n,99*(n+1));e.forEach((t=>(t.map((t=>t.request)),this.requestChunk(t))))}),IY().batchInterval||10)),i}}const PY=()=>(null==SY()._Web3ClientProviders&&(SY()._Web3ClientProviders={}),SY()._Web3ClientProviders),BY=(t,e)=>{void 0===PY()[t]&&(PY()[t]=[]);const n=PY()[t].indexOf(e);n>-1&&PY()[t].splice(n,1),PY()[t].unshift(e)},RY=async(t,e,n=!0)=>{let r;PY()[t]=e.map(((r,i)=>new zY(r,t,e,(()=>{1===PY()[t].length?RY(t,e,n):PY()[t].splice(i,1)}))));let i=SY();if(null==i.fetch||void 0!==Ze&&Ze.env&&"test"==Ze.env.NODE_ENV||void 0!==i.cy||!1===n)r=PY()[t][0];else{let n=await Promise.all(e.map((t=>new Promise((async e=>{let n=(new Date).getTime();setTimeout((()=>e(900)),900);if(!(await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({method:"getIdentity",id:1,jsonrpc:"2.0"})})).ok)return e(999);let r=(new Date).getTime();e(r-n)})))));const i=Math.min(...n),o=n.indexOf(i);r=PY()[t][o]}BY(t,r)};var UY=async t=>{let e=PY();if(e&&e[t])return e[t][0];let n=SY();return n._Web3ClientGetProviderPromise&&n._Web3ClientGetProviderPromise[t]||(n._Web3ClientGetProviderPromise||(n._Web3ClientGetProviderPromise={}),n._Web3ClientGetProviderPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t][0])}))),await n._Web3ClientGetProviderPromise[t]},QY=async t=>{let e=PY();if(e&&e[t])return e[t];let n=SY();return n._Web3ClientGetProvidersPromise&&n._Web3ClientGetProvidersPromise[t]||(n._Web3ClientGetProvidersPromise||(n._Web3ClientGetProvidersPromise={}),n._Web3ClientGetProvidersPromise[t]=new Promise((async e=>{await RY(t,L[t].endpoints),e(SY()._Web3ClientProviders[t])}))),await n._Web3ClientGetProvidersPromise[t]};let WY=["ethereum","bsc","polygon","solana","fantom","velas"];WY.evm=["ethereum","bsc","polygon","fantom","velas"],WY.solana=["solana"];let FY=()=>(null==SY()._Web3ClientCacheStore&&(SY()._Web3ClientCacheStore={}),SY()._Web3ClientCacheStore),YY=()=>(null==SY()._Web3ClientPromiseStore&&(SY()._Web3ClientPromiseStore={}),SY()._Web3ClientPromiseStore),HY=function({key:t}){YY()[t]=void 0},GY=function({call:t,key:e,expires:n=0}){return new Promise(((r,i)=>{let o,a=function({key:t}){return YY()[t]}({key:e=JSON.stringify(e)});if(a)return a.then(r).catch(i);(function({key:t,promise:e}){return YY()[t]=e,e})({key:e,promise:new Promise(((a,s)=>0===n?t().then((t=>{r(t),a(t)})).catch((t=>{i(t),s(t)})):(o=function({key:t,expires:e}){let n=FY()[t];if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([n,"optionalAccess",t=>t.expiresAt])>Date.now())return n.value}({key:e,expires:n}),o?(r(o),a(o),o):void t().then((t=>{t&&function({key:t,value:e,expires:n}){FY()[t]={expiresAt:Date.now()+n,value:e}}({key:e,value:t,expires:n}),r(t),a(t)})).catch((t=>{i(t),s(t)})))))}).then((()=>{HY({key:e})})).catch((()=>{HY({key:e})}))}))};const ZY=async t=>{if(WY.evm.includes(t))return await OY(t);if(WY.solana.includes(t))return await UY(t);throw"Unknown blockchain: "+t};const VY=({address:t,api:e,method:n,params:r,provider:i,block:o})=>{let a=new wu(t,e,i),s=(({contract:t,method:e,params:n})=>t.interface.fragments.find((t=>t.name==e)).inputs.map(((t,e)=>Array.isArray(n)?n[e]:n[t.name])))({contract:a,method:n,params:r});return a[n](...s,{blockTag:o})},JY=({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a})=>n?VY({address:e,api:n,method:r,params:i,provider:a,block:o}):"latestBlockNumber"===r?a.getBlockNumber():"balance"===r?(({address:t,provider:e})=>e.getBalance(t))({address:e,provider:a}):"transactionCount"===r?(({address:t,provider:e})=>e.getTransactionCount(t))({address:e,provider:a}):void 0;const qY=async({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:a,providers:s})=>{try{if(null==r||"getAccountInfo"===r)return null==n&&(n=Gk),await(async({address:t,api:e,method:n,params:r,provider:i,block:o})=>{const a=await i.getAccountInfo(new Av(t));if(a&&a.data)return e.decode(a.data)})({address:e,api:n,method:r,params:i,provider:a,block:o});if("getProgramAccounts"===r)return await a.getProgramAccounts(new Av(e),i).then((t=>n?t.map((t=>(t.data=n.decode(t.account.data),t))):t));if("getTokenAccountBalance"===r)return await a.getTokenAccountBalance(new Av(e));if("latestBlockNumber"===r)return await a.getSlot();if("balance"===r)return await(({address:t,provider:e})=>e.getBalance(new Av(t)))({address:e,provider:a})}catch(u){if(s&&u&&["Failed to fetch","limit reached","504","503","502","500","429","426","422","413","409","408","406","405","404","403","402","401","400"].some((t=>u.toString().match(t)))){let u=s[s.indexOf(a)+1]||s[0];return qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:u,providers:s})}throw u}};const XY=async function(t,e){const{blockchain:n,address:r,method:i}=(t=>{if("object"==typeof t)return t;let e=t.match(/(?<blockchain>\w+):\/\/(?<part1>[\w\d]+)(\/(?<part2>[\w\d]+)*)?/);return null==e.groups.part2?e.groups.part1.match(/\d/)?{blockchain:e.groups.blockchain,address:e.groups.part1}:{blockchain:e.groups.blockchain,method:e.groups.part1}:{blockchain:e.groups.blockchain,address:e.groups.part1,method:e.groups.part2}})(t),{api:o,params:a,cache:s,block:u,timeout:c,strategy:l,cacheKey:h}=("object"==typeof t?t:e)||{};return await GY({expires:s||0,key:h||[n,r,i,a,u],call:async()=>{if(WY.evm.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{if(s=s||IY().strategy||"failover",a=a||IY().timeout||void 0,"fastest"===s)return Promise.race((await _Y(t)).map((s=>{const u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});if(a){const t=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a)));return Promise.race([u,t])}return u})));{const s=await OY(t),u=JY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([u,a])):u}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});if(WY.solana.includes(n))return await(async({blockchain:t,address:e,api:n,method:r,params:i,block:o,timeout:a,strategy:s})=>{s=s||IY().strategy||"failover",a=a||IY().timeout||void 0;const u=await QY(t);if("fastest"===s)return Promise.race(u.map((s=>{const u=new Promise((a=>{qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s}).then(a)})),c=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a||1e4)));return Promise.race([u,c])})));{const s=await UY(t),c=qY({blockchain:t,address:e,api:n,method:r,params:i,block:o,provider:s,providers:u});return a?(a=new Promise(((t,e)=>setTimeout((()=>{e(new Error("Web3ClientTimeout"))}),a))),Promise.race([c,a])):c}})({blockchain:n,address:r,api:o,method:i,params:a,block:u,strategy:l,timeout:c});throw"Unknown blockchain: "+n}})};let KY;const $Y=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=e.fromToken.address===L.solana.currency.address?new Hk(e.fromAmount):new Hk("0"),r=await ZY("solana"),i=new Hk(await r.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),o=e.fromAddress,a=n.add(i);return[bb.createAccount({fromPubkey:new Av(o),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:a}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:o})]},tH=async({wSolEscrowAccountKeypair:t,paymentRoute:e})=>{if(!t)return;const n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(YR.solana.TOKEN_LAYOUT.span)),i=await fH();return[bb.createAccount({fromPubkey:new Av(e.fromAddress),newAccountPubkey:t.publicKey,programId:new Av(YR.solana.TOKEN_PROGRAM),space:YR.solana.TOKEN_LAYOUT.span,lamports:r}),YR.solana.initializeAccountInstruction({account:t.publicKey.toString(),token:L.solana.wrapped.address,owner:i.toString()})]},eH=({paymentRoute:t})=>{let e=[...t.exchangeRoutes[0].path];return e.indexOf(L.solana.currency.address)>-1&&e.splice(e.indexOf(L.solana.currency.address),1),e.indexOf(t.fromToken.address)>-1&&e.splice(e.indexOf(t.fromToken.address),1),e.indexOf(t.toToken.address)>-1&&e.splice(e.indexOf(t.toToken.address),1),2===e.length&&e[0]===L.solana.wrapped.address?e[1]:e[0]},nH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:eH({paymentRoute:t}),owner:t.fromAddress}),rH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||yH(t.exchangeRoutes[0].path).length<=2)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:await nH({paymentRoute:t}),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});return e?void 0:YR.solana.createAssociatedTokenAccountInstruction({token:eH({paymentRoute:t}),owner:t.fromAddress,payer:t.fromAddress})},iH=async({wSolSenderAccountKeypair:t,paymentRoute:e})=>{if(t)return YR.solana.closeAccountInstruction({account:t.publicKey.toString(),owner:e.fromAddress})},oH=async({from:t})=>{let e=[Yk.from("payments"),new Av(t).toBuffer()],[n]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},aH=async({from:t})=>{let e=(await oH({from:t})).toString();return await XY({blockchain:"solana",address:e,api:eL([oL("anchorDiscriminator"),oL("nonce")]),cache:1e3})},sH=async({from:t})=>{if(await aH({from:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t}),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createPaymentsAccount.layout.span);return RF.solana.api.createPaymentsAccount.layout.encode({anchorDiscriminator:RF.solana.api.createPaymentsAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},uH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.fromToken.address,owner:t.fromAddress}),cH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.toAddress}),lH=async({paymentRoute:t})=>{if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.toAddress}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.toAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.toAddress),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.toAddress}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.toAddress,payer:t.fromAddress})}},hH=async({paymentRoute:t})=>await YR.solana.findProgramAddress({token:t.toToken.address,owner:t.fee.receiver}),dH=async({paymentRoute:t})=>{if(t.fee){if(t.toToken.address===L.solana.currency.address){const e=await XY({blockchain:"solana",method:"balance",address:t.fee.receiver}),n=await ZY("solana"),r=new Hk(await n.getMinimumBalanceForRentExemption(0)),i=new Hk(t.feeAmount);if(new Hk(e).add(i).gt(r))return;return bb.transfer({fromPubkey:new Av(t.fromAddress),toPubkey:new Av(t.fee.receiver),lamports:r.sub(i)})}{const e=t.toToken.address,n=await(async({paymentRoute:t})=>await YR.solana.findAccount({token:t.toToken.address,owner:t.fee.receiver}))({paymentRoute:t});if(n)return;return YR.solana.createAssociatedTokenAccountInstruction({token:e,owner:t.fee.receiver,payer:t.fromAddress})}}},fH=async()=>{let t=[Yk.from("escrow_sol")],[e,n]=await Av.findProgramAddress(t,new Av(RF.solana.address));return e},pH=async({paymentRoute:t})=>{let e=[Yk.from("escrow"),new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address).toBuffer()],[n,r]=await Av.findProgramAddress(e,new Av(RF.solana.address));return n},mH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address===L.solana.currency.address)return;const e=await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await pH({paymentRoute:t})).toString(),api:YR.solana.TOKEN_LAYOUT,cache:1e3}))({paymentRoute:t});if(e)return;const n=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:new Av(t.toToken.address===L.solana.currency.address?L.solana.wrapped.address:t.toToken.address),isSigner:!1,isWritable:!0},{pubkey:await pH({paymentRoute:t}),isSigner:!1,isWritable:!0}],r=Yk.alloc(RF.solana.api.createEscrowTokenAccount.layout.span);return RF.solana.api.createEscrowTokenAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowTokenAccount.anchorDiscriminator},r),new Zv({keys:n,programId:new Av(RF.solana.address),data:r})},gH=async({paymentRoute:t})=>{if(0===t.exchangeRoutes.length||t.toToken.address!=L.solana.currency.address)return;if(await(async({paymentRoute:t})=>await XY({blockchain:"solana",address:(await fH()).toString(),api:eL([oL("amount"),Kk("owner")]),cache:1e3}))({paymentRoute:t}))return;const e=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0}],n=Yk.alloc(RF.solana.api.createEscrowSolAccount.layout.span);return RF.solana.api.createEscrowSolAccount.layout.encode({anchorDiscriminator:RF.solana.api.createEscrowSolAccount.anchorDiscriminator},n),new Zv({keys:e,programId:new Av(RF.solana.address),data:n})},yH=t=>t.filter((t=>t!==L.solana.currency.address)),vH=()=>(KY=Math.ceil((new Date).getTime()/1e3)+600,KY),bH=async({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n})=>{const r=await aH({from:t.fromAddress}),i=(({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return"routeSol";if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address!==L.solana.currency.address&&0===t.exchangeRoutes.length)return"routeToken";if(t.exchangeRoutes.length>0&&2===yH(t.exchangeRoutes[0].path).length)return t.toToken.address===L.solana.currency.address?"routeOrcaSwapSolOut":"routeOrcaSwap";if(t.exchangeRoutes.length>0&&yH(t.exchangeRoutes[0].path).length>2)return t.toToken.address===L.solana.currency.address?"routeOrcaTwoHopSwapSolOut":"routeOrcaTwoHopSwap";throw"Payment method does not exist!"})({paymentRoute:t});switch(i){case"routeSol":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=new Av(t.toAddress),r=t.fee?new Av(t.fee.receiver):n,i=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0}],o=Yk.alloc(RF.solana.api.routeSol.layout.span);return RF.solana.api.routeSol.layout.encode({anchorDiscriminator:RF.solana.api.routeSol.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},o),new Zv({keys:i,programId:new Av(RF.solana.address),data:o})})({paymentRoute:t,paymentsAccountData:r});case"routeToken":return await(async({paymentRoute:t,paymentsAccountData:e})=>{const n=await uH({paymentRoute:t}),r=await cH({paymentRoute:t}),i=t.fee?await hH({paymentRoute:t}):r,o=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(n),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0}],a=Yk.alloc(RF.solana.api.routeToken.layout.span);return RF.solana.api.routeToken.layout.encode({anchorDiscriminator:RF.solana.api.routeToken.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},a),new Zv({keys:o,programId:new Av(RF.solana.address),data:a})})({paymentRoute:t,paymentsAccountData:r});case"routeOrcaSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=n?n.publicKey:await uH({paymentRoute:t}),i=await cH({paymentRoute:t}),o=t.fee?await hH({paymentRoute:t}):i,a=await pH({paymentRoute:t}),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(s.data),c=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},s.keys[2],s.keys[4],s.keys[6],s.keys[7],s.keys[8],s.keys[9],s.keys[10],{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:new Av(i),isSigner:!1,isWritable:!0},{pubkey:new Av(o),isSigner:!1,isWritable:!0}],l=Yk.alloc(RF.solana.api.routeOrcaSwap.layout.span);return RF.solana.api.routeOrcaSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:u.amount,sqrtPriceLimit:u.sqrtPriceLimit,amountSpecifiedIsInput:u.amountSpecifiedIsInput,aToB:u.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},l),new Zv({keys:c,programId:new Av(RF.solana.address),data:l})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=await uH({paymentRoute:t}),i=n.publicKey,o=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),nL("sqrtPriceLimit"),Zk("amountSpecifiedIsInput"),Zk("aToB")]).decode(o.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:new Av(r),isSigner:!1,isWritable:!0},o.keys[2],o.keys[4],o.keys[6],o.keys[7],o.keys[8],o.keys[9],o.keys[10],{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaSwapSolOut.layout.span);return RF.solana.api.routeOrcaSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,sqrtPriceLimit:a.sqrtPriceLimit,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToB:a.aToB,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n});case"routeOrcaTwoHopSwap":return await(async({paymentRoute:t,paymentsAccountData:e,wSolSenderAccountKeypair:n})=>{const r=new Av(await cH({paymentRoute:t})),i=t.fee?new Av(await hH({paymentRoute:t})):r,o=await pH({paymentRoute:t}),a=new Av(await nH({paymentRoute:t})),s=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),u=n?n.publicKey:new Av(await uH({paymentRoute:t})),c=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(s.data),l=[{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},s.keys[2],s.keys[3],{pubkey:u,isSigner:!1,isWritable:!0},s.keys[5],s.keys[7],{pubkey:a,isSigner:!1,isWritable:!0},s.keys[9],s.keys[11],s.keys[12],s.keys[13],s.keys[14],s.keys[15],s.keys[16],s.keys[17],s.keys[18],s.keys[19],{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0}],h=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwap.layout.span);return RF.solana.api.routeOrcaTwoHopSwap.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwap.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:c.amount,amountSpecifiedIsInput:c.amountSpecifiedIsInput,aToBOne:c.aToBOne,aToBTwo:c.aToBTwo,sqrtPriceLimitOne:c.sqrtPriceLimitOne,sqrtPriceLimitTwo:c.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},h),new Zv({keys:l,programId:new Av(RF.solana.address),data:h})})({paymentRoute:t,paymentsAccountData:r,wSolSenderAccountKeypair:e});case"routeOrcaTwoHopSwapSolOut":return await(async({paymentRoute:t,paymentsAccountData:e,wSolEscrowAccountKeypair:n})=>{const r=new Av(await nH({paymentRoute:t})),i=(await t.exchangeRoutes[0].getTransaction({from:t.fromAddress})).instructions.find((t=>t.programId.toString()===RF.solana.ammProgram)),o=new Av(await uH({paymentRoute:t})),a=eL([oL("anchorDiscriminator"),oL("amount"),oL("otherAmountThreshold"),Zk("amountSpecifiedIsInput"),Zk("aToBOne"),Zk("aToBTwo"),nL("sqrtPriceLimitOne"),nL("sqrtPriceLimitTwo")]).decode(i.data),s=[{pubkey:bb.programId,isSigner:!1,isWritable:!1},{pubkey:new Av(YR.solana.TOKEN_PROGRAM),isSigner:!1,isWritable:!1},{pubkey:new Av(RF.solana.ammProgram),isSigner:!1,isWritable:!1},{pubkey:new Av(t.fromAddress),isSigner:!0,isWritable:!0},{pubkey:await oH({from:t.fromAddress}),isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},i.keys[2],i.keys[3],i.keys[5],i.keys[7],{pubkey:r,isSigner:!1,isWritable:!0},i.keys[9],i.keys[11],i.keys[12],i.keys[13],i.keys[14],i.keys[15],i.keys[16],i.keys[17],i.keys[18],i.keys[19],{pubkey:n.publicKey,isSigner:!1,isWritable:!0},{pubkey:await fH(),isSigner:!1,isWritable:!0},{pubkey:new Av(t.toAddress),isSigner:!1,isWritable:!0},{pubkey:new Av(t.fee?t.fee.receiver:t.toAddress),isSigner:!1,isWritable:!0}],u=Yk.alloc(RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.span);return RF.solana.api.routeOrcaTwoHopSwapSolOut.layout.encode({anchorDiscriminator:RF.solana.api.routeOrcaTwoHopSwapSolOut.anchorDiscriminator,nonce:e?e.nonce:new Hk("0"),amountIn:a.amount,amountSpecifiedIsInput:a.amountSpecifiedIsInput,aToBOne:a.aToBOne,aToBTwo:a.aToBTwo,sqrtPriceLimitOne:a.sqrtPriceLimitOne,sqrtPriceLimitTwo:a.sqrtPriceLimitTwo,paymentAmount:new Hk(t.toAmount.toString()),feeAmount:new Hk((t.feeAmount||"0").toString()),deadline:new Hk(vH())},u),new Zv({keys:s,programId:new Av(RF.solana.address),data:u})})({paymentRoute:t,paymentsAccountData:r,wSolEscrowAccountKeypair:n})}},wH=async({paymentRoute:t})=>{const e=await(async({paymentRoute:t})=>{if(t.fromToken.address===L.solana.currency.address&&t.toToken.address!==L.solana.currency.address)return LM.generate()})({paymentRoute:t}),n=await(async({paymentRoute:t})=>{if(t.fromToken.address!==L.solana.currency.address&&t.toToken.address===L.solana.currency.address)return LM.generate()})({paymentRoute:t});let r=(await Promise.all([sH({from:t.fromAddress}),$Y({paymentRoute:t,wSolSenderAccountKeypair:e}),rH({paymentRoute:t}),lH({paymentRoute:t}),dH({paymentRoute:t}),gH({paymentRoute:t}),tH({paymentRoute:t,wSolEscrowAccountKeypair:n}),mH({paymentRoute:t}),bH({paymentRoute:t,wSolSenderAccountKeypair:e,wSolEscrowAccountKeypair:n}),iH({paymentRoute:t,wSolSenderAccountKeypair:e})])).filter(Boolean).flat();const i={blockchain:t.blockchain,instructions:r,signers:[e,n].filter(Boolean),alts:[RF.solana.alt]};return i.deadline=KY,i};let MH=["ethereum","bsc","polygon","solana"];MH.evm=["ethereum","bsc","polygon"],MH.solana=["solana"];const kH=({paymentRoute:t,event:e,fee:n})=>{if(MH.evm.includes(t.blockchain))return(async({paymentRoute:t,event:e})=>{let n=t.exchangeRoutes[0],r={blockchain:t.blockchain,to:bY({paymentRoute:t}),api:wY({paymentRoute:t}),method:MY({paymentRoute:t}),params:kY({paymentRoute:t,exchangeRoute:n,event:e}),value:NY({paymentRoute:t})};return n&&t.exchangePlugin&&t.exchangePlugin.prepareTransaction&&(r=t.exchangePlugin.prepareTransaction(r)),r})({paymentRoute:t,event:e,fee:n});if(MH.solana.includes(t.blockchain))return wH({paymentRoute:t,event:e,fee:n});throw"Blockchain not supported!"};function LH(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}class AH{constructor({blockchain:t,fromAddress:e,fromToken:n,fromAmount:r,fromDecimals:i,fromBalance:o,toToken:a,toAmount:s,toDecimals:u,toAddress:c,fee:l,feeAmount:h,exchangeRoutes:d,approvalRequired:f,approvalTransaction:p,directTransfer:m,event:g}){this.blockchain=t,this.fromAddress=e,this.fromToken=n,this.fromAmount=LH([r||s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.fromDecimals=i,this.fromBalance=o,this.toToken=a,this.toAmount=LH([s,"optionalAccess",t=>t.toString,"call",t=>t()]),this.toDecimals=u,this.toAddress=c,this.fee=l,this.feeAmount=h,this.exchangeRoutes=d||[],this.approvalRequired=f,this.approvalTransaction=p,this.directTransfer=m,this.event=g,this.getTransaction=async()=>await kH({paymentRoute:this,event:g})}}function xH({assets:t,blacklist:e,accept:n,from:r,event:i}){return Promise.resolve(NH({assets:t,blacklist:e})).then((t=>function({assets:t,accept:e,from:n,event:r}){return Promise.all(t.map((async t=>{let i=e.filter((e=>e.blockchain==t.blockchain)),o=new YR(t);return Promise.all(i.map((async e=>{if(e.token&&e.amount){let i=e.blockchain,a=t.decimals,s=new YR({blockchain:i,address:e.token}),u=await s.decimals(),c=(await s.BigNumber(e.amount)).toString();return new AH({blockchain:i,fromToken:o,fromDecimals:a,toToken:s,toAmount:c,toDecimals:u,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}if(e.fromToken&&e.fromAmount&&o.address.toLowerCase()==e.fromToken.toLowerCase()){let i=e.blockchain,a=(await o.BigNumber(e.fromAmount)).toString(),s=t.decimals,u=new YR({blockchain:i,address:e.toToken}),c=await u.decimals();return new AH({blockchain:i,fromToken:o,fromDecimals:s,fromAmount:a,toToken:u,toDecimals:c,fromBalance:t.balance,fromAddress:n[e.blockchain],toAddress:e.toAddress,fee:e.fee,event:r})}})))}))).then((t=>t.flat().filter((t=>t))))}({assets:t,accept:n,from:r,event:i}))).then((t=>DH({routes:t}))).then(SH).then(IH).then(TH).then(jH).then((t=>PH({routes:t}))).then(CH).then(UH).then(BH).then((t=>t.map((t=>new AH(t)))))}function EH({accept:t,from:e,whitelist:n,blacklist:r,event:i,update:o}){if(t.some((t=>t&&t.fee&&"string"==typeof t.fee.amount&&t.fee.amount.match(/\.\d\d+\%/))))throw"Only up to 1 decimal is supported for fee amounts!";return new Promise((async(a,s)=>{let u,c=[];if(n)for(const t in n)(n[t]||[]).forEach((e=>{c.push({blockchain:t,address:e})}));else t.forEach((t=>{c.push({blockchain:t.blockchain,address:t.token||t.toToken})}));o&&(u=yY((async({assets:t,blacklist:e,accept:n,from:r,event:i})=>{o.callback(await xH({assets:t,blacklist:e,accept:n,from:r,event:i}))}),o.every));let l=[];const h=await(async t=>{void 0===t&&(t={accounts:{},priority:[]});let e=[],n=[];n=n.concat((t.priority||[]).map((n=>new Promise((async(r,i)=>{try{let i=new YR(n),o=Object.assign({},n,{name:await i.name(),symbol:await i.symbol(),decimals:await i.decimals(),balance:(await i.balance(t.accounts[n.blockchain])).toString()});if("0"!=o.balance){if(DF({assets:e,asset:n}))return r();e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)}else r()}catch(t){r()}})))));let r=[];for(var i in t.accounts)L.findByName(i).tokens.forEach((e=>{OF({options:t,address:e.address,blockchain:i})||r.push(Object.assign({},e,{blockchain:i}))}));if(n=n.concat(r.map((n=>new Promise(((r,i)=>{new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()}))}))))),null==t.only||Object.keys(t.only).every((t=>0==t.length))){let r=await jF(t);n=n.concat(r.map((n=>new Promise(((r,i)=>new YR(n).balance(t.accounts[n.blockchain]).then((i=>{if(DF({assets:e,asset:n}))return r();const o=CF(n,i);"0"!=o.balance?(e.push(o),"function"==typeof t.drip&&t.drip(o),r(o)):r()})).catch((t=>{console.log(t),r()})))))))}return await Promise.all(n),e})({accounts:e,priority:c,only:n,exclude:r,drip:n=>{o&&(l.push(n),u({assets:l,blacklist:r,accept:t,from:e,event:i}))}});a(await xH({assets:h,blacklist:r,accept:t,from:e,event:i}))}))}let NH=({assets:t,blacklist:e})=>null==e?t:t.filter((t=>null==e[t.blockchain]||!e[t.blockchain].find((e=>e.toLowerCase()==t.address.toLowerCase())))),SH=async t=>await Promise.all(t.map((t=>t.directTransfer?[]:t.toToken&&t.toAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountOutMin:t.toAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):t.fromToken&&t.fromAmount?wF({blockchain:t.blockchain,tokenIn:t.fromToken.address,tokenOut:t.toToken.address,amountIn:t.fromAmount,fromAddress:t.fromAddress,toAddress:t.toAddress}):void 0))).then((e=>t.map(((t,n)=>(t.exchangeRoutes=e[n],t))))),IH=t=>t.filter((t=>0===t.exchangeRoutes.length||("solana"===t.blockchain||null!=PF[t.blockchain][t.exchangeRoutes[0].exchange.name]))),TH=t=>t.filter((t=>0!=t.exchangeRoutes.length||t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase())),jH=async t=>t.filter((t=>t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?bt.from(t.fromBalance).gte(bt.from(t.toAmount)):t.fromAmount&&t.toAmount?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountInMax)):t.exchangeRoutes[0]&&t.exchangeRoutes[0].amountIn?bt.from(t.fromBalance).gte(bt.from(t.exchangeRoutes[0].amountIn)):void 0)),CH=t=>Promise.all(t.map((t=>"solana"===t.blockchain?Promise.resolve(L.solana.maxInt):t.fromToken.allowance(t.fromAddress,UF[t.blockchain].address)))).then((e=>(t.map(((n,r)=>{n.directTransfer||n.fromToken.address.toLowerCase()==L[n.blockchain].currency.address.toLowerCase()||"solana"===n.blockchain?t[r].approvalRequired=!1:(t[r].approvalRequired=bt.from(n.fromAmount).gte(bt.from(e[r])),t[r].approvalRequired&&(t[r].approvalTransaction={blockchain:n.blockchain,to:n.fromToken.address,api:YR[n.blockchain].DEFAULT,method:"approve",params:[UF[n.blockchain].address,L[n.blockchain].maxInt]}))})),t))),DH=({routes:t})=>t.map((t=>(MH.evm.includes(t.blockchain)?t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()&&null==t.fee:"solana"===t.blockchain&&(t.directTransfer=t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()),t))),OH=({paymentRoute:t,exchangeRoute:e})=>{let n,r,i;return e?(e&&e.exchange.wrapper,n=e.amountIn.toString(),r=_H({amount:e.amountOutMin.toString(),paymentRoute:t})):(n=t.fromAmount,r=_H({amount:t.fromAmount,paymentRoute:t})),t.fee&&(i=zH({paymentRoute:t})),{fromAmount:n,toAmount:r,feeAmount:i}},_H=({amount:t,paymentRoute:e})=>{if(e.fee){let n=zH({paymentRoute:e});return bt.from(t).sub(n).toString()}return t},zH=({paymentRoute:t})=>{if("string"==typeof t.fee.amount&&t.fee.amount.match("%"))return bt.from(t.toAmount).mul(10*parseFloat(t.fee.amount)).div(1e3).toString();if("string"==typeof t.fee.amount)return t.fee.amount;if("number"==typeof t.fee.amount)return Qc(t.fee.amount.toString(),t.toDecimals).toString();throw"Unknown fee amount type!"},PH=({routes:t})=>t.map((t=>{if(MH.evm.includes(t.blockchain))if(t.directTransfer&&!t.fee)t.fromAmount=t.toAmount;else{let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}else if(MH.solana.includes(t.blockchain)){let{fromAmount:e,toAmount:n,feeAmount:r}=OH({paymentRoute:t,exchangeRoute:t.exchangeRoutes[0]});t.fromAmount=e,t.toAmount=n,t.fee&&(t.feeAmount=r)}return t})),BH=t=>t.filter(((e,n)=>null==t.find(((t,r)=>e.fromToken.address==t.fromToken.address&&(e.fromToken.blockchain==t.fromToken.blockchain&&(!(!t.directTransfer||e.directTransfer)||(!(!bt.from(t.fromAmount).lt(bt.from(e.fromAmount))||e.directTransfer)||(t.fromAmount==e.fromAmount&&r<n||void 0)))))))),RH=t=>{switch(t){case"solana":return 10;case"polygon":return 30;case"bsc":return 70;case"ethereum":return 99;default:return 100}},UH=t=>t.sort(((t,e)=>RH(t.fromToken.blockchain)<RH(e.fromToken.blockchain)?-1:RH(e.fromToken.blockchain)<RH(t.fromToken.blockchain)?1:t.fromToken.address.toLowerCase()==t.toToken.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==e.toToken.address.toLowerCase()||t.approvalRequired&&!e.approvalRequired?1:e.approvalRequired&&!t.approvalRequired||JSON.stringify([t.fromToken.address.toLowerCase(),t.toToken.address.toLowerCase()].sort())==JSON.stringify([L[t.blockchain].currency.address.toLowerCase(),L[t.blockchain].wrapped.address.toLowerCase()].sort())?-1:JSON.stringify([e.fromToken.address.toLowerCase(),e.toToken.address.toLowerCase()].sort())==JSON.stringify([L[e.blockchain].currency.address.toLowerCase(),L[e.blockchain].wrapped.address.toLowerCase()].sort())?1:t.fromToken.address.toLowerCase()==L[t.blockchain].currency.address.toLowerCase()?-1:e.fromToken.address.toLowerCase()==L[e.blockchain].currency.address.toLowerCase()?1:0));function QH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function WH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?QH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):QH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var FH=function(t){var e="object"==n(t.receiver)?t.receiver.address:t.receiver,r="object"==n(t.receiver)?t.receiver:void 0;return WH(WH({},t),{},{toAddress:e,toContract:r})},YH=function(t,e){var n={};return t.forEach((function(t){n[t.blockchain]=e})),n},HH=function(t){var e=t.accept,n=t.account,r=t.whitelist,i=t.blacklist,o=t.fee;return EH({accept:e.map(FH),from:YH(e,n),whitelist:r,blacklist:i,event:"ifRoutedAndNative",fee:o})};function GH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ZH(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?GH(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):GH(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var VH=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(),2),l=u[0],h=u[1],d=QA(kx.useState(!1),2),f=d[0],p=d[1],m=QA(kx.useState(0),2),g=m[0],y=m[1],v=kx.useContext(sR).account,b=kx.useContext(Ax).updatable,w=kx.useContext(KB).recover,M=function(){var n=e(c.mark((function n(r){return c.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:0==r.length?(i([]),t.setMaxRoute&&t.setMaxRoute(null)):x(r).then(function(){var n=e(c.mark((function e(n){var r,o;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:void 0===l?(r=n[0],h(r)):(o=n[n.findIndex((function(t){return t.fromToken.address==l.fromToken.address&&t.blockchain==l.blockchain}))],o?l.fromAmount!=o.fromAmount?s(o):l.approvalRequired!=o.approvalRequired&&h(o):h(n[0])),i(n),t.setMaxRoute&&t.setMaxRoute(LF(n));case 3:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}());case 1:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}(),k=function(){var n=e(c.mark((function e(n){var r;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.allRoutes,n.selectedRoute,0!=n.updatable&&t.accept&&v){e.next=3;break}return e.abrupt("return");case 3:return r=setTimeout((function(){p(!0)}),4e3),e.next=6,HH(Object.assign({},t,{account:v})).then((function(t){clearInterval(r),M(t)}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return n.apply(this,arguments)}}(),L=function(t,e){t.fromAmount=e.toString()},A=function(){var t=e(c.mark((function t(e,n){var r,i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.directTransfer){t.next=2;break}return t.abrupt("return",e);case 2:return t.next=4,e.fromToken.readable(n||e.fromAmount);case 4:return r=t.sent,t.next=7,e.fromToken.BigNumber(lR(r));case 7:return i=t.sent,L(e,i),t.abrupt("return",e);case 10:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),x=function(){var t=e(c.mark((function t(e){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",Promise.all(e.map((function(t){return A(t)}))));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),E=function(){var t=e(c.mark((function t(){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:h(ZH({},a)),s(null);case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),N=function(){return k({allRoutes:r,selectedRoute:l,updatable:b})};return kx.useEffect((function(){var t=setTimeout((function(){y(g+1),k({allRoutes:r,selectedRoute:l,updatable:b})}),15e3);return function(){return clearTimeout(t)}}),[g,r,l,b]),kx.useEffect((function(){v&&t.accept&&null==w&&N()}),[v,t.accept]),kx.createElement(IF.Provider,{value:{selectedRoute:l,setSelectedRoute:h,refreshPaymentRoutes:N,allRoutes:r,setAllRoutes:i,slowRouting:f,updatedRouteWithNewPrice:a,updateRouteWithNewPrice:E}},t.children)},JH=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.acceptWithAmount,i=e.setMaxRoute,o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){n?r&&s(r):s(t.accept)}),[n,r]),kx.createElement(SF.Provider,{value:{}},kx.createElement(VH,{accept:a,whitelist:t.whitelist,blacklist:t.blacklist,event:t.event,setMaxRoute:i,fee:t.fee,container:t.container,document:t.document},t.children))},qH=function(){var t=kx.useContext(Pz).navigate;return kx.useContext(Lx).close,kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:yB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"No Payment Option Found"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftM PaddingRightM"},kx.createElement("strong",{className:"FontSizeM"},"Please check if you have connected the correct wallet and top up if necessary.")),kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("button",{onClick:function(){return t("PaymentOptions")},className:"Link FontSizeM",title:"Check which payment options are available"},"Check available payment options"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"})})},XH=kx.createContext();let KH=["ethereum","bsc","polygon","solana","fantom","velas"];KH.evm=["ethereum","bsc","polygon","fantom","velas"],KH.solana=["solana"];const $H=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],tG=[{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];let eG=function(t){const[e,n]=kx.useState(),[r,i]=kx.useState(),o=t.blockchain.toLowerCase(),a=L.findByName(o).currency.address,s=t.address,u=t.id,c=new Date,l=["react-token-image",o,s,[c.getFullYear(),c.getMonth(),c.getDate()].join("-")].join("-"),h=t=>{localStorage.setItem(l,t),n(t)};kx.useEffect((()=>{const t=localStorage.getItem(l);if(t&&t.length)return h(t);a.toLowerCase()==s.toLowerCase()?h(L.findByName(o).logo):KH.evm.includes(o)?(i("repository"),h(f({blockchain:o,address:s}))):"solana"===o&&(i("metaplex"),d({blockchain:o,address:s}).then((t=>{h(t)})))}),[o,s]);const d=({blockchain:t,address:e})=>new Promise((async(n,r)=>{try{let r=new Av(e),i=new Av(YR.solana.METADATA_ACCOUNT),o=[Yk.from("metadata"),i.toBuffer(),r.toBuffer()],a=(await Av.findProgramAddress(o,i))[0],s=await CL({blockchain:t,address:a.toString(),api:YR.solana.METADATA_LAYOUT,cache:864e5});if(function(t){let e,n=t[0],r=1;for(;r<t.length;){const i=t[r],o=t[r+1];if(r+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(e=n,n=o(n)):"call"!==i&&"optionalCall"!==i||(n=o(((...t)=>n.call(e,...t))),e=void 0)}return n}([s,"optionalAccess",t=>t.data,"optionalAccess",t=>t.uri])){const t=s.data.uri.replace(new RegExp("\0","g"),"");t&&t.length?await fetch(t).then((t=>t.json())).then((t=>{t&&t.image?n(t.image):n("")})).catch((()=>n(""))):n("")}else n("")}catch(t){n("")}})),f=({blockchain:t,address:e})=>["ethereum","bsc","polygon","fantom","solana"].includes(t)?`https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/${p(t)}/assets/${e}/logo.png`:"velas"==t?`https://raw.githubusercontent.com/wagyuswapapp/assets/master/blockchains/velas/assets/${e.toLowerCase()}/logo.png`:void 0,p=t=>{switch(t){case"ethereum":return"ethereum";case"bsc":return"smartchain";case"polygon":return"polygon";case"solana":return"solana";case"fantom":return"fantom";default:throw"DePayReactTokenImage: Unknown blockchain"}},m=()=>{i("unknown"),h("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjgzLjUgMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4My41IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxjaXJjbGUgZmlsbD0iI0YwRUZFRiIgY3g9IjE0MS43IiBjeT0iMTQxLjciIHI9IjE0MS43Ii8+CjxnPgoJPHBhdGggZmlsbD0iI0FCQUJBQiIgZD0iTTEyNywxNzUuMXYtNC40YzAtOC40LDEuMS0xNS4zLDMuNC0yMC43YzIuMy01LjQsNS4xLTEwLDguNC0xMy44YzMuMy0zLjcsNi42LTcsMTAuMS05LjdzNi4zLTUuNiw4LjYtOC41CgkJYzIuMy0yLjksMy40LTYuNCwzLjQtMTAuNWMwLTUtMS4xLTguNy0zLjMtMTEuMWMtMi4yLTIuNC01LTQtOC40LTQuOGMtMy40LTAuOC02LjktMS4zLTEwLjUtMS4zYy01LjgsMC0xMS44LDEtMTcuOSwyLjkKCQljLTYuMSwxLjktMTEuNSw0LjctMTYsOC40Vjc0YzIuMy0xLjcsNS40LTMuMyw5LjQtNC45YzQtMS42LDguNC0yLjksMTMuNC00YzUtMS4xLDEwLjEtMS42LDE1LjUtMS42YzguMSwwLDE1LjEsMS4xLDIxLjEsMy40CgkJYzYsMi4zLDEwLjgsNS41LDE0LjcsOS41YzMuOCw0LDYuNyw4LjcsOC42LDE0LjFjMS45LDUuMywyLjksMTEuMSwyLjksMTcuMmMwLDYuNi0xLjEsMTItMy40LDE2LjNjLTIuMyw0LjMtNS4xLDgtOC41LDExLjIKCQljLTMuNCwzLjItNi44LDYuNC0xMC4yLDkuNWMtMy40LDMuMS02LjMsNi44LTguNiwxMWMtMi4zLDQuMi0zLjQsOS41LTMuNCwxNS45djMuNEgxMjd6IE0xMjUuMiwyMTguMnYtMjcuN2gzM3YyNy43SDEyNS4yeiIvPgo8L2c+Cjwvc3ZnPgo=")},g=t=>{t.match(/^ipfs/)&&(t=`https://ipfs.io/ipfs/${t.split("://")[1]}`),fetch(t).then((t=>{if(t.ok)return t.json();m()})).then((t=>{if(t){let e=t.image;e?(e.match(/^ipfs/)&&(e=`https://ipfs.io/ipfs/${e.split("://")[1]}`),i("meta"),h(e)):m()}})).catch(m)};return null==e?null:kx.createElement("img",{className:t.className,src:e,onError:t=>{"metaplex"==r?(i("repository"),h(f({blockchain:o,address:s}))):"repository"==r?(i("depay"),h(`https://integrate.depay.com/tokens/${o}/${s}/image`)):"depay"==r&&KH.evm.includes(o)?u?CL({blockchain:o,address:s,api:tG,method:"uri",params:[u]}).then((t=>{t=t.match("0x{id}")?t.replace("0x{id}",u):t,g(t)})).catch(m):CL({blockchain:o,address:s,api:$H,method:"tokenURI",params:[1]}).then(g).catch(m):m()},__self:this,__source:{fileName:"/Users/sebastian/Work/DePay/react-token-image/src/index.js",lineNumber:179}})};function nG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function rG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?nG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var iG=function(){var t=kx.useContext(KB).accept;kx.useContext(Lx).close;var e=kx.useContext(Pz).navigate,n=QA(kx.useState(),2),r=n[0],i=n[1];return kx.useEffect((function(){Promise.all(t.map((function(t){var e=new YR({blockchain:t.blockchain,address:t.token});return Promise.all([Promise.resolve(t),e.symbol(),e.name()])}))).then((function(t){return t.map((function(t){return rG(rG({},t[0]),{},{symbol:t[1],name:t[2]})}))})).then(i)}),[]),r?kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},r&&r.map((function(t,e){return kx.createElement("div",{className:"Card",key:e},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.blockchain,address:t.token}),kx.createElement("img",{className:"BlockchainLogo small "+L[t.blockchain].name,src:L[t.blockchain].logo,alt:L[t.blockchain].label,title:L[t.blockchain].label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenSymbolCell"},t.symbol)),kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},"on ",L[t.blockchain].label))))))})))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){return e("back")}},kx.createElement("span",{className:"FontSizeM"},"❮")," Go back"))}):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Payment options"))),body:kx.createElement("div",{className:"MaxHeight PaddingTopM"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},oG=kx.createContext(),aG=kx.createContext(),sG=function(t){var n=kx.useContext(xB).setError,r=kx.useContext(KB),i=r.sent,o=r.succeeded,a=r.failed,s=r.recover,u=r.before,l=kx.useContext(IF),h=l.selectedRoute,d=l.refreshPaymentRoutes,f=kx.useContext(Lx),p=f.open,m=f.close,g=f.setClosable,y=kx.useContext(IF).allRoutes,v=kx.useContext(Ax).setUpdatable,b=kx.useContext(nR),w=b.navigate,M=b.set,k=kx.useContext(sR).wallet,A=kx.useContext(oG),x=A.release,E=A.synchronousTracking,N=A.asynchronousTracking,S=A.trackingInitialized,I=A.initializeTracking,T=A.preTrack,j=kx.useContext(aG),C=j.foundTransaction,D=j.initializeTracking,O=QA(kx.useState(),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=QA(kx.useState(),2),Q=U[0],W=U[1],F=QA(kx.useState("initialized"),2),Y=F[0],H=F[1],G=function(t){0!=E||0!=N&&1!=S||g(!0),H("success"),o&&setTimeout((function(){return o(t)}),200)},Z=function(t,e){0!=N&&1!=S||g(!0),M(["PaymentFailed"]),H("failed"),a&&a(t,e)},V=function(){var t=e(c.mark((function t(){var e,n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=_.route,t.next=3,k.account();case 3:return t.t1=t.sent,t.t2={from:t.t1},t.next=7,t.t0.getTransaction.call(t.t0,t.t2);case 7:if(e=t.sent,!u){t.next=14;break}return t.next=11,u(e);case 11:if(!1!==t.sent){t.next=14;break}return t.abrupt("return");case 14:return g(!1),H("paying"),v(!1),t.next=19,CL({blockchain:e.blockchain,method:"latestBlockNumber"});case 19:return n=t.sent,t.next=22,T(n,_.route,e).then((function(){k.sendTransaction(Object.assign({},e,{sent:function(t){D(t,n),i&&i(t)},succeeded:G,failed:Z})).then((function(t){R(t),I(t,n,_.route)})).catch((function(t){console.log("error",t),H("initialized"),g(!0),v(!0),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork")}))})).catch((function(t){console.log(t),H("initialized"),g(!0),v(!0),w("PreTrackingFailed")}));case 22:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();return kx.useEffect((function(){x&&H("success")}),[x]),kx.useEffect((function(){N&&S&&("success"==Y||"failed"==Y)&&g(!0)}),[S,Y]),kx.useEffect((function(){if(s){g(!1),v(!1),H("paying"),R({blockchain:s.blockchain,id:s.transaction,url:L.findByName(s.blockchain).explorerUrlFor({transaction:{id:s.transaction}})});var t=new YR({blockchain:s.blockchain,address:s.token});Promise.all([t.name(),t.symbol()]).then((function(t){var e=QA(t,2),n=e[0],r=e[1];z({blockchain:s.blockchain,token:s.token,name:n,symbol:r.toUpperCase(),amount:s.amount})})).catch(n)}}),[s]),kx.useEffect((function(){var t;C&&C.id&&C.status&&(C.id!=B.id&&(t=Object.assign({},B,{id:C.id,url:L.findByName(B.blockchain).explorerUrlFor({transaction:C})}),R(t)),"success"==C.status?G(t||B):"failed"==C.status&&Z(t||B))}),[C,B]),kx.useEffect((function(){if(h){var t=h.fromToken;Promise.all([t.name(),t.symbol(),t.readable(h.fromAmount)]).then((function(e){var n=QA(e,3),r=n[0],i=n[1],o=n[2];z({blockchain:h.blockchain,route:h,token:t.address,name:r,symbol:i.toUpperCase(),amount:o})})).catch(n)}else z(void 0)}),[h]),kx.useEffect((function(){y&&0==y.length?v(!1):y&&y.length>0&&v(!0)}),[y]),y instanceof Array&&0==y.length?kx.createElement(Uz,{open:p,close:m,start:"NoPaymentOptionFound",container:t.container,document:t.document,dialogs:{NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null)}}):kx.createElement(XH.Provider,{value:{payment:_,paymentState:Y,pay:V,transaction:B,approve:function(){g(!1),v(!1),H("approving"),k.sendTransaction(Object.assign({},_.route.approvalTransaction,{succeeded:function(){v(!0),g(!0),d().then((function(){H("initialized")}))}})).then((function(t){W(t)})).catch((function(t){console.log("error",t),"WRONG_NETWORK"!=(null==t?void 0:t.code)&&"NOT_SUPPORTED"!=(null==t?void 0:t.code)||w("WrongNetwork"),H("initialized"),g(!0)}))},approvalTransaction:Q}},t.children)},uG=kx.createContext(),cG=function(t){var e=kx.useContext(Pz).navigate;kx.useContext(xB).setError,kx.useContext(sR).account;var r=kx.useContext(MF),i=r.amount,o=r.setAmount,a=r.maxAmount;kx.useContext(uG).displayedPaymentValue;var s=QA(kx.useState(i),2),u=s[0],c=s[1],l=kx.useContext(KB),h=l.currencyCode,d=l.amount,f=kx.useContext(IF);f.allRoutes;var p=f.setSelectedRoute,m="object"==n(d)&&d.min?d.min:1,g="object"==n(d)&&d.step?d.step:1,y=null!=d&&d.token?null:h,v=function(t){Number.isNaN(t)||c(t)},b=function(t){return g&&(t=parseFloat(new NQ(Math.floor(new NQ(t).div(g))).mul(g).toString())),t},w=function(t){return t=b(t),a&&(t=Math.max(m,Math.min(t,a))),t=b(t)};return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Amount"),kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,y))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"PaddingTopS TextCenter PaddingBottomL"},kx.createElement("div",{className:"PaddingBottomM"},kx.createElement("input",{max:a?parseFloat(a):null,min:m,step:g,className:"Input FontSizeXXL TextAlignCenter",type:"number",name:"amount",value:parseFloat(u),onChange:function(t){v(t.target.value)},onBlur:function(t){var e;e=t.target.value,c(w(e))}})),a&&kx.createElement("div",{style:{height:"40px"}},kx.createElement("div",{className:"FontSizeS"},hR(b(a)),kx.createElement("div",null,kx.createElement("button",{className:"TextButton",onClick:function(){v(w(a))}},"(Max)"))))))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){var t=w(parseFloat(u));t!=i&&(p(void 0),o(t)),e("back")}},"Done"))})},lG=function(t){var e=kx.useContext(uG).paymentValue;return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=e&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,e.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},hG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(IF),r=n.allRoutes,i=n.setSelectedRoute,o=kx.useContext(uG).displayedPaymentValue,a=kx.useContext(Pz).navigate,s=QA(kx.useState([]),2),u=s[0],c=s[1],l=QA(kx.useState([]),2),h=l[0],d=l[1];return kx.useEffect((function(){null!=r&&Promise.all(r.map((function(t){return t.exchangeRoutes[0],t.fromToken,Promise.all([t.fromToken.name(),t.fromToken.symbol(),t.fromToken.decimals(),t.fromToken.readable(t.fromAmount)])}))).then((function(t){c(r.map((function(e,n){return{name:t[n][0],symbol:t[n][1].toUpperCase(),decimals:t[n][2],amount:t[n][3],route:e}})))})).catch(e)}),[r]),kx.useEffect((function(){d(u.map((function(t,e){var n=L.findByName(t.route.blockchain);return kx.createElement("div",{key:e,className:"Card",title:"Select ".concat(t.symbol," as payment"),onClick:function(){i(t.route),a("back")}},kx.createElement("div",{className:"CardImage"},kx.createElement(eG,{blockchain:t.route.blockchain,address:t.route.fromToken.address}),kx.createElement("img",{className:"BlockchainLogo small "+n.name,src:n.logo,alt:n.label,title:n.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},t.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(t.amount)))),kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,hR(lR(parseFloat(t.route.fromBalance.toString())/Math.pow(10,t.decimals),"down")))))))})))}),[u]),0==u.length||0==h.length?kx.createElement(lG,null):kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomS"},kx.createElement("h1",{className:"LineHeightL FontSizeL TextCenter"},"Change Payment"),null!=o&&kx.createElement("div",{className:"FontSizeL TextCenter FontWeightBold"},kx.createElement("strong",null,o.toString()))),body:kx.createElement("div",{className:"MaxHeight PaddingTopXS"},kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},h)),footer:kx.createElement("div",null)})},dG=function(){var t=kx.useContext(Lx).close,e=kx.useContext(XH).transaction;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Payment Failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Unfortunately executing your payment failed, but you can try again."),e&&kx.createElement("div",{className:"PaddingTopS"},kx.createElement("a",{className:"Link",title:"Check your transaction on a block explorer",href:null==e?void 0:e.url,target:"_blank",rel:"noopener noreferrer"},"View on explorer")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){return t()}},"Try again"))})},fG=function(){return kx.createElement("svg",{className:"ChevronRight Icon",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},kx.createElement("path",{strokeWidth:"1",fillRule:"evenodd",d:"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"}))},pG=function(t){return kx.createElement("svg",{className:"Checkmark Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M20,4.9L9.2,16l-5.4-3.9c-0.7-0.5-1.6-0.3-2.1,0.3c-0.5,0.7-0.3,1.6,0.3,2.1l6.4,4.7c0.3,0.2,0.6,0.3,0.9,0.3 c0.4,0,0.8-0.2,1.1-0.5l11.7-12c0.6-0.6,0.6-1.6,0-2.2C21.6,4.3,20.6,4.3,20,4.9z"}))},mG=function(t){return kx.createElement("svg",{className:"DigitalWalletIcon Icon "+t.className,version:"1.1",xmlns:"http://www.w3.org/2000/svg",height:"24",width:"24",viewBox:"0 0 24 24"},kx.createElement("path",{d:"M8.51,4.84l-.39-.53,4-2.89a2.2,2.2,0,0,1,3.06.48l.4.56-.53.39-.4-.56A1.54,1.54,0,0,0,12.5,2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.77,4.89l-.21-.62,6.31-2.13h0a2.18,2.18,0,0,1,.67-.1h0a2.21,2.21,0,0,1,2.08,1.49l.32.95-.63.21L18,3.73a1.53,1.53,0,0,0-1.45-1h0a1.61,1.61,0,0,0-.48.08h0Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.72,16.2H18.27a3.28,3.28,0,1,1,0-6.56h1.45a3.21,3.21,0,0,1,1.33.28h0a3.28,3.28,0,0,1,0,6A3.21,3.21,0,0,1,19.72,16.2Zm-1.45-5.9a2.63,2.63,0,0,0,0,5.25h1.45a2.56,2.56,0,0,0,1.06-.23,2.62,2.62,0,0,0,0-4.8,2.55,2.55,0,0,0-1.06-.22ZM19,14.53a1.61,1.61,0,1,1,1.61-1.61A1.62,1.62,0,0,1,19,14.53ZM19,12a1,1,0,1,0,.95.95A1,1,0,0,0,19,12Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M10.49,19.69a1.58,1.58,0,1,1,1.58-1.57A1.57,1.57,0,0,1,10.49,19.69Zm0-2.49a.92.92,0,1,0,.92.92A.92.92,0,0,0,10.49,17.2Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M19.09,22.14H2.79a2,2,0,0,1-2-2V6.25a2.1,2.1,0,0,1,0-.43,2,2,0,0,1,.48-.92,2,2,0,0,1,1.48-.65H19.09a2,2,0,0,1,.64.1,2,2,0,0,1,1.36,1.79v0a.28.28,0,0,1,0,.09v3.91h-.66v-4a1.49,1.49,0,0,0-.23-.69A1.35,1.35,0,0,0,19.52,5a1.26,1.26,0,0,0-.43-.08H2.82a1.34,1.34,0,0,0-1,.44A1.49,1.49,0,0,0,1.5,6a1.5,1.5,0,0,0,0,.29V20.13a1.36,1.36,0,0,0,1.34,1.35H19.09a1.35,1.35,0,0,0,1.35-1.35V15.68h.66v4.45A2,2,0,0,1,19.09,22.14Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M9.27,9.31a1.58,1.58,0,1,1,0-3.15,1.58,1.58,0,0,1,0,3.15Zm0-2.5a.92.92,0,1,0,.92.92A.92.92,0,0,0,9.27,6.81Z",transform:"translate(-0.81 -1)"}),kx.createElement("path",{d:"M7.11,14.67A1.58,1.58,0,1,1,8.69,13.1,1.57,1.57,0,0,1,7.11,14.67Zm0-2.49A.92.92,0,1,0,8,13.1.92.92,0,0,0,7.11,12.18Z",transform:"translate(-0.81 -1)"}),kx.createElement("rect",{x:"0.33",y:"11.77",width:"4.72",height:"0.66"}),kx.createElement("polygon",{points:"2.08 9.53 0.33 9.53 0.33 8.87 1.8 8.87 4.28 6.39 7.21 6.39 7.21 7.05 4.55 7.05 2.08 9.53"}),kx.createElement("polygon",{points:"8.43 17.45 4.53 17.45 2.63 15.55 0.33 15.55 0.33 14.89 2.9 14.89 4.8 16.79 8.43 16.79 8.43 17.45"}))},gG={ethereum:13,bsc:4,polygon:3,solana:.5},yG=function(t){return kx.createElement("div",{className:"LoadingText"},t.children,kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."),kx.createElement("span",{className:"dot"},"."))},vG=function(){var t=kx.useContext(MF);t.amount,t.amountsMissing;var e=kx.useContext(oG),n=e.synchronousTracking,r=e.asynchronousTracking,i=e.trackingInitialized,o=e.release,a=e.forwardTo,s=e.confirmationsRequired,u=e.confirmationsPassed,c=kx.useContext(XH),l=c.payment,h=c.paymentState,d=c.pay,f=c.transaction,p=c.approve,m=c.approvalTransaction,g=kx.useContext(uG).paymentValueLoss,y=kx.useContext(IF),v=y.updatedRouteWithNewPrice,b=y.updateRouteWithNewPrice;kx.useContext(Pz).navigate;var w=kx.useContext(Lx).close,M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(0),2),x=A[0],E=A[1];kx.useEffect((function(){if(s){var t=setInterval((function(){E(x+1)}),1e3);return function(){clearInterval(t)}}}),[s,x]),kx.useEffect((function(){u&&L(function(t,e,n){return(e-n)*gG[t]}(l.blockchain,s,u)-x)}),[u,x]),kx.useEffect((function(){u&&E(0)}),[u]);return kx.createElement("div",null,g&&kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Payment would lose ",g,"% of its value!"))),null==l.route||!l.route.approvalRequired||l.route.directTransfer||v?null:g?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){},title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"initialized"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("button",{className:"ButtonPrimary",onClick:p,title:"Allow ".concat(l.symbol," to be used as payment")},"Approve use of ",l.symbol)):"approving"==h?kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("a",{className:"ButtonPrimary",title:"Approving payment token - please wait",href:null==m?void 0:m.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Approving"))):void 0,"paying"==h&&null==f?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",{className:"Card transparent disabled small"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(mG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Confirm transaction in your wallet"))))):"success"==h?kx.createElement("div",{className:"PaddingBottomS"},kx.createElement("div",null,kx.createElement("a",{className:"Card transparent small",title:"Transaction has been confirmed by the network",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Transaction confirmed"))))),0==n&&0==r||r&&i?null:r&&0==i?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Initializing tracking"))))):o?kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter Opacity05"},kx.createElement(pG,{className:"small"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Payment validated"))))):kx.createElement("div",null,kx.createElement("div",{className:"Card transparent small disabled"},kx.createElement("div",{className:"CardImage"},kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"Loading Icon"}))),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("div",{className:"Opacity05"},"Validating payment",s&&k>0&&kx.createElement("span",{title:"".concat(u,"/").concat(s," required confirmations")}," ",k,"s"))))))):void 0,v?kx.createElement("div",null,kx.createElement("div",{className:"PaddingBottomXS"},kx.createElement("div",{className:"Alert"},kx.createElement("strong",null,"Price updated!"))),kx.createElement("button",{className:"ButtonPrimary",onClick:function(){b()}},"Reload")):g?kx.createElement("div",null,kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Pay")):"initialized"!=h&&"approving"!=h||!l.route?"paying"==h?kx.createElement("a",{className:"ButtonPrimary",title:"Performing the payment - please wait",href:null==f?void 0:f.url,target:"_blank",rel:"noopener noreferrer"},kx.createElement(yG,null,"Paying")):"success"==h?1==n?o?a?kx.createElement("a",{className:"ButtonPrimary",href:a,rel:"noopener noreferrer"},"Continue"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Continue"):kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Continue"):1==r&&0==i?kx.createElement("button",{className:"ButtonPrimary disabled",onClick:function(){}},"Close"):kx.createElement("button",{className:"ButtonPrimary",onClick:w},"Close"):void 0:kx.createElement("button",{className:["ButtonPrimary",l.route.approvalRequired&&!l.route.directTransfer?"disabled":""].join(" "),onClick:function(){l.route.approvalRequired&&!l.route.directTransfer||d()}},"Pay"))},bG=function(t){var e=kx.useContext(MF),n=e.amountsMissing,r=e.fixedAmount,i=kx.useContext(IF),o=i.slowRouting,a=i.selectedRoute,s=kx.useContext(KB).title;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},s||"Payment")),alternativeHeaderAction:t.alternativeHeaderAction,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},n&&!r&&kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:["PaddingTopXS PaddingRightM PaddingLeftM",null==a&&o?"PaddingBottomS":"PaddingBottomM"].join(" ")},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),null==a&&o&&kx.createElement("div",{className:"TextCenter Opacity05 PaddingTopS"},kx.createElement("strong",null,"Loading payment options...")))})},wG=function(t){var e=kx.useContext(KB),n=e.currencyCode,r=e.recover,i=e.amount,o=e.currency,a=e.title,s=kx.useContext(XH),u=s.payment,c=s.paymentState,l=kx.useContext(MF),h=l.amount,d=l.amountsMissing,f=l.fixedAmount,p=l.fixedCurrency,m=kx.useContext(sR).disconnect,g=kx.useContext(uG),y=g.paymentValue,v=g.displayedPaymentValue,b=kx.useContext(Pz).navigate,w=QA(kx.useState(!1),2),M=w[0],k=w[1],A=null!=i&&i.token?null:n,x=kx.createElement("span",{className:"DropDownWrapper"},kx.createElement("button",{type:"button",onClick:function(){return k(!M)},className:"ButtonCircular",title:"Disconnect connected wallet"},kx.createElement(rP,null)),M&&kx.createElement(nP,{hide:function(){return k(!1)},items:[{label:"Disconnect wallet",action:m}]}));if(null==u||null==r&&null==y)return kx.createElement(bG,{alternativeHeaderAction:x});var E=L.findByName(u.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},a||"Payment")),alternativeHeaderAction:x,body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},d&&!f&&kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change amount":void 0,onClick:function(){"initialized"==c&&b("ChangeAmount")}},kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},A&&kx.createElement("div",{className:"TokenAmountRow"},new tR({amount:h.toFixed(2),code:n}).toString()),!A&&kx.createElement("div",{className:"TokenAmountRow"},h)))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==c?"":"disabled"].join(" "),title:"initialized"==c?"Change payment":void 0,onClick:function(){"initialized"==c&&b("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:u.name},kx.createElement(eG,{blockchain:u.blockchain,address:u.token}),kx.createElement("img",{className:"BlockchainLogo small "+E.name,src:E.logo,alt:E.label,title:E.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},d&&!p&&kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},u.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(u.amount))),v!="".concat(u.symbol," ").concat(hR(u.amount))&&!(d&&!p)&&!1!==o&&kx.createElement("div",{className:"TokenAmountRow small grey"},kx.createElement("span",{className:"TokenAmountCell"},v))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},MG=function(){kx.useContext(XH).transaction;var t=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t("back")}},"Try again"))})},kG=function(){var t=kx.useContext(oG).continueTryTracking;kx.useContext(XH).transaction;var e=kx.useContext(Pz).navigate;return kx.createElement(Qz,{stacked:!1,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"}),body:kx.createElement("div",{className:"TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:EB})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Tracking payment failed"),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},'Please ensure you are connected to the internet, then click "Try again".'),kx.createElement("div",{className:"PaddingTopS"},kx.createElement("span",null,"If this keeps happening, please report it.")))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){t(),e("back")}},"Try again"))})},LG=function(t){var e=kx.useContext(XH).payment,n=kx.useContext(sR).wallet,r=kx.useContext(Pz).navigate,i=QA(kx.useState(!1),2);i[0],i[1];var o=L.findByName(e.route.blockchain);return kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Wrong Network")),body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM PaddingBottomXS TextCenter"},kx.createElement("div",{className:"GraphicWrapper"},kx.createElement("img",{className:"Graphic",src:o.logo})),kx.createElement("h1",{className:"LineHeightL Text FontSizeL PaddingTopS FontWeightBold"},"Connect to ",o.label),kx.createElement("div",{className:"Text PaddingTopS PaddingBottomS PaddingLeftS PaddingRightS"},kx.createElement("strong",{className:"FontSizeM"},"Please make sure you connect your wallet to the correct network before you try again!"))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{type:"button",className:"ButtonPrimary",onClick:function(){n.switchTo(e.blockchain),r("back")}},"Switch Network"))})},AG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator,o=kx.useContext(sR).account,a=QA(kx.useState(),2),s=a[0],u=a[1];return kx.useEffect((function(){s&&s.set(["PaymentOverview"])}),[o]),kx.createElement(Uz,{setNavigator:function(t){u(t),i(t)},open:n,close:r,start:"PaymentOverview",container:t.container,document:t.document,dialogs:{PaymentOverview:kx.createElement(wG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null),TrackingFailed:kx.createElement(kG,null),PreTrackingFailed:kx.createElement(MG,null)}})},xG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,r=[Yk.from("payments"),new Av(n).toBuffer()],t.next=4,Av.findProgramAddress(r,new Av("DePayRG7ZySPWzeK9Kvq7aPeif7sdbBZNh6DHcvNj7F7"));case 4:return i=t.sent,o=QA(i,1),a=o[0],t.abrupt("return",a);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),EG=function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.account,t.next=3,xG({account:n});case 3:return r=t.sent.toString(),t.next=6,CL({blockchain:"solana",address:r,api:eL([oL("anchorDiscriminator"),oL("nonce")])});case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),NG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.blockchain,r=e.transaction,i=e.account,o=e.wallet,n||(n=r.blockchain),!Nx.evm.includes(n)){t.next=13;break}if(!r||null==r||!r.nonce){t.next=7;break}return t.abrupt("return",null==r||null===(a=r.nonce)||void 0===a?void 0:a.toString());case 7:if(!n){t.next=11;break}return t.next=10,o.transactionCount({blockchain:n,address:i});case 10:return t.abrupt("return",t.sent.toString());case 11:t.next=22;break;case 13:if(!Nx.solana.includes(n)){t.next=22;break}return t.next=16,EG({account:i});case 16:if(!(s=t.sent)){t.next=21;break}return t.abrupt("return",s.nonce.toString());case 21:return t.abrupt("return","0");case 22:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),SG=function(t){kx.useContext(xB).errorCallback;var n=kx.useContext(KB),r=n.track,i=n.validated;n.failed;var o=n.integration,a=n.link,s=n.type,u=kx.useContext(sR),l=u.account,h=u.wallet,d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=QA(kx.useState(),2),b=v[0],w=v[1],M=QA(kx.useState(),2),k=M[0],L=M[1],A=QA(kx.useState(),2);A[0],A[1];var x=QA(kx.useState(),2),E=x[0],N=x[1],S=QA(kx.useState(!1),2),I=S[0],T=S[1],j=QA(kx.useState(!(!r||!r.endpoint&&"function"!=typeof r.method||1==r.async)),1)[0],C=QA(kx.useState(!(!r||1!=r.async)),1)[0],D=QA(kx.useState(!(!r||!r.poll||!r.poll.endpoint&&"function"!=typeof r.poll.method||1==r.async)),1)[0],O=QA(kx.useState(!1),2),_=O[0],z=O[1],P=QA(kx.useState(),2),B=P[0],R=P[1],U=kx.useContext(Lx).setClosable,Q=kx.useContext(nR),W=Q.navigate,F=Q.set,Y=function n(r){var o=new WebSocket("wss://integrate.depay.com/cable");o.onopen=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=r.blockchain,t.t2=r.from,t.next=5,NG({transaction:r,account:l,wallet:h});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"PaymentChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),n={command:"subscribe",identifier:t.t5},o.send(JSON.stringify(n));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),o.onclose=function(t){t&&1e3==t.code||n(r)},o.onmessage=function(e){var n=JSON.parse(e.data);if("ping"!==n.type&&n.message){var r="success"==n.message.status;i&&setTimeout((function(){return i(r,n.message)}),200),n.message.release?(o.close(1e3),r?(z(!0),U(!0),R(n.message.forward_to),n.message.forward_to&&setTimeout((function(){t.document.location.href=n.message.forward_to}),200)):0==r&&(U(!0),F(["PaymentFailed"]))):n.message.confirmations&&(y(n.message.confirmations.required),w(n.message.confirmations.passed))}},o.onerror=function(t){console.log("WebSocket Error: "+t)}},H=function(t,e,n,i){(i=parseInt(i||1,10))<((null==r?void 0:r.attempts)||40)?setTimeout((function(){Z(t,e,n,i+1)}),3e3):W("TrackingFailed")},G=function(t){if(r.endpoint)return fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then((function(t){if(200==t.status||201==t.status)return t;throw t}));if(r.method)return r.method(t);throw"No tracking defined!"},Z=function(){var t=e(c.mark((function t(e,n,r,i){var o;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=G,t.t1=e.blockchain,t.t2=e.id,t.t3=e.from,t.next=6,NG({transaction:e,account:l,wallet:h});case 6:t.t4=t.sent,t.t5=n.toString(),t.t6=r.fromToken.address,t.t7=r.fromAmount.toString(),t.t8=r.fromDecimals,t.t9=r.toToken.address,t.t10=r.toAmount.toString(),t.t11=r.toDecimals,t.t12=null==r||null===(o=r.feeAmount)||void 0===o?void 0:o.toString(),t.t13=e.deadline,t.t14={blockchain:t.t1,transaction:t.t2,sender:t.t3,nonce:t.t4,after_block:t.t5,from_token:t.t6,from_amount:t.t7,from_decimals:t.t8,to_token:t.t9,to_amount:t.t10,to_decimals:t.t11,fee_amount:t.t12,deadline:t.t13},(0,t.t0)(t.t14).then((function(t){T(!0)})).catch((function(t){H(e,n,r,i)}));case 18:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}(),V=function(){var n=e(c.mark((function e(n,o,a,s,u){var d,f;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n&&null!=o&&null!=a&&null!=s){e.next=2;break}return e.abrupt("return");case 2:return e.t0=o.blockchain,e.t1=o.id,e.t2=o.from,e.next=7,NG({transaction:o,account:l,wallet:h});case 7:e.t3=e.sent,e.t4=a.toString(),e.t5=s.toToken.address,d={blockchain:e.t0,transaction:e.t1,sender:e.t2,nonce:e.t3,after_block:e.t4,to_token:e.t5},f=function(e){e&&(e&&e.forward_to?(U(!0),R(e.forward_to),setTimeout((function(){t.document.location.href=e.forward_to}),200)):U(!0),clearInterval(u),i&&i(!0,e),z(!0))},r.poll.endpoint?fetch(r.poll.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}).then((function(t){return 200==t.status||201==t.status?t.json().catch((function(){U(!0)})):void 0})).then(f):r.poll.method&&r.poll.method(d).then(f);case 13:case"end":return e.stop()}}),e)})));return function(t,e,r,i,o){return n.apply(this,arguments)}}();kx.useEffect((function(){if(D&&j){var t=setInterval((function(){return V(D,f,k,E,t)}),5e3);return function(){clearInterval(t)}}}),[D,f,k,E]);var J=function(){var t=e(c.mark((function t(e,n,r,i){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.blockchain,t.t4=e.id,t.t5=e.from,t.next=8,NG({transaction:e,account:l,wallet:h});case 8:t.t6=t.sent,t.t7=r.toAddress,t.t8=r.toToken.address,t.t9=Uc(r.toAmount,r.toDecimals),t.t10=n.toString(),t.t11=e.id,t.t12={sender_id:e.from,sender_token_id:r.fromToken.address,sender_amount:Uc(r.fromAmount,r.fromDecimals),integration:o,link:a,type:s},t.t13=r.fee?Uc(r.feeAmount,r.toDecimals):null,t.t14=r.fee?r.fee.receiver:null,t.t15=e.deadline,t.t16={blockchain:t.t3,transaction:t.t4,sender:t.t5,nonce:t.t6,receiver:t.t7,token:t.t8,amount:t.t9,confirmations:1,after_block:t.t10,uuid:t.t11,payload:t.t12,fee_amount:t.t13,fee_receiver:t.t14,deadline:t.t15},t.t17=t.t2.stringify.call(t.t2,t.t16),t.t18={headers:t.t1,method:"POST",body:t.t17},(0,t.t0)("https://public.depay.com/payments",t.t18).then((function(t){200==t.status||201==t.status||setTimeout((function(){J(e,n,r,i+1)}),3e3)})).catch((function(t){setTimeout((function(){J(e,n,r,i+1)}),3e3)}));case 22:case"end":return t.stop()}}),t)})));return function(e,n,r,i){return t.apply(this,arguments)}}();return kx.createElement(oG.Provider,{value:{synchronousTracking:j,asynchronousTracking:C,initializeTracking:function(t,e,n){J(t,e,n,1),(j||r&&1==r.async)&&Z(t,e,n),0!=j&&(p(t),L(e),N(n),Y(t))},preTrack:function(t,n,i){return j||C?new Promise(function(){var o=e(c.mark((function e(o,a){var s,u;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=n.blockchain,e.t1=l,e.next=4,NG({blockchain:n.blockchain,account:l,wallet:h});case 4:if(e.t2=e.sent,e.t3=t.toString(),e.t4=n.fromToken.address,e.t5=n.fromAmount.toString(),e.t6=n.fromDecimals,e.t7=n.toToken.address,e.t8=n.toAmount.toString(),e.t9=n.toDecimals,e.t10=null==n||null===(s=n.feeAmount)||void 0===s?void 0:s.toString(),e.t11=i.deadline,u={blockchain:e.t0,sender:e.t1,nonce:e.t2,after_block:e.t3,from_token:e.t4,from_amount:e.t5,from_decimals:e.t6,to_token:e.t7,to_amount:e.t8,to_decimals:e.t9,fee_amount:e.t10,deadline:e.t11},!r.endpoint){e.next=19;break}return e.abrupt("return",fetch(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then((function(t){return 200==t.status||201==t.status?o():a("PRETRACKING REQUEST FAILED")})));case 19:r.method?r.method(u).then(o).catch(a):a("No tracking defined!");case 20:case"end":return e.stop()}}),e)})));return function(t,e){return o.apply(this,arguments)}}()):Promise.resolve()},trackingInitialized:I,continueTryTracking:function(){H(f,k,E,1)},release:_,forwardTo:B,confirmationsRequired:g,confirmationsPassed:b}},t.children)},IG=function(t){var e=kx.useContext(xB).setError,n=kx.useContext(sR).account,r=kx.useContext(Ax).updatable,i=kx.useContext(KB),o=i.amount,a=i.currencyCode,s=kx.useContext(MF).amount,u=kx.useContext(XH).payment,c=QA(kx.useState(),2),l=c[0],h=c[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(),2),g=m[0],y=m[1],v=kx.useContext(KB).currency,b=QA(kx.useState(0),2),w=b[0],M=b[1],k=function(t){var r=t.updatable,i=t.payment;0!=r&&null!=(null==i?void 0:i.route)&&(h(null),y(null),Promise.all([Promise.all(L[i.route.blockchain].stables.usd.map((function(t){return wF({blockchain:i.route.blockchain,tokenIn:i.route.fromToken.address,tokenOut:t,amountIn:i.route.fromAmount,fromAddress:n,toAddress:n})}))),i.route.directTransfer?Promise.resolve([]):wF({blockchain:i.route.blockchain,tokenIn:i.route.toToken.address,tokenOut:i.route.fromToken.address,amountIn:i.route.feeAmount?bt.from(i.route.toAmount).add(bt.from(i.route.feeAmount)):i.route.toAmount,fromAddress:n,toAddress:n})]).then((function(t){var e,n=QA(t,2),r=n[0],o=n[1][0];if(o){var a=bt.from(o.amountOut),s=bt.from(i.route.fromAmount),u=100-a.mul(bt.from("100")).div(s).abs().toString();y(u>=10?u:null)}if(L[i.route.blockchain].stables.usd.includes(i.route.fromToken.address)){var c=L[i.route.blockchain].tokens.find((function(t){return t.address===i.route.fromToken.address})).decimals;e=Uc(i.route.fromAmount.toString(),c)}else{var l=r.map((function(t){return t?t[0]:void 0})).filter(Boolean);if(0==l.length)return void h("");var d=l.map((function(t){var e=L[i.route.blockchain].tokens.find((function(e){return e.address===t.tokenOut})).decimals;return parseFloat(Uc(t.amountOut,e))})),f=d.reduce((function(t,e){return t+e}))/d.length,p=d.filter((function(t){return t<f+.1*f&&t>f-.1*f}));e=p.length?p.reduce((function(t,e){return t+e}))/p.length:d.reduce((function(t,e){return t+e}))/d.length}tR.fromUSD({amount:e,code:v}).then(h)})).catch(e))};return kx.useEffect((function(){l&&s&&o&&o.currency&&o.fix?p(l.toString()):!s||null!=o&&1==(null==o?void 0:o.token)?l&&l.toString().length&&1!=(null==o?void 0:o.token)?p(l.toString()):u&&p("".concat(u.symbol," ").concat(u.amount)):p(new tR({amount:s.toFixed(2),code:a}).toString())}),[l,u,s,o]),kx.useEffect((function(){n&&u&&k({updatable:r,payment:u})}),[u,n]),kx.useEffect((function(){var t=setTimeout((function(){M(w+1),k({updatable:r})}),15e3);return function(){return clearTimeout(t)}}),[w,r]),kx.createElement(uG.Provider,{value:{paymentValue:l,paymentValueLoss:g,displayedPaymentValue:f}},t.children)},TG=["all","xcd","eur","bbd","btn","bnd","xaf","cup","usd","fkp","gip","huf","irr","jmd","aud","lak","lyd","mkd","xof","nzd","omr","pgk","rwf","wst","rsd","sek","tzs","amd","bsd","bam","cve","cny","crc","czk","ern","gel","htg","inr","jod","krw","lbp","mwk","mru","mzn","ang","pen","qar","std","sll","sos","sdg","syp","aoa","awg","bhd","bzd","bwp","bif","kyd","cop","dkk","gtq","hnl","idr","ils","kzt","kwd","lsl","myr","mur","mnt","mmk","ngn","pab","php","ron","sar","sgd","zar","srd","twd","top","vef","dzd","ars","azn","bob","bgn","cad","clp","cdf","dop","fjd","gmd","gyd","isk","iqd","jpy","kpw","chf","mga","mdl","mad","npr","nio","pkr","pyg","shp","scr","sbd","lkr","thb","try","aed","vuv","yer","afn","bdt","brl","khr","kmf","hrk","djf","egp","etb","xpf","ghs","gnf","hkd","xdr","kes","kgs","lrd","mop","mvr","mxn","nad","nok","pln","rub","szl","tjs","ttd","ugx","uyu","vnd","tnd","uah","uzs","tmt","gbp","zmw","byn","bmd","ggp","clf","cuc","imp","jep","svc","xag","zwl"],jG=function(t){var n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1],u=QA(kx.useState(!1),2),l=u[0],h=u[1];kx.useContext(xB).errorCallback;var d=kx.useContext(KB).recover,f=kx.useContext(sR),p=f.account,m=f.wallet;kx.useEffect((function(){if(l){var t=function(){fetch("https://public.depay.com/transactions/".concat(r.blockchain,"/").concat(r.from,"/").concat(r.nonce)).then((function(t){200==t.status&&t.json().then((function(t){"pending"!=t.status&&(s({id:t.external_id,status:t.status}),h(!1))}))}))},e=setInterval(t,5e3);return t(),function(){clearInterval(e)}}}),[l]);var g=function(){var t=e(c.mark((function t(e,n,r){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r>3)){t.next=3;break}return console.log("TRANSACTION TRACKING FAILED AFTER 3 ATTEMPTS!"),t.abrupt("return");case 3:return t.t0=fetch,t.t1={"Content-Type":"application/json"},t.t2=JSON,t.t3=e.id,t.t4=n.toString(),t.t5=e.blockchain,t.t6=e.from,t.next=12,NG({transaction:e,wallet:m,account:p});case 12:t.t7=t.sent,t.t8={id:t.t3,after_block:t.t4,blockchain:t.t5,sender:t.t6,nonce:t.t7},t.t9=t.t2.stringify.call(t.t2,t.t8),t.t10={method:"POST",headers:t.t1,body:t.t9},(0,t.t0)("https://public.depay.com/transactions",t.t10).then((function(t){200==t.status||201==t.status?console.log("TRANSACTION TRACKING INITIALIZED"):(console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3))})).catch((function(t){console.log("TRANSACTION TRACKING FAILED",t),setTimeout((function(){g(e,n,r+1)}),3e3)}));case 17:case"end":return t.stop()}}),t)})));return function(e,n,r){return t.apply(this,arguments)}}(),y=function t(n){var r=new WebSocket("wss://integrate.depay.com/cable");r.onopen=function(){var t=e(c.mark((function t(e){var i;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=JSON,t.t1=n.blockchain,t.t2=n.from,t.next=5,NG({transaction:n,wallet:m,account:p});case 5:t.t3=t.sent,t.t4={blockchain:t.t1,sender:t.t2,nonce:t.t3,channel:"TransactionChannel"},t.t5=t.t0.stringify.call(t.t0,t.t4),i={command:"subscribe",identifier:t.t5},r.send(JSON.stringify(i));case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),r.onclose=function(e){e&&1e3==e.code||t(n)},r.onmessage=function(t){var e=JSON.parse(t.data);"ping"!==e.type&&e.message&&e.message.status&&"pending"!=e.message.status&&(s(e.message),r.close(1e3))},r.onerror=function(t){console.log("WebSocket Error: "+t)}},v=function(t,e){Nx.evm.includes(t.blockchain)&&(i(t),null==d&&g(t,e,1),y(t),h(!0))};return kx.useEffect((function(){d&&v({blockchain:d.blockchain,id:d.transaction,from:d.sender,nonce:d.nonce},d.afterBlock)}),[d]),kx.createElement(aG.Provider,{value:{initializeTracking:v,foundTransaction:a}},t.children)},CG=function(){var t=e(c.mark((function t(e){var n;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.accept,!e.recover){t.next=3;break}return t.abrupt("return");case 3:n.forEach((function(t){if(void 0===t.blockchain)throw"You need to set the blockchain your want to receive the payment on!";if(!Nx.includes(t.blockchain))throw"You need to set a supported blockchain!";if(void 0===t.token&&void 0===t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the token you want to receive as payment!";if(void 0===t.token&&void 0!==t.fromToken&&void 0===t.fromAmount&&void 0===t.toToken)throw"You need to set the fromToken, fromAmount and toToken!";if(void 0===t.receiver)throw"You need to set the receiver address that you want to receive the payment!"}));case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),DG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k,L,A,x,E,N,S,I;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.accept,r=e.amount,i=e.sent,o=e.succeeded,a=e.validated,s=e.failed,u=e.error,l=e.critical,h=e.style,d=e.whitelist,f=e.blacklist,p=e.providers,m=e.currency,g=e.connected,y=e.closed,v=e.track,b=e.recover,w=e.closable,M=e.integration,k=e.link,L=e.container,A=e.before,x=e.wallet,E=e.title,N=e.action,S=e.document,JB(),m&&!TG.includes(m.toLowerCase())&&(m=!1),t.prev=3,t.next=6,CG({accept:n,recover:b});case 6:return"function"==typeof window._depayUnmountLoading&&window._depayUnmountLoading(),I=VB({style:h,container:L,document:wB(S),closed:y},(function(t){return function(e){return kx.createElement(TB,{errorCallback:u,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"payment",before:A,amount:r,accept:n,currency:m,event:event,sent:i,succeeded:o,validated:a,failed:s,whitelist:d,blacklist:f,providers:p,track:v,recover:b,integration:M,link:k,wallet:x,title:E,action:N}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:w},kx.createElement(mR,{document:S,container:e,connected:g,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:n},kx.createElement(JH,{accept:n,whitelist:d,blacklist:f,event:event,container:e,document:S},kx.createElement(jG,null,kx.createElement(SG,{document:wB(S)},kx.createElement(sG,{container:e,document:S},kx.createElement(IG,null,kx.createElement(AG,{document:S,container:e}),kx.createElement(Xz,null))))))))))))))}})),t.abrupt("return",{unmount:I});case 11:t.prev=11,t.t0=t.catch(3),console.log("critical error",t.t0),null!=l&&l(t.t0);case 15:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e){return t.apply(this,arguments)}}();DG.preload=function(t){var e=t.account,n=t.accept,r=t.whitelist,i=t.blacklist;t.event,HH({account:e,accept:n,whitelist:r,blacklist:i})};var OG=kx.createContext(),_G=kx.createContext(),zG=function(t){var e=kx.useContext(XH).payment,n=QA(kx.useState(),2),r=n[0],i=n[1],o=QA(kx.useState(),2),a=o[0],s=o[1];return kx.useEffect((function(){e&&Promise.all([e.route.toToken.symbol(),e.route.toToken.readable(e.route.toAmount)]).then((function(t){var n=QA(t,2),r=n[0],o=n[1];i({address:e.route.toToken.address,symbol:r}),s(o)}))}),[e]),kx.createElement(_G.Provider,{value:{toToken:r,toTokenReadableAmount:a}},t.children)},PG=function(t){var e=kx.useContext(MF),n=e.acceptWithAmount,r=e.setMaxRoute,i=kx.useContext(KB).sell,o=kx.useContext(KB).blacklist;for(var a in null==o&&(o={}),i){var s=i[a];o[a]instanceof Array?o[a].push(s):o[a]=[s]}return kx.createElement(OG.Provider,{value:{}},kx.createElement(VH,{accept:n,blacklist:o,setMaxRoute:r},kx.createElement(sG,{container:t.container,document:t.document},kx.createElement(IG,null,kx.createElement(zG,null,t.children)))))},BG=function(t){return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:"Card Skeleton",style:{height:"100px"}},kx.createElement("div",{className:"SkeletonBackground"})),kx.createElement("div",{className:"Card Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("div",{className:"SkeletonWrapper"},kx.createElement("div",{className:"ButtonPrimary Skeleton"},kx.createElement("div",{className:"SkeletonBackground"}))))})},RG=function(t){kx.useContext(MF).amount;var e,n=kx.useContext(KB),r=n.tokenImage,i=n.amount,o=kx.useContext(uG).paymentValue,a=kx.useContext(XH),s=a.payment,u=a.paymentState,c=kx.useContext(Pz).navigate,l=kx.useContext(_G),h=l.toToken,d=l.toTokenReadableAmount,f=QA(kx.useState(),2),p=f[0],m=f[1];if(kx.useEffect((function(){if(o&&(null==i||1!=i.token)&&d){var t=o.amount/parseFloat(d),e=new tR({amount:t,code:o.code}).toString();e!=new tR({amount:0,code:o.code}).toString()&&m(e)}}),[o,d]),null==h||null==d||null==s||null==o)return kx.createElement(BG,null);e=r?kx.createElement("img",{src:r}):kx.createElement(eG,{blockchain:s.route.blockchain,address:h.address});var g=L.findByName(s.blockchain);return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Purchase")),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM PaddingBottomXS"},kx.createElement("div",{className:["Card","initialized"==u?"":"disabled"].join(" "),title:"initialized"==u?"Change amount":void 0,onClick:function(){"initialized"==u&&c("ChangeAmount")}},kx.createElement("div",{className:"CardImage",title:s.name},e,kx.createElement("img",{className:"BlockchainLogo small "+g.name,src:g.logo,alt:g.label,title:g.label})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Amount"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},h.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(d)))),p&&kx.createElement("h3",{className:"CardText small"},kx.createElement("small",null,p," per token")))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))),kx.createElement("div",{className:["Card","initialized"==u?"":"disabled"].join(" "),title:"initialized"==u?"Change payment":void 0,onClick:function(){"initialized"==u&&c("ChangePayment")}},kx.createElement("div",{className:"CardImage",title:s.name},kx.createElement(eG,{blockchain:s.route.blockchain,address:s.token})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardBodyWrapper"},kx.createElement("h4",{className:"CardTitle"},"Payment"),kx.createElement("h2",{className:"CardText"},kx.createElement("div",{className:"TokenAmountRow"},kx.createElement("span",{className:"TokenSymbolCell"},s.symbol),kx.createElement("span",null," "),kx.createElement("span",{className:"TokenAmountCell"},hR(s.amount)))))),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),footer:kx.createElement("div",{className:"PaddingTopXS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement(vG,null))})},UG=function(t){var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(nR).setNavigator;return kx.createElement(Uz,{setNavigator:i,open:n,close:r,start:"SaleOverview",container:t.container,document:t.document,dialogs:{SaleOverview:kx.createElement(RG,null),ChangeAmount:kx.createElement(cG,null),ChangePayment:kx.createElement(hG,null),NoPaymentOptionFound:kx.createElement(qH,null),PaymentOptions:kx.createElement(iG,null),PaymentFailed:kx.createElement(dG,null),WrongNetwork:kx.createElement(LG,null)}})},QG=function(){var t=e(c.mark((function t(e){var r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("object"==n(r=e.sell)){t.next=3;break}throw'You need to configure at least 1 "blockchain": "token"';case 3:if(0!=Object.keys(r).length){t.next=5;break}throw'You need to configure at least 1 "blockchain": "token"';case 5:if(0!=Object.values(r).length){t.next=7;break}throw'You need to configure at least 1 "blockchain": "token"';case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),WG=function(){var t=e(c.mark((function t(e){var n,r,i,o,a,s,u,l,h,d,f,p,m,g,y,v,b,w,M,k;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.amount,r=e.sell,i=e.sent,o=e.succeeded,a=e.failed,s=e.error,u=e.critical,l=e.style,h=e.blacklist,d=e.providers,f=e.currency,p=e.connected,m=e.closed,g=e.tokenImage,y=e.closable,v=e.integration,b=e.wallet,w=e.document,JB(),t.prev=2,t.next=5,QG({sell:r});case 5:return M=Object.keys(r).map((function(t){return{blockchain:t,token:r[t]}})),k=VB({style:l,document:wB(w),closed:m},(function(t){return function(e){return kx.createElement(TB,{errorCallback:s,container:e,unmount:t},kx.createElement(eR,{configuration:{type:"sale",tokenImage:g,amount:n,sell:r,currency:f,sent:i,succeeded:o,failed:a,blacklist:h,providers:d,integration:v,wallet:b}},kx.createElement(XB,null,kx.createElement(xx,{unmount:t,closable:y},kx.createElement(mR,{container:e,connected:p,unmount:t},kx.createElement(oR,null,kx.createElement(NF,null,kx.createElement(EF,{accept:M},kx.createElement(jG,null,kx.createElement(SG,{document:wB(w)},kx.createElement(PG,{container:e,document:w},kx.createElement(UG,{document:w,container:e}),kx.createElement(Xz,null))))))))))))}})),t.abrupt("return",{unmount:k});case 10:t.prev=10,t.t0=t.catch(2),console.log("critical error",t.t0),null!=u&&u(t.t0);case 14:case"end":return t.stop()}}),t,null,[[2,10]])})));return function(e){return t.apply(this,arguments)}}();function FG(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(void 0===t)return t;var n="";return n+=t.slice(0,e+2),n+="...",n+=t.slice(t.length-e,t.length)}var YG=function(t){var e,n,r,i,o;return o=Math.floor(t/1e3),i=Math.floor(o/60),o%=60,r=Math.floor(i/60),i%=60,n=Math.floor(r/24),r%=24,e=Math.floor(n/30),n%=30,{year:Math.floor(e/12),month:e%=12,day:n,hour:r,minute:i,second:o}};function HG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function GG(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?HG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):HG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ZG=function(t){var e,n,r=kx.useContext(Kz),i=r.selection;r.setSelection;var o,a,s=kx.useContext(Lx).setOpen,u=kx.useContext(Pz).navigate;i.nft.createdAt&&(o=[(o=YG(new Date-new Date(i.nft.createdAt))).year&&o.year>=1?o.year>=2?"".concat(o.year," years"):"1 year":void 0,o.month&&o.month>=1?o.month>=2?"".concat(o.month," months"):"1 month":void 0,o.day&&o.day>=1&&o.month<=1&&o.year<1?o.day>=2?"".concat(o.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" ")),i.nft.holders&&(a=i.nft.holders>1e6?"Millions":i.nft.holders>1e5?"Hundreds of Thousands":i.nft.holders>2e3?"Thousands":i.nft.holders>100?"Hundreds":"Only a Few!!!");var c=(null===(e=i.nft)||void 0===e?void 0:e.blockchain)||(null===(n=i.blockchain)||void 0===n?void 0:n.name);if(null==c)return u("SelectBlockchain"),null;return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},i.nft.image&&kx.createElement("img",{src:i.nft.image})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i.nft.address,href:L.findByName(c).explorerUrlFor({token:i.nft.address}),target:"_blank",rel:"noopener noreferrer"},FG(i.nft.address,6))))),i.nft.id&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Token ID")),kx.createElement("td",null,kx.createElement("div",null,i.nft.id))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,L.findByName(c).label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("a",{className:"Link",href:i.nft.link,target:"_blank",rel:"noopener noreferrer"},i.nft.name))),o&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,o))),a&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,a))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){s(!1),t.resolve(GG(GG({},i.nft),{},{blockchain:c})),setTimeout(t.unmount,300)}},"Confirm"))})},VG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjMuMjUwODg5bW0iIGhlaWdodD0iNjMuMjUwODg5bW0iIHZpZXdCb3g9IjAgMCA2My4yNTA4ODYgNjMuMjUwODg4Ij4KICA8ZyBmaWxsPSJub25lIiB0cmFuc2Zvcm09InNjYWxlKC42MzI1KSI+CiAgICA8cGF0aCBmaWxsPSIjMjA4MWUyIiBkPSJNMTAwIDUwYzAgMjcuNjEyNy0yMi4zODczIDUwLTUwIDUwUzAgNzcuNjEyNyAwIDUwIDIyLjM4NzMgMCA1MCAwYzI3LjYxODUgMCA1MCAyMi4zODczIDUwIDUweiIvPgogICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTI0LjY2NzkgNTEuNjgwMS4yMTU3LS4zMzkxIDEzLjAwNy0yMC4zNDc4Yy4xOTAxLS4yOTc5LjYzNy0uMjY3MS43ODA4LjA1NjUgMi4xNzMgNC44Njk5IDQuMDQ4IDEwLjkyNjUgMy4xNjk2IDE0LjY5NzEtLjM3NSAxLjU1MTQtMS40MDI0IDMuNjUyNC0yLjU1ODMgNS41OTQyLS4xNDg5LjI4MjYtLjMxMzMuNTYtLjQ4OC44MjcxLS4wODIyLjEyMzMtLjIyMDkuMTk1Mi0uMzY5OS4xOTUySDI1LjA0OGMtLjM1OTYgMC0uNTcwMi0uMzkwNC0uMzgwMS0uNjgzMnoiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik04Mi42NDQ0IDU1LjQ2MXYzLjIyMDljMCAuMTg0OS0uMTEzLjM0OTMtLjI3NzQuNDIxMi0xLjAwNjguNDMxNS00LjQ1MzggMi4wMTM3LTUuODg3IDQuMDA2OS0zLjY1NzYgNS4wOTA4LTYuNDUyMSAxMi4zNy0xMi42OTg4IDEyLjM3SDM3LjcyMUMyOC40ODQ3IDc1LjQ4IDIxIDY3Ljk2OTcgMjEgNTguNzAyNHYtLjI5NzljMC0uMjQ2Ni4yMDAzLS40NDY5LjQ0NjktLjQ0NjloMTQuNTI3NmMuMjg3NiAwIC40OTgyLjI2NzEuNDcyNi41NDk2LS4xMDI4Ljk0NTIuMDcxOSAxLjkxMS41MTg4IDIuNzg5NC44NjMgMS43NTE4IDIuNjUwNyAyLjg0NiA0LjU4MjIgMi44NDZINDguNzR2LTUuNjE0OGgtNy4xMDk3Yy0uMzY0NyAwLS41ODA0LS40MjEzLS4zNjk4LS43MTkyLjA3Ny0uMTE4Mi4xNjQ0LS4yNDE0LjI1NjgtLjM4MDEuNjczLS45NTU1IDEuNjMzNi0yLjQ0MDEgMi41ODkxLTQuMTMwMi42NTI0LTEuMTQwNCAxLjI4NDItMi4zNTc5IDEuNzkyOC0zLjU4MDUuMTAyOC0uMjIwOS4xODQ5LS40NDcuMjY3MS0uNjY3OS4xMzg3LS4zOTA0LjI4MjYtLjc1NTEuMzg1My0xLjExOTguMTAyOC0uMzA4My4xODQ5LS42MzE5LjI2NzEtLjkzNS4yNDE1LTEuMDM3Ny4zNDQyLTIuMTM3LjM0NDItMy4yNzc0IDAtLjQ0NjktLjAyMDUtLjkxNDQtLjA2MTYtMS4zNjEzLS4wMjA2LS40ODgtLjA4MjItLjk3NjEtLjE0MzktMS40NjQxLS4wNDExLS40MzE1LS4xMTgxLS44NTc5LS4yMDAzLTEuMzA0OC0uMTAyNy0uNjUyNC0uMjQ2Ni0xLjI5OTYtLjQxMS0xLjk1MjFsLS4wNTY1LS4yNDY1Yy0uMTIzMy0uNDQ3LS4yMjYtLjg3MzMtLjM2OTgtMS4zMjAyLS40MDU5LTEuNDAyNS0uODczMy0yLjc2ODktMS4zNjY1LTQuMDQ4LS4xNzk4LS41MDg2LS4zODUzLS45OTY2LS41OTA4LTEuNDg0Ni0uMzAzLS43MzQ2LS42MTEzLTEuNDAyNC0uODkzOC0yLjAzNDMtLjE0MzgtLjI4NzctLjI2NzEtLjU0OTctLjM5MDQtLjgxNjgtLjEzODctLjMwMzEtLjI4MjUtLjYwNjItLjQyNjQtLjg5MzgtLjEwMjctLjIyMDktLjIyMDktLjQyNjQtLjMwMzEtLjYzMTlsLS44Nzg0LTEuNjIzM2MtLjEyMzMtLjIyMDkuMDgyMi0uNDgyOS4zMjM2LS40MTYxbDUuNDk2NyAxLjQ4OTdoLjAxNTRjLjAxMDIgMCAuMDE1NC4wMDUyLjAyMDUuMDA1MmwuNzI0My4yMDAzLjc5NjMuMjI2MS4yOTI4LjA4MjF2LTMuMjY3MUM0OC43NCAyMS4yNzkxIDUwLjAwMzcgMjAgNTEuNTY1NCAyMGMuNzgwOCAwIDEuNDg5Ny4zMTg1IDEuOTk4My44MzczLjUwODUuNTE4OS44MjcgMS4yMjc4LjgyNyAyLjAxODl2NC44NDk0bC41ODU3LjE2NDNjLjA0NjIuMDE1NS4wOTI0LjAzNi4xMzM1LjA2NjguMTQzOS4xMDc5LjM0OTMuMjY3MS42MTEzLjQ2MjQuMjA1NS4xNjQzLjQyNjQuMzY0Ny42OTM1LjU3MDIuNTI5MS40MjYzIDEuMTYxLjk3NiAxLjg1NDUgMS42MDc5LjE4NDkuMTU5Mi4zNjQ3LjMyMzYuNTI5MS40ODguODkzOS44MzIyIDEuODk1NiAxLjgwODIgMi44NTExIDIuODg3LjI2NzEuMzAzMS41MjkxLjYxMTMuNzk2Mi45MzQ5LjI2NzEuMzI4OC41NDk3LjY1MjQuNzk2Mi45NzYxLjMyMzcuNDMxNS42NzMuODc4NC45NzYxIDEuMzQ1OS4xNDM4LjIyMDkuMzA4Mi40NDY5LjQ0NjkuNjY3OC4zOTA0LjU5MDcuNzM0NiAxLjIwMjEgMS4wNjM0IDEuODEzNC4xMzg3LjI4MjUuMjgyNS41OTA3LjQwNTguODkzOC4zNjQ3LjgxNjguNjUyNCAxLjY0OS44MzczIDIuNDgxMi4wNTY1LjE3OTguMDk3Ni4zNzUuMTE4Mi41NDk3di4wNDExYy4wNjE2LjI0NjUuMDgyMi41MDg1LjEwMjcuNzc1Ni4wODIyLjg1MjguMDQxMSAxLjcwNTUtLjE0MzggMi41NjM0LS4wNzcxLjM2NDgtLjE3OTguNzA4OS0uMzAzMSAxLjA3MzctLjEyMzMuMzQ5My0uMjQ2Ni43MTQtLjQwNTggMS4wNTgyLS4zMDgyLjcxNC0uNjczIDEuNDI4MS0xLjEwNDUgMi4wOTU5LS4xMzg3LjI0NjYtLjMwMzEuNTA4Ni0uNDY3NS43NTUyLS4xNzk4LjI2MTktLjM2NDcuNTA4NS0uNTI5MS43NS0uMjI2LjMwODItLjQ2NzQuNjMxOC0uNzE0LjkxOTUtLjIyMDkuMzAzMS0uNDQ2OS42MDYyLS42OTM1Ljg3MzMtLjM0NDIuNDA1OC0uNjczLjc5MTEtMS4wMTcyIDEuMTYxLS4yMDU0LjI0MTQtLjQyNjMuNDg4LS42NTI0LjcwODktLjIyMDguMjQ2NS0uNDQ2OS40Njc0LS42NTI0LjY3MjktLjM0NDEuMzQ0Mi0uNjMxOC42MTEzLS44NzMzLjgzMjJsLS41NjUuNTE4OWMtLjA4MjIuMDcxOS0uMTkwMS4xMTMtLjMwMzEuMTEzaC00LjM3Njh2NS42MTQ4aDUuNTA2OWMxLjIzMjkgMCAyLjQwNDItLjQzNjcgMy4zNDk0LTEuMjM4MS4zMjM2LS4yODI1IDEuNzM2My0xLjUwNTEgMy40MDU4LTMuMzQ5My4wNTY1LS4wNjE3LjEyODUtLjEwNzkuMjEwNy0uMTI4NGwxNS4yMTA3LTQuMzk3M2MuMjgyNi0uMDgyMi41NzAyLjEzMzUuNTcwMi40MzE1eiIvPgogIDwvZz4KPC9zdmc+",JG=function(t){var n,r,i,o,a,s,u=kx.useContext(Pz).navigate,l=kx.useContext(Kz),h=l.selection,d=l.setSelection,f=QA(kx.useState(""),2),p=f[0],m=f[1],g=QA(kx.useState(""),2),y=g[0],v=g[1],b=QA(kx.useState(""),2),w=b[0],M=b[1],k=QA(kx.useState(""),2),A=k[0],x=k[1],E=QA(kx.useState(!1),2),N=E[0],S=E[1];return kx.useEffect((function(){var t,n,r=(null==h||null===(t=h.blockchain)||void 0===t?void 0:t.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain),i=function(){var t=e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r){t.next=10;break}return t.prev=1,t.next=4,CL({blockchain:r,address:h.nft.address,method:"balanceOf",api:YR[r][1155],params:["0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02","1"]});case 4:e=t.sent,t.next=9;break;case 7:t.prev=7,t.t0=t.catch(1);case 9:e&&S(!0);case 10:case"end":return t.stop()}}),t,null,[[1,7]])})));return function(){return t.apply(this,arguments)}}();i()}),[h.blockchain]),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG}))))),body:kx.createElement("div",{className:"PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTBlockchain"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Select Blockchain"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("div",{className:"Card small",onClick:function(){return u("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:null===(n=L.findByName((null==h||null===(r=h.blockchain)||void 0===r?void 0:r.name)||(null==h?void 0:h.blockchain)||(null==h||null===(i=h.collection)||void 0===i?void 0:i.blockchain)))||void 0===n?void 0:n.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},null===(o=L.findByName((null==h||null===(a=h.blockchain)||void 0===a?void 0:a.name)||(null==h?void 0:h.blockchain)||(null==h||null===(s=h.collection)||void 0===s?void 0:s.blockchain)))||void 0===o?void 0:o.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null))))),N&&kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTTokenId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTTokenId",name:"DePayWidgetsEnterNFTTokenId",value:p,onChange:function(t){return m(t.target.value)},className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTName"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter NFT Name"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTName",name:"DePayWidgetsEnterNFTName",value:A,onChange:function(t){return x(t.target.value)},placeholder:"CryptoPunks",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTImage"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Image URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTImage",name:"DePayWidgetsEnterNFTImage",value:y,onChange:function(t){return v(t.target.value)},placeholder:"https://i.seadn.io/gae/BdxvLseXcfl57BiuQcQYdJ64v-aI8din7WPk0Pgo3qQFhAUH-B6i-dCqqc_mCkRIzULmwzwecnohLhrcH8A9mpWIZqA7ygc52Sr81hE?auto=format&w=128",className:"Search"}))),kx.createElement("div",null,kx.createElement("div",{className:"PaddingTopXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterNFTLink"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Link URL"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterNFTLink",name:"DePayWidgetsEnterNFTLink",value:w,onChange:function(t){return M(t.target.value)},placeholder:"https://opensea.io/collection/cryptopunks",className:"Search"})))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomM"},kx.createElement("button",{className:["ButtonPrimary",y.length&&w.length&&A.length&&(!N||p.length)?"":"disabled"].join(" "),onClick:function(){y.length&&w.length&&A.length&&(!N||p.length)&&function(){var e,n,r=(null==h||null===(e=h.blockchain)||void 0===e?void 0:e.name)||(null==h?void 0:h.blockchain)||(null==h||null===(n=h.collection)||void 0===n?void 0:n.blockchain);d(Object.assign(t.selection,{nft:{blockchain:r,id:p,image:y,name:A,link:w,address:h.nft.address,type:N?"1155":"721"}})),u("ConfirmNFTSelection")}()}},"Continue"))})},qG={ethereum:"ethereum",matic:"polygon,"},XG=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz).setSelection,m=function(e){p(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},g=function(t){return new Promise((function(e,n){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(t)).then((function(t){if(200!=t.status)return e();t.json().then((function(t){return e(t.assets?t.assets[0]:void 0)})).catch((function(){return e()}))})).catch((function(){return e()}))}))},y=kx.useCallback(pR.debounce((function(n){fetch("https://api.opensea.io/api/v1/asset_contract/".concat(n)).then((function(i){200==i.status?i.json().then(function(){var i=e(c.mark((function e(i){var o,s,u,h,d,y,v,b,w,M;return c.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("non-fungible"!=i.asset_contract_type){e.next=8;break}return e.next=3,g(n);case 3:(h=e.sent)&&(s=null!=h&&h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[h.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,u=null==h||null===(d=h.collection)||void 0===d||null===(y=d.stats)||void 0===y?void 0:y.num_owners),o={blockchain:s,holders:u,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"721"},e.next=22;break;case 8:if("semi-fungible"!=i.asset_contract_type){e.next=21;break}if("OPENSTORE"!=i.symbol||"OpenSea Collection"!=i.name){e.next=13;break}o={id:null,address:ln(i.address),type:"1155"},e.next=19;break;case 13:return e.next=15,g(n);case 15:w=e.sent,M=null!=w&&w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?qG[w.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,null==w||null===(v=w.collection)||void 0===v||null===(b=v.stats)||void 0===b||b.num_owners,o={blockchain:M,id:null,createdAt:i.created_date,image:i.image_url,name:i.collection?i.collection.name:void 0,link:i.collection?"https://opensea.io/collection/".concat(i.collection.slug):void 0,address:ln(i.address),type:"1155"};case 19:e.next=22;break;case 21:i.address&&(o={address:ln(i.address)});case 22:o&&(null==o.type?(p(Object.assign(t.selection,{nft:o,blockchain:o.blockchain||"polygon"})),r("EnterNFTDataForOpenSea"),a("")):null!==o.id?(m(o),f([o]),r("ConfirmNFTSelection")):(p(Object.assign(t.selection,{nft:o})),r("SelectNFTIdOnOpenSea"),a(""))),l(!1);case 24:case"end":return e.stop()}}),e)})));return function(t){return i.apply(this,arguments)}}()).catch((function(){l(!1)})):l(!1)})).catch((function(){l(!1)}))}),500),[]);return n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return m(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterContractAddress"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter contract address"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterContractAddress",name:"DePayWidgetsEnterContractAddress",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?y(e):l(!1)},className:"Search",autoFocus:!0,placeholder:"0x495f947276749ce646f68ac8c248420045cb7b5e"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})};function KG(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $G(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?KG(Object(n),!0).forEach((function(e){eP(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):KG(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var tZ={ethereum:"ethereum",matic:"polygon,"},eZ=function(t){var n,r=kx.useContext(Pz).navigate,i=QA(kx.useState(""),2),o=i[0],a=i[1],s=QA(kx.useState(!1),2),u=s[0],l=s[1],h=QA(kx.useState([]),2),d=h[0],f=h[1],p=kx.useContext(Kz),m=p.selection,g=p.setSelection,y=function(e){g(Object.assign(t.selection,{nft:e})),r("ConfirmNFTSelection")},v=kx.useCallback(pR.debounce((function(t){fetch("https://api.opensea.io/api/v1/asset/".concat(m.nft.address,"/").concat(t)).then((function(t){if(200!=t.status)return resolve();t.json().then(function(){var t=e(c.mark((function t(e){var n,r;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=null!=e&&e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[e.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0,r=$G($G({},m.nft),{},{blockchain:n,id:e.token_id,image:e.image_url,name:e.name,link:e.permalink}),f([r]),y(r),l(!1);case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(){l(!1)}))})).catch((function(){l(!1)}))}),500),[]);return kx.useEffect((function(){fetch("https://api.opensea.io/api/v1/assets?asset_contract_address=".concat(m.nft.address)).then((function(t){if(200!=t.status)return resolve();t.json().then((function(t){if(t.assets.length<=6){var e=t.assets.map((function(t){var e=null!=t&&t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)?tZ[t.permalink.match(/https:\/\/opensea\.io\/assets\/(\w*)\//)[1]]:void 0;return $G($G({},m.nft),{},{blockchain:e,id:t.token_id,image:t.image_url,name:t.name,link:t.permalink})}));f(e),1==e.length&&y(e[0])}}))}))}),[]),n=u?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:d.map((function(t,e){return kx.createElement("div",{key:e,className:"Card Row",onClick:function(){return y(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.image})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenFullName",title:t.name},kx.createElement("span",{className:"CardText"},t.name))))})),kx.createElement(Qz,{stacked:!0,header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("div",{className:"LineHeightL FontSizeL PaddingTopXS"},kx.createElement("span",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:VG})))),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS TextLeft"},kx.createElement("label",{htmlFor:"DePayWidgetsEnterCollectionId"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Enter Token ID"))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS TextLeft"},kx.createElement("input",{id:"DePayWidgetsEnterCollectionId",name:"DePayWidgetsEnterCollectionId",value:o,onChange:function(t){l(!0),f([]);var e=t.target.value;a(e),e&&e.length?v(e):l(!1)},className:"Search",placeholder:"35347623114821255323888368639026081793120226253597860997754787918389704654849"}))),bodyClassName:"ScrollHeight",body:kx.createElement("div",null,n)})},nZ=function(t){var e=kx.useContext(Pz).navigate,n=[{name:"OpenSea",navigate:"SelectNFTContractOnOpenSea",logo:VG}].map((function(t,n){return kx.createElement("div",{key:n,className:"Card Row",onClick:function(){return function(t){e(t.navigate)}(t)}},kx.createElement("div",{className:"CardImage"},kx.createElement("img",{src:t.logo})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:t.name},kx.createElement("span",{className:"CardText"},t.name)),kx.createElement("div",{className:"CardTokenName PaddingTopXS"},kx.createElement(fG,null))))}));return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select NFT")),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("span",{className:"FontSizeM Opacity05"},"Choose which marketplace"))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},n)})},rZ=function(t){kx.useContext(KB).what;var e=kx.useContext(Lx),n=e.open,r=e.close,i=kx.useContext(Kz),o=i.selection;i.setSelection;var a=QA(kx.useState(),2);a[0];var s,u=a[1];return s="SelectMarketplace",kx.createElement(Uz,{open:n,close:r,start:s,container:t.container,document:t.document,setNavigator:function(t){u(t)},dialogs:{SelectMarketplace:kx.createElement(nZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTContractOnOpenSea:kx.createElement(XG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectNFTIdOnOpenSea:kx.createElement(eZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),EnterNFTDataForOpenSea:kx.createElement(JG,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmNFTSelection:kx.createElement(ZG,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},iZ=function(t){var e=kx.useContext(Kz).selection,n=kx.useContext(Lx).setOpen,r=e.token,i=r.address||r.external_id,o=r.logo||r.image,a=L.findByName(r.blockchain),s=r.first_transfer?YG(new Date-new Date(r.first_transfer)):void 0;s&&(s=[s.year&&s.year>=1?s.year>=2?"".concat(s.year," years"):"1 year":void 0,s.month&&s.month>=1?s.month>=2?"".concat(s.month," months"):"1 month":void 0,s.day&&s.day>=1&&s.month<=1&&s.year<1?s.day>=2?"".concat(s.day," days !!!"):"1 day !!!":void 0].filter((function(t){return t})).join(" "));var u=r.unique_senders?r.unique_senders:void 0;u&&(u=u>1e6?"Millions":u>1e5?"Hundreds of Thousands":u>2e3?"Thousands":u>100?"Hundreds":"Only a Few!!!");return kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Confirm Selection"))),stacked:!0,body:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM"},kx.createElement("div",{className:"TokenImage medium TextCenter"},o&&kx.createElement("img",{src:o}),!o&&kx.createElement(eG,{blockchain:r.blockchain,address:i})),kx.createElement("div",{className:"PaddingTopS TextCenter"},kx.createElement("div",{className:"Alert FontSizeS"},kx.createElement("strong",null,"Please review this information"))),kx.createElement("div",{className:"PaddingTopXS"},kx.createElement("table",{className:"Table TextLeft FontSizeS"},kx.createElement("tbody",null,kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Address")),kx.createElement("td",null,kx.createElement("div",null,kx.createElement("a",{className:"Link",title:i,href:a.explorerUrlFor({token:i}),target:"_blank",rel:"noopener noreferrer"},FG(i,8))))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Blockchain")),kx.createElement("td",null,kx.createElement("div",null,a.label))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Symbol")),kx.createElement("td",null,kx.createElement("div",null,r.symbol))),kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Name")),kx.createElement("td",null,kx.createElement("div",null,r.name))),s&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Age")),kx.createElement("td",null,kx.createElement("div",null,s))),u&&kx.createElement("tr",null,kx.createElement("td",null,kx.createElement("div",{className:"TableSubTitle"},"Holders")),kx.createElement("td",null,kx.createElement("div",null,u))))))),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("button",{className:"ButtonPrimary",onClick:function(){n(!1),t.resolve({blockchain:r.blockchain,address:r.external_id||r.address,symbol:r.symbol,name:r.name,decimals:r.decimals,logo:r.image||r.logo,routable:r.routable}),setTimeout(t.unmount,300)}},"Confirm"))})},oZ=function(t){var n=kx.useContext(Pz).navigate,r=kx.useContext(Lx).setOpen,i=kx.useContext(Kz).setSelection,o=QA(kx.useState(!1),2),a=o[0],s=o[1],u=QA(kx.useState(""),2),l=u[0],h=u[1],d=QA(kx.useState(),2),f=d[0],p=d[1],m=QA(kx.useState(!1),2),g=m[0],y=m[1],v=QA(kx.useState([]),2),b=v[0],w=v[1],M=QA(kx.useState(),2);M[0],M[1];var k=kx.useRef(),A=function(e){var n=L.findByName(e);p(n),i(Object.assign(t.selection,{blockchain:n,token:void 0})),w(n.tokens)};kx.useEffect((function(){e(c.mark((function t(){var e;return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,BA();case 2:(e=t.sent[0])?e.connectedTo().then((function(t){var e=L.findByName(t);window._depay_token_selection_selected_blockchain?A(window._depay_token_selection_selected_blockchain):t&&t.length&&e&&e.tokens&&e.tokens.length?A(t):A("ethereum")})).catch((function(){return A("ethereum")})):A("ethereum");case 4:case"end":return t.stop()}}),t)})))()}),[]),kx.useEffect((function(){t.selection.blockchain&&(p(t.selection.blockchain),w(t.selection.blockchain.tokens),k.current&&(k.current.value="",k.current.focus()))}),[t.selection,t.selection.blockchain]);var x,E=kx.useCallback(pR.debounce((function(t,e){fetch("https://public.depay.com/tokens/search?blockchain=".concat(e,"&term=").concat(t)).then((function(t){200==t.status?t.json().then((function(t){w(t),s(!1)})).catch((function(){return reject})):reject()})).catch((function(){return reject}))}),500),[]);return x=a?[kx.createElement("div",{className:"SkeletonWrapper",key:"loading"},kx.createElement("div",{className:"Skeleton",style:{height:"69px",width:"100%"}},kx.createElement("div",{className:"SkeletonBackground"})))]:b.map((function(e,o){return kx.createElement("div",{key:"".concat(o,"-").concat(e.address),className:"Card Row",onClick:function(){return function(e){e.address&&e.address.match("0x")&&(e.address=ln(e.address)),e.external_id&&e.external_id.match("0x")&&(e.external_id=ln(e.external_id)),f.tokens.find((function(t){return t.address==(e.address||e.external_id)}))?(r(!1),t.resolve({blockchain:f.name,address:e.address||e.external_id,logo:e.logo||e.image,name:e.name,symbol:e.symbol,decimals:e.decimals,routable:!0}),setTimeout(t.unmount,300)):(i(Object.assign(t.selection,{token:e})),n("ConfirmTokenSelection"))}(e)}},kx.createElement("div",{className:"CardImage"},e.logo&&kx.createElement("img",{src:e.logo}),e.image&&kx.createElement("img",{src:e.image}),!(e.logo||e.image)&&kx.createElement(eG,{blockchain:e.blockchain,address:e.external_id||e.address})),kx.createElement("div",{className:"CardBody"},kx.createElement("div",{className:"CardTokenSymbol",title:e.symbol},kx.createElement("span",{className:"CardText"},e.symbol)),kx.createElement("div",{className:"CardTokenName",title:e.name},kx.createElement("span",{className:"CardText"},e.name))))})),null==f?null:kx.createElement(Qz,{header:kx.createElement("div",{className:"PaddingTopS PaddingLeftM PaddingRightM TextLeft"},kx.createElement("div",null,kx.createElement("h1",{className:"LineHeightL FontSizeL"},"Select Token")),kx.createElement("div",{className:"PaddingTopS PaddingBottomXS"},kx.createElement("div",{className:"Card small",onClick:function(){n("SelectBlockchain")}},kx.createElement("div",{className:"CardImage small"},kx.createElement("img",{className:"transparent",src:f.logo})),kx.createElement("div",{className:"CardBody FontSizeM"},f.label),kx.createElement("div",{className:"CardAction"},kx.createElement(fG,null)))),kx.createElement("div",{className:"PaddingTopXS PaddingBottomS"},kx.createElement("input",{value:l,onBlur:function(){return y(!1)},onChange:function(t){y(!1),s(!0);var e=t.target.value;if(h(e),e.match(/^0x/)){var n;w([]);try{n=new YR({blockchain:f.name,address:e})}catch(t){}if(null==n)return void s(!1);Promise.all([n.name(),n.symbol(),n.decimals(),fetch("https://public.depay.com/tokens/routable/".concat(f.name,"/").concat(e)).then((function(t){if(200==t.status)return t.json()}))]).then((function(t){var n=QA(t,4),r=n[0],i=n[1],o=n[2],a=n[3];w([{name:r,symbol:i,decimals:o,address:e,blockchain:f.name,routable:!!a}]),s(!1)}))}else e&&e.length?(w([]),E(e,f.name)):(w(f.tokens),s(!1))},className:"Search",autoFocus:!0,placeholder:"Search name or paste address",ref:k}),g&&kx.createElement("div",{className:"PaddingTopXS PaddingRightXS PaddingLeftXS"},kx.createElement("div",{className:"Tooltip"},kx.createElement("span",{className:"TooltipArrowUp"}),"Enter token address here")))),bodyClassName:"ScrollHeight",body:kx.createElement("div",{className:""},x),footer:kx.createElement("div",{className:"PaddingTopS PaddingRightM PaddingLeftM PaddingBottomS"},kx.createElement("div",{className:"PaddingTopXS PaddingBottomXS"},kx.createElement("div",{className:"Link FontSizeS",onClick:function(){y(!0),k.current&&(k.current.value="",k.current.focus())}},"Token missing? Add it.")))})},aZ=function(t){kx.useContext(KB).what;var e,n=kx.useContext(Lx),r=n.open,i=n.close,o=kx.useContext(Kz).selection;return e="SelectToken",kx.createElement(Uz,{open:r,close:i,start:e,container:t.container,document:t.document,dialogs:{SelectToken:kx.createElement(oZ,{selection:o,resolve:t.resolve,unmount:t.unmount}),SelectBlockchain:kx.createElement($z,{selection:o,resolve:t.resolve,unmount:t.unmount}),ConfirmTokenSelection:kx.createElement(iZ,{selection:o,resolve:t.resolve,unmount:t.unmount})}})},sZ={Connect:function(t){var r,i,o;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(a){return kx.createElement(TB,{errorCallback:i,container:a,unmount:t},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,kx.createElement(bB,{document:o,container:a,resolve:e,reject:n,autoClose:!0}),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Login:function(t){var r,i,o,a,s,u,l;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.message,s=t.endpoint,u=t.recover,l=t.wallet),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{message:a,endpoint:s||"/login",recoverSignature:u,wallet:l}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(mR,{container:n,unmount:t},kx.createElement(cR,{document:o,container:n,resolve:function(n){var r=n.account,i=n.wallet;t(),e({account:r,wallet:i})}}),kx.createElement(Xz,null))))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Payment:DG,Sale:WG,Select:function(t){var r,i,o,a,s;return JB(),"object"==n(t)&&(r=t.style,i=t.error,o=t.document,a=t.what),null==a?s='"what" needs to be configured!':["token","nft"].indexOf(a)<0&&(s='Unknown "what" configured: '.concat(a,"!")),new Promise(function(){var t=e(c.mark((function t(e,n){return c.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:VB({style:r,document:wB(o)},(function(t){var r=function(){n("USER_CLOSED_DIALOG"),t()};return function(n){return kx.createElement(TB,{error:s,errorCallback:i,container:n,unmount:t},kx.createElement(eR,{configuration:{what:a}},kx.createElement(XB,null,kx.createElement(xx,{unmount:r},kx.createElement(qB,null,"token"==a&&kx.createElement(aZ,{document:o,container:n,unmount:t,resolve:e}),"nft"==a&&kx.createElement(rZ,{document:o,container:n,unmount:t,resolve:e})),kx.createElement(Xz,null)))))}}));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())},Loading:aR};export{sZ as default};