keyring-chatbot-agent-sdk-test 0.1.7 → 0.2.0

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,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".chat-button{cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;border-radius:16px}.chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.chat-button:active{transform:scale(.95)}.chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;z-index:9999;pointer-events:all;animation:fadeIn .2s ease}#chat-modal-title{color:#0b3988;font-weight:900;font-style:Regular;font-size:18px}.chat-modal-overlay.chat-modal-overlay--left{justify-content:flex-start}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{width:90%;max-width:480px;height:700px;max-height:calc(100dvh - 64px);background:#f5f5f7;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;margin:20px;pointer-events:all;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-modal-header{background:#fff;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7}.chat-modal-header-left{display:flex;align-items:center;gap:12px}.keyring-logo{width:32px;height:32px}.chat-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1d}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s}.close-button:hover{background:#f5f5f7;color:#000}.chat-user-info{background:#fff;padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e5e7}.user-avatar{width:20px;height:20px;border-radius:50%}.user-avatar img{border-radius:50%}.user-wallet,.user-wallet a{font-size:14px;font-weight:500;color:#0b3988}.copy-address-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:3px;color:#999;border-radius:4px;transition:color .15s,background .15s;line-height:0}@media(min-width:640px){.copy-address-btn:hover{color:#1a1a1d;background:#f0f0f0}}.chat-modal-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-messages{flex:1;padding:16px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;background:#e5e5e7;padding:6px 16px;border-radius:12px;align-self:center;width:fit-content;margin:8px auto}.message{display:flex;animation:messageSlide .3s ease;position:relative}@media(min-width:640px){.message:hover .message-reply-button{opacity:1}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-reply-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e5e7;border-radius:8px;padding:6px;cursor:pointer;opacity:0;transition:all .2s;box-shadow:0 2px 8px #0000001a;z-index:10}.message-bot .message-reply-button{right:20px}.message-user .message-reply-button{left:20px}.message-reply-button:hover{background:#f5f5f7;transform:translateY(-50%) scale(1.1)}.message-reply-button svg{display:block;width:16px;height:16px;color:#666}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-bubble{max-width:85%;padding:8px 16px;border-radius:20px}.message-bot .message-bubble{background:#fff;box-shadow:0 2px 8px #0000000f;border-bottom-left-radius:4px}.message-user .message-bubble{background:#5b7fff;color:#fff;border-bottom-right-radius:4px}.message-user .message-bubble a{color:#fff}.message-reply-to{background:#0000000d;padding:8px 12px;border-radius:6px;margin-bottom:8px;border-left:3px solid #5b7fff}.message-bot .message-reply-to{background:#f5f5f7}.message-user .message-reply-to{background:#ffffff26;border-left-color:#ffffff80}.message-reply-to-label{font-size:11px;font-weight:600;margin-bottom:4px}.message-bot .message-reply-to-label{color:#5b7fff}.message-user .message-reply-to-label{color:#ffffffe6}.message-reply-to-text{font-size:12px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-line}.message-bot .message-text{color:#1a1a1d}.message-user .message-text{color:#fff}.message-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:8px}.message-button{flex:1 1 calc(50% - 4px);min-width:100px;padding:8px 16px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;font-weight:500;color:#1a1a1d;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-button.full-width{flex:1 1 100%;text-align:center;white-space:normal;padding:8px 16px;font-size:14px}@media(min-width:640px){.message-button:hover{background:#fff;border-color:#007aff;color:#007aff;transform:translateY(-1px);box-shadow:0 2px 8px #007aff26}.message-button:active{transform:translateY(0);box-shadow:0 1px 4px #007aff1a}}.message-user .message-button{background:#fff3;border-color:#ffffff4d;color:#fff}.message-user .message-button:hover{background:#ffffff4d;border-color:#ffffff80}.message-timestamp{line-height:1;font-size:11px;color:#999;display:flex;align-items:center;gap:4px;justify-content:flex-end}.message-user .message-timestamp{color:#ffffffb3}.check-icon{width:14px;height:14px}.typing-indicator .message-bubble{padding:12px 18px;display:flex;gap:6px;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:10px;margin-top:8px}.suggestion-button{background:#d4d8f0;border:none;padding:8px 16px;border-radius:16px;display:flex;gap:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1a1a1d;width:100%;text-align:center;align-items:center;justify-content:center}.suggestion-button:hover{background:#c5caeb;transform:translateY(-1px)}.suggestion-icon{font-size:18px}.chat-modal-input{padding:8px 16px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:8px;box-shadow:0 -5px 8px 4px #0000000d}.reply-preview{background:#f5f5f7;padding:10px 14px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600;margin-bottom:4px}.reply-preview-text{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;padding:2px;color:#999;transition:color .2s;flex-shrink:0}.reply-preview-close:hover{color:#666}.chat-modal-input-row{display:flex;gap:12px;align-items:center}.chat-modal-input input{flex:1;padding:14px 18px;border:1px solid #e5e5e7;border-radius:24px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s}.chat-modal-input input::placeholder{color:#999}.chat-modal-input input:focus{border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.chat-modal-input input:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f7}.send-button{width:44px;height:44px;border-radius:50%;background:#5b7fff;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:hover:not(:disabled){background:#4a6fee;transform:scale(1.05)}.send-button:disabled{opacity:.4;cursor:not-allowed}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:3px}@media(max-width:640px){.chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}}.action-status{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8em;font-weight:500}.action-status-submitted{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.action-status-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.action-status-fail{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.message-content{display:block;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden;font-size:inherit;line-height:1.5}.mc-line{min-height:1.2em;word-break:break-word}.mc-empty-line{height:.5em}.mc-heading{font-weight:600;margin:.3em 0;word-break:break-word}.mc-h1{font-size:1.4em}.mc-h2{font-size:1.2em}.mc-h3{font-size:1.05em}.mc-inline-code{background:#afb8c133;padding:1px 5px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.88em}.mc-codeblock{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:6px 0;overflow:hidden;max-width:100%}.mc-codeblock-lang{background:#e8ecf0;padding:3px 10px;font-size:.75em;font-weight:600;color:#57606a;text-transform:uppercase;font-family:Monaco,Menlo,monospace;border-bottom:1px solid #d0d7de}.mc-codeblock pre{margin:0;padding:10px;overflow-x:auto}.mc-codeblock code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:pre}.mc-link{color:#0969da;text-decoration:none;word-break:break-word}.mc-link:hover{text-decoration:underline}.mc-image{max-width:150px;width:150px;height:150px;object-fit:contain;border-radius:8px;margin:8px 0;display:block}.mc-image-inline{width:20px;height:20px;border-radius:50%;margin:0 4px;display:inline-block;vertical-align:middle;object-fit:cover}.mc-blockquote{margin:4px 0;padding:2px 0 2px 12px;color:#57606a;border-left:3px solid #d0d7de}.mc-hr{height:1px;border:0;background:#d0d7de;margin:.4em 0}.message-content strong{font-weight:600}.message-content del{text-decoration:line-through}.action-form{background:#f8f9fb;border:1px solid #e2e6ea;border-radius:10px;padding:12px;margin-top:8px;margin-bottom:8px}.action-form-title{font-weight:600;font-size:.9em;margin-bottom:10px;color:#1a1a2e;display:flex;align-items:center;gap:6px}.action-form-general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.8em;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:6px}.action-form-fields{display:flex;flex-direction:column;gap:8px}.action-form-field{display:flex;flex-direction:column;gap:3px}.action-form-field label{font-size:.75em;font-weight:500;color:#6b7280}.action-form-field input,.action-form-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;background:#fff;color:#1a1a2e;outline:none;transition:border-color .2s;font-family:inherit}.action-form-field textarea{resize:none;word-break:break-all}.action-form-field input:focus,.action-form-field textarea:focus{border-color:#0b3988;box-shadow:0 0 0 2px #6c5ce726}.action-form-field input.error,.action-form-field textarea.error{border-color:#ef4444}.action-form-field input.readonly,.action-form-field textarea.readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.action-form-field .field-error{font-size:.7em;color:#ef4444;margin-top:1px}.action-form-actions{display:flex;gap:8px;margin-top:10px}.action-form-submit{flex:1;padding:8px 14px;background:#0b3988;color:#fff;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.action-form-submit:hover:not(:disabled){background:#5a4bd1}.action-form-submit:disabled{background:#a5b4fc;cursor:not-allowed}.action-form-cancel{padding:8px 14px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s}.action-form-cancel:hover{background:#f3f4f6;color:#374151}.action-form-token-info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px}.token-info-row{display:flex;align-items:center;gap:8px}.token-info-logo{border-radius:50%;flex-shrink:0}.token-info-details{display:flex;flex-direction:column;gap:2px;min-width:0}.token-info-name{font-size:.8em;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info-balance{font-size:.75em;color:#4b5563}.token-info-usd{color:#0b3988;font-weight:500}.action-form-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.action-form-field-header .action-form-field-label{margin-bottom:0;font-size:12px}.action-form-pct-btns{display:inline-flex;gap:4px}.action-form-pct-btn{padding:1px 6px;font-size:.7em;font-weight:600;color:#0b3988;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s}@media(min-width:640px){.action-form-pct-btn:hover:not(:disabled){background:#0b3988;color:#fff}}.action-form-pct-btn:disabled{opacity:.5;cursor:not-allowed}.action-form-max-btn{font-weight:700}.action-form-nft-info{margin-bottom:10px;text-align:center;display:flex;align-items:center;justify-content:center}.nft-info-image{width:80px;height:80px;border-radius:8px;object-fit:contain;background:#e5e7eb;padding:4px}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;background:#1a1a1dd6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;z-index:20;transition:background .15s,transform .15s,box-shadow .15s;animation:fadeInUp .18s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.scroll-to-bottom-btn:hover{background:#2d2d35;box-shadow:0 6px 16px #0000004d;transform:scale(1.08)}}.scroll-to-bottom-btn:active{transform:scale(.96)}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- (function(wt,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],O):(wt=typeof globalThis<"u"?globalThis:wt||self,O(wt.ChatWidgetSDK={},wt.jsxRuntime,wt.React))})(this,(function(wt,O,te){"use strict";const Ws="data:image/png;base64,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",mo={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (0x + 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:`Select the amount of {symbol} to use:
2
+ (function(wt,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],O):(wt=typeof globalThis<"u"?globalThis:wt||self,O(wt.ChatWidgetSDK={},wt.jsxRuntime,wt.React))})(this,(function(wt,O,te){"use strict";const Ws="data:image/png;base64,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",ho={en:{chatTitle:"Keyring Agent",closeChat:"Close chat",messagePlaceholder:"Message ....",sendMessage:"Send message",botIsTyping:"Bot is typing",canIHelpYou:"Can I help you with anything?",replyToMessage:"Reply to message",replyingTo:"Replying to",replyingToYou:"You",replyingToAgent:"Keyring Agent",cancelReply:"Cancel reply",suggestionAskText:"Ask a question",suggestionAskUserMessage:"I have a question",suggestionAskBotReply:"Ask me anything",suggestionBuyText:"Buy trending token",walletConnectedChainUnsupported:"Your wallet is connected but the chain is not supported for trading. Please switch to a supported chain to see trending tokens.",walletNotConnected:"Please connect your wallet to see trending tokens.",actionProcessing:"⏳ Processing transaction...",actionSuccess:"✅ Transaction completed",actionFail:"❌ Action cancelled or failed",txSubmitted:"⏳ Transaction submitted. Waiting for confirmation...",txConfirmed:"✅ Transaction confirmed!",txReverted:"❌ Transaction reverted on-chain.",txTimeout:"⚠️ Transaction submitted but confirmation timed out. Please check manually.",txSuccessful:"✅ Transaction successful!",txFailed:"❌ Transaction failed. Please try again.",txNoHandler:"⚠️ No transaction handler configured.",txInsufficientGas:"⚠️ **Insufficient {symbol} for gas!** You have {balance} {symbol} but need ~{fee} {symbol} for the transaction fee. Please top up your wallet and try again.",txError:"❌ Error: {message}",swapConfirmButton:"Confirm",swapConfirmValue:"Confirm swap",swapReadyToProceed:"Ready to proceed with the swap?",swapEstimationError:"⚠️ Unable to get swap estimation. Error: {error}",formCancel:"Cancel",formExecute:"Execute",formProcessing:"⏳ Processing...",formBalance:"Balance:",formTokenNotFound:"Token not found in your wallet.",formNoBalance:"You have no {symbol} balance in your wallet.",formInsufficientBalance:"Insufficient balance. Spendable: {balance} {symbol}",formFieldRequired:"{field} is required",formInvalidAddress:"Invalid address (0x + 40 hex chars)",formMustBePositive:"Must be a positive number",formMustBeValidNumber:"Must be a valid number",openChat:"Open chat",openChatTitle:"Open chat support",walletBalanceSpendable:"This is the spendable balance of your wallet on {chain} chain. Please choose the coins you want to use for this trade.",walletNoTokensFound:"Sorry, I couldn't find any tokens in your wallet on {chain} chain. Please make sure you have some tokens to trade.",walletFetchFailed:"Sorry, I could not fetch your wallet balance. Please try again.",walletFetchError:"Sorry, I encountered an error fetching your wallet balance.",insufficientFeeToken:"Insufficient fee. Please ensure you have enough {symbol} to cover the transaction fees, or select a different token.",selectAmountOf:`Select the amount of {symbol} to use:
3
3
 
4
4
  Spendable: {balance} {symbol}`,swapFeeWarning:`
5
5
  ⚠️ **Insufficient {symbol} for fees!**
@@ -28,7 +28,8 @@ Is there any token you want to buy?`,trendingTokensError:"Sorry, I encountered a
28
28
 
29
29
  Select a token to interact with:`,viewBalancesEmpty:"You don't have any tokens in your wallet on this chain.",viewBalancesFetchError:"Sorry, I encountered an error fetching your balances.",buttonSendToken:"Send {symbol}",buttonSwapToken:"Swap {symbol}",buttonBuyMoreToken:"Buy more {symbol}",actionSendNativeLabel:"Send Native Token",actionSendNativeDesc:"Send native token (ETH, BNB, MATIC, etc.) to an address",actionSendTokenLabel:"Send Token (ERC20)",actionSendTokenDesc:"Send an ERC20 token to an address",actionSwapTokenLabel:"Swap Token",actionSwapTokenDesc:"Swap one token for another",actionApproveTokenLabel:"Approve Token",actionApproveTokenDesc:"Approve a spender to use your tokens",actionWrapNativeLabel:"Wrap Native Token",actionWrapNativeDesc:"Wrap native token (ETH → WETH)",actionUnwrapNativeLabel:"Unwrap Native Token",actionUnwrapNativeDesc:"Unwrap native token (WETH → ETH)",actionSendNftLabel:"Send NFT",actionSendNftDesc:"Transfer an ERC721 or ERC1155 NFT to another address",fieldToAddress:"Recipient Address",fieldAmount:"Amount",fieldTokenContract:"Token Contract",fieldTokenSymbol:"Token Symbol",fieldDecimals:"Decimals",fieldTokenIn:"From Token",fieldTokenInSymbol:"From Symbol",fieldTokenOut:"To Token",fieldTokenOutSymbol:"To Symbol",fieldTokenInDecimals:"From Decimals",fieldTokenOutDecimals:"To Decimals",fieldSpenderAddress:"Spender Address",fieldAmountUnlimited:"Amount (empty = unlimited)",fieldNftContract:"NFT Contract",fieldTokenId:"Token ID",fieldTokenStandard:"Token Standard",fieldNftName:"NFT Name",formMustBePositiveInteger:"Must be a positive integer",formAmountExceedsNft:"Amount cannot exceed available balance {max}",receivedButtonValue:"Received: {value}",actionExecutedFor:'Action "{action}" executed for: {value}',buyTokenHelp:"I'll help you buy {symbol}. Let me show your available tokens to trade with.",tokenNotFoundOnChain:`I couldn't find the token "{symbol}" on this chain. Here are the trending tokens you can buy:`,swapPreparing:"Preparing your swap...",swapConfirmYes:"Yes",swapChooseFrom:"Please choose which token you want to swap from:",swapChooseTo:"You want to swap {symbol}. Please choose which token you want to receive:",swapNeedDetails:'I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',viewNftsLoading:"Let me show you your NFT collection!",sendTokenChoose:"Which token would you like to send?",sendNftChoose:"Which NFT would you like to send?",swapChooseToken:"Which token would you like to swap? Here are your current balances:",spendable:"Spendable",welcomeMessage:`**Welcome! 🚀**
30
30
  You're connected and ready to explore DeFi! I can help you trade, check prices, and analyze your portfolio when you need it.`,sendOtherNfts:`
31
- If you want to send other NFTs, please provide the contract address, NFT ID`},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"何かお手伝いできることはございますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです (0x + 40文字の16進数)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:`使用する {symbol} の数量を選択してください:
31
+ If the NFT you want to send is not in the list above, please visit our website to send it.
32
+ {link}`},ja:{chatTitle:"Keyring Agent",closeChat:"チャットを閉じる",messagePlaceholder:"メッセージを入力...",sendMessage:"メッセージを送信",botIsTyping:"ボットが入力中...",canIHelpYou:"なにかお手伝いできることはありますか?",replyToMessage:"メッセージに返信",replyingTo:"返信先:",replyingToYou:"あなた",replyingToAgent:"Keyring Agent",cancelReply:"返信をキャンセル",suggestionAskText:"質問・調査のお願い",suggestionAskUserMessage:"質問があります",suggestionAskBotReply:"何でも聞いてください",suggestionBuyText:"トレンドトークンを購入",walletConnectedChainUnsupported:"ウォレットは接続されていますが、このチェーンは取引に対応していません。トレンドのトークンを表示するには、対応しているチェーンに切り替えてください。",walletNotConnected:"トレンドのトークンを表示するには、ウォレットを接続してください。",actionProcessing:"⏳ トランザクションを処理中...",actionSuccess:"✅ トランザクションが完了しました",actionFail:"❌ アクションがキャンセルされたか、失敗しました",txSubmitted:"⏳ トランザクションを送信しました。確認を待機中...",txConfirmed:"✅ トランザクションが確認されました!",txReverted:"❌ オンチェーンでトランザクションがリバートされました。",txTimeout:"⚠️ トランザクションは送信されましたが、タイムアウトしました。手動で確認してください。",txSuccessful:"✅ トランザクションに成功しました!",txFailed:"❌ トランザクションに失敗しました。もう一度お試しください。",txNoHandler:"⚠️ トランザクションハンドラーが設定されていません。",txInsufficientGas:"⚠️ **ガス代({symbol})が不足しています!** 保有量は {balance} {symbol} ですが、手数料に約 {fee} {symbol} 必要です。ウォレットにチャージして再試行してください。",txError:"❌ エラー: {message}",swapConfirmButton:"確定",swapConfirmValue:"スワップを確定する",swapReadyToProceed:"スワップを実行しますか?",swapEstimationError:"⚠️ スワップの見積もりを取得できません。エラー: {error}",formCancel:"キャンセル",formExecute:"実行",formProcessing:"⏳ 処理中...",formBalance:"残高:",formTokenNotFound:"ウォレット内にトークンが見つかりません。",formNoBalance:"ウォレットに {symbol} の残高がありません。",formInsufficientBalance:"残高不足です。利用可能: {balance} {symbol}",formFieldRequired:"{field} は必須項目です",formInvalidAddress:"無効なアドレスです (0x + 40文字の16進数)",formMustBePositive:"正の数値を入力してください",formMustBeValidNumber:"有効な数値を入力してください",openChat:"チャットを開く",openChatTitle:"チャットサポートを開く",walletBalanceSpendable:"これは {chain} チェーン上のウォレットの利用可能な残高です。この取引に使用するコインを選択してください。",walletNoTokensFound:"申し訳ありませんが、{chain} チェーン上のウォレットにトークンが見つかりませんでした。取引するためのトークンを保有しているかご確認ください。",walletFetchFailed:"ウォレット残高を取得できませんでした。もう一度お試しください。",walletFetchError:"ウォレット残高の取得中にエラーが発生しました。",insufficientFeeToken:"手数料が不足しています。取引手数料をカバーするのに十分な {symbol} を保有しているか、別のトークンを選択してください。",selectAmountOf:`使用する {symbol} の数量を選択してください:
32
33
 
33
34
  利用可能: {balance} {symbol}`,swapFeeWarning:`
34
35
  ⚠️ **手数料の {symbol} が不足しています!**
@@ -56,8 +57,9 @@ If you want to send other NFTs, please provide the contract address, NFT ID`},ja
56
57
  {list}
57
58
 
58
59
  操作するトークンを選択してください:`,viewBalancesEmpty:"このチェーン上のウォレットにトークンは見つかりませんでした。",viewBalancesFetchError:"残高の取得中にエラーが発生しました。",buttonSendToken:"{symbol} を送信",buttonSwapToken:"{symbol} をスワップ",buttonBuyMoreToken:"{symbol} をさらに入手",actionSendNativeLabel:"ネイティブトークンを送信",actionSendNativeDesc:"ネイティブトークン (ETH, BNB, MATIC など) をアドレスに送信します",actionSendTokenLabel:"トークンを送信 (ERC20)",actionSendTokenDesc:"ERC20トークンをアドレスに送信します",actionSwapTokenLabel:"トークンをスワップ",actionSwapTokenDesc:"トークンを別のトークンに交換します",actionApproveTokenLabel:"トークンを承認",actionApproveTokenDesc:"支出元(Spender)によるトークンの使用を許可します",actionWrapNativeLabel:"ネイティブトークンをラップ",actionWrapNativeDesc:"ネイティブトークンをラップします (ETH → WETH)",actionUnwrapNativeLabel:"ネイティブトークンをアンラップ",actionUnwrapNativeDesc:"ネイティブトークンをアンラップします (WETH → ETH)",actionSendNftLabel:"NFTを送信",actionSendNftDesc:"ERC721またはERC1155 NFTを別のアドレスに転送します",fieldToAddress:"受信者アドレス",fieldAmount:"数量",fieldTokenContract:"トークンコントラクト",fieldTokenSymbol:"トークンシンボル",fieldDecimals:"デシマル (小数桁数)",fieldTokenIn:"元のトークン",fieldTokenInSymbol:"元のシンボル",fieldTokenOut:"先のトークン",fieldTokenOutSymbol:"先のシンボル",fieldTokenInDecimals:"元のデシマル",fieldTokenOutDecimals:"先のデシマル",fieldSpenderAddress:"支出元 (Spender) アドレス",fieldAmountUnlimited:"数量 (空欄 = 無制限)",fieldNftContract:"NFTコントラクト",fieldTokenId:"トークンID",fieldTokenStandard:"トークン規格",fieldNftName:"NFT名",formMustBePositiveInteger:"正の整数を入力してください",formAmountExceedsNft:"数量は利用可能な残高 {max} を超えることはできません",receivedButtonValue:"受取額: {value}",actionExecutedFor:"アクション「{action}」が {value} に対して実行されました",buyTokenHelp:"{symbol} の購入をお手伝いします。まず、交換に使用可能なトークンを表示します。",tokenNotFoundOnChain:"このチェーン上でトークン「{symbol}」が見つかりませんでした。購入可能なトレンドトークンはこちらです:",swapPreparing:"スワップの準備中...",swapConfirmYes:"はい",swapChooseFrom:"交換元(支払う)トークンを選択してください:",swapChooseTo:"{symbol} をスワップします。受け取りたいトークンを選択してください:",swapNeedDetails:"スワップの詳細が必要です。交換したいトークンを指定してください(例:「1 ETH を USDC にスワップ」)。",viewNftsLoading:"あなたのNFTコレクションを表示します!",sendTokenChoose:"どのトークンを送信しますか?",sendNftChoose:"どのNFTを送信しますか?",swapChooseToken:"どのトークンをスワップしますか?現在の残高はこちらです:",spendable:"利用可能",welcomeMessage:`**ようこそ! 🚀**
59
- 新時代の金融へ。DeFiの世界を解き放て!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`,sendOtherNfts:`
60
- 他のNFTを送信する場合は、コントラクトアドレスとNFTIDを入力してください`},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"地址无效 (0x + 40位十六进制字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:`选择要使用的 {symbol} 数量:
60
+ 接続が完了し、DeFiを探索する準備が整いました!トレード、価格チェック、ポートフォリオ分析など、いつでもお手伝いします。`,sendOtherNfts:`
61
+ 送信したいNFTが上のリストにない場合は、ウェブサイトから送信してください。
62
+ {link}`},cn:{chatTitle:"Keyring Agent",closeChat:"关闭聊天",messagePlaceholder:"请输入消息....",sendMessage:"发送消息",botIsTyping:"机器人正在输入",canIHelpYou:"有什么我可以帮您的吗?",replyToMessage:"回复消息",replyingTo:"正在回复",replyingToYou:"您",replyingToAgent:"Keyring Agent",cancelReply:"取消回复",suggestionAskText:"提问",suggestionAskUserMessage:"我有一个问题",suggestionAskBotReply:"随便问我任何事情",suggestionBuyText:"购买热门代币",walletConnectedChainUnsupported:"您的钱包已连接,但当前链不支持交易。请切换到支持的链以查看热门代币。",walletNotConnected:"请连接您的钱包以查看热门代币。",actionProcessing:"⏳ 正在处理交易...",actionSuccess:"✅ 交易已完成",actionFail:"❌ 操作取消或失败",txSubmitted:"⏳ 交易已提交。正在等待确认...",txConfirmed:"✅ 交易已确认!",txReverted:"❌ 交易在链上被退回(Reverted)。",txTimeout:"⚠️ 交易已提交但确认超时。请手动检查。",txSuccessful:"✅ 交易成功!",txFailed:"❌ 交易失败。请重试。",txNoHandler:"⚠️ 未配置交易处理器。",txInsufficientGas:"⚠️ **{symbol} 余额不足以支付 Gas 费!** 您当前有 {balance} {symbol},但交易费预计需要 ~{fee} {symbol}。请充值钱包后重试。",txError:"❌ 错误: {message}",swapConfirmButton:"确认",swapConfirmValue:"确认兑换",swapReadyToProceed:"准备好进行兑换了吗?",swapEstimationError:"⚠️ 无法获取兑换估算。错误: {error}",formCancel:"取消",formExecute:"执行",formProcessing:"⏳ 正在处理...",formBalance:"余额:",formTokenNotFound:"您的钱包中未找到该代币。",formNoBalance:"您的钱包中没有 {symbol} 余额。",formInsufficientBalance:"余额不足。可用余额: {balance} {symbol}",formFieldRequired:"{field} 是必填项",formInvalidAddress:"地址无效 (0x + 40位十六进制字符)",formMustBePositive:"必须为正数",formMustBeValidNumber:"必须为有效数字",openChat:"打开聊天",openChatTitle:"打开聊天支持",walletBalanceSpendable:"这是您在 {chain} 链上钱包的可选余额。请选择您想用于此次交易的代币。",walletNoTokensFound:"抱歉,我在 {chain} 链上的钱包中没找到任何代币。请确保您有代币可以进行交易。",walletFetchFailed:"抱歉,无法获取您的钱包余额。请重试。",walletFetchError:"抱歉,获取钱包余额时出错。",insufficientFeeToken:"手续费不足。请确保您有足够的 {symbol} 来支付交易费用,或选择其他代币。",selectAmountOf:`选择要使用的 {symbol} 数量:
61
63
 
62
64
  可用余额: {balance} {symbol}`,swapFeeWarning:`
63
65
  ⚠️ **手续费所需的 {symbol} 不足!**
@@ -86,28 +88,29 @@ If you want to send other NFTs, please provide the contract address, NFT ID`},ja
86
88
 
87
89
  选择一个代币进行操作:`,viewBalancesEmpty:"您在该链的钱包中没有任何代币。",viewBalancesFetchError:"抱歉,获取您的余额时出错。",buttonSendToken:"发送 {symbol}",buttonSwapToken:"兑换 {symbol}",buttonBuyMoreToken:"购买更多 {symbol}",actionSendNativeLabel:"发送原生代币",actionSendNativeDesc:"将原生代币 (ETH, BNB, MATIC 等) 发送到指定地址",actionSendTokenLabel:"发送代币 (ERC20)",actionSendTokenDesc:"将 ERC20 代币发送到指定地址",actionSwapTokenLabel:"兑换代币",actionSwapTokenDesc:"将一种代币兑换为另一种",actionApproveTokenLabel:"授权代币",actionApproveTokenDesc:"授权支出方使用您的代币",actionWrapNativeLabel:"包装 (Wrap) 原生代币",actionWrapNativeDesc:"包装原生代币 (例如 ETH → WETH)",actionUnwrapNativeLabel:"解包 (Unwrap) 原生代币",actionUnwrapNativeDesc:"解包原生代币 (例如 WETH → ETH)",actionSendNftLabel:"发送 NFT",actionSendNftDesc:"将 ERC721 或 ERC1155 NFT 转移到另一个地址",fieldToAddress:"接收者地址",fieldAmount:"金额",fieldTokenContract:"代币合约",fieldTokenSymbol:"代币符号",fieldDecimals:"精度 (Decimals)",fieldTokenIn:"源代币 (From)",fieldTokenInSymbol:"源代币符号",fieldTokenOut:"目标代币 (To)",fieldTokenOutSymbol:"目标代币符号",fieldTokenInDecimals:"源代币精度",fieldTokenOutDecimals:"目标代币精度",fieldSpenderAddress:"支出方 (Spender) 地址",fieldAmountUnlimited:"金额 (留空 = 无限制)",fieldNftContract:"NFT 合约",fieldTokenId:"代币 ID",fieldTokenStandard:"代币标准",fieldNftName:"NFT 名称",formMustBePositiveInteger:"必须为正整数",formAmountExceedsNft:"金额不能超过可用余额 {max}",receivedButtonValue:"收到: {value}",actionExecutedFor:'操作 "{action}" 已执行,对象为: {value}',buyTokenHelp:"我会帮您购买 {symbol}。让我为您显示可用于交易的代币。",tokenNotFoundOnChain:'我在该链上没找到代币 "{symbol}"。以下是您可以购买的热门代币:',swapPreparing:"正在准备兑换...",swapConfirmYes:"是",swapChooseFrom:"请选择您想从哪个代币进行兑换:",swapChooseTo:"您想兑换 {symbol}。请选择您想收到的代币:",swapNeedDetails:"我需要更多关于兑换的细节。请指定您想兑换的代币(例如 “将 1 ETH 兑换为 USDC”)。",viewNftsLoading:"正在为您展示 NFT 收藏!",sendTokenChoose:"您想发送哪个代币?",sendNftChoose:"您想发送哪个 NFT?",swapChooseToken:"您想兑换哪个代币?以下是您的当前余额:",spendable:"可用余额",welcomeMessage:`**欢迎! 🚀**
88
90
  您已连接并准备好探索 DeFi!我可以帮您进行交易、查询价格,并在需要时分析您的资产组合。`,sendOtherNfts:`
89
- 如果您想发送其他 NFT,请提供合约地址和 NFT ID`}};function ho(e,t){return mo[t]?.[e]??mo.en[e]??e}function Vs(e,t){return e.replace(/\{(\w+)\}/g,(n,s)=>t[s]??`{${s}}`)}const go=te.createContext(void 0),Gs=({children:e,initialLanguage:t="en"})=>{const[n,s]=te.useState(t);te.useEffect(()=>{t&&s(t)},[t]);const o=te.useCallback(r=>ho(r,n),[n]),a=te.useCallback((r,i)=>Vs(ho(r,n),i),[n]);return O.jsx(go.Provider,{value:{language:n,setLanguage:s,t:o,ti:a},children:e})},cn=()=>{const e=te.useContext(go);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},Ys=te.memo(({onClick:e,buttonSize:t=56})=>{const{t:n}=cn(),s=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),e())};return O.jsx("button",{className:"chat-button",onClick:e,onKeyDown:s,"aria-label":n("openChat"),title:n("openChatTitle"),type:"button",children:O.jsx("img",{src:Ws,width:t,height:t,alt:"Ask AI"})})});function ut(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(s){return o=>{const a=typeof o=="function"?o(s):o,r={...s,...a};return Object.assign(r,{extend:n(r)})}}return Object.assign(t,{extend:n(t)})}const wo="2.46.3";let Nn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${wo}`};class me extends Error{constructor(t,n={}){const s=n.cause instanceof me?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof me&&n.cause.docsPath||n.docsPath,a=Nn.getDocsUrl?.({...n,docsPath:o}),r=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...s?[`Details: ${s}`]:[],...Nn.version?[`Version: ${Nn.version}`]:[]].join(`
90
- `);super(r,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=s,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=wo}walk(t){return bo(this,t)}}function bo(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?bo(e.cause,t):t?null:e}class Bn extends me{constructor({max:t,min:n,signed:s,size:o,value:a}){super(`Number "${a}" is not in safe ${o?`${o*8}-bit ${s?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Js extends me{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Ot(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Je(e){return Ot(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function ln(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,s=0;for(let o=0;o<n.length-1&&n[t==="left"?o:n.length-o-1].toString()==="0";o++)s++;return n=t==="left"?n.slice(s):n.slice(0,n.length-s),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class yo extends me{constructor({offset:t,position:n,size:s}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${s}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Ao extends me{constructor({size:t,targetSize:n,type:s}){super(`${s.charAt(0).toUpperCase()}${s.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Dt(e,{dir:t,size:n=32}={}){return typeof e=="string"?bt(e,{dir:t,size:n}):zs(e,{dir:t,size:n})}function bt(e,{dir:t,size:n=32}={}){if(n===null)return e;const s=e.replace("0x","");if(s.length>n*2)throw new Ao({size:Math.ceil(s.length/2),targetSize:n,type:"hex"});return`0x${s[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function zs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Ao({size:e.length,targetSize:n,type:"bytes"});const s=new Uint8Array(n);for(let o=0;o<n;o++){const a=t==="right";s[a?o:n-o-1]=e[a?o:e.length-o-1]}return s}const js=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Lt(e,t={}){return typeof e=="number"||typeof e=="bigint"?pe(e,t):typeof e=="string"?vo(e,t):typeof e=="boolean"?ko(e,t):ft(e,t)}function ko(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let o=0;o<e.length;o++)n+=js[e[o]];const s=`0x${n}`;return typeof t.size=="number"?(Ut(s,{size:t.size}),Dt(s,{dir:"right",size:t.size})):s}function pe(e,t={}){const{signed:n,size:s}=t,o=BigInt(e);let a;s?n?a=(1n<<BigInt(s)*8n-1n)-1n:a=2n**(BigInt(s)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&o>a||o<r){const l=typeof e=="bigint"?"n":"";throw new Bn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:s,value:`${e}${l}`})}const i=`0x${(n&&o<0?(1n<<BigInt(s*8))+BigInt(o):o).toString(16)}`;return s?Dt(i,{size:s}):i}const qs=new TextEncoder;function vo(e,t={}){const n=qs.encode(e);return ft(n,t)}const Qs=new TextEncoder;function Fn(e,t={}){return typeof e=="number"||typeof e=="bigint"?Xs(e,t):typeof e=="boolean"?Ks(e,t):Ot(e)?Ct(e,t):Co(e,t)}function Ks(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function To(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Ct(e,t={}){let n=e;t.size&&(Ut(n,{size:t.size}),n=Dt(n,{dir:"right",size:t.size}));let s=n.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,a=new Uint8Array(o);for(let r=0,i=0;r<o;r++){const l=To(s.charCodeAt(i++)),b=To(s.charCodeAt(i++));if(l===void 0||b===void 0)throw new me(`Invalid byte sequence ("${s[i-2]}${s[i-1]}" in "${s}").`);a[r]=l*16+b}return a}function Xs(e,t){const n=pe(e,t);return Ct(n)}function Co(e,t={}){const n=Qs.encode(e);return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{dir:"right",size:t.size})):n}function Ut(e,{size:t}){if(Je(e)>t)throw new Js({givenSize:Je(e),maxSize:t})}function Mt(e,t={}){const{signed:n}=t;t.size&&Ut(e,{size:t.size});const s=BigInt(e);if(!n)return s;const o=(e.length-2)/2,a=(1n<<BigInt(o)*8n-1n)-1n;return s<=a?s:s-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function dn(e,t={}){const n=Mt(e,t),s=Number(n);if(!Number.isSafeInteger(s))throw new Bn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return s}function Pn(e,t){return({exclude:n,format:s})=>({exclude:n,format:(o,a)=>{const r=t(o,a);if(n)for(const i of n)delete r[i];return{...r,...s(o,a)}},type:e})}const Eo={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function On(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?dn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?dn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Eo[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=Zs(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const _s=Pn("transaction",On);function Zs(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function $s(e,t){const n=(e.transactions??[]).map(s=>typeof s=="string"?s:On(s));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const ea=Pn("block",$s);function ta(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const na={"0x0":"reverted","0x1":"success"};function oa(e,t){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(s=>ta(s)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?dn(e.transactionIndex):null,status:e.status?na[e.status]:null,type:e.type?Eo[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const sa=Pn("transactionReceipt",oa),aa={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ra(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ia(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(s=>ft(s)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=pe(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=pe(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=pe(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=pe(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=pe(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=pe(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=aa[e.type]),typeof e.value<"u"&&(n.value=pe(e.value)),n}function ia(e){return e.map(t=>({address:t.address,r:t.r?pe(BigInt(t.r)):t.r,s:t.s?pe(BigInt(t.s)):t.s,chainId:pe(t.chainId),nonce:pe(t.nonce),...typeof t.yParity<"u"?{yParity:pe(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:pe(t.v)}:{}}))}const Rt=2n**256n-1n;function Ht(e){return typeof e[0]=="string"?Et(e):ca(e)}function ca(e){let t=0;for(const o of e)t+=o.length;const n=new Uint8Array(t);let s=0;for(const o of e)n.set(o,s),s+=o.length;return n}function Et(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class So extends me{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class la extends me{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class da extends me{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ua={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new la({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new So({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function xo(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ua);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function St(e,t="hex"){const n=Io(e),s=xo(new Uint8Array(n.length));return n.encode(s),t==="hex"?ft(s.bytes):s.bytes}function Io(e){return Array.isArray(e)?fa(e.map(t=>Io(t))):pa(e)}function fa(e){const t=e.reduce((o,a)=>o+a.length,0),n=No(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(const{encode:a}of e)a(o)}}}function pa(e){const t=typeof e=="string"?Ct(e):e,n=No(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function No(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new me("Length is too large.")}const ma={gwei:9,wei:18},ha={ether:-9,wei:9};function Le(e,t){let n=e.toString();const s=n.startsWith("-");s&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${s?"-":""}${o||"0"}${a?`.${a}`:""}`}function ga(e,t="wei"){return Le(e,ma[t])}function xt(e,t="wei"){return Le(e,ha[t])}function Bo(e){const t=Object.entries(e).map(([s,o])=>o===void 0||o===!1?null:[s,o]).filter(Boolean),n=t.reduce((s,[o])=>Math.max(s,o.length),0);return t.map(([s,o])=>` ${`${s}:`.padEnd(n+1)} ${o}`).join(`
91
- `)}class wa extends me{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class ba extends me{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Bo(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class ya extends me{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Aa(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:s,nonce:o,...a}=n,r=n.address;t.push([s?Lt(s):"0x",r,o?Lt(o):"0x",...Kt({},a)])}return t}function Fo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ct(a)):e.blobs,o=[];for(const a of s)o.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?o:o.map(a=>ft(a))}function Po(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(r=>Ct(r)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(r=>Ct(r)):e.commitments,a=[];for(let r=0;r<s.length;r++){const i=s[r],l=o[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function ka(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function zt(e,...t){if(!ka(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function un(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Do(e,t){zt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function va(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Dn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const Ta=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ca(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ea(e){for(let t=0;t<e.length;t++)e[t]=Ca(e[t]);return e}const Lo=Ta?e=>e:Ea;function Sa(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ln(e){return typeof e=="string"&&(e=Sa(e)),zt(e),e}class Uo{}function Mo(e){const t=s=>e().update(Ln(s)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function xa(e,t,n,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,s);const o=BigInt(32),a=BigInt(4294967295),r=Number(n>>o&a),i=Number(n&a),l=s?4:0,b=s?0:4;e.setUint32(t+l,r,s),e.setUint32(t+b,i,s)}function Ia(e,t,n){return e&t^~e&n}function Na(e,t,n){return e&t^e&n^t&n}class Ba extends Uo{constructor(t,n,s,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=s,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Dn(this.buffer)}update(t){un(this),t=Ln(t),zt(t);const{view:n,buffer:s,blockLen:o}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(o-this.pos,a-r);if(i===o){const l=Dn(t);for(;o<=a-r;r+=o)this.process(l,r);continue}s.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){un(this),Do(t,this),this.finished=!0;const{buffer:n,view:s,blockLen:o,isLE:a}=this;let{pos:r}=this;n[r++]=128,jt(this.buffer.subarray(r)),this.padOffset>o-r&&(this.process(s,0),r=0);for(let z=r;z<o;z++)n[z]=0;xa(s,o-8,BigInt(this.length*8),a),this.process(s,0);const i=Dn(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const b=l/4,D=this.get();if(b>D.length)throw new Error("_sha2: outputLen bigger than state");for(let z=0;z<b;z++)i.setUint32(4*z,D[z],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const s=t.slice(0,n);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:s,length:o,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=o,t.pos=i,o%n&&t.buffer.set(s),t}clone(){return this._cloneInto()}}const yt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),fn=BigInt(2**32-1),Ro=BigInt(32);function Fa(e,t=!1){return t?{h:Number(e&fn),l:Number(e>>Ro&fn)}:{h:Number(e>>Ro&fn)|0,l:Number(e&fn)|0}}function Pa(e,t=!1){const n=e.length;let s=new Uint32Array(n),o=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=Fa(e[a],t);[s[a],o[a]]=[r,i]}return[s,o]}const Oa=(e,t,n)=>e<<n|t>>>32-n,Da=(e,t,n)=>t<<n|e>>>32-n,La=(e,t,n)=>t<<n-32|e>>>64-n,Ua=(e,t,n)=>e<<n-32|t>>>64-n,Ma=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),At=new Uint32Array(64);class Ra extends Ba{constructor(t=32){super(64,t,8,!1),this.A=yt[0]|0,this.B=yt[1]|0,this.C=yt[2]|0,this.D=yt[3]|0,this.E=yt[4]|0,this.F=yt[5]|0,this.G=yt[6]|0,this.H=yt[7]|0}get(){const{A:t,B:n,C:s,D:o,E:a,F:r,G:i,H:l}=this;return[t,n,s,o,a,r,i,l]}set(t,n,s,o,a,r,i,l){this.A=t|0,this.B=n|0,this.C=s|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let z=0;z<16;z++,n+=4)At[z]=t.getUint32(n,!1);for(let z=16;z<64;z++){const k=At[z-15],x=At[z-2],B=rt(k,7)^rt(k,18)^k>>>3,S=rt(x,17)^rt(x,19)^x>>>10;At[z]=S+At[z-7]+B+At[z-16]|0}let{A:s,B:o,C:a,D:r,E:i,F:l,G:b,H:D}=this;for(let z=0;z<64;z++){const k=rt(i,6)^rt(i,11)^rt(i,25),x=D+k+Ia(i,l,b)+Ma[z]+At[z]|0,S=(rt(s,2)^rt(s,13)^rt(s,22))+Na(s,o,a)|0;D=b,b=l,l=i,i=r+x|0,r=a,a=o,o=s,s=x+S|0}s=s+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,b=b+this.G|0,D=D+this.H|0,this.set(s,o,a,r,i,l,b,D)}roundClean(){jt(At)}destroy(){this.set(0,0,0,0,0,0,0,0),jt(this.buffer)}}const Ha=Mo(()=>new Ra);function Wa(e,t){return Ha(Ot(e,{strict:!1})?Fn(e):e)}function Va(e){const{commitment:t,version:n=1}=e,s=e.to??(typeof t=="string"?"hex":"bytes"),o=Wa(t);return o.set([n],0),s==="bytes"?o:ft(o)}function Ga(e){const{commitments:t,version:n}=e,s=e.to??(typeof t[0]=="string"?"hex":"bytes"),o=[];for(const a of t)o.push(Va({commitment:a,to:s,version:n}));return o}const Ho=6,Wo=32,Un=4096,Vo=Wo*Un,Go=Vo*Ho-1-1*Un*Ho,Yo=1;class Ya extends me{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class Jo extends me{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Ja extends me{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class za extends me{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Yo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function ja(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Ct(e.data):e.data,s=Je(n);if(!s)throw new Jo;if(s>Go)throw new Ya({maxSize:Go,size:s});const o=[];let a=!0,r=0;for(;a;){const i=xo(new Uint8Array(Vo));let l=0;for(;l<Un;){const b=n.slice(r,r+(Wo-1));if(i.pushByte(0),i.pushBytes(b),b.length<31){i.pushByte(128),a=!1;break}l++,r+=31}o.push(i)}return t==="bytes"?o.map(i=>i.bytes):o.map(i=>ft(i.bytes))}function qa(e){const{data:t,kzg:n,to:s}=e,o=e.blobs??ja({data:t,to:s}),a=e.commitments??Fo({blobs:o,kzg:n,to:s}),r=e.proofs??Po({blobs:o,commitments:a,kzg:n,to:s}),i=[];for(let l=0;l<o.length;l++)i.push({blob:o[l],commitment:a[l],proof:r[l]});return i}class it extends me{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class pn extends me{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Wt extends me{constructor({cause:t,message:n}={}){const s=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${s?`with reason: ${s}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Wt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Wt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class It extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(It,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Mn extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Rn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Hn extends me{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
91
+ 如果您想发送的 NFT 不在上方列表中,请访问我们的网站进行发送。
92
+ {link}`}};function go(e,t){return ho[t]?.[e]??ho.en[e]??e}function Vs(e,t){return e.replace(/\{(\w+)\}/g,(n,s)=>t[s]??`{${s}}`)}const wo=te.createContext(void 0),Gs=({children:e,initialLanguage:t="en"})=>{const[n,s]=te.useState(t);te.useEffect(()=>{t&&s(t)},[t]);const o=te.useCallback(r=>go(r,n),[n]),a=te.useCallback((r,i)=>Vs(go(r,n),i),[n]);return O.jsx(wo.Provider,{value:{language:n,setLanguage:s,t:o,ti:a},children:e})},cn=()=>{const e=te.useContext(wo);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},Ys=te.memo(({onClick:e,buttonSize:t=56})=>{const{t:n}=cn(),s=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),e())};return O.jsx("button",{className:"chat-button",onClick:e,onKeyDown:s,"aria-label":n("openChat"),title:n("openChatTitle"),type:"button",children:O.jsx("img",{src:Ws,width:t,height:t,alt:"Ask AI"})})});function ut(e){const t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(s){return o=>{const a=typeof o=="function"?o(s):o,r={...s,...a};return Object.assign(r,{extend:n(r)})}}return Object.assign(t,{extend:n(t)})}const bo="2.46.3";let Nn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${bo}`};class me extends Error{constructor(t,n={}){const s=n.cause instanceof me?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof me&&n.cause.docsPath||n.docsPath,a=Nn.getDocsUrl?.({...n,docsPath:o}),r=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...a?[`Docs: ${a}`]:[],...s?[`Details: ${s}`]:[],...Nn.version?[`Version: ${Nn.version}`]:[]].join(`
93
+ `);super(r,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=s,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=bo}walk(t){return yo(this,t)}}function yo(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?yo(e.cause,t):t?null:e}class Bn extends me{constructor({max:t,min:n,signed:s,size:o,value:a}){super(`Number "${a}" is not in safe ${o?`${o*8}-bit ${s?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}}class Js extends me{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Ot(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Je(e){return Ot(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function ln(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,s=0;for(let o=0;o<n.length-1&&n[t==="left"?o:n.length-o-1].toString()==="0";o++)s++;return n=t==="left"?n.slice(s):n.slice(0,n.length-s),typeof e=="string"?(n.length===1&&t==="right"&&(n=`${n}0`),`0x${n.length%2===1?`0${n}`:n}`):n}class Ao extends me{constructor({offset:t,position:n,size:s}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${s}).`,{name:"SliceOffsetOutOfBoundsError"})}}class ko extends me{constructor({size:t,targetSize:n,type:s}){super(`${s.charAt(0).toUpperCase()}${s.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}}function Dt(e,{dir:t,size:n=32}={}){return typeof e=="string"?bt(e,{dir:t,size:n}):zs(e,{dir:t,size:n})}function bt(e,{dir:t,size:n=32}={}){if(n===null)return e;const s=e.replace("0x","");if(s.length>n*2)throw new ko({size:Math.ceil(s.length/2),targetSize:n,type:"hex"});return`0x${s[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function zs(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new ko({size:e.length,targetSize:n,type:"bytes"});const s=new Uint8Array(n);for(let o=0;o<n;o++){const a=t==="right";s[a?o:n-o-1]=e[a?o:e.length-o-1]}return s}const js=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Lt(e,t={}){return typeof e=="number"||typeof e=="bigint"?pe(e,t):typeof e=="string"?To(e,t):typeof e=="boolean"?vo(e,t):ft(e,t)}function vo(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}function ft(e,t={}){let n="";for(let o=0;o<e.length;o++)n+=js[e[o]];const s=`0x${n}`;return typeof t.size=="number"?(Ut(s,{size:t.size}),Dt(s,{dir:"right",size:t.size})):s}function pe(e,t={}){const{signed:n,size:s}=t,o=BigInt(e);let a;s?n?a=(1n<<BigInt(s)*8n-1n)-1n:a=2n**(BigInt(s)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const r=typeof a=="bigint"&&n?-a-1n:0;if(a&&o>a||o<r){const l=typeof e=="bigint"?"n":"";throw new Bn({max:a?`${a}${l}`:void 0,min:`${r}${l}`,signed:n,size:s,value:`${e}${l}`})}const i=`0x${(n&&o<0?(1n<<BigInt(s*8))+BigInt(o):o).toString(16)}`;return s?Dt(i,{size:s}):i}const qs=new TextEncoder;function To(e,t={}){const n=qs.encode(e);return ft(n,t)}const Qs=new TextEncoder;function Fn(e,t={}){return typeof e=="number"||typeof e=="bigint"?Xs(e,t):typeof e=="boolean"?Ks(e,t):Ot(e)?Ct(e,t):Eo(e,t)}function Ks(e,t={}){const n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{size:t.size})):n}const pt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Co(e){if(e>=pt.zero&&e<=pt.nine)return e-pt.zero;if(e>=pt.A&&e<=pt.F)return e-(pt.A-10);if(e>=pt.a&&e<=pt.f)return e-(pt.a-10)}function Ct(e,t={}){let n=e;t.size&&(Ut(n,{size:t.size}),n=Dt(n,{dir:"right",size:t.size}));let s=n.slice(2);s.length%2&&(s=`0${s}`);const o=s.length/2,a=new Uint8Array(o);for(let r=0,i=0;r<o;r++){const l=Co(s.charCodeAt(i++)),b=Co(s.charCodeAt(i++));if(l===void 0||b===void 0)throw new me(`Invalid byte sequence ("${s[i-2]}${s[i-1]}" in "${s}").`);a[r]=l*16+b}return a}function Xs(e,t){const n=pe(e,t);return Ct(n)}function Eo(e,t={}){const n=Qs.encode(e);return typeof t.size=="number"?(Ut(n,{size:t.size}),Dt(n,{dir:"right",size:t.size})):n}function Ut(e,{size:t}){if(Je(e)>t)throw new Js({givenSize:Je(e),maxSize:t})}function Mt(e,t={}){const{signed:n}=t;t.size&&Ut(e,{size:t.size});const s=BigInt(e);if(!n)return s;const o=(e.length-2)/2,a=(1n<<BigInt(o)*8n-1n)-1n;return s<=a?s:s-BigInt(`0x${"f".padStart(o*2,"f")}`)-1n}function dn(e,t={}){const n=Mt(e,t),s=Number(n);if(!Number.isSafeInteger(s))throw new Bn({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:t.signed,size:t.size,value:`${n}n`});return s}function Pn(e,t){return({exclude:n,format:s})=>({exclude:n,format:(o,a)=>{const r=t(o,a);if(n)for(const i of n)delete r[i];return{...r,...s(o,a)}},type:e})}const So={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function On(e,t){const n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?dn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?dn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?So[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=Zs(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}const _s=Pn("transaction",On);function Zs(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function $s(e,t){const n=(e.transactions??[]).map(s=>typeof s=="string"?s:On(s));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const ea=Pn("block",$s);function ta(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}const na={"0x0":"reverted","0x1":"success"};function oa(e,t){const n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(s=>ta(s)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?dn(e.transactionIndex):null,status:e.status?na[e.status]:null,type:e.type?So[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}const sa=Pn("transactionReceipt",oa),aa={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ra(e,t){const n={};return typeof e.authorizationList<"u"&&(n.authorizationList=ia(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(s=>ft(s)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=pe(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=pe(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=pe(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=pe(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=pe(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=pe(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=aa[e.type]),typeof e.value<"u"&&(n.value=pe(e.value)),n}function ia(e){return e.map(t=>({address:t.address,r:t.r?pe(BigInt(t.r)):t.r,s:t.s?pe(BigInt(t.s)):t.s,chainId:pe(t.chainId),nonce:pe(t.nonce),...typeof t.yParity<"u"?{yParity:pe(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:pe(t.v)}:{}}))}const Rt=2n**256n-1n;function Ht(e){return typeof e[0]=="string"?Et(e):ca(e)}function ca(e){let t=0;for(const o of e)t+=o.length;const n=new Uint8Array(t);let s=0;for(const o of e)n.set(o,s),s+=o.length;return n}function Et(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}class xo extends me{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class la extends me{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class da extends me{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const ua={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new la({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new xo({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new xo({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Io(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(ua);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function St(e,t="hex"){const n=No(e),s=Io(new Uint8Array(n.length));return n.encode(s),t==="hex"?ft(s.bytes):s.bytes}function No(e){return Array.isArray(e)?fa(e.map(t=>No(t))):pa(e)}function fa(e){const t=e.reduce((o,a)=>o+a.length,0),n=Bo(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(const{encode:a}of e)a(o)}}}function pa(e){const t=typeof e=="string"?Ct(e):e,n=Bo(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function Bo(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new me("Length is too large.")}const ma={gwei:9,wei:18},ha={ether:-9,wei:9};function Le(e,t){let n=e.toString();const s=n.startsWith("-");s&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,""),`${s?"-":""}${o||"0"}${a?`.${a}`:""}`}function ga(e,t="wei"){return Le(e,ma[t])}function xt(e,t="wei"){return Le(e,ha[t])}function Fo(e){const t=Object.entries(e).map(([s,o])=>o===void 0||o===!1?null:[s,o]).filter(Boolean),n=t.reduce((s,[o])=>Math.max(s,o.length),0);return t.map(([s,o])=>` ${`${s}:`.padEnd(n+1)} ${o}`).join(`
94
+ `)}class wa extends me{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class ba extends me{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Fo(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class ya extends me{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function Aa(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:s,nonce:o,...a}=n,r=n.address;t.push([s?Lt(s):"0x",r,o?Lt(o):"0x",...Kt({},a)])}return t}function Po(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ct(a)):e.blobs,o=[];for(const a of s)o.push(Uint8Array.from(t.blobToKzgCommitment(a)));return n==="bytes"?o:o.map(a=>ft(a))}function Oo(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),s=typeof e.blobs[0]=="string"?e.blobs.map(r=>Ct(r)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(r=>Ct(r)):e.commitments,a=[];for(let r=0;r<s.length;r++){const i=s[r],l=o[r];a.push(Uint8Array.from(t.computeBlobKzgProof(i,l)))}return n==="bytes"?a:a.map(r=>ft(r))}function ka(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Do(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function zt(e,...t){if(!ka(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function un(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Lo(e,t){zt(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function va(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Dn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rt(e,t){return e<<32-t|e>>>t}const Ta=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ca(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ea(e){for(let t=0;t<e.length;t++)e[t]=Ca(e[t]);return e}const Uo=Ta?e=>e:Ea;function Sa(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ln(e){return typeof e=="string"&&(e=Sa(e)),zt(e),e}class Mo{}function Ro(e){const t=s=>e().update(Ln(s)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function xa(e,t,n,s){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,s);const o=BigInt(32),a=BigInt(4294967295),r=Number(n>>o&a),i=Number(n&a),l=s?4:0,b=s?0:4;e.setUint32(t+l,r,s),e.setUint32(t+b,i,s)}function Ia(e,t,n){return e&t^~e&n}function Na(e,t,n){return e&t^e&n^t&n}class Ba extends Mo{constructor(t,n,s,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=s,this.isLE=o,this.buffer=new Uint8Array(t),this.view=Dn(this.buffer)}update(t){un(this),t=Ln(t),zt(t);const{view:n,buffer:s,blockLen:o}=this,a=t.length;for(let r=0;r<a;){const i=Math.min(o-this.pos,a-r);if(i===o){const l=Dn(t);for(;o<=a-r;r+=o)this.process(l,r);continue}s.set(t.subarray(r,r+i),this.pos),this.pos+=i,r+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){un(this),Lo(t,this),this.finished=!0;const{buffer:n,view:s,blockLen:o,isLE:a}=this;let{pos:r}=this;n[r++]=128,jt(this.buffer.subarray(r)),this.padOffset>o-r&&(this.process(s,0),r=0);for(let z=r;z<o;z++)n[z]=0;xa(s,o-8,BigInt(this.length*8),a),this.process(s,0);const i=Dn(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const b=l/4,D=this.get();if(b>D.length)throw new Error("_sha2: outputLen bigger than state");for(let z=0;z<b;z++)i.setUint32(4*z,D[z],a)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const s=t.slice(0,n);return this.destroy(),s}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:s,length:o,finished:a,destroyed:r,pos:i}=this;return t.destroyed=r,t.finished=a,t.length=o,t.pos=i,o%n&&t.buffer.set(s),t}clone(){return this._cloneInto()}}const yt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),fn=BigInt(2**32-1),Ho=BigInt(32);function Fa(e,t=!1){return t?{h:Number(e&fn),l:Number(e>>Ho&fn)}:{h:Number(e>>Ho&fn)|0,l:Number(e&fn)|0}}function Pa(e,t=!1){const n=e.length;let s=new Uint32Array(n),o=new Uint32Array(n);for(let a=0;a<n;a++){const{h:r,l:i}=Fa(e[a],t);[s[a],o[a]]=[r,i]}return[s,o]}const Oa=(e,t,n)=>e<<n|t>>>32-n,Da=(e,t,n)=>t<<n|e>>>32-n,La=(e,t,n)=>t<<n-32|e>>>64-n,Ua=(e,t,n)=>e<<n-32|t>>>64-n,Ma=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),At=new Uint32Array(64);class Ra extends Ba{constructor(t=32){super(64,t,8,!1),this.A=yt[0]|0,this.B=yt[1]|0,this.C=yt[2]|0,this.D=yt[3]|0,this.E=yt[4]|0,this.F=yt[5]|0,this.G=yt[6]|0,this.H=yt[7]|0}get(){const{A:t,B:n,C:s,D:o,E:a,F:r,G:i,H:l}=this;return[t,n,s,o,a,r,i,l]}set(t,n,s,o,a,r,i,l){this.A=t|0,this.B=n|0,this.C=s|0,this.D=o|0,this.E=a|0,this.F=r|0,this.G=i|0,this.H=l|0}process(t,n){for(let z=0;z<16;z++,n+=4)At[z]=t.getUint32(n,!1);for(let z=16;z<64;z++){const k=At[z-15],x=At[z-2],B=rt(k,7)^rt(k,18)^k>>>3,S=rt(x,17)^rt(x,19)^x>>>10;At[z]=S+At[z-7]+B+At[z-16]|0}let{A:s,B:o,C:a,D:r,E:i,F:l,G:b,H:D}=this;for(let z=0;z<64;z++){const k=rt(i,6)^rt(i,11)^rt(i,25),x=D+k+Ia(i,l,b)+Ma[z]+At[z]|0,S=(rt(s,2)^rt(s,13)^rt(s,22))+Na(s,o,a)|0;D=b,b=l,l=i,i=r+x|0,r=a,a=o,o=s,s=x+S|0}s=s+this.A|0,o=o+this.B|0,a=a+this.C|0,r=r+this.D|0,i=i+this.E|0,l=l+this.F|0,b=b+this.G|0,D=D+this.H|0,this.set(s,o,a,r,i,l,b,D)}roundClean(){jt(At)}destroy(){this.set(0,0,0,0,0,0,0,0),jt(this.buffer)}}const Ha=Ro(()=>new Ra);function Wa(e,t){return Ha(Ot(e,{strict:!1})?Fn(e):e)}function Va(e){const{commitment:t,version:n=1}=e,s=e.to??(typeof t=="string"?"hex":"bytes"),o=Wa(t);return o.set([n],0),s==="bytes"?o:ft(o)}function Ga(e){const{commitments:t,version:n}=e,s=e.to??(typeof t[0]=="string"?"hex":"bytes"),o=[];for(const a of t)o.push(Va({commitment:a,to:s,version:n}));return o}const Wo=6,Vo=32,Un=4096,Go=Vo*Un,Yo=Go*Wo-1-1*Un*Wo,Jo=1;class Ya extends me{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class zo extends me{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Ja extends me{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class za extends me{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${Jo}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function ja(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Ct(e.data):e.data,s=Je(n);if(!s)throw new zo;if(s>Yo)throw new Ya({maxSize:Yo,size:s});const o=[];let a=!0,r=0;for(;a;){const i=Io(new Uint8Array(Go));let l=0;for(;l<Un;){const b=n.slice(r,r+(Vo-1));if(i.pushByte(0),i.pushBytes(b),b.length<31){i.pushByte(128),a=!1;break}l++,r+=31}o.push(i)}return t==="bytes"?o.map(i=>i.bytes):o.map(i=>ft(i.bytes))}function qa(e){const{data:t,kzg:n,to:s}=e,o=e.blobs??ja({data:t,to:s}),a=e.commitments??Po({blobs:o,kzg:n,to:s}),r=e.proofs??Oo({blobs:o,commitments:a,kzg:n,to:s}),i=[];for(let l=0;l<o.length;l++)i.push({blob:o[l],commitment:a[l],proof:r[l]});return i}class it extends me{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class pn extends me{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Wt extends me{constructor({cause:t,message:n}={}){const s=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${s?`with reason: ${s}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(Wt,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Wt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});class It extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(It,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Mn extends me{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${xt(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Mn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Rn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Rn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Hn extends me{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
92
95
  `),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Hn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Wn extends me{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(Wn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Vn extends me{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
93
96
  `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Vn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Gn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Gn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Yn extends me{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Yn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Jn extends me{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Jn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class qt extends me{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:s}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${xt(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${s?` = ${xt(s)} gwei`:""}).`].join(`
94
- `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(qt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class zo extends me{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class jo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const s=this.keys().next().value;s&&this.delete(s)}return this}}const Qa=BigInt(0),Qt=BigInt(1),Ka=BigInt(2),Xa=BigInt(7),_a=BigInt(256),Za=BigInt(113),qo=[],Qo=[],Ko=[];for(let e=0,t=Qt,n=1,s=0;e<24;e++){[n,s]=[s,(2*n+3*s)%5],qo.push(2*(5*s+n)),Qo.push((e+1)*(e+2)/2%64);let o=Qa;for(let a=0;a<7;a++)t=(t<<Qt^(t>>Xa)*Za)%_a,t&Ka&&(o^=Qt<<(Qt<<BigInt(a))-Qt);Ko.push(o)}const Xo=Pa(Ko,!0),$a=Xo[0],er=Xo[1],_o=(e,t,n)=>n>32?La(e,t,n):Oa(e,t,n),Zo=(e,t,n)=>n>32?Ua(e,t,n):Da(e,t,n);function tr(e,t=24){const n=new Uint32Array(10);for(let s=24-t;s<24;s++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,b=n[l],D=n[l+1],z=_o(b,D,1)^n[i],k=Zo(b,D,1)^n[i+1];for(let x=0;x<50;x+=10)e[r+x]^=z,e[r+x+1]^=k}let o=e[2],a=e[3];for(let r=0;r<24;r++){const i=Qo[r],l=_o(o,a,i),b=Zo(o,a,i),D=qo[r];o=e[D],a=e[D+1],e[D]=l,e[D+1]=b}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=$a[s],e[1]^=er[s]}jt(n)}class zn extends Uo{constructor(t,n,s,o=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=s,this.enableXOF=o,this.rounds=a,Oo(s),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=va(this.state)}clone(){return this._cloneInto()}keccak(){Lo(this.state32),tr(this.state32,this.rounds),Lo(this.state32),this.posOut=0,this.pos=0}update(t){un(this),t=Ln(t),zt(t);const{blockLen:n,state:s}=this,o=t.length;for(let a=0;a<o;){const r=Math.min(n-this.pos,o-a);for(let i=0;i<r;i++)s[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:s,blockLen:o}=this;t[s]^=n,(n&128)!==0&&s===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){un(this,!1),zt(t),this.finish();const n=this.state,{blockLen:s}=this;for(let o=0,a=t.length;o<a;){this.posOut>=s&&this.keccak();const r=Math.min(s-this.posOut,a-o);t.set(n.subarray(this.posOut,this.posOut+r),o),this.posOut+=r,o+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Oo(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Do(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jt(this.state)}_cloneInto(t){const{blockLen:n,suffix:s,outputLen:o,rounds:a,enableXOF:r}=this;return t||(t=new zn(n,s,o,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=s,t.outputLen=o,t.enableXOF=r,t.destroyed=this.destroyed,t}}const nr=(e,t,n)=>Mo(()=>new zn(t,e,n)),or=nr(1,136,256/8);function $o(e,t){const n=t||"hex",s=or(Ot(e,{strict:!1})?Fn(e):e);return n==="bytes"?s:Lt(s)}const jn=new jo(8192);function sr(e,t){if(jn.has(`${e}.${t}`))return jn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),s=$o(Co(n),"bytes"),o=n.split("");for(let r=0;r<40;r+=2)s[r>>1]>>4>=8&&o[r]&&(o[r]=o[r].toUpperCase()),(s[r>>1]&15)>=8&&o[r+1]&&(o[r+1]=o[r+1].toUpperCase());const a=`0x${o.join("")}`;return jn.set(`${e}.${t}`,a),a}const ar=/^0x[a-fA-F0-9]{40}$/,qn=new jo(8192);function Re(e,t){const{strict:n=!0}=t??{},s=`${e}.${n}`;if(qn.has(s))return qn.get(s);const o=ar.test(e)?e.toLowerCase()===e?!0:n?sr(e)===e:!0:!1;return qn.set(s,o),o}function Qn(e,t,n,{strict:s}={}){return Ot(e,{strict:!1})?ir(e,t,n,{strict:s}):rr(e,t,n,{strict:s})}function es(e,t){if(typeof t=="number"&&t>0&&t>Je(e)-1)throw new yo({offset:t,position:"start",size:Je(e)})}function ts(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Je(e)!==n-t)throw new yo({offset:n,position:"end",size:Je(e)})}function rr(e,t,n,{strict:s}={}){es(e,t);const o=e.slice(t,n);return s&&ts(o,t,n),o}function ir(e,t,n,{strict:s}={}){es(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&ts(o,t,n),o}function cr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:s}=n,o=n.address;if(!Re(o))throw new it({address:o});if(s<0)throw new pn({chainId:s})}Kn(e)}function lr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Jo;for(const n of t){const s=Je(n),o=dn(Qn(n,0,1));if(s!==32)throw new Ja({hash:n,size:s});if(o!==Yo)throw new za({hash:n,version:o})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:s,to:o}=e;if(t<=0)throw new pn({chainId:t});if(o&&!Re(o))throw new it({address:o});if(s&&s>Rt)throw new It({maxFeePerGas:s});if(n&&s&&n>s)throw new qt({maxFeePerGas:s,maxPriorityFeePerGas:n})}function dr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(t<=0)throw new pn({chainId:t});if(a&&!Re(a))throw new it({address:a});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function ur(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(a&&!Re(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new pn({chainId:t});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function fr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new ba({transaction:e})}function mn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:s,storageKeys:o}=e[n];for(let a=0;a<o.length;a++)if(o[a].length-2!==64)throw new ya({storageKey:o[a]});if(!Re(s,{strict:!1}))throw new it({address:s});t.push([s,o])}return t}function pr(e,t){const n=fr(e);return n==="eip1559"?gr(e,t):n==="eip2930"?wr(e,t):n==="eip4844"?hr(e,t):n==="eip7702"?mr(e,t):br(e,t)}function mr(e,t){const{authorizationList:n,chainId:s,gas:o,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:D,data:z}=e;cr(e);const k=mn(D),x=Aa(n);return Et(["0x04",St([pe(s),a?pe(a):"0x",b?pe(b):"0x",l?pe(l):"0x",o?pe(o):"0x",r??"0x",i?pe(i):"0x",z??"0x",k,x,...Kt(e,t)])])}function hr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:D,data:z}=e;lr(e);let k=e.blobVersionedHashes,x=e.sidecars;if(e.blobs&&(typeof k>"u"||typeof x>"u")){const J=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(we=>ft(we)),Q=e.kzg,he=Fo({blobs:J,kzg:Q});if(typeof k>"u"&&(k=Ga({commitments:he})),typeof x>"u"){const we=Po({blobs:J,commitments:he,kzg:Q});x=qa({blobs:J,commitments:he,proofs:we})}}const B=mn(D),S=[pe(n),o?pe(o):"0x",b?pe(b):"0x",l?pe(l):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",z??"0x",B,i?pe(i):"0x",k??[],...Kt(e,t)],v=[],ge=[],y=[];if(x)for(let J=0;J<x.length;J++){const{blob:Q,commitment:he,proof:we}=x[J];v.push(Q),ge.push(he),y.push(we)}return Et(["0x03",St(x?[S,v,ge,y]:S)])}function gr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:b,data:D}=e;Kn(e);const z=mn(b),k=[pe(n),o?pe(o):"0x",l?pe(l):"0x",i?pe(i):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",D??"0x",z,...Kt(e,t)];return Et(["0x02",St(k)])}function wr(e,t){const{chainId:n,gas:s,data:o,nonce:a,to:r,value:i,accessList:l,gasPrice:b}=e;dr(e);const D=mn(l),z=[pe(n),a?pe(a):"0x",b?pe(b):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x",D,...Kt(e,t)];return Et(["0x01",St(z)])}function br(e,t){const{chainId:n=0,gas:s,data:o,nonce:a,to:r,value:i,gasPrice:l}=e;ur(e);let b=[a?pe(a):"0x",l?pe(l):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x"];if(t){const D=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const x=27n+(t.v===27n?0n:1n);if(t.v!==x)throw new wa({v:t.v});return x})(),z=ln(t.r),k=ln(t.s);b=[...b,pe(D),z==="0x00"?"0x":z,k==="0x00"?"0x":k]}else n>0&&(b=[...b,pe(n),"0x","0x"]);return St(b)}function Kt(e,t){const n=t??e,{v:s,yParity:o}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof s>"u"&&typeof o>"u")return[];const a=ln(n.r),r=ln(n.s);return[typeof o=="number"?o?pe(1):"0x":s===0n?"0x":s===1n?pe(1):s===27n?"0x":pe(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const yr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Ar={block:ea({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const s=On(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?Mt(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:e.stateRoot}}}),transaction:_s({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Mt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:sa({format(e){return{l1GasPrice:e.l1GasPrice?Mt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Mt(e.l1GasUsed):null,l1Fee:e.l1Fee?Mt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function kr(e,t){return Cr(e)?Tr(e):pr(e,t)}const vr={transaction:kr};function Tr(e){Er(e);const{sourceHash:t,data:n,from:s,gas:o,isSystemTx:a,mint:r,to:i,value:l}=e,b=[t,s,i??"0x",r?Lt(r):"0x",l?Lt(l):"0x",o?Lt(o):"0x",a?"0x1":"0x",n??"0x"];return Et(["0x7e",St(b)])}function Cr(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Er(e){const{from:t,to:n}=e;if(t&&!Re(t))throw new it({address:t});if(n&&!Re(n))throw new it({address:n})}const hn={blockTime:2e3,contracts:yr,formatters:Ar,serializers:vr},Sr=ut({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),xr=ut({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),Xt=1,ns=ut({...hn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...hn.contracts,disputeGameFactory:{[Xt]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xt]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xt]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xt]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Xt});({...ns});const Ir=ut({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function Xn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Nr extends me{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
95
- `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function _n(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Mr(e.type);return`${e.name}(${os(e.inputs,{includeName:t})})`}function os(e,{includeName:t=!1}={}){return e?e.map(n=>Br(n,{includeName:t})).join(t?", ":","):""}function Br(e,{includeName:t}){return e.type.startsWith("tuple")?`(${os(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}class Fr extends me{constructor({expectedLength:t,givenLength:n,type:s}){super([`ABI encoding array length mismatch for type ${s}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
97
+ `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(qt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class jo extends me{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}class qo extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const s=this.keys().next().value;s&&this.delete(s)}return this}}const Qa=BigInt(0),Qt=BigInt(1),Ka=BigInt(2),Xa=BigInt(7),_a=BigInt(256),Za=BigInt(113),Qo=[],Ko=[],Xo=[];for(let e=0,t=Qt,n=1,s=0;e<24;e++){[n,s]=[s,(2*n+3*s)%5],Qo.push(2*(5*s+n)),Ko.push((e+1)*(e+2)/2%64);let o=Qa;for(let a=0;a<7;a++)t=(t<<Qt^(t>>Xa)*Za)%_a,t&Ka&&(o^=Qt<<(Qt<<BigInt(a))-Qt);Xo.push(o)}const _o=Pa(Xo,!0),$a=_o[0],er=_o[1],Zo=(e,t,n)=>n>32?La(e,t,n):Oa(e,t,n),$o=(e,t,n)=>n>32?Ua(e,t,n):Da(e,t,n);function tr(e,t=24){const n=new Uint32Array(10);for(let s=24-t;s<24;s++){for(let r=0;r<10;r++)n[r]=e[r]^e[r+10]^e[r+20]^e[r+30]^e[r+40];for(let r=0;r<10;r+=2){const i=(r+8)%10,l=(r+2)%10,b=n[l],D=n[l+1],z=Zo(b,D,1)^n[i],k=$o(b,D,1)^n[i+1];for(let x=0;x<50;x+=10)e[r+x]^=z,e[r+x+1]^=k}let o=e[2],a=e[3];for(let r=0;r<24;r++){const i=Ko[r],l=Zo(o,a,i),b=$o(o,a,i),D=Qo[r];o=e[D],a=e[D+1],e[D]=l,e[D+1]=b}for(let r=0;r<50;r+=10){for(let i=0;i<10;i++)n[i]=e[r+i];for(let i=0;i<10;i++)e[r+i]^=~n[(i+2)%10]&n[(i+4)%10]}e[0]^=$a[s],e[1]^=er[s]}jt(n)}class zn extends Mo{constructor(t,n,s,o=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=s,this.enableXOF=o,this.rounds=a,Do(s),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=va(this.state)}clone(){return this._cloneInto()}keccak(){Uo(this.state32),tr(this.state32,this.rounds),Uo(this.state32),this.posOut=0,this.pos=0}update(t){un(this),t=Ln(t),zt(t);const{blockLen:n,state:s}=this,o=t.length;for(let a=0;a<o;){const r=Math.min(n-this.pos,o-a);for(let i=0;i<r;i++)s[this.pos++]^=t[a++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:s,blockLen:o}=this;t[s]^=n,(n&128)!==0&&s===o-1&&this.keccak(),t[o-1]^=128,this.keccak()}writeInto(t){un(this,!1),zt(t),this.finish();const n=this.state,{blockLen:s}=this;for(let o=0,a=t.length;o<a;){this.posOut>=s&&this.keccak();const r=Math.min(s-this.posOut,a-o);t.set(n.subarray(this.posOut,this.posOut+r),o),this.posOut+=r,o+=r}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Do(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Lo(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,jt(this.state)}_cloneInto(t){const{blockLen:n,suffix:s,outputLen:o,rounds:a,enableXOF:r}=this;return t||(t=new zn(n,s,o,r,a)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=s,t.outputLen=o,t.enableXOF=r,t.destroyed=this.destroyed,t}}const nr=(e,t,n)=>Ro(()=>new zn(t,e,n)),or=nr(1,136,256/8);function es(e,t){const n=t||"hex",s=or(Ot(e,{strict:!1})?Fn(e):e);return n==="bytes"?s:Lt(s)}const jn=new qo(8192);function sr(e,t){if(jn.has(`${e}.${t}`))return jn.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),s=es(Eo(n),"bytes"),o=n.split("");for(let r=0;r<40;r+=2)s[r>>1]>>4>=8&&o[r]&&(o[r]=o[r].toUpperCase()),(s[r>>1]&15)>=8&&o[r+1]&&(o[r+1]=o[r+1].toUpperCase());const a=`0x${o.join("")}`;return jn.set(`${e}.${t}`,a),a}const ar=/^0x[a-fA-F0-9]{40}$/,qn=new qo(8192);function Re(e,t){const{strict:n=!0}=t??{},s=`${e}.${n}`;if(qn.has(s))return qn.get(s);const o=ar.test(e)?e.toLowerCase()===e?!0:n?sr(e)===e:!0:!1;return qn.set(s,o),o}function Qn(e,t,n,{strict:s}={}){return Ot(e,{strict:!1})?ir(e,t,n,{strict:s}):rr(e,t,n,{strict:s})}function ts(e,t){if(typeof t=="number"&&t>0&&t>Je(e)-1)throw new Ao({offset:t,position:"start",size:Je(e)})}function ns(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Je(e)!==n-t)throw new Ao({offset:n,position:"end",size:Je(e)})}function rr(e,t,n,{strict:s}={}){ts(e,t);const o=e.slice(t,n);return s&&ns(o,t,n),o}function ir(e,t,n,{strict:s}={}){ts(e,t);const o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&ns(o,t,n),o}function cr(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:s}=n,o=n.address;if(!Re(o))throw new it({address:o});if(s<0)throw new pn({chainId:s})}Kn(e)}function lr(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new zo;for(const n of t){const s=Je(n),o=dn(Qn(n,0,1));if(s!==32)throw new Ja({hash:n,size:s});if(o!==Jo)throw new za({hash:n,version:o})}}Kn(e)}function Kn(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:s,to:o}=e;if(t<=0)throw new pn({chainId:t});if(o&&!Re(o))throw new it({address:o});if(s&&s>Rt)throw new It({maxFeePerGas:s});if(n&&s&&n>s)throw new qt({maxFeePerGas:s,maxPriorityFeePerGas:n})}function dr(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(t<=0)throw new pn({chainId:t});if(a&&!Re(a))throw new it({address:a});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function ur(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:s,maxFeePerGas:o,to:a}=e;if(a&&!Re(a))throw new it({address:a});if(typeof t<"u"&&t<=0)throw new pn({chainId:t});if(n||o)throw new me("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(s&&s>Rt)throw new It({maxFeePerGas:s})}function fr(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new ba({transaction:e})}function mn(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n<e.length;n++){const{address:s,storageKeys:o}=e[n];for(let a=0;a<o.length;a++)if(o[a].length-2!==64)throw new ya({storageKey:o[a]});if(!Re(s,{strict:!1}))throw new it({address:s});t.push([s,o])}return t}function pr(e,t){const n=fr(e);return n==="eip1559"?gr(e,t):n==="eip2930"?wr(e,t):n==="eip4844"?hr(e,t):n==="eip7702"?mr(e,t):br(e,t)}function mr(e,t){const{authorizationList:n,chainId:s,gas:o,nonce:a,to:r,value:i,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:D,data:z}=e;cr(e);const k=mn(D),x=Aa(n);return Et(["0x04",St([pe(s),a?pe(a):"0x",b?pe(b):"0x",l?pe(l):"0x",o?pe(o):"0x",r??"0x",i?pe(i):"0x",z??"0x",k,x,...Kt(e,t)])])}function hr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerBlobGas:i,maxFeePerGas:l,maxPriorityFeePerGas:b,accessList:D,data:z}=e;lr(e);let k=e.blobVersionedHashes,x=e.sidecars;if(e.blobs&&(typeof k>"u"||typeof x>"u")){const J=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(we=>ft(we)),Q=e.kzg,he=Po({blobs:J,kzg:Q});if(typeof k>"u"&&(k=Ga({commitments:he})),typeof x>"u"){const we=Oo({blobs:J,commitments:he,kzg:Q});x=qa({blobs:J,commitments:he,proofs:we})}}const B=mn(D),S=[pe(n),o?pe(o):"0x",b?pe(b):"0x",l?pe(l):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",z??"0x",B,i?pe(i):"0x",k??[],...Kt(e,t)],v=[],ge=[],y=[];if(x)for(let J=0;J<x.length;J++){const{blob:Q,commitment:he,proof:we}=x[J];v.push(Q),ge.push(he),y.push(we)}return Et(["0x03",St(x?[S,v,ge,y]:S)])}function gr(e,t){const{chainId:n,gas:s,nonce:o,to:a,value:r,maxFeePerGas:i,maxPriorityFeePerGas:l,accessList:b,data:D}=e;Kn(e);const z=mn(b),k=[pe(n),o?pe(o):"0x",l?pe(l):"0x",i?pe(i):"0x",s?pe(s):"0x",a??"0x",r?pe(r):"0x",D??"0x",z,...Kt(e,t)];return Et(["0x02",St(k)])}function wr(e,t){const{chainId:n,gas:s,data:o,nonce:a,to:r,value:i,accessList:l,gasPrice:b}=e;dr(e);const D=mn(l),z=[pe(n),a?pe(a):"0x",b?pe(b):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x",D,...Kt(e,t)];return Et(["0x01",St(z)])}function br(e,t){const{chainId:n=0,gas:s,data:o,nonce:a,to:r,value:i,gasPrice:l}=e;ur(e);let b=[a?pe(a):"0x",l?pe(l):"0x",s?pe(s):"0x",r??"0x",i?pe(i):"0x",o??"0x"];if(t){const D=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const x=27n+(t.v===27n?0n:1n);if(t.v!==x)throw new wa({v:t.v});return x})(),z=ln(t.r),k=ln(t.s);b=[...b,pe(D),z==="0x00"?"0x":z,k==="0x00"?"0x":k]}else n>0&&(b=[...b,pe(n),"0x","0x"]);return St(b)}function Kt(e,t){const n=t??e,{v:s,yParity:o}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof s>"u"&&typeof o>"u")return[];const a=ln(n.r),r=ln(n.s);return[typeof o=="number"?o?pe(1):"0x":s===0n?"0x":s===1n?pe(1):s===27n?"0x":pe(1),a==="0x00"?"0x":a,r==="0x00"?"0x":r]}const yr={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Ar={block:ea({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;const s=On(n);return s.typeHex==="0x7e"&&(s.isSystemTx=n.isSystemTx,s.mint=n.mint?Mt(n.mint):void 0,s.sourceHash=n.sourceHash,s.type="deposit"),s}),stateRoot:e.stateRoot}}}),transaction:_s({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Mt(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:sa({format(e){return{l1GasPrice:e.l1GasPrice?Mt(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Mt(e.l1GasUsed):null,l1Fee:e.l1Fee?Mt(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function kr(e,t){return Cr(e)?Tr(e):pr(e,t)}const vr={transaction:kr};function Tr(e){Er(e);const{sourceHash:t,data:n,from:s,gas:o,isSystemTx:a,mint:r,to:i,value:l}=e,b=[t,s,i??"0x",r?Lt(r):"0x",l?Lt(l):"0x",o?Lt(o):"0x",a?"0x1":"0x",n??"0x"];return Et(["0x7e",St(b)])}function Cr(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Er(e){const{from:t,to:n}=e;if(t&&!Re(t))throw new it({address:t});if(n&&!Re(n))throw new it({address:n})}const hn={blockTime:2e3,contracts:yr,formatters:Ar,serializers:vr},Sr=ut({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),xr=ut({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),Xt=1,os=ut({...hn,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...hn.contracts,disputeGameFactory:{[Xt]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xt]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xt]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xt]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Xt});({...os});const Ir=ut({id:56,name:"BNB Smart Chain",blockTime:750,nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://56.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"BscScan",url:"https://bscscan.com",apiUrl:"https://api.bscscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}});function Xn(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}class Nr extends me{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
98
+ `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}function _n(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Mr(e.type);return`${e.name}(${ss(e.inputs,{includeName:t})})`}function ss(e,{includeName:t=!1}={}){return e?e.map(n=>Br(n,{includeName:t})).join(t?", ":","):""}function Br(e,{includeName:t}){return e.type.startsWith("tuple")?`(${ss(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}class Fr extends me{constructor({expectedLength:t,givenLength:n,type:s}){super([`ABI encoding array length mismatch for type ${s}.`,`Expected length: ${t}`,`Given length: ${n}`].join(`
96
99
  `),{name:"AbiEncodingArrayLengthMismatchError"})}}class Pr extends me{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${Je(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class Or extends me{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(`
97
- `),{name:"AbiEncodingLengthMismatchError"})}}class ss extends me{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
100
+ `),{name:"AbiEncodingLengthMismatchError"})}}class as extends me{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
98
101
  `),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class Dr extends me{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${_n(t.abiItem)}\`, and`,`\`${n.type}\` in \`${_n(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class Lr extends me{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
99
102
  `),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Ur extends me{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
100
103
  `),{name:"InvalidArrayError"})}}class Mr extends me{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
101
- `),{name:"InvalidDefinitionTypeError"})}}const Rr=e=>$o(Fn(e));function Hr(e){return Rr(e)}function Wr(e,t){return e.exec(t)?.groups}const as=/^tuple(?<array>(\[(\d*)\])*)$/;function Zn(e){let t=e.type;if(as.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let o=0;o<n;o++){const a=e.components[o];t+=Zn(a),o<n-1&&(t+=", ")}const s=Wr(as,e.type);return t+=`)${s?.array||""}`,Zn({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function _t(e){let t="";const n=e.length;for(let s=0;s<n;s++){const o=e[s];t+=Zn(o),s!==n-1&&(t+=", ")}return t}function Vr(e){return e.type==="function"?`function ${e.name}(${_t(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${_t(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${_t(e.inputs)})`:e.type==="error"?`error ${e.name}(${_t(e.inputs)})`:e.type==="constructor"?`constructor(${_t(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Gr(e){let t=!0,n="",s=0,o="",a=!1;for(let r=0;r<e.length;r++){const i=e[r];if(["(",")",","].includes(i)&&(t=!0),i==="("&&s++,i===")"&&s--,!!t){if(s===0){if(i===" "&&["event","function",""].includes(o))o="";else if(o+=i,i===")"){a=!0;break}continue}if(i===" "){e[r-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}o+=i,n+=i}}if(!a)throw new me("Unable to normalize signature.");return o}const Yr=e=>{const t=typeof e=="string"?e:Vr(e);return Gr(t)};function rs(e){return Hr(Yr(e))}const is=e=>Qn(rs(e),0,4),Jr=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function zr(e,t){if(e.length!==t.length)throw new Or({expectedLength:e.length,givenLength:t.length});const n=jr({params:e,values:t}),s=eo(n);return s.length===0?"0x":s}function jr({params:e,values:t}){const n=[];for(let s=0;s<e.length;s++)n.push($n({param:e[s],value:t[s]}));return n}function $n({param:e,value:t}){const n=ei(e.type);if(n){const[s,o]=n;return Qr(t,{length:s,param:{...e,type:o}})}if(e.type==="tuple")return $r(t,{param:e});if(e.type==="address")return qr(t);if(e.type==="bool")return Xr(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const s=e.type.startsWith("int"),[,,o="256"]=Jr.exec(e.type)??[];return _r(t,{signed:s,size:Number(o)})}if(e.type.startsWith("bytes"))return Kr(t,{param:e});if(e.type==="string")return Zr(t);throw new Lr(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function eo(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?t+=32:t+=Je(i)}const n=[],s=[];let o=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?(n.push(pe(t+o,{size:32})),s.push(i),o+=Je(i)):n.push(i)}return Ht([...n,...s])}function qr(e){if(!Re(e))throw new it({address:e});return{dynamic:!1,encoded:bt(e.toLowerCase())}}function Qr(e,{length:t,param:n}){const s=t===null;if(!Array.isArray(e))throw new Ur(e);if(!s&&e.length!==t)throw new Fr({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let o=!1;const a=[];for(let r=0;r<e.length;r++){const i=$n({param:n,value:e[r]});i.dynamic&&(o=!0),a.push(i)}if(s||o){const r=eo(a);if(s){const i=pe(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Ht([i,r]):i}}if(o)return{dynamic:!0,encoded:r}}return{dynamic:!1,encoded:Ht(a.map(({encoded:r})=>r))}}function Kr(e,{param:t}){const[,n]=t.type.split("bytes"),s=Je(e);if(!n){let o=e;return s%32!==0&&(o=bt(o,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ht([bt(pe(s,{size:32})),o])}}if(s!==Number.parseInt(n,10))throw new Pr({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bt(e,{dir:"right"})}}function Xr(e){if(typeof e!="boolean")throw new me(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:bt(ko(e))}}function _r(e,{signed:t,size:n=256}){if(typeof n=="number"){const s=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-s-1n:0n;if(e>s||e<o)throw new Bn({max:s.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:pe(e,{size:32,signed:t})}}function Zr(e){const t=vo(e),n=Math.ceil(Je(t)/32),s=[];for(let o=0;o<n;o++)s.push(bt(Qn(t,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Ht([bt(pe(Je(t),{size:32})),...s])}}function $r(e,{param:t}){let n=!1;const s=[];for(let o=0;o<t.components.length;o++){const a=t.components[o],r=Array.isArray(e)?o:a.name,i=$n({param:a,value:e[r]});s.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?eo(s):Ht(s.map(({encoded:o})=>o))}}function ei(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const ti=rs;function ni(e){const{abi:t,args:n=[],name:s}=e,o=Ot(s,{strict:!1}),a=t.filter(i=>o?i.type==="function"?is(i)===s:i.type==="event"?ti(i)===s:!1:"name"in i&&i.name===s);if(a.length===0)return;if(a.length===1)return a[0];let r;for(const i of a){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((b,D)=>{const z="inputs"in i&&i.inputs[D];return z?to(b,z):!1})){if(r&&"inputs"in r&&r.inputs){const b=cs(i.inputs,r.inputs,n);if(b)throw new Dr({abiItem:i,type:b[0]},{abiItem:r,type:b[1]})}r=i}}return r||a[0]}function to(e,t){const n=typeof e,s=t.type;switch(s){case"address":return Re(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return s==="tuple"&&"components"in t?Object.values(t.components).every((o,a)=>n==="object"&&to(Object.values(e)[a],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(s)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(s)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(s)?Array.isArray(e)&&e.every(o=>to(o,{...t,type:s.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function cs(e,t,n){for(const s in e){const o=e[s],a=t[s];if(o.type==="tuple"&&a.type==="tuple"&&"components"in o&&"components"in a)return cs(o.components,a.components,n[s]);const r=[o.type,a.type];if(r.includes("address")&&r.includes("bytes20")?!0:r.includes("address")&&r.includes("string")?Re(n[s],{strict:!1}):r.includes("address")&&r.includes("bytes")?Re(n[s],{strict:!1}):!1)return r}}function ls(e){return e.reduce((t,{slot:n,value:s})=>`${t} ${n}: ${s}
104
+ `),{name:"InvalidDefinitionTypeError"})}}const Rr=e=>es(Fn(e));function Hr(e){return Rr(e)}function Wr(e,t){return e.exec(t)?.groups}const rs=/^tuple(?<array>(\[(\d*)\])*)$/;function Zn(e){let t=e.type;if(rs.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let o=0;o<n;o++){const a=e.components[o];t+=Zn(a),o<n-1&&(t+=", ")}const s=Wr(rs,e.type);return t+=`)${s?.array||""}`,Zn({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function _t(e){let t="";const n=e.length;for(let s=0;s<n;s++){const o=e[s];t+=Zn(o),s!==n-1&&(t+=", ")}return t}function Vr(e){return e.type==="function"?`function ${e.name}(${_t(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${_t(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${_t(e.inputs)})`:e.type==="error"?`error ${e.name}(${_t(e.inputs)})`:e.type==="constructor"?`constructor(${_t(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Gr(e){let t=!0,n="",s=0,o="",a=!1;for(let r=0;r<e.length;r++){const i=e[r];if(["(",")",","].includes(i)&&(t=!0),i==="("&&s++,i===")"&&s--,!!t){if(s===0){if(i===" "&&["event","function",""].includes(o))o="";else if(o+=i,i===")"){a=!0;break}continue}if(i===" "){e[r-1]!==","&&n!==","&&n!==",("&&(n="",t=!1);continue}o+=i,n+=i}}if(!a)throw new me("Unable to normalize signature.");return o}const Yr=e=>{const t=typeof e=="string"?e:Vr(e);return Gr(t)};function is(e){return Hr(Yr(e))}const cs=e=>Qn(is(e),0,4),Jr=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function zr(e,t){if(e.length!==t.length)throw new Or({expectedLength:e.length,givenLength:t.length});const n=jr({params:e,values:t}),s=eo(n);return s.length===0?"0x":s}function jr({params:e,values:t}){const n=[];for(let s=0;s<e.length;s++)n.push($n({param:e[s],value:t[s]}));return n}function $n({param:e,value:t}){const n=ei(e.type);if(n){const[s,o]=n;return Qr(t,{length:s,param:{...e,type:o}})}if(e.type==="tuple")return $r(t,{param:e});if(e.type==="address")return qr(t);if(e.type==="bool")return Xr(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const s=e.type.startsWith("int"),[,,o="256"]=Jr.exec(e.type)??[];return _r(t,{signed:s,size:Number(o)})}if(e.type.startsWith("bytes"))return Kr(t,{param:e});if(e.type==="string")return Zr(t);throw new Lr(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function eo(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?t+=32:t+=Je(i)}const n=[],s=[];let o=0;for(let a=0;a<e.length;a++){const{dynamic:r,encoded:i}=e[a];r?(n.push(pe(t+o,{size:32})),s.push(i),o+=Je(i)):n.push(i)}return Ht([...n,...s])}function qr(e){if(!Re(e))throw new it({address:e});return{dynamic:!1,encoded:bt(e.toLowerCase())}}function Qr(e,{length:t,param:n}){const s=t===null;if(!Array.isArray(e))throw new Ur(e);if(!s&&e.length!==t)throw new Fr({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let o=!1;const a=[];for(let r=0;r<e.length;r++){const i=$n({param:n,value:e[r]});i.dynamic&&(o=!0),a.push(i)}if(s||o){const r=eo(a);if(s){const i=pe(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Ht([i,r]):i}}if(o)return{dynamic:!0,encoded:r}}return{dynamic:!1,encoded:Ht(a.map(({encoded:r})=>r))}}function Kr(e,{param:t}){const[,n]=t.type.split("bytes"),s=Je(e);if(!n){let o=e;return s%32!==0&&(o=bt(o,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ht([bt(pe(s,{size:32})),o])}}if(s!==Number.parseInt(n,10))throw new Pr({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bt(e,{dir:"right"})}}function Xr(e){if(typeof e!="boolean")throw new me(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:bt(vo(e))}}function _r(e,{signed:t,size:n=256}){if(typeof n=="number"){const s=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-s-1n:0n;if(e>s||e<o)throw new Bn({max:s.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:pe(e,{size:32,signed:t})}}function Zr(e){const t=To(e),n=Math.ceil(Je(t)/32),s=[];for(let o=0;o<n;o++)s.push(bt(Qn(t,o*32,(o+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Ht([bt(pe(Je(t),{size:32})),...s])}}function $r(e,{param:t}){let n=!1;const s=[];for(let o=0;o<t.components.length;o++){const a=t.components[o],r=Array.isArray(e)?o:a.name,i=$n({param:a,value:e[r]});s.push(i),i.dynamic&&(n=!0)}return{dynamic:n,encoded:n?eo(s):Ht(s.map(({encoded:o})=>o))}}function ei(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const ti=is;function ni(e){const{abi:t,args:n=[],name:s}=e,o=Ot(s,{strict:!1}),a=t.filter(i=>o?i.type==="function"?cs(i)===s:i.type==="event"?ti(i)===s:!1:"name"in i&&i.name===s);if(a.length===0)return;if(a.length===1)return a[0];let r;for(const i of a){if(!("inputs"in i))continue;if(!n||n.length===0){if(!i.inputs||i.inputs.length===0)return i;continue}if(!i.inputs||i.inputs.length===0||i.inputs.length!==n.length)continue;if(n.every((b,D)=>{const z="inputs"in i&&i.inputs[D];return z?to(b,z):!1})){if(r&&"inputs"in r&&r.inputs){const b=ls(i.inputs,r.inputs,n);if(b)throw new Dr({abiItem:i,type:b[0]},{abiItem:r,type:b[1]})}r=i}}return r||a[0]}function to(e,t){const n=typeof e,s=t.type;switch(s){case"address":return Re(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return s==="tuple"&&"components"in t?Object.values(t.components).every((o,a)=>n==="object"&&to(Object.values(e)[a],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(s)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(s)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(s)?Array.isArray(e)&&e.every(o=>to(o,{...t,type:s.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ls(e,t,n){for(const s in e){const o=e[s],a=t[s];if(o.type==="tuple"&&a.type==="tuple"&&"components"in o&&"components"in a)return ls(o.components,a.components,n[s]);const r=[o.type,a.type];if(r.includes("address")&&r.includes("bytes20")?!0:r.includes("address")&&r.includes("string")?Re(n[s],{strict:!1}):r.includes("address")&&r.includes("bytes")?Re(n[s],{strict:!1}):!1)return r}}function ds(e){return e.reduce((t,{slot:n,value:s})=>`${t} ${n}: ${s}
102
105
  `,"")}function oi(e){return e.reduce((t,{address:n,...s})=>{let o=`${t} ${n}:
103
106
  `;return s.nonce&&(o+=` nonce: ${s.nonce}
104
107
  `),s.balance&&(o+=` balance: ${s.balance}
105
108
  `),s.code&&(o+=` code: ${s.code}
106
109
  `),s.state&&(o+=` state:
107
- `,o+=ls(s.state)),s.stateDiff&&(o+=` stateDiff:
108
- `,o+=ls(s.stateDiff)),o},` State Override:
109
- `).slice(0,-1)}class si extends me{constructor(t,{account:n,docsPath:s,chain:o,data:a,gas:r,gasPrice:i,maxFeePerGas:l,maxPriorityFeePerGas:b,nonce:D,to:z,value:k,stateOverride:x}){const B=n?Xn(n):void 0;let S=Bo({from:B?.address,to:z,value:typeof k<"u"&&`${ga(k)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:a,gas:r,gasPrice:typeof i<"u"&&`${xt(i)} gwei`,maxFeePerGas:typeof l<"u"&&`${xt(l)} gwei`,maxPriorityFeePerGas:typeof b<"u"&&`${xt(b)} gwei`,nonce:D});x&&(S+=`
110
- ${oi(x)}`),super(t.shortMessage,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",S].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function ai(e,t){const n=(e.details||"").toLowerCase(),s=e instanceof me?e.walk(o=>o?.code===Wt.code):e;return s instanceof me?new Wt({cause:e,message:s.details}):Wt.nodeMessage.test(n)?new Wt({cause:e,message:e.details}):It.nodeMessage.test(n)?new It({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Rn.nodeMessage.test(n)?new Rn({cause:e,nonce:t?.nonce}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e}):Gn.nodeMessage.test(n)?new Gn({cause:e,gas:t?.gas}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e}):qt.nodeMessage.test(n)?new qt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new zo({cause:e})}function ri(e,{docsPath:t,...n}){const s=(()=>{const o=ai(e,n);return o instanceof zo?e:o})();return new si(s,{docsPath:t,...n})}function ii(e,{format:t}){if(!t)return{};const n={};function s(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&s(a[i])}const o=t(e||{});return s(o),n}function ci(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:s,to:o}=e,a=t?Xn(t):void 0;if(a&&!Re(a.address))throw new it({address:a.address});if(o&&!Re(o))throw new it({address:o});if(n&&n>Rt)throw new It({maxFeePerGas:n});if(s&&n&&s>n)throw new qt({maxFeePerGas:n,maxPriorityFeePerGas:s})}async function li(e,t){const{account:n=e.account}=t;if(!n)throw new Nr;const s=Xn(n);try{const{accessList:o,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:b,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B,...S}=t,ge=(typeof a=="bigint"?pe(a):void 0)||r;ci(t);const y=e.chain?.formatters?.transactionRequest?.format,Q=(y||ra)({...ii(S,{format:y}),account:s,accessList:o,data:i,gas:l,gasPrice:b,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B},"estimateGas"),{baseFeePerGas:he,gasLimit:we,priorityFeePerGas:Ee}=await e.request({method:"linea_estimateGas",params:ge?[Q,ge]:[Q]});return{baseFeePerGas:BigInt(he),gasLimit:BigInt(we),priorityFeePerGas:BigInt(Ee)}}catch(o){throw ri(o,{...t,account:s,chain:e.chain})}}const di={fees:{estimateFeesPerGas:ds,async maxPriorityFeePerGas({block:e,client:t,request:n}){const s=await ds({block:e,client:t,multiply:o=>o,request:n,type:"eip1559"});return s?.maxPriorityFeePerGas?s.maxPriorityFeePerGas:null}}};async function ds({client:e,multiply:t,request:n,type:s}){try{const o=await li(e,{...n,account:n?.account}),{priorityFeePerGas:a}=o,i=t(BigInt(o.baseFeePerGas))+a;return s==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const ui=ut({...di,id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),fi=ut({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),Zt=1,pi=ut({...hn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...hn.contracts,disputeGameFactory:{[Zt]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[Zt]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[Zt]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[Zt]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:Zt}),mi=ut({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon.drpc.org"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),us="/docs/contract/encodeFunctionData";function hi(e){const{abi:t,args:n,functionName:s}=e;let o=t[0];if(s){const a=ni({abi:t,args:n,name:s});if(!a)throw new ss(s,{docsPath:us});o=a}if(o.type!=="function")throw new ss(void 0,{docsPath:us});return{abi:[o],functionName:is(_n(o))}}function kt(e){const{args:t}=e,{abi:n,functionName:s}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:hi(e),o=n[0],a=s,r="inputs"in o&&o.inputs?zr(o.inputs,t??[]):void 0;return Et([a,r??"0x"])}const ct={1:{...fi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...pi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Ir,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...mi,rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAC61JREFUeAHtnU9sFNcdx39vdmNMbbATQHZSEOtQieYSO5dYzQHbBzDqAcyhOSUBDimRooSkVLkFL84tbRRHUaqklVpIeuLCn14wqMKOVCoiVVmnJypRrwVN7DYpCzHJ2njn5X3f7phde3bnzcyb2Z1hP9LKa7PGu/N97/f3zXuMGpz03q9SZN7rS7DkdpMKPYwS2znxFCPqJC4eTDzK4ZQTP8txYtniDwrTBiVmCqwwTfnlTHqyJ0cNDKMGAwIkON/PiQaJ88E1F9w/WfGxM4yzswWDptIXHs1SA9EQgqT33hhknEYYGfvFtykKlywn8xw32cn0pa0ZqjN1EyQ9ONNptLQeJWYeovBFqEaWcSNdz5kTuiByNpjsECO2PwBzpJOTJjNOhC1MaIKkd9/sY4bxLiPhF6JFqMIELog0TevWjYrw5zWKNqEIE6ggbw3PHeW8kG5w0+QG6WPevPjoKQqIQARB6Mo4/1MEzZMSIseZ5IwdDmK2GKQZzArDND+PqxgAn83g5udv7fnqIGlG2wyJka9wCRs/PvHY66QJLYIUTZR5RvxnffQAIqoKGc6MAzpMmG9BEM4aBjtDjZPc1YusiMKG/Iriy4dIMRi7TE0xQEr4lcu4JuQDzzNkRYz4hLS6yJkmH/JaF/MkSFMMRzyL4loQOHCEtU0xHMkJn/KUW5/iyodIMYSdbIqhRKf0KWiwuUBZEJlnQIymA3eDTAfc/IKyIMWkrymGW5CbjQ1/+a6L1zsji4RUGKcmnmHMOPTmBeeipKMgYTjx7U+2iMc6+Xz2i0XxWKIYouTkk+RAkE68a8dDNHxk44oYRTbQtSt5mvjoNt2eL1CM6EQFXHwdqvWimjMkKFPV2sZo4LmN9PSBtpqv+/TP31Lm0ncxE4a9LoqRVa9pVUFWQlzNjrxfiLBLiAFRVMgJMSDMtBAmJuTMxaWeauvDqkZZzBSdPo1iwE+88PYm2nOkQ1kM0NmVoH3HOunF322hDvE8BpTaFPbYXpnS7JghDeDi73mpg3p3/4h0gJkyJWZM1M2YcPA9dg7e1qnL2cH8t0oGntsg/ES7qxnhBIRFEBB1MyYGPGbJ4dU/X3OldMwOmKd9xx6W5iZI4F9Oj/2f5q/foyhiN0vWzBA/swM2fr+w95VhbG2u/T1PV88syNwDM2nnM63S6auIidf88oMtkTVjjC+j3V3R8q648n5mh9voaU6M6osi17BLAlvbDBkSw+Spgtly8cPbUuAIsSbiqoiyjEJhkDywS1w41egpf5fThLhwf3j5f1Uz8vxdU/qI9w/OU1Zk7ipY0VjEIrFO1pKsmCGVYa/BRskDqhEUTNP7L8zRZ2fvKr0eo/6TN76h8+/cks+daG03qH+kjSIFSwyUf7siCBZBk4e8AyPTyd5jlH/8xtfCRN2RM8Qt05e+F8J8LQR1FrKzy7Ea1FBgjVfp2ktWBMGKdAoAmB6Mcr8FQ+kjPiqaulqitrY33D1IjjCTBq3n9wVhbIA0g4uI6EcnCAZgwuKEKM2vrICUgpSWrqRIM/AZQYBqsBfT18CkrFavFMQw7k8ZnQR50eaux6tnYvDCCL5KD8g4G+DRM72+QIiOfgzCZCSU9W6KMWK9+CoFEWLEZk2uyoW1S2Lh7xAJ1ivbl3cdC5JYTUIxWLyA0BoRXS1BUGND9m9X2kHo/uqprnqWYVLQIkmtyT6KsH8sNrDuyFylGqodSmBVkz8TAclVxQRWG0KLpMFZJM3V4gKXIxkXrlbw4LbGBjBb0MNB6yDMMj+0SBa3qYieR0fZvRYwT6ivdQvH7RWrPob/KwwzBi2EU0/0UpRt1ioQNQ2L0b3zZ62kC5gxPDBbrjrMSD8YZHREq/BTA5ikfmFidHcoy0FV+8mSMEGYMSFzX1IUt1IUcdz6CYxwjPR/lXonXY8nXTXFYMYgTgBhsoiyilscBcJPhdn4IkCH6KVVjJGNRla52UF9DFFa7+71roRBmIzZorNelwxyiSjasbhourNg+xWPtVHJUyAK/h2jX7XHs6vU1dQkSoqNDf/Hl4fCSHlFjJRq5BdM2QfRYXPd5BMrf1/MhKlP7ig3xSzwuZ49vkmI7+xm8RnR3dTh7H079fxC7TeBLh5sLqIeP+t18fvIDdyYJ5U8pRpIOH//8n+VzBg+Y0d3kvIaVr/4F0T0v2EOUg7mA+YLD7c218tKFryfv7yTU2r7OgEzdu3KIu37dWfNUFpXZGfIPQp94ubDw+bCxDnZ6KJ52iAdp6oYVoEQHcqcxugHg+78b3Nh9GCyiaGfHHuJyJ9jxxtFCImpq5IZ43WYLTADc/++R4urPihG4rOjm+RrVP/+304viIFxi765GUw2vXyPU/vDCdr6RIvtv0/rWaWfS5Z28fQNRuR5MVNww41q6GhlwPgw80KYdW2GMH0trsyTXRgbFBg8QSJKJ1mRGGITSH39ENhcPLAcB1mzqjBuUQljowe7nTSZOcv079IkS9dYRegmplfBaxgbDUzMEGvDYf1YZgwj+fm3N/tefK0SxiIYiOoCCGhhMG5mKWAgDBIn1RWIq4F5wu9D2GoX24rKnv/NZooqJuOZZMF4KGNwk8LAiulVF1IXZ9gtRz8Bk4ikEaLk5iN8I09+OZPE/QmifJKlkPrq1kJqFB2r+RerGutknmr1yCNIFqvgS8uAsCNauAsdysNk9Bi6d7SIMkxBLoKDw3Ya6f0j7WJWbKS4IIbdNL6WlgHxKSHLCNUBK0x2i0rRL0oYzJB7osh412SJs9TEkfUBLuQW9mAKX4tre4v3uWUpBqjcHuGVrse9L5hwIGvda7iSEeLIBooJbvolqqDqrDPBLaf82t8XhFFszBYcvpv7E50obnoQXH6Ds0us5/fvoLqwbZIiZLacGmOqZf5aIK8ZPtIhxQjwFu9s+d6MFUUszk3H/Zwahdl/Ot8M6mdbDqxkeeXjbiXzhxau13vlGTPS5d9XCrK0PK6jYRUGyFdUL0K3cMZodKncpQvz9OIHW1ztyYK8yWv9zIquLCre3WT2vfzgjl89wVg01vte/8eivMlz8za1nATNs53PrJcNsflVvQ1c/J+/2ilXPbY/ojabIMJf/3iHrpz2fKfYydGJxyqsks3WGjcGDW5cpgjhZj2VBSoB1658Ly8qxOjd0+aqL66jb2+3tYbtOzgx/OXlKB43AUfeH+BSUqBa8FTg5PGJH6/ZfMZ2ruOwEsa5lu2ZwsSpaOkHq+D5qaZVijg+ye7nVYfSieEb46KTeJQiChz5L0Yf0RKuWkJobHzZzg5QfYs/ec5gy0zUd7H24l8sAurb1zzWoqaxHRu++Zp4ifImwI0KxHhaZO/9iiUVzISLH+Y8VaGdcNq/19H7RdXB2yFvVRP5RbX1XqqNMa9w4pOjE1uHar3GMYCXDt7ksTgNwdqBzs6M6Vx+aotIuLmROOz0MqX4MC6mazXIygEy/qBXqmjbatwi6lFXPRHl9fdGJ7YpnV6nvEKOLy6nuei9UxO3ZFXFAOrnh0z2CBtoHKCYdBZDQoa4bn6heeRRcHg6Rs/1ol78AZPzoaiU6esCl4eCeTposnlsnm4gBg/52DyLpiir8CkG8H/0akDHWkSQ+h+9CqRPKUYSWXpAweHEOsQAWu7UkaIsLj2FBIgeMPCZ+eKSFjGA9taaLLNwNhp7vyLvzeQnjk9s1XokVCC9Tnm+ummeYTHay7EcVG05SxzWNSvKCXTnsrG9Nw/J2RIXhx/QrCgn8K3kirOlkGaMHaQIU/QVy+lqh3npIrS9/aIqTJDmyY7QN1uMhDBoJjHzFGfJ8bCEsKjb7pcyoaTCYCP5GDEbMsJHnOP55fGgTVM16iZIOVgtieMySic0pChcsrg/A7djlO4AqCsNIUg5qI8lDGOAFxdWBHFqQ1Y8JhmxTIGxc2GbJCcaTpDVyK3QW5N9CZ7oNanQQ6VN68UFTZX2i6xMQIub6eREdzMn8iCM/lmDEjMFvjxLS4XJepkiVX4AbuLqSV+48XkAAAAASUVORK5CYII=",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"]},8453:{...ns,logo:"data:image/png;base64,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",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},42161:{...Sr,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...xr,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...ui,logo:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAABkCAYAAACWy14QAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABydJREFUeAHtnT1MHEcUxx8HEuAGYxdOY+fcpbBl6CJR+NI5FAR3oQJ6irhBiiiAKoEmRkIKXQgN7gwUyB1HgZLOh0SND2iSgs+GS3GQ/3+ZPR3H3bIfsx+3Nz9p2b1jl4/5z7z3Zm7mTZsklIcAp2x7e3vf9fV1H657cPD8sOqo5owH7i3y3NbWdoDzl6urq12cC2dAEkqbJAQWOgo8h0LM4eVruSlwnRR4QJx8uVzehiZFSQixisCCz2Qyoyj4YRROTiIEvzOP372cBEFiEQFln0OhT+OwzUus2IIcHx//KTEQqQiPHz8eg40ejbrWe6CIv20majEiEYGFj9o2jcusNAeRihGqCFVmJyfNSSRihCKCcris+T9JCkArXsPxLiwH3i6aYe2HAH/hMicpAa3hGxxj3d3d/11eXv4tmtEmAmv/gwcPfsEfu4SXXZI++D+9gRDZzs7O3VKppK3zp8UcofyzqP0fRX8HK6kUEeV9p8s8ZSQgEKAPAmxJ6whAWOk+I+obFg0EMkcQYBR/zAdcfiWtB83TjzBPAj+xLQHwLYISYFnSaf+9kAsqhC8RqgQw3BBICM8i0A4iAvoghlp8C+FJBDphCMAoqNVNUCNyCF+LCF93vTzkOkRVYSijoKwYnDhT4WvB7QOuQ1QjgGs4ZPORldbtA65EePTo0W9iBPBCFmb7D7c33+sTOAyN069i8AREyMJRn7sZa3L0CcYPBIb+of++4Q1HcwQBZsQIEISHbsxSQ3OkwtHfxRAIN2apoTmCM/4iphXogmbpeaO5T3XNkXLGWUkhIyMjsrGxIfv7+4KPLa0zX/P9Z8+eSUgwbG34KWPdlpDGVvDy5UtZWVlxLOjDw0OZn5+X1dVVCYGGreGOT1CtYExSBAVYX1+XJ0+eON7X09Mjg4ODtOOys7MjmunCz+XHo/nab9xpCWlrBaz5FMCrqRkaGgpDiLqt4ZZP4If0kjIzNDk56cvWLy4uSgjQN4zVvnlLhHo3NDM0L3S4fqBwAwMDopvr6+sfat+riKAGnEYlRQQtRPoH3XAinLI4FSoicFq6pIynT59KEMIKWWFxbk0Q6LAv1ERd0Qn/Ccbg99HXF85EDZqjOJ93gBan0m+wRODErbDmiwatjUE4OjqSIJyfn0tIsMhzCJLyfGGZozSaIrK5uSlBCPq8EzBJuco1v3CljKQQ1mS/sT57zyH0EyqgzF/b17ZjfiUpZW5uTvzAoQsKERZqlZJFRq2STO0URtbmqakpT89QAI4hhQyL3ip3toTUzyFdWlpyLQTvnZiYkCjg8mCeW0IEwsLt7++3anlt1GP7Do4XeW01QVDrs6UDXjorLQJtvF3LX7x4YfUDKABD2RDD0YZAhCzPHbj4WncnrRnY29uTuEG5WwERzVHs64hbnQw/iBZDrGRgjkxLiBm2BCNCzARes2YIjhEhARgREoARIQEYERKAESEBGBESADtric2S2Cqws2ZEiBmaIyNCzFAETwufDfqwXYFpCfFyIwJ8guuV5wa9oOwtK5Qpl8tGhJi4urr6zDPNUVEMcXHTEtSqEdMaoufMTkJi95gDpQ8zeAeRUaXiWyIwnb0YIgVlvm5fWyLAOefFEClwynn72lqfQOPU29ubjyundVxrGC4uLuKa9FWsTkrVUfWN9bhEKBTiiQs4JTKqeafV1Jr/6qHsZTOiGg0wRQvVrysimFA1GmpNEcnU3DArhlBBGc/UvndLBC5k4/4yYggFtf3Yeu37mTo3xrK5TytAh1wvy8sdEXDPslLMoBk45Lrmvu4H/cY3hMJso4SEDVeHoPO21cQbEiUKWhYcDTe9yDg8aFqDJhgROaXlbJgNslQqFbu7u3tx+a0YfKP6BeNO9zhO/oIjmTG96GDQDN13j6MIDKfwQ96KwS+zbjY/ujdXtjFL/mCn9/T0dNzNva7moiqzZMaVXKKiIVcCEE+bWCBk3TKrPe9HZXwsur3f9axs/lD6B+OonYEA4143wfO0pw78wz9dXV3/ojWkMj+SBmbhB96LRzzvLgUhCp2dnQdGiDvMnpyczIgPfO2zZoS4g28BiO8dB5UQnEH2BmK08pZfgQQggdO72HuvtVrUxABFbZS9LAHRthVwK4Wvqh/w1steak5oWTjIkAxRwXNcLkjKUVvF9+sSgGjdHv7y8vITHTYu+9KWuITmB//Tz6hs7+APS6IRrSIQOmz0JTiRjONNqcivx3EgHN9DgE8SAqHmXWt2p61sP53vmoRIJMnvIMYYhJhuFjGU6VnAEMT7RjtC6STSDIRJFyPqwreJJQ0kM6arXUsSsWmGsvmzdhb3qIk1F6favSSH2jca9cwOFjx+53bUtb4eiUmIqnJ2s4UMo4BeVSf01kQRh1Xw5XJ5Le6CryaxWWmrEqm/gjDPmURXbjYUzTo9pz7vKOK+A9RyblfG8a1Ckgq9lv8B/ms5OCQW+c4AAAAASUVORK5CYII=",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},fs=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,gi=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const s=new Date(e);return s.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),s.getTime()===t.getTime()?"Today":s.getTime()===n.getTime()?"Yesterday":s.toLocaleDateString("en-US",{month:"short",day:"numeric",year:s.getFullYear()!==t.getFullYear()?"numeric":void 0})},Xe=e=>new Promise(t=>setTimeout(t,e||0)),wi=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),bi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},yi=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Nt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ai extends me{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ai({value:e});let[n,s="0"]=e.split(".");const o=n.startsWith("-");if(o&&(n=n.slice(1)),s=s.replace(/(0+)$/,""),t===0)Math.round(+`.${s}`)===1&&(n=`${BigInt(n)+1n}`),s="";else if(s.length>t){const[a,r,i]=[s.slice(0,t-1),s.slice(t-1,t),s.slice(t)],l=Math.round(+`${r}.${i}`);l>9?s=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):s=`${a}${l}`,s.length>t&&(s=s.slice(1),n=`${BigInt(n)+1n}`),s=s.slice(0,t)}else s=s.padEnd(t,"0");return BigInt(`${o?"-":""}${n}${s}`)}const ki="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",We="0x0000000000000000000000000000000000000000",ps=te.createContext(void 0),gn=()=>{const e=te.useContext(ps);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:yi(e.account?.chainId||void 0),chainTypeMoralis:bi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},vi=({children:e,initialAccount:t})=>O.jsx(ps.Provider,{value:{account:t||null},children:e}),Ti=({address:e,chainId:t})=>{const[n,s]=te.useState(!1),{isChainSupported:o}=gn(),a=te.useCallback(()=>{if(!e)return;const r=e,i=()=>{s(!0),setTimeout(()=>s(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return O.jsx(O.Fragment,{children:Re(e||"")&&O.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&O.jsx("div",{className:"user-avatar",children:O.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),O.jsx("span",{className:"user-wallet",children:O.jsx("a",{style:{pointerEvents:o?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:wi(e)||"Not connected"})}),O.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?O.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):O.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:O.jsx("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},no="chat_widget_messages",wn=200,Ci=()=>Math.random().toString(36).substring(2,12),ms="welcome-message";function oo(e){return[{id:ms,text:e,sender:"bot",timestamp:new Date}]}function Ei(e,t){return e&&t?`${e}_${t}`:""}function hs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function gs(){const e=Nt.getItem(no);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:hs(t.messages)};if(Array.isArray(t))return{owner:"",messages:hs(t)}}catch{}return null}function bn(e,t){Nt.setItem(no,JSON.stringify({owner:e,messages:t}))}function Si(){const{account:e}=gn(),{t}=cn(),n=Ei(e?.address,e?.chainId),s=te.useMemo(()=>oo(t("welcomeMessage")),[t]),[o,a]=te.useState(()=>n||"pending"),[r,i]=te.useState(()=>{const S=gs();return n?S&&S.owner===n?S.messages:oo(t("welcomeMessage")):S?.messages??oo(t("welcomeMessage"))});if(o==="pending"&&n){const S=gs();S&&S.owner===n?i(S.messages):bn(n,r),a(n)}else o!=="pending"&&n&&o!==n&&(i(s),bn(n,s),a(n));const l=te.useMemo(()=>r.map(S=>S.id===ms?{...S,text:t("welcomeMessage")}:S),[r,t]);te.useEffect(()=>{o!=="pending"&&bn(o,r)},[r,o]),te.useEffect(()=>{const S=[];for(let v=0;v<Nt.length;v++){const ge=Nt.key(v);ge&&ge.startsWith(no+"_")&&S.push(ge)}S.forEach(v=>Nt.removeItem(v))},[]);const b=(S,v,ge,y,J)=>{const Q=ge?r.find(we=>we.id===ge):void 0,he={id:Ci(),text:S,sender:v,timestamp:new Date,...Q&&{replyTo:{id:Q.id,text:Q.text,sender:Q.sender}},...y&&{buttons:y},...J&&{actionData:J}};return i(we=>{const Ee=[...we,he];return Ee.length>wn?Ee.slice(Ee.length-wn):Ee}),he},D=(S,v)=>{i(ge=>ge.map(y=>y.id===S&&y.actionData?{...y,actionData:{...y.actionData,status:v}}:y))},z=(S,v)=>{i(ge=>ge.map(y=>y.id===S?{...y,text:v}:y))},k=S=>r.find(v=>v.id===S),x=te.useCallback(()=>{i(s),bn(n,s)},[n,s]),B=te.useCallback(S=>{i(v=>{const ge=v.filter(y=>!S.includes(y.id));return ge.length>wn?ge.slice(ge.length-wn):ge})},[]);return{messages:l,setMessages:i,addMessage:b,updateMessageAction:D,updateMessageText:z,getMessageById:k,clearMessages:x,clearMessagesById:B}}const ws=te.createContext(void 0),xi=()=>{const e=te.useContext(ws);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Ii=({children:e,initialConfig:t})=>O.jsx(ws.Provider,{value:{config:t||null},children:e});var Ni=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,so=Math.ceil,Ze=Math.floor,ze="[BigNumber Error] ",bs=ze+"Number primitive has more than 15 significant digits: ",nt=1e14,be=14,ao=9007199254740991,ro=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],vt=1e7,He=1e9;function ys(e){var t,n,s,o=y.prototype={constructor:y,toString:null,valueOf:null},a=new y(1),r=20,i=4,l=-7,b=21,D=-1e7,z=1e7,k=!1,x=1,B=0,S={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},v="0123456789abcdefghijklmnopqrstuvwxyz",ge=!0;function y(c,d){var p,C,u,g,E,h,w,I,N=this;if(!(N instanceof y))return new y(c,d);if(d==null){if(c&&c._isBigNumber===!0){N.s=c.s,!c.c||c.e>z?N.c=N.e=null:c.e<D?N.c=[N.e=0]:(N.e=c.e,N.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(N.s=1/c<0?(c=-c,-1):1,c===~~c){for(g=0,E=c;E>=10;E/=10,g++);g>z?N.c=N.e=null:(N.e=g,N.c=[c]);return}I=String(c)}else{if(!Ni.test(I=String(c)))return s(N,I,h);N.s=I.charCodeAt(0)==45?(I=I.slice(1),-1):1}(g=I.indexOf("."))>-1&&(I=I.replace(".","")),(E=I.search(/e/i))>0?(g<0&&(g=E),g+=+I.slice(E+1),I=I.substring(0,E)):g<0&&(g=I.length)}else{if(Pe(d,2,v.length,"Base"),d==10&&ge)return N=new y(c),we(N,r+N.e+1,i);if(I=String(c),h=typeof c=="number"){if(c*0!=0)return s(N,I,h,d);if(N.s=1/c<0?(I=I.slice(1),-1):1,y.DEBUG&&I.replace(/^0\.0*|\./,"").length>15)throw Error(bs+c)}else N.s=I.charCodeAt(0)===45?(I=I.slice(1),-1):1;for(p=v.slice(0,d),g=E=0,w=I.length;E<w;E++)if(p.indexOf(C=I.charAt(E))<0){if(C=="."){if(E>g){g=w;continue}}else if(!u&&(I==I.toUpperCase()&&(I=I.toLowerCase())||I==I.toLowerCase()&&(I=I.toUpperCase()))){u=!0,E=-1,g=0;continue}return s(N,String(c),h,d)}h=!1,I=n(I,d,10,N.s),(g=I.indexOf("."))>-1?I=I.replace(".",""):g=I.length}for(E=0;I.charCodeAt(E)===48;E++);for(w=I.length;I.charCodeAt(--w)===48;);if(I=I.slice(E,++w)){if(w-=E,h&&y.DEBUG&&w>15&&(c>ao||c!==Ze(c)))throw Error(bs+N.s*c);if((g=g-E-1)>z)N.c=N.e=null;else if(g<D)N.c=[N.e=0];else{if(N.e=g,N.c=[],E=(g+1)%be,g<0&&(E+=be),E<w){for(E&&N.c.push(+I.slice(0,E)),w-=be;E<w;)N.c.push(+I.slice(E,E+=be));E=be-(I=I.slice(E)).length}else E-=w;for(;E--;I+="0");N.c.push(+I)}}else N.c=[N.e=0]}y.clone=ys,y.ROUND_UP=0,y.ROUND_DOWN=1,y.ROUND_CEIL=2,y.ROUND_FLOOR=3,y.ROUND_HALF_UP=4,y.ROUND_HALF_DOWN=5,y.ROUND_HALF_EVEN=6,y.ROUND_HALF_CEIL=7,y.ROUND_HALF_FLOOR=8,y.EUCLID=9,y.config=y.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Pe(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Pe(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Pe(p[0],-He,0,d),Pe(p[1],0,He,d),l=p[0],b=p[1]):(Pe(p,-He,He,d),l=-(b=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Pe(p[0],-He,-1,d),Pe(p[1],1,He,d),D=p[0],z=p[1];else if(Pe(p,-He,He,d),p)D=-(z=p<0?-p:p);else throw Error(ze+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))k=p;else throw k=!p,Error(ze+"crypto unavailable");else k=p;else throw Error(ze+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Pe(p,0,9,d),x=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Pe(p,0,He,d),B=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")S=p;else throw Error(ze+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))ge=p.slice(0,10)=="0123456789",v=p;else throw Error(ze+d+" invalid: "+p)}else throw Error(ze+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,b],RANGE:[D,z],CRYPTO:k,MODULO_MODE:x,POW_PRECISION:B,FORMAT:S,ALPHABET:v}},y.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!y.DEBUG)return!0;var d,p,C=c.c,u=c.e,g=c.s;e:if({}.toString.call(C)=="[object Array]"){if((g===1||g===-1)&&u>=-He&&u<=He&&u===Ze(u)){if(C[0]===0){if(u===0&&C.length===1)return!0;break e}if(d=(u+1)%be,d<1&&(d+=be),String(C[0]).length==d){for(d=0;d<C.length;d++)if(p=C[d],p<0||p>=nt||p!==Ze(p))break e;if(p!==0)return!0}}}else if(C===null&&u===null&&(g===null||g===1||g===-1))return!0;throw Error(ze+"Invalid BigNumber: "+c)},y.maximum=y.max=function(){return Q(arguments,-1)},y.minimum=y.min=function(){return Q(arguments,1)},y.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return Ze(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var C,u,g,E,h,w=0,I=[],N=new y(a);if(p==null?p=r:Pe(p,0,He),E=so(p/be),k)if(crypto.getRandomValues){for(C=crypto.getRandomValues(new Uint32Array(E*=2));w<E;)h=C[w]*131072+(C[w+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),C[w]=u[0],C[w+1]=u[1]):(I.push(h%1e14),w+=2);w=E/2}else if(crypto.randomBytes){for(C=crypto.randomBytes(E*=7);w<E;)h=(C[w]&31)*281474976710656+C[w+1]*1099511627776+C[w+2]*4294967296+C[w+3]*16777216+(C[w+4]<<16)+(C[w+5]<<8)+C[w+6],h>=9e15?crypto.randomBytes(7).copy(C,w):(I.push(h%1e14),w+=7);w=E/7}else throw k=!1,Error(ze+"crypto unavailable");if(!k)for(;w<E;)h=d(),h<9e15&&(I[w++]=h%1e14);for(E=I[--w],p%=be,E&&p&&(h=ro[be-p],I[w]=Ze(E/h)*h);I[w]===0;I.pop(),w--);if(w<0)I=[g=0];else{for(g=-1;I[0]===0;I.splice(0,1),g-=be);for(w=1,h=I[0];h>=10;h/=10,w++);w<be&&(g-=be-w)}return N.e=g,N.c=I,N}})(),y.sum=function(){for(var c=1,d=arguments,p=new y(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,C,u,g){for(var E,h=[0],w,I=0,N=p.length;I<N;){for(w=h.length;w--;h[w]*=C);for(h[0]+=g.indexOf(p.charAt(I++)),E=0;E<h.length;E++)h[E]>u-1&&(h[E+1]==null&&(h[E+1]=0),h[E+1]+=h[E]/u|0,h[E]%=u)}return h.reverse()}return function(p,C,u,g,E){var h,w,I,N,F,X,se,ue,Ce=p.indexOf("."),Se=r,q=i;for(Ce>=0&&(N=B,B=0,p=p.replace(".",""),ue=new y(C),X=ue.pow(p.length-Ce),B=N,ue.c=d(ht(et(X.c),X.e,"0"),10,u,c),ue.e=ue.c.length),se=d(p,C,u,E?(h=v,c):(h=c,v)),I=N=se.length;se[--N]==0;se.pop());if(!se[0])return h.charAt(0);if(Ce<0?--I:(X.c=se,X.e=I,X.s=g,X=t(X,ue,Se,q,u),se=X.c,F=X.r,I=X.e),w=I+Se+1,Ce=se[w],N=u/2,F=F||w<0||se[w+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(X.s<0?3:2)):Ce>N||Ce==N&&(q==4||F||q==6&&se[w-1]&1||q==(X.s<0?8:7)),w<1||!se[0])p=F?ht(h.charAt(1),-Se,h.charAt(0)):h.charAt(0);else{if(se.length=w,F)for(--u;++se[--w]>u;)se[w]=0,w||(++I,se=[1].concat(se));for(N=se.length;!se[--N];);for(Ce=0,p="";Ce<=N;p+=h.charAt(se[Ce++]));p=ht(p,I,h.charAt(0))}return p}})(),t=(function(){function c(C,u,g){var E,h,w,I,N=0,F=C.length,X=u%vt,se=u/vt|0;for(C=C.slice();F--;)w=C[F]%vt,I=C[F]/vt|0,E=se*w+I*X,h=X*w+E%vt*vt+N,N=(h/g|0)+(E/vt|0)+se*I,C[F]=h%g;return N&&(C=[N].concat(C)),C}function d(C,u,g,E){var h,w;if(g!=E)w=g>E?1:-1;else for(h=w=0;h<g;h++)if(C[h]!=u[h]){w=C[h]>u[h]?1:-1;break}return w}function p(C,u,g,E){for(var h=0;g--;)C[g]-=h,h=C[g]<u[g]?1:0,C[g]=h*E+C[g]-u[g];for(;!C[0]&&C.length>1;C.splice(0,1));}return function(C,u,g,E,h){var w,I,N,F,X,se,ue,Ce,Se,q,ye,Ne,qe,Qe,ot,Ve,st,Be=C.s==u.s?1:-1,Oe=C.c,ke=u.c;if(!Oe||!Oe[0]||!ke||!ke[0])return new y(!C.s||!u.s||(Oe?ke&&Oe[0]==ke[0]:!ke)?NaN:Oe&&Oe[0]==0||!ke?Be*0:Be/0);for(Ce=new y(Be),Se=Ce.c=[],I=C.e-u.e,Be=g+I+1,h||(h=nt,I=$e(C.e/be)-$e(u.e/be),Be=Be/be|0),N=0;ke[N]==(Oe[N]||0);N++);if(ke[N]>(Oe[N]||0)&&I--,Be<0)Se.push(1),F=!0;else{for(Qe=Oe.length,Ve=ke.length,N=0,Be+=2,X=Ze(h/(ke[0]+1)),X>1&&(ke=c(ke,X,h),Oe=c(Oe,X,h),Ve=ke.length,Qe=Oe.length),qe=Ve,q=Oe.slice(0,Ve),ye=q.length;ye<Ve;q[ye++]=0);st=ke.slice(),st=[0].concat(st),ot=ke[0],ke[1]>=h/2&&ot++;do{if(X=0,w=d(ke,q,Ve,ye),w<0){if(Ne=q[0],Ve!=ye&&(Ne=Ne*h+(q[1]||0)),X=Ze(Ne/ot),X>1)for(X>=h&&(X=h-1),se=c(ke,X,h),ue=se.length,ye=q.length;d(se,q,ue,ye)==1;)X--,p(se,Ve<ue?st:ke,ue,h),ue=se.length,w=1;else X==0&&(w=X=1),se=ke.slice(),ue=se.length;if(ue<ye&&(se=[0].concat(se)),p(q,se,ye,h),ye=q.length,w==-1)for(;d(ke,q,Ve,ye)<1;)X++,p(q,Ve<ye?st:ke,ye,h),ye=q.length}else w===0&&(X++,q=[0]);Se[N++]=X,q[0]?q[ye++]=Oe[qe]||0:(q=[Oe[qe]],ye=1)}while((qe++<Qe||q[0]!=null)&&Be--);F=q[0]!=null,Se[0]||Se.splice(0,1)}if(h==nt){for(N=1,Be=Se[0];Be>=10;Be/=10,N++);we(Ce,g+(Ce.e=N+I*be-1)+1,E,F)}else Ce.e=I,Ce.r=+F;return Ce}})();function J(c,d,p,C){var u,g,E,h,w;if(p==null?p=i:Pe(p,0,8),!c.c)return c.toString();if(u=c.c[0],E=c.e,d==null)w=et(c.c),w=C==1||C==2&&(E<=l||E>=b)?An(w,E):ht(w,E,"0");else if(c=we(new y(c),d,p),g=c.e,w=et(c.c),h=w.length,C==1||C==2&&(d<=g||g<=l)){for(;h<d;w+="0",h++);w=An(w,g)}else if(d-=E+(C===2&&g>E),w=ht(w,g,"0"),g+1>h){if(--d>0)for(w+=".";d--;w+="0");}else if(d+=g-h,d>0)for(g+1==h&&(w+=".");d--;w+="0");return c.s<0&&u?"-"+w:w}function Q(c,d){for(var p,C,u=1,g=new y(c[0]);u<c.length;u++)C=new y(c[u]),(!C.s||(p=Bt(g,C))===d||p===0&&g.s===d)&&(g=C);return g}function he(c,d,p){for(var C=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,C++);return(p=C+p*be-1)>z?c.c=c.e=null:p<D?c.c=[c.e=0]:(c.e=p,c.c=d),c}s=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,C=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,h,w){var I,N=h?E:E.replace(u,"");if(C.test(N))g.s=isNaN(N)?null:N<0?-1:1;else{if(!h&&(N=N.replace(c,function(F,X,se){return I=(se=se.toLowerCase())=="x"?16:se=="b"?2:8,!w||w==I?X:F}),w&&(I=w,N=N.replace(d,"$1").replace(p,"0.$1")),E!=N))return new y(N,I);if(y.DEBUG)throw Error(ze+"Not a"+(w?" base "+w:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function we(c,d,p,C){var u,g,E,h,w,I,N,F=c.c,X=ro;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(g=d-u,g<0)g+=be,E=d,w=F[I=0],N=Ze(w/X[u-E-1]%10);else if(I=so((g+1)/be),I>=F.length)if(C){for(;F.length<=I;F.push(0));w=N=0,u=1,g%=be,E=g-be+1}else break e;else{for(w=h=F[I],u=1;h>=10;h/=10,u++);g%=be,E=g-be+u,N=E<0?0:Ze(w/X[u-E-1]%10)}if(C=C||d<0||F[I+1]!=null||(E<0?w:w%X[u-E-1]),C=p<4?(N||C)&&(p==0||p==(c.s<0?3:2)):N>5||N==5&&(p==4||C||p==6&&(g>0?E>0?w/X[u-E]:0:F[I-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,C?(d-=c.e+1,F[0]=X[(be-d%be)%be],c.e=-d||0):F[0]=c.e=0,c;if(g==0?(F.length=I,h=1,I--):(F.length=I+1,h=X[be-g],F[I]=E>0?Ze(w/X[u-E]%X[E])*h:0),C)for(;;)if(I==0){for(g=1,E=F[0];E>=10;E/=10,g++);for(E=F[0]+=h,h=1;E>=10;E/=10,h++);g!=h&&(c.e++,F[0]==nt&&(F[0]=1));break}else{if(F[I]+=h,F[I]!=nt)break;F[I--]=0,h=1}for(g=F.length;F[--g]===0;F.pop());}c.e>z?c.c=c.e=null:c.e<D&&(c.c=[c.e=0])}return c}function Ee(c){var d,p=c.e;return p===null?c.toString():(d=et(c.c),d=p<=l||p>=b?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return o.absoluteValue=o.abs=function(){var c=new y(this);return c.s<0&&(c.s=1),c},o.comparedTo=function(c,d){return Bt(this,new y(c,d))},o.decimalPlaces=o.dp=function(c,d){var p,C,u,g=this;if(c!=null)return Pe(c,0,He),d==null?d=i:Pe(d,0,8),we(new y(g),c+g.e+1,d);if(!(p=g.c))return null;if(C=((u=p.length-1)-$e(this.e/be))*be,u=p[u])for(;u%10==0;u/=10,C--);return C<0&&(C=0),C},o.dividedBy=o.div=function(c,d){return t(this,new y(c,d),r,i)},o.dividedToIntegerBy=o.idiv=function(c,d){return t(this,new y(c,d),0,1)},o.exponentiatedBy=o.pow=function(c,d){var p,C,u,g,E,h,w,I,N,F=this;if(c=new y(c),c.c&&!c.isInteger())throw Error(ze+"Exponent not an integer: "+Ee(c));if(d!=null&&(d=new y(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return N=new y(Math.pow(+Ee(F),h?c.s*(2-yn(c)):+Ee(c))),d?N.mod(d):N;if(w=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new y(NaN);C=!w&&F.isInteger()&&d.isInteger(),C&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return g=F.s<0&&yn(c)?-0:0,F.e>-1&&(g=1/g),new y(w?1/g:g);B&&(g=so(B/be+2))}for(h?(p=new y(.5),w&&(c.s=1),I=yn(c)):(u=Math.abs(+Ee(c)),I=u%2),N=new y(a);;){if(I){if(N=N.times(F),!N.c)break;g?N.c.length>g&&(N.c.length=g):C&&(N=N.mod(d))}if(u){if(u=Ze(u/2),u===0)break;I=u%2}else if(c=c.times(p),we(c,c.e+1,1),c.e>14)I=yn(c);else{if(u=+Ee(c),u===0)break;I=u%2}F=F.times(F),g?F.c&&F.c.length>g&&(F.c.length=g):C&&(F=F.mod(d))}return C?N:(w&&(N=a.div(N)),d?N.mod(d):g?we(N,B,i,E):N)},o.integerValue=function(c){var d=new y(this);return c==null?c=i:Pe(c,0,8),we(d,d.e+1,c)},o.isEqualTo=o.eq=function(c,d){return Bt(this,new y(c,d))===0},o.isFinite=function(){return!!this.c},o.isGreaterThan=o.gt=function(c,d){return Bt(this,new y(c,d))>0},o.isGreaterThanOrEqualTo=o.gte=function(c,d){return(d=Bt(this,new y(c,d)))===1||d===0},o.isInteger=function(){return!!this.c&&$e(this.e/be)>this.c.length-2},o.isLessThan=o.lt=function(c,d){return Bt(this,new y(c,d))<0},o.isLessThanOrEqualTo=o.lte=function(c,d){return(d=Bt(this,new y(c,d)))===-1||d===0},o.isNaN=function(){return!this.s},o.isNegative=function(){return this.s<0},o.isPositive=function(){return this.s>0},o.isZero=function(){return!!this.c&&this.c[0]==0},o.minus=function(c,d){var p,C,u,g,E=this,h=E.s;if(c=new y(c,d),d=c.s,!h||!d)return new y(NaN);if(h!=d)return c.s=-d,E.plus(c);var w=E.e/be,I=c.e/be,N=E.c,F=c.c;if(!w||!I){if(!N||!F)return N?(c.s=-d,c):new y(F?E:NaN);if(!N[0]||!F[0])return F[0]?(c.s=-d,c):new y(N[0]?E:i==3?-0:0)}if(w=$e(w),I=$e(I),N=N.slice(),h=w-I){for((g=h<0)?(h=-h,u=N):(I=w,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(C=(g=(h=N.length)<(d=F.length))?h:d,h=d=0;d<C;d++)if(N[d]!=F[d]){g=N[d]<F[d];break}if(g&&(u=N,N=F,F=u,c.s=-c.s),d=(C=F.length)-(p=N.length),d>0)for(;d--;N[p++]=0);for(d=nt-1;C>h;){if(N[--C]<F[C]){for(p=C;p&&!N[--p];N[p]=d);--N[p],N[C]+=nt}N[C]-=F[C]}for(;N[0]==0;N.splice(0,1),--I);return N[0]?he(c,N,I):(c.s=i==3?-1:1,c.c=[c.e=0],c)},o.modulo=o.mod=function(c,d){var p,C,u=this;return c=new y(c,d),!u.c||!c.s||c.c&&!c.c[0]?new y(NaN):!c.c||u.c&&!u.c[0]?new y(u):(x==9?(C=c.s,c.s=1,p=t(u,c,0,3),c.s=C,p.s*=C):p=t(u,c,0,x),c=u.minus(p.times(c)),!c.c[0]&&x==1&&(c.s=u.s),c)},o.multipliedBy=o.times=function(c,d){var p,C,u,g,E,h,w,I,N,F,X,se,ue,Ce,Se,q=this,ye=q.c,Ne=(c=new y(c,d)).c;if(!ye||!Ne||!ye[0]||!Ne[0])return!q.s||!c.s||ye&&!ye[0]&&!Ne||Ne&&!Ne[0]&&!ye?c.c=c.e=c.s=null:(c.s*=q.s,!ye||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(C=$e(q.e/be)+$e(c.e/be),c.s*=q.s,w=ye.length,F=Ne.length,w<F&&(ue=ye,ye=Ne,Ne=ue,u=w,w=F,F=u),u=w+F,ue=[];u--;ue.push(0));for(Ce=nt,Se=vt,u=F;--u>=0;){for(p=0,X=Ne[u]%Se,se=Ne[u]/Se|0,E=w,g=u+E;g>u;)I=ye[--E]%Se,N=ye[E]/Se|0,h=se*I+N*X,I=X*I+h%Se*Se+ue[g]+p,p=(I/Ce|0)+(h/Se|0)+se*N,ue[g--]=I%Ce;ue[g]=p}return p?++C:ue.splice(0,1),he(c,ue,C)},o.negated=function(){var c=new y(this);return c.s=-c.s||null,c},o.plus=function(c,d){var p,C=this,u=C.s;if(c=new y(c,d),d=c.s,!u||!d)return new y(NaN);if(u!=d)return c.s=-d,C.minus(c);var g=C.e/be,E=c.e/be,h=C.c,w=c.c;if(!g||!E){if(!h||!w)return new y(u/0);if(!h[0]||!w[0])return w[0]?c:new y(h[0]?C:u*0)}if(g=$e(g),E=$e(E),h=h.slice(),u=g-E){for(u>0?(E=g,p=w):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=w.length,u-d<0&&(p=w,w=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+w[d]+u)/nt|0,h[d]=nt===h[d]?0:h[d]%nt;return u&&(h=[u].concat(h),++E),he(c,h,E)},o.precision=o.sd=function(c,d){var p,C,u,g=this;if(c!=null&&c!==!!c)return Pe(c,1,He),d==null?d=i:Pe(d,0,8),we(new y(g),c,d);if(!(p=g.c))return null;if(u=p.length-1,C=u*be+1,u=p[u]){for(;u%10==0;u/=10,C--);for(u=p[0];u>=10;u/=10,C++);}return c&&g.e+1>C&&(C=g.e+1),C},o.shiftedBy=function(c){return Pe(c,-ao,ao),this.times("1e"+c)},o.squareRoot=o.sqrt=function(){var c,d,p,C,u,g=this,E=g.c,h=g.s,w=g.e,I=r+4,N=new y("0.5");if(h!==1||!E||!E[0])return new y(!h||h<0&&(!E||E[0])?NaN:E?g:1/0);if(h=Math.sqrt(+Ee(g)),h==0||h==1/0?(d=et(E),(d.length+w)%2==0&&(d+="0"),h=Math.sqrt(+d),w=$e((w+1)/2)-(w<0||w%2),h==1/0?d="5e"+w:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+w),p=new y(d)):p=new y(h+""),p.c[0]){for(w=p.e,h=w+I,h<3&&(h=0);;)if(u=p,p=N.times(u.plus(t(g,u,I,1))),et(u.c).slice(0,h)===(d=et(p.c)).slice(0,h))if(p.e<w&&--h,d=d.slice(h-3,h+1),d=="9999"||!C&&d=="4999"){if(!C&&(we(u,u.e+r+2,0),u.times(u).eq(g))){p=u;break}I+=4,h+=4,C=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(we(p,p.e+r+2,1),c=!p.times(p).eq(g));break}}return we(p,p.e+r+1,i,c)},o.toExponential=function(c,d){return c!=null&&(Pe(c,0,He),c++),J(this,c,d,1)},o.toFixed=function(c,d){return c!=null&&(Pe(c,0,He),c=c+this.e+1),J(this,c,d)},o.toFormat=function(c,d,p){var C,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=S;else if(typeof p!="object")throw Error(ze+"Argument not an object: "+p);if(C=u.toFixed(c,d),u.c){var g,E=C.split("."),h=+p.groupSize,w=+p.secondaryGroupSize,I=p.groupSeparator||"",N=E[0],F=E[1],X=u.s<0,se=X?N.slice(1):N,ue=se.length;if(w&&(g=h,h=w,w=g,ue-=g),h>0&&ue>0){for(g=ue%h||h,N=se.substr(0,g);g<ue;g+=h)N+=I+se.substr(g,h);w>0&&(N+=I+se.slice(g)),X&&(N="-"+N)}C=F?N+(p.decimalSeparator||"")+((w=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):N}return(p.prefix||"")+C+(p.suffix||"")},o.toFraction=function(c){var d,p,C,u,g,E,h,w,I,N,F,X,se=this,ue=se.c;if(c!=null&&(h=new y(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(ze+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+Ee(h));if(!ue)return new y(se);for(d=new y(a),I=p=new y(a),C=w=new y(a),X=et(ue),g=d.e=X.length-se.e-1,d.c[0]=ro[(E=g%be)<0?be+E:E],c=!c||h.comparedTo(d)>0?g>0?d:I:h,E=z,z=1/0,h=new y(X),w.c[0]=0;N=t(h,d,0,1),u=p.plus(N.times(C)),u.comparedTo(c)!=1;)p=C,C=u,I=w.plus(N.times(u=I)),w=u,d=h.minus(N.times(u=d)),h=u;return u=t(c.minus(p),C,0,1),w=w.plus(u.times(I)),p=p.plus(u.times(C)),w.s=I.s=se.s,g=g*2,F=t(I,C,g,i).minus(se).abs().comparedTo(t(w,p,g,i).minus(se).abs())<1?[I,C]:[w,p],z=E,F},o.toNumber=function(){return+Ee(this)},o.toPrecision=function(c,d){return c!=null&&Pe(c,1,He),J(this,c,d,2)},o.toString=function(c){var d,p=this,C=p.s,u=p.e;return u===null?C?(d="Infinity",C<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=b?An(et(p.c),u):ht(et(p.c),u,"0"):c===10&&ge?(p=we(new y(p),r+u+1,i),d=ht(et(p.c),p.e,"0")):(Pe(c,2,v.length,"Base"),d=n(ht(et(p.c),u,"0"),10,c,C,!0)),C<0&&p.c[0]&&(d="-"+d)),d},o.valueOf=o.toJSON=function(){return Ee(this)},o._isBigNumber=!0,o[Symbol.toStringTag]="BigNumber",o[Symbol.for("nodejs.util.inspect.custom")]=o.valueOf,e!=null&&y.set(e),y}function $e(e){var t=e|0;return e>0||e===t?t:t-1}function et(e){for(var t,n,s=1,o=e.length,a=e[0]+"";s<o;){for(t=e[s++]+"",n=be-t.length;n--;t="0"+t);a+=t}for(o=a.length;a.charCodeAt(--o)===48;);return a.slice(0,o+1||1)}function Bt(e,t){var n,s,o=e.c,a=t.c,r=e.s,i=t.s,l=e.e,b=t.e;if(!r||!i)return null;if(n=o&&!o[0],s=a&&!a[0],n||s)return n?s?0:-i:r;if(r!=i)return r;if(n=r<0,s=l==b,!o||!a)return s?0:!o^n?1:-1;if(!s)return l>b^n?1:-1;for(i=(l=o.length)<(b=a.length)?l:b,r=0;r<i;r++)if(o[r]!=a[r])return o[r]>a[r]^n?1:-1;return l==b?0:l>b^n?1:-1}function Pe(e,t,n,s){if(e<t||e>n||e!==Ze(e))throw Error(ze+(s||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return $e(e.e/be)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var s,o;if(t<0){for(o=n+".";++t;o+=n);e=o+e}else if(s=e.length,++t>s){for(o=n,t-=s;--t;o+=n);e+=o}else t<s&&(e=e.slice(0,t)+"."+e.slice(t));return e}var re=ys();class Vt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const s=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([o,a])=>{a!=null&&s.searchParams.append(o,String(a))}),s.toString()}async get(t,n={}){const s=this.buildUrl(t,n.query),o=await fetch(s,{method:"GET",headers:n.headers||{}});if(!o.ok){let r=null;try{r=await o.json()}catch{try{const l=await o.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw i.status=o.status,i.statusText=o.statusText,r&&(i.data=r),i}return{data:await o.json(),status:o.status}}async post(t,n,s={}){const o=this.buildUrl(t,s.query),a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...s.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const b=await a.text();b&&(i={message:b})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Bi=.01,As=new Vt("https://wallet-api.pantograph.app"),Fi="https://deep-index.moralis.io";function $t(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function en(e){return{"X-API-Key":e,Accept:"application/json"}}const tn=new Vt(Fi);async function je(e){const{address:t,chain:n="base",token_addresses:s,exclude_spam:o,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,exclude_spam:o??!1,exclude_unverified_contracts:a??!1};s&&(i.token_addresses=s);const b=(await tn.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:en(r)})).data;if(b?.result?.length>0){b.result=b.result.filter(D=>new re(D?.balance||0).gt(0)),b.result=b.result.map(D=>({...D,token_address:D.token_address===ki?We:D.token_address}));try{if(b.result.length>0){const D=fs(n)??n,z=b.result.map(x=>x.token_address),k=await As.get(`/keyrings/tokens/${D}/v2`,{query:{addresses:z.join(",")}});if(Array.isArray(k.data)){const x=new Map;for(const B of k.data)B.address&&B.price!=null&&x.set(B.address.toLowerCase(),parseFloat(String(B.price)));b.result=b.result.map(B=>{const S=x.get(B.token_address.toLowerCase());if(S==null)return B;const v=re(B.balance_formatted||"0").multipliedBy(S).toNumber();return{...B,usd_price:S,usd_value:v}}),b.result=b.result.filter(B=>B.usd_value==null||new re(B.usd_value).gte(Bi))}}}catch(D){console.warn("⚠️ Failed to fetch Pantograph prices:",D)}}return{success:!0,data:b}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function ks(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const s=fs(n)??n,o=await As.get(`/keyrings/tokens/${s}/v2`,{query:{addresses:t}}),a=t===We,i=(Array.isArray(o.data)?o.data:[]).find(B=>B.address?.toLowerCase()===t.toLowerCase()||a&&B.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=$t(),[b,D]=await Promise.allSettled([tn.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:en(l)}),tn.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:en(l)})]),z=b.status==="fulfilled"?b.value.data:[];if(!z||z.length===0)return{success:!1,error:"Token metadata not found"};const k=z[0],x=D.status==="fulfilled"?D.value.data:void 0;return{success:!0,data:{token_address:k.token_address,name:k.name,symbol:k.symbol,decimals:k.decimals,logo:k.logo||k.thumbnail,thumbnail:k.thumbnail,usd_price:x?.usdPrice??void 0,usd_price_24hr_percent_change:x?.["24hrPercentChange"]?parseFloat(x["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:x?.usdPriceChange24hr??void 0}}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching token metadata:",o),{success:!1,error:o}}}async function Pi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:s=!1,systemPrompt:o}=e;if(!t)throw new Error("Prompt is required");try{const a=$t(),r=new Vt("https://cortex-api.moralis.io"),i=o?`${o}
110
+ `,o+=ds(s.state)),s.stateDiff&&(o+=` stateDiff:
111
+ `,o+=ds(s.stateDiff)),o},` State Override:
112
+ `).slice(0,-1)}class si extends me{constructor(t,{account:n,docsPath:s,chain:o,data:a,gas:r,gasPrice:i,maxFeePerGas:l,maxPriorityFeePerGas:b,nonce:D,to:z,value:k,stateOverride:x}){const B=n?Xn(n):void 0;let S=Fo({from:B?.address,to:z,value:typeof k<"u"&&`${ga(k)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:a,gas:r,gasPrice:typeof i<"u"&&`${xt(i)} gwei`,maxFeePerGas:typeof l<"u"&&`${xt(l)} gwei`,maxPriorityFeePerGas:typeof b<"u"&&`${xt(b)} gwei`,nonce:D});x&&(S+=`
113
+ ${oi(x)}`),super(t.shortMessage,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",S].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}function ai(e,t){const n=(e.details||"").toLowerCase(),s=e instanceof me?e.walk(o=>o?.code===Wt.code):e;return s instanceof me?new Wt({cause:e,message:s.details}):Wt.nodeMessage.test(n)?new Wt({cause:e,message:e.details}):It.nodeMessage.test(n)?new It({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mn.nodeMessage.test(n)?new Mn({cause:e,maxFeePerGas:t?.maxFeePerGas}):Rn.nodeMessage.test(n)?new Rn({cause:e,nonce:t?.nonce}):Hn.nodeMessage.test(n)?new Hn({cause:e,nonce:t?.nonce}):Wn.nodeMessage.test(n)?new Wn({cause:e,nonce:t?.nonce}):Vn.nodeMessage.test(n)?new Vn({cause:e}):Gn.nodeMessage.test(n)?new Gn({cause:e,gas:t?.gas}):Yn.nodeMessage.test(n)?new Yn({cause:e,gas:t?.gas}):Jn.nodeMessage.test(n)?new Jn({cause:e}):qt.nodeMessage.test(n)?new qt({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new jo({cause:e})}function ri(e,{docsPath:t,...n}){const s=(()=>{const o=ai(e,n);return o instanceof jo?e:o})();return new si(s,{docsPath:t,...n})}function ii(e,{format:t}){if(!t)return{};const n={};function s(a){const r=Object.keys(a);for(const i of r)i in e&&(n[i]=e[i]),a[i]&&typeof a[i]=="object"&&!Array.isArray(a[i])&&s(a[i])}const o=t(e||{});return s(o),n}function ci(e){const{account:t,maxFeePerGas:n,maxPriorityFeePerGas:s,to:o}=e,a=t?Xn(t):void 0;if(a&&!Re(a.address))throw new it({address:a.address});if(o&&!Re(o))throw new it({address:o});if(n&&n>Rt)throw new It({maxFeePerGas:n});if(s&&n&&s>n)throw new qt({maxFeePerGas:n,maxPriorityFeePerGas:s})}async function li(e,t){const{account:n=e.account}=t;if(!n)throw new Nr;const s=Xn(n);try{const{accessList:o,blockNumber:a,blockTag:r,data:i,gas:l,gasPrice:b,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B,...S}=t,ge=(typeof a=="bigint"?pe(a):void 0)||r;ci(t);const y=e.chain?.formatters?.transactionRequest?.format,Q=(y||ra)({...ii(S,{format:y}),account:s,accessList:o,data:i,gas:l,gasPrice:b,maxFeePerGas:D,maxPriorityFeePerGas:z,nonce:k,to:x,value:B},"estimateGas"),{baseFeePerGas:he,gasLimit:we,priorityFeePerGas:Ee}=await e.request({method:"linea_estimateGas",params:ge?[Q,ge]:[Q]});return{baseFeePerGas:BigInt(he),gasLimit:BigInt(we),priorityFeePerGas:BigInt(Ee)}}catch(o){throw ri(o,{...t,account:s,chain:e.chain})}}const di={fees:{estimateFeesPerGas:us,async maxPriorityFeePerGas({block:e,client:t,request:n}){const s=await us({block:e,client:t,multiply:o=>o,request:n,type:"eip1559"});return s?.maxPriorityFeePerGas?s.maxPriorityFeePerGas:null}}};async function us({client:e,multiply:t,request:n,type:s}){try{const o=await li(e,{...n,account:n?.account}),{priorityFeePerGas:a}=o,i=t(BigInt(o.baseFeePerGas))+a;return s==="legacy"?{gasPrice:i}:{maxFeePerGas:i,maxPriorityFeePerGas:a}}catch{return null}}const ui=ut({...di,id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1}),fi=ut({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),Zt=1,pi=ut({...hn,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...hn.contracts,disputeGameFactory:{[Zt]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[Zt]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[Zt]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[Zt]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:Zt}),mi=ut({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon.drpc.org"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),fs="/docs/contract/encodeFunctionData";function hi(e){const{abi:t,args:n,functionName:s}=e;let o=t[0];if(s){const a=ni({abi:t,args:n,name:s});if(!a)throw new as(s,{docsPath:fs});o=a}if(o.type!=="function")throw new as(void 0,{docsPath:fs});return{abi:[o],functionName:cs(_n(o))}}function kt(e){const{args:t}=e,{abi:n,functionName:s}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:hi(e),o=n[0],a=s,r="inputs"in o&&o.inputs?zr(o.inputs,t??[]):void 0;return Et([a,r??"0x"])}const ct={1:{...fi,logo:"data:image/png;base64,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",chainId:1,chainType:"ether",chainTypeMoralis:"eth",tokenTrendingDefault:["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"]},10:{...pi,logo:"data:image/png;base64,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",chainId:10,chainType:"optimism",chainTypeMoralis:"optimism",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0x68f180fcce6836688e9084f035309e29bf0a2095","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},56:{...Ir,logo:"data:image/png;base64,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",chainId:56,chainType:"bsc",chainTypeMoralis:"bsc",tokenTrendingDefault:["0x2170ed0880ac9a755fd29b2688956bd959f933f8","0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"]},137:{...mi,rpcUrls:{default:{http:["https://polygon-bor-rpc.publicnode.com"]}},logo:"data:image/png;base64,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",chainId:137,chainType:"matic",chainTypeMoralis:"polygon",tokenTrendingDefault:["0x7ceb23fd6bc0add59e62ac25578270cff1b9f619","0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6"]},8453:{...os,logo:"data:image/png;base64,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",chainId:8453,chainType:"base",chainTypeMoralis:"base",tokenTrendingDefault:["0x4200000000000000000000000000000000000006","0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf","0xc47da4cb96ce65a96844a01bfae509f9d5454534"]},42161:{...Sr,logo:"data:image/png;base64,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",chainId:42161,chainType:"arbitrum",chainTypeMoralis:"arbitrum",tokenTrendingDefault:["0x82af49447d8a07e3bd95bd0d56f35241523fbab1","0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f"]},43114:{...xr,logo:"data:image/png;base64,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",chainId:43114,chainType:"avax",chainTypeMoralis:"avalanche",tokenTrendingDefault:["0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB","0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"]},59144:{...ui,logo:"data:image/png;base64,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",chainId:59144,chainType:"linea",chainTypeMoralis:"linea",tokenTrendingDefault:["0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f","0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4"]}},ps=e=>Object.values(ct).find(n=>n.chainTypeMoralis===e)?.chainType||null,gi=e=>{const t=new Date,n=new Date(t);n.setDate(n.getDate()-1);const s=new Date(e);return s.setHours(0,0,0,0),t.setHours(0,0,0,0),n.setHours(0,0,0,0),s.getTime()===t.getTime()?"Today":s.getTime()===n.getTime()?"Yesterday":s.toLocaleDateString("en-US",{month:"short",day:"numeric",year:s.getFullYear()!==t.getFullYear()?"numeric":void 0})},Xe=e=>new Promise(t=>setTimeout(t,e||0)),wi=(e,t=5,n=5)=>(e=e||"",e?.length<=t+n?e:`${e.substr(0,t)}...${e.substr(e.length-n,n)}`),bi=e=>{if(!e)return"";const t=ct[e];return t?t.chainTypeMoralis:""},yi=e=>{if(!e)return"";const t=ct[e];return t?t.chainType:""},Nt={getItem(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}},setItem(e,t){if(!(typeof window>"u"))try{window.localStorage.setItem(e,t)}catch{}},removeItem(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}},get length(){if(typeof window>"u")return 0;try{return window.localStorage.length}catch{return 0}},key(e){if(typeof window>"u")return null;try{return window.localStorage.key(e)}catch{return null}}};class Ai extends me{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function mt(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Ai({value:e});let[n,s="0"]=e.split(".");const o=n.startsWith("-");if(o&&(n=n.slice(1)),s=s.replace(/(0+)$/,""),t===0)Math.round(+`.${s}`)===1&&(n=`${BigInt(n)+1n}`),s="";else if(s.length>t){const[a,r,i]=[s.slice(0,t-1),s.slice(t-1,t),s.slice(t)],l=Math.round(+`${r}.${i}`);l>9?s=`${BigInt(a)+BigInt(1)}0`.padStart(a.length+1,"0"):s=`${a}${l}`,s.length>t&&(s=s.slice(1),n=`${BigInt(n)+1n}`),s=s.slice(0,t)}else s=s.padEnd(t,"0");return BigInt(`${o?"-":""}${n}${s}`)}const ki="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",We="0x0000000000000000000000000000000000000000",ms=te.createContext(void 0),gn=()=>{const e=te.useContext(ms);if(!e)throw new Error("useConnect must be used within ConnectProvider");return{...e,chainData:ct[e.account?.chainId]||void 0,chainId:e.account?.chainId||void 0,chainType:yi(e.account?.chainId||void 0),chainTypeMoralis:bi(e.account?.chainId||void 0),isChainSupported:!!ct[e.account?.chainId]}},vi=({children:e,initialAccount:t})=>O.jsx(ms.Provider,{value:{account:t||null},children:e}),Ti=({address:e,chainId:t})=>{const[n,s]=te.useState(!1),{isChainSupported:o}=gn(),a=te.useCallback(()=>{if(!e)return;const r=e,i=()=>{s(!0),setTimeout(()=>s(!1),2e3)};try{navigator.clipboard.writeText(r).then(i).catch(()=>{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()})}catch{const l=document.createElement("input");l.value=r,document.body.appendChild(l),l.select(),document.execCommand("copy"),l.remove(),i()}},[e]);return O.jsx(O.Fragment,{children:Re(e||"")&&O.jsxs("div",{className:"chat-user-info",children:[t&&ct[t]?.logo&&O.jsx("div",{className:"user-avatar",children:O.jsx("img",{src:ct[t].logo||"",alt:"Chain",width:20,height:20})}),O.jsx("span",{className:"user-wallet",children:O.jsx("a",{style:{pointerEvents:o?"auto":"none"},href:ct[t]?.blockExplorers?.default?.url+"/address/"+e,target:"_blank",rel:"noopener noreferrer",children:wi(e)||"Not connected"})}),O.jsx("button",{className:"copy-address-btn",onClick:a,"aria-label":"Copy wallet address",type:"button",title:n?"Copied!":"Copy address",children:n?O.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"#0B3988",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):O.jsx("svg",{width:"14",height:"14",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:O.jsx("path",{d:"M8.1 15.75H13.23C12.9638 16.4152 12.5041 16.9852 11.9105 17.3863C11.3168 17.7874 10.6165 18.0012 9.9 18H3.6C2.64522 18 1.72955 17.6207 1.05442 16.9456C0.379285 16.2704 0 15.3548 0 14.4V7.2C0.00104929 6.32332 0.321408 5.47704 0.901163 4.81944C1.48092 4.16183 2.28037 3.73792 3.15 3.627V10.8C3.15238 12.1121 3.67466 13.3698 4.60245 14.2975C5.53024 15.2253 6.78791 15.7476 8.1 15.75ZM15.75 3.825H17.658C17.6027 3.74389 17.5393 3.66852 17.469 3.6L14.4 0.531C14.3337 0.460854 14.258 0.400274 14.175 0.351V2.25C14.1769 2.66713 14.3434 3.06664 14.6384 3.3616C14.9334 3.65656 15.3329 3.8231 15.75 3.825ZM15.75 5.175C14.9747 5.17357 14.2315 4.86494 13.6833 4.31671C13.1351 3.76847 12.8264 3.02532 12.825 2.25V0H8.1C7.14522 0 6.22955 0.379285 5.55442 1.05442C4.87928 1.72955 4.5 2.64522 4.5 3.6V10.8C4.5 11.7548 4.87928 12.6704 5.55442 13.3456C6.22955 14.0207 7.14522 14.4 8.1 14.4H14.4C15.3548 14.4 16.2705 14.0207 16.9456 13.3456C17.6207 12.6704 18 11.7548 18 10.8V5.175H15.75Z",fill:"#0B3988"})})})]})})},no="chat_widget_messages",wn=200,Ci=()=>Math.random().toString(36).substring(2,12),hs="welcome-message";function oo(e){return[{id:hs,text:e,sender:"bot",timestamp:new Date}]}function Ei(e,t){return e&&t?`${e}_${t}`:""}function gs(e){return e.map(t=>({...t,timestamp:new Date(t.timestamp)}))}function ws(){const e=Nt.getItem(no);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.owner!==void 0&&Array.isArray(t.messages))return{owner:t.owner,messages:gs(t.messages)};if(Array.isArray(t))return{owner:"",messages:gs(t)}}catch{}return null}function bn(e,t){Nt.setItem(no,JSON.stringify({owner:e,messages:t}))}function Si(){const{account:e}=gn(),{t}=cn(),n=Ei(e?.address,e?.chainId),s=te.useMemo(()=>oo(t("welcomeMessage")),[t]),[o,a]=te.useState(()=>n||"pending"),[r,i]=te.useState(()=>{const S=ws();return n?S&&S.owner===n?S.messages:oo(t("welcomeMessage")):S?.messages??oo(t("welcomeMessage"))});if(o==="pending"&&n){const S=ws();S&&S.owner===n?i(S.messages):bn(n,r),a(n)}else o!=="pending"&&n&&o!==n&&(i(s),bn(n,s),a(n));const l=te.useMemo(()=>r.map(S=>S.id===hs?{...S,text:t("welcomeMessage")}:S),[r,t]);te.useEffect(()=>{o!=="pending"&&bn(o,r)},[r,o]),te.useEffect(()=>{const S=[];for(let v=0;v<Nt.length;v++){const ge=Nt.key(v);ge&&ge.startsWith(no+"_")&&S.push(ge)}S.forEach(v=>Nt.removeItem(v))},[]);const b=(S,v,ge,y,J)=>{const Q=ge?r.find(we=>we.id===ge):void 0,he={id:Ci(),text:S,sender:v,timestamp:new Date,...Q&&{replyTo:{id:Q.id,text:Q.text,sender:Q.sender}},...y&&{buttons:y},...J&&{actionData:J}};return i(we=>{const Ee=[...we,he];return Ee.length>wn?Ee.slice(Ee.length-wn):Ee}),he},D=(S,v)=>{i(ge=>ge.map(y=>y.id===S&&y.actionData?{...y,actionData:{...y.actionData,status:v}}:y))},z=(S,v)=>{i(ge=>ge.map(y=>y.id===S?{...y,text:v}:y))},k=S=>r.find(v=>v.id===S),x=te.useCallback(()=>{i(s),bn(n,s)},[n,s]),B=te.useCallback(S=>{i(v=>{const ge=v.filter(y=>!S.includes(y.id));return ge.length>wn?ge.slice(ge.length-wn):ge})},[]);return{messages:l,setMessages:i,addMessage:b,updateMessageAction:D,updateMessageText:z,getMessageById:k,clearMessages:x,clearMessagesById:B}}const bs=te.createContext(void 0),xi=()=>{const e=te.useContext(bs);if(!e)throw new Error("useConfig must be used within ConfigProvider");return e},Ii=({children:e,initialConfig:t})=>O.jsx(bs.Provider,{value:{config:t||null},children:e});var Ni=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,so=Math.ceil,Ze=Math.floor,ze="[BigNumber Error] ",ys=ze+"Number primitive has more than 15 significant digits: ",nt=1e14,be=14,ao=9007199254740991,ro=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],vt=1e7,He=1e9;function As(e){var t,n,s,o=y.prototype={constructor:y,toString:null,valueOf:null},a=new y(1),r=20,i=4,l=-7,b=21,D=-1e7,z=1e7,k=!1,x=1,B=0,S={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},v="0123456789abcdefghijklmnopqrstuvwxyz",ge=!0;function y(c,d){var p,C,u,g,E,h,w,I,N=this;if(!(N instanceof y))return new y(c,d);if(d==null){if(c&&c._isBigNumber===!0){N.s=c.s,!c.c||c.e>z?N.c=N.e=null:c.e<D?N.c=[N.e=0]:(N.e=c.e,N.c=c.c.slice());return}if((h=typeof c=="number")&&c*0==0){if(N.s=1/c<0?(c=-c,-1):1,c===~~c){for(g=0,E=c;E>=10;E/=10,g++);g>z?N.c=N.e=null:(N.e=g,N.c=[c]);return}I=String(c)}else{if(!Ni.test(I=String(c)))return s(N,I,h);N.s=I.charCodeAt(0)==45?(I=I.slice(1),-1):1}(g=I.indexOf("."))>-1&&(I=I.replace(".","")),(E=I.search(/e/i))>0?(g<0&&(g=E),g+=+I.slice(E+1),I=I.substring(0,E)):g<0&&(g=I.length)}else{if(Pe(d,2,v.length,"Base"),d==10&&ge)return N=new y(c),we(N,r+N.e+1,i);if(I=String(c),h=typeof c=="number"){if(c*0!=0)return s(N,I,h,d);if(N.s=1/c<0?(I=I.slice(1),-1):1,y.DEBUG&&I.replace(/^0\.0*|\./,"").length>15)throw Error(ys+c)}else N.s=I.charCodeAt(0)===45?(I=I.slice(1),-1):1;for(p=v.slice(0,d),g=E=0,w=I.length;E<w;E++)if(p.indexOf(C=I.charAt(E))<0){if(C=="."){if(E>g){g=w;continue}}else if(!u&&(I==I.toUpperCase()&&(I=I.toLowerCase())||I==I.toLowerCase()&&(I=I.toUpperCase()))){u=!0,E=-1,g=0;continue}return s(N,String(c),h,d)}h=!1,I=n(I,d,10,N.s),(g=I.indexOf("."))>-1?I=I.replace(".",""):g=I.length}for(E=0;I.charCodeAt(E)===48;E++);for(w=I.length;I.charCodeAt(--w)===48;);if(I=I.slice(E,++w)){if(w-=E,h&&y.DEBUG&&w>15&&(c>ao||c!==Ze(c)))throw Error(ys+N.s*c);if((g=g-E-1)>z)N.c=N.e=null;else if(g<D)N.c=[N.e=0];else{if(N.e=g,N.c=[],E=(g+1)%be,g<0&&(E+=be),E<w){for(E&&N.c.push(+I.slice(0,E)),w-=be;E<w;)N.c.push(+I.slice(E,E+=be));E=be-(I=I.slice(E)).length}else E-=w;for(;E--;I+="0");N.c.push(+I)}}else N.c=[N.e=0]}y.clone=As,y.ROUND_UP=0,y.ROUND_DOWN=1,y.ROUND_CEIL=2,y.ROUND_FLOOR=3,y.ROUND_HALF_UP=4,y.ROUND_HALF_DOWN=5,y.ROUND_HALF_EVEN=6,y.ROUND_HALF_CEIL=7,y.ROUND_HALF_FLOOR=8,y.EUCLID=9,y.config=y.set=function(c){var d,p;if(c!=null)if(typeof c=="object"){if(c.hasOwnProperty(d="DECIMAL_PLACES")&&(p=c[d],Pe(p,0,He,d),r=p),c.hasOwnProperty(d="ROUNDING_MODE")&&(p=c[d],Pe(p,0,8,d),i=p),c.hasOwnProperty(d="EXPONENTIAL_AT")&&(p=c[d],p&&p.pop?(Pe(p[0],-He,0,d),Pe(p[1],0,He,d),l=p[0],b=p[1]):(Pe(p,-He,He,d),l=-(b=p<0?-p:p))),c.hasOwnProperty(d="RANGE"))if(p=c[d],p&&p.pop)Pe(p[0],-He,-1,d),Pe(p[1],1,He,d),D=p[0],z=p[1];else if(Pe(p,-He,He,d),p)D=-(z=p<0?-p:p);else throw Error(ze+d+" cannot be zero: "+p);if(c.hasOwnProperty(d="CRYPTO"))if(p=c[d],p===!!p)if(p)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))k=p;else throw k=!p,Error(ze+"crypto unavailable");else k=p;else throw Error(ze+d+" not true or false: "+p);if(c.hasOwnProperty(d="MODULO_MODE")&&(p=c[d],Pe(p,0,9,d),x=p),c.hasOwnProperty(d="POW_PRECISION")&&(p=c[d],Pe(p,0,He,d),B=p),c.hasOwnProperty(d="FORMAT"))if(p=c[d],typeof p=="object")S=p;else throw Error(ze+d+" not an object: "+p);if(c.hasOwnProperty(d="ALPHABET"))if(p=c[d],typeof p=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(p))ge=p.slice(0,10)=="0123456789",v=p;else throw Error(ze+d+" invalid: "+p)}else throw Error(ze+"Object expected: "+c);return{DECIMAL_PLACES:r,ROUNDING_MODE:i,EXPONENTIAL_AT:[l,b],RANGE:[D,z],CRYPTO:k,MODULO_MODE:x,POW_PRECISION:B,FORMAT:S,ALPHABET:v}},y.isBigNumber=function(c){if(!c||c._isBigNumber!==!0)return!1;if(!y.DEBUG)return!0;var d,p,C=c.c,u=c.e,g=c.s;e:if({}.toString.call(C)=="[object Array]"){if((g===1||g===-1)&&u>=-He&&u<=He&&u===Ze(u)){if(C[0]===0){if(u===0&&C.length===1)return!0;break e}if(d=(u+1)%be,d<1&&(d+=be),String(C[0]).length==d){for(d=0;d<C.length;d++)if(p=C[d],p<0||p>=nt||p!==Ze(p))break e;if(p!==0)return!0}}}else if(C===null&&u===null&&(g===null||g===1||g===-1))return!0;throw Error(ze+"Invalid BigNumber: "+c)},y.maximum=y.max=function(){return Q(arguments,-1)},y.minimum=y.min=function(){return Q(arguments,1)},y.random=(function(){var c=9007199254740992,d=Math.random()*c&2097151?function(){return Ze(Math.random()*c)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(p){var C,u,g,E,h,w=0,I=[],N=new y(a);if(p==null?p=r:Pe(p,0,He),E=so(p/be),k)if(crypto.getRandomValues){for(C=crypto.getRandomValues(new Uint32Array(E*=2));w<E;)h=C[w]*131072+(C[w+1]>>>11),h>=9e15?(u=crypto.getRandomValues(new Uint32Array(2)),C[w]=u[0],C[w+1]=u[1]):(I.push(h%1e14),w+=2);w=E/2}else if(crypto.randomBytes){for(C=crypto.randomBytes(E*=7);w<E;)h=(C[w]&31)*281474976710656+C[w+1]*1099511627776+C[w+2]*4294967296+C[w+3]*16777216+(C[w+4]<<16)+(C[w+5]<<8)+C[w+6],h>=9e15?crypto.randomBytes(7).copy(C,w):(I.push(h%1e14),w+=7);w=E/7}else throw k=!1,Error(ze+"crypto unavailable");if(!k)for(;w<E;)h=d(),h<9e15&&(I[w++]=h%1e14);for(E=I[--w],p%=be,E&&p&&(h=ro[be-p],I[w]=Ze(E/h)*h);I[w]===0;I.pop(),w--);if(w<0)I=[g=0];else{for(g=-1;I[0]===0;I.splice(0,1),g-=be);for(w=1,h=I[0];h>=10;h/=10,w++);w<be&&(g-=be-w)}return N.e=g,N.c=I,N}})(),y.sum=function(){for(var c=1,d=arguments,p=new y(d[0]);c<d.length;)p=p.plus(d[c++]);return p},n=(function(){var c="0123456789";function d(p,C,u,g){for(var E,h=[0],w,I=0,N=p.length;I<N;){for(w=h.length;w--;h[w]*=C);for(h[0]+=g.indexOf(p.charAt(I++)),E=0;E<h.length;E++)h[E]>u-1&&(h[E+1]==null&&(h[E+1]=0),h[E+1]+=h[E]/u|0,h[E]%=u)}return h.reverse()}return function(p,C,u,g,E){var h,w,I,N,F,X,se,ue,Ce=p.indexOf("."),Se=r,q=i;for(Ce>=0&&(N=B,B=0,p=p.replace(".",""),ue=new y(C),X=ue.pow(p.length-Ce),B=N,ue.c=d(ht(et(X.c),X.e,"0"),10,u,c),ue.e=ue.c.length),se=d(p,C,u,E?(h=v,c):(h=c,v)),I=N=se.length;se[--N]==0;se.pop());if(!se[0])return h.charAt(0);if(Ce<0?--I:(X.c=se,X.e=I,X.s=g,X=t(X,ue,Se,q,u),se=X.c,F=X.r,I=X.e),w=I+Se+1,Ce=se[w],N=u/2,F=F||w<0||se[w+1]!=null,F=q<4?(Ce!=null||F)&&(q==0||q==(X.s<0?3:2)):Ce>N||Ce==N&&(q==4||F||q==6&&se[w-1]&1||q==(X.s<0?8:7)),w<1||!se[0])p=F?ht(h.charAt(1),-Se,h.charAt(0)):h.charAt(0);else{if(se.length=w,F)for(--u;++se[--w]>u;)se[w]=0,w||(++I,se=[1].concat(se));for(N=se.length;!se[--N];);for(Ce=0,p="";Ce<=N;p+=h.charAt(se[Ce++]));p=ht(p,I,h.charAt(0))}return p}})(),t=(function(){function c(C,u,g){var E,h,w,I,N=0,F=C.length,X=u%vt,se=u/vt|0;for(C=C.slice();F--;)w=C[F]%vt,I=C[F]/vt|0,E=se*w+I*X,h=X*w+E%vt*vt+N,N=(h/g|0)+(E/vt|0)+se*I,C[F]=h%g;return N&&(C=[N].concat(C)),C}function d(C,u,g,E){var h,w;if(g!=E)w=g>E?1:-1;else for(h=w=0;h<g;h++)if(C[h]!=u[h]){w=C[h]>u[h]?1:-1;break}return w}function p(C,u,g,E){for(var h=0;g--;)C[g]-=h,h=C[g]<u[g]?1:0,C[g]=h*E+C[g]-u[g];for(;!C[0]&&C.length>1;C.splice(0,1));}return function(C,u,g,E,h){var w,I,N,F,X,se,ue,Ce,Se,q,ye,Ne,qe,Qe,ot,Ve,st,Be=C.s==u.s?1:-1,Oe=C.c,ke=u.c;if(!Oe||!Oe[0]||!ke||!ke[0])return new y(!C.s||!u.s||(Oe?ke&&Oe[0]==ke[0]:!ke)?NaN:Oe&&Oe[0]==0||!ke?Be*0:Be/0);for(Ce=new y(Be),Se=Ce.c=[],I=C.e-u.e,Be=g+I+1,h||(h=nt,I=$e(C.e/be)-$e(u.e/be),Be=Be/be|0),N=0;ke[N]==(Oe[N]||0);N++);if(ke[N]>(Oe[N]||0)&&I--,Be<0)Se.push(1),F=!0;else{for(Qe=Oe.length,Ve=ke.length,N=0,Be+=2,X=Ze(h/(ke[0]+1)),X>1&&(ke=c(ke,X,h),Oe=c(Oe,X,h),Ve=ke.length,Qe=Oe.length),qe=Ve,q=Oe.slice(0,Ve),ye=q.length;ye<Ve;q[ye++]=0);st=ke.slice(),st=[0].concat(st),ot=ke[0],ke[1]>=h/2&&ot++;do{if(X=0,w=d(ke,q,Ve,ye),w<0){if(Ne=q[0],Ve!=ye&&(Ne=Ne*h+(q[1]||0)),X=Ze(Ne/ot),X>1)for(X>=h&&(X=h-1),se=c(ke,X,h),ue=se.length,ye=q.length;d(se,q,ue,ye)==1;)X--,p(se,Ve<ue?st:ke,ue,h),ue=se.length,w=1;else X==0&&(w=X=1),se=ke.slice(),ue=se.length;if(ue<ye&&(se=[0].concat(se)),p(q,se,ye,h),ye=q.length,w==-1)for(;d(ke,q,Ve,ye)<1;)X++,p(q,Ve<ye?st:ke,ye,h),ye=q.length}else w===0&&(X++,q=[0]);Se[N++]=X,q[0]?q[ye++]=Oe[qe]||0:(q=[Oe[qe]],ye=1)}while((qe++<Qe||q[0]!=null)&&Be--);F=q[0]!=null,Se[0]||Se.splice(0,1)}if(h==nt){for(N=1,Be=Se[0];Be>=10;Be/=10,N++);we(Ce,g+(Ce.e=N+I*be-1)+1,E,F)}else Ce.e=I,Ce.r=+F;return Ce}})();function J(c,d,p,C){var u,g,E,h,w;if(p==null?p=i:Pe(p,0,8),!c.c)return c.toString();if(u=c.c[0],E=c.e,d==null)w=et(c.c),w=C==1||C==2&&(E<=l||E>=b)?An(w,E):ht(w,E,"0");else if(c=we(new y(c),d,p),g=c.e,w=et(c.c),h=w.length,C==1||C==2&&(d<=g||g<=l)){for(;h<d;w+="0",h++);w=An(w,g)}else if(d-=E+(C===2&&g>E),w=ht(w,g,"0"),g+1>h){if(--d>0)for(w+=".";d--;w+="0");}else if(d+=g-h,d>0)for(g+1==h&&(w+=".");d--;w+="0");return c.s<0&&u?"-"+w:w}function Q(c,d){for(var p,C,u=1,g=new y(c[0]);u<c.length;u++)C=new y(c[u]),(!C.s||(p=Bt(g,C))===d||p===0&&g.s===d)&&(g=C);return g}function he(c,d,p){for(var C=1,u=d.length;!d[--u];d.pop());for(u=d[0];u>=10;u/=10,C++);return(p=C+p*be-1)>z?c.c=c.e=null:p<D?c.c=[c.e=0]:(c.e=p,c.c=d),c}s=(function(){var c=/^(-?)0([xbo])(?=\w[\w.]*$)/i,d=/^([^.]+)\.$/,p=/^\.([^.]+)$/,C=/^-?(Infinity|NaN)$/,u=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,h,w){var I,N=h?E:E.replace(u,"");if(C.test(N))g.s=isNaN(N)?null:N<0?-1:1;else{if(!h&&(N=N.replace(c,function(F,X,se){return I=(se=se.toLowerCase())=="x"?16:se=="b"?2:8,!w||w==I?X:F}),w&&(I=w,N=N.replace(d,"$1").replace(p,"0.$1")),E!=N))return new y(N,I);if(y.DEBUG)throw Error(ze+"Not a"+(w?" base "+w:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function we(c,d,p,C){var u,g,E,h,w,I,N,F=c.c,X=ro;if(F){e:{for(u=1,h=F[0];h>=10;h/=10,u++);if(g=d-u,g<0)g+=be,E=d,w=F[I=0],N=Ze(w/X[u-E-1]%10);else if(I=so((g+1)/be),I>=F.length)if(C){for(;F.length<=I;F.push(0));w=N=0,u=1,g%=be,E=g-be+1}else break e;else{for(w=h=F[I],u=1;h>=10;h/=10,u++);g%=be,E=g-be+u,N=E<0?0:Ze(w/X[u-E-1]%10)}if(C=C||d<0||F[I+1]!=null||(E<0?w:w%X[u-E-1]),C=p<4?(N||C)&&(p==0||p==(c.s<0?3:2)):N>5||N==5&&(p==4||C||p==6&&(g>0?E>0?w/X[u-E]:0:F[I-1])%10&1||p==(c.s<0?8:7)),d<1||!F[0])return F.length=0,C?(d-=c.e+1,F[0]=X[(be-d%be)%be],c.e=-d||0):F[0]=c.e=0,c;if(g==0?(F.length=I,h=1,I--):(F.length=I+1,h=X[be-g],F[I]=E>0?Ze(w/X[u-E]%X[E])*h:0),C)for(;;)if(I==0){for(g=1,E=F[0];E>=10;E/=10,g++);for(E=F[0]+=h,h=1;E>=10;E/=10,h++);g!=h&&(c.e++,F[0]==nt&&(F[0]=1));break}else{if(F[I]+=h,F[I]!=nt)break;F[I--]=0,h=1}for(g=F.length;F[--g]===0;F.pop());}c.e>z?c.c=c.e=null:c.e<D&&(c.c=[c.e=0])}return c}function Ee(c){var d,p=c.e;return p===null?c.toString():(d=et(c.c),d=p<=l||p>=b?An(d,p):ht(d,p,"0"),c.s<0?"-"+d:d)}return o.absoluteValue=o.abs=function(){var c=new y(this);return c.s<0&&(c.s=1),c},o.comparedTo=function(c,d){return Bt(this,new y(c,d))},o.decimalPlaces=o.dp=function(c,d){var p,C,u,g=this;if(c!=null)return Pe(c,0,He),d==null?d=i:Pe(d,0,8),we(new y(g),c+g.e+1,d);if(!(p=g.c))return null;if(C=((u=p.length-1)-$e(this.e/be))*be,u=p[u])for(;u%10==0;u/=10,C--);return C<0&&(C=0),C},o.dividedBy=o.div=function(c,d){return t(this,new y(c,d),r,i)},o.dividedToIntegerBy=o.idiv=function(c,d){return t(this,new y(c,d),0,1)},o.exponentiatedBy=o.pow=function(c,d){var p,C,u,g,E,h,w,I,N,F=this;if(c=new y(c),c.c&&!c.isInteger())throw Error(ze+"Exponent not an integer: "+Ee(c));if(d!=null&&(d=new y(d)),h=c.e>14,!F.c||!F.c[0]||F.c[0]==1&&!F.e&&F.c.length==1||!c.c||!c.c[0])return N=new y(Math.pow(+Ee(F),h?c.s*(2-yn(c)):+Ee(c))),d?N.mod(d):N;if(w=c.s<0,d){if(d.c?!d.c[0]:!d.s)return new y(NaN);C=!w&&F.isInteger()&&d.isInteger(),C&&(F=F.mod(d))}else{if(c.e>9&&(F.e>0||F.e<-1||(F.e==0?F.c[0]>1||h&&F.c[1]>=24e7:F.c[0]<8e13||h&&F.c[0]<=9999975e7)))return g=F.s<0&&yn(c)?-0:0,F.e>-1&&(g=1/g),new y(w?1/g:g);B&&(g=so(B/be+2))}for(h?(p=new y(.5),w&&(c.s=1),I=yn(c)):(u=Math.abs(+Ee(c)),I=u%2),N=new y(a);;){if(I){if(N=N.times(F),!N.c)break;g?N.c.length>g&&(N.c.length=g):C&&(N=N.mod(d))}if(u){if(u=Ze(u/2),u===0)break;I=u%2}else if(c=c.times(p),we(c,c.e+1,1),c.e>14)I=yn(c);else{if(u=+Ee(c),u===0)break;I=u%2}F=F.times(F),g?F.c&&F.c.length>g&&(F.c.length=g):C&&(F=F.mod(d))}return C?N:(w&&(N=a.div(N)),d?N.mod(d):g?we(N,B,i,E):N)},o.integerValue=function(c){var d=new y(this);return c==null?c=i:Pe(c,0,8),we(d,d.e+1,c)},o.isEqualTo=o.eq=function(c,d){return Bt(this,new y(c,d))===0},o.isFinite=function(){return!!this.c},o.isGreaterThan=o.gt=function(c,d){return Bt(this,new y(c,d))>0},o.isGreaterThanOrEqualTo=o.gte=function(c,d){return(d=Bt(this,new y(c,d)))===1||d===0},o.isInteger=function(){return!!this.c&&$e(this.e/be)>this.c.length-2},o.isLessThan=o.lt=function(c,d){return Bt(this,new y(c,d))<0},o.isLessThanOrEqualTo=o.lte=function(c,d){return(d=Bt(this,new y(c,d)))===-1||d===0},o.isNaN=function(){return!this.s},o.isNegative=function(){return this.s<0},o.isPositive=function(){return this.s>0},o.isZero=function(){return!!this.c&&this.c[0]==0},o.minus=function(c,d){var p,C,u,g,E=this,h=E.s;if(c=new y(c,d),d=c.s,!h||!d)return new y(NaN);if(h!=d)return c.s=-d,E.plus(c);var w=E.e/be,I=c.e/be,N=E.c,F=c.c;if(!w||!I){if(!N||!F)return N?(c.s=-d,c):new y(F?E:NaN);if(!N[0]||!F[0])return F[0]?(c.s=-d,c):new y(N[0]?E:i==3?-0:0)}if(w=$e(w),I=$e(I),N=N.slice(),h=w-I){for((g=h<0)?(h=-h,u=N):(I=w,u=F),u.reverse(),d=h;d--;u.push(0));u.reverse()}else for(C=(g=(h=N.length)<(d=F.length))?h:d,h=d=0;d<C;d++)if(N[d]!=F[d]){g=N[d]<F[d];break}if(g&&(u=N,N=F,F=u,c.s=-c.s),d=(C=F.length)-(p=N.length),d>0)for(;d--;N[p++]=0);for(d=nt-1;C>h;){if(N[--C]<F[C]){for(p=C;p&&!N[--p];N[p]=d);--N[p],N[C]+=nt}N[C]-=F[C]}for(;N[0]==0;N.splice(0,1),--I);return N[0]?he(c,N,I):(c.s=i==3?-1:1,c.c=[c.e=0],c)},o.modulo=o.mod=function(c,d){var p,C,u=this;return c=new y(c,d),!u.c||!c.s||c.c&&!c.c[0]?new y(NaN):!c.c||u.c&&!u.c[0]?new y(u):(x==9?(C=c.s,c.s=1,p=t(u,c,0,3),c.s=C,p.s*=C):p=t(u,c,0,x),c=u.minus(p.times(c)),!c.c[0]&&x==1&&(c.s=u.s),c)},o.multipliedBy=o.times=function(c,d){var p,C,u,g,E,h,w,I,N,F,X,se,ue,Ce,Se,q=this,ye=q.c,Ne=(c=new y(c,d)).c;if(!ye||!Ne||!ye[0]||!Ne[0])return!q.s||!c.s||ye&&!ye[0]&&!Ne||Ne&&!Ne[0]&&!ye?c.c=c.e=c.s=null:(c.s*=q.s,!ye||!Ne?c.c=c.e=null:(c.c=[0],c.e=0)),c;for(C=$e(q.e/be)+$e(c.e/be),c.s*=q.s,w=ye.length,F=Ne.length,w<F&&(ue=ye,ye=Ne,Ne=ue,u=w,w=F,F=u),u=w+F,ue=[];u--;ue.push(0));for(Ce=nt,Se=vt,u=F;--u>=0;){for(p=0,X=Ne[u]%Se,se=Ne[u]/Se|0,E=w,g=u+E;g>u;)I=ye[--E]%Se,N=ye[E]/Se|0,h=se*I+N*X,I=X*I+h%Se*Se+ue[g]+p,p=(I/Ce|0)+(h/Se|0)+se*N,ue[g--]=I%Ce;ue[g]=p}return p?++C:ue.splice(0,1),he(c,ue,C)},o.negated=function(){var c=new y(this);return c.s=-c.s||null,c},o.plus=function(c,d){var p,C=this,u=C.s;if(c=new y(c,d),d=c.s,!u||!d)return new y(NaN);if(u!=d)return c.s=-d,C.minus(c);var g=C.e/be,E=c.e/be,h=C.c,w=c.c;if(!g||!E){if(!h||!w)return new y(u/0);if(!h[0]||!w[0])return w[0]?c:new y(h[0]?C:u*0)}if(g=$e(g),E=$e(E),h=h.slice(),u=g-E){for(u>0?(E=g,p=w):(u=-u,p=h),p.reverse();u--;p.push(0));p.reverse()}for(u=h.length,d=w.length,u-d<0&&(p=w,w=h,h=p,d=u),u=0;d;)u=(h[--d]=h[d]+w[d]+u)/nt|0,h[d]=nt===h[d]?0:h[d]%nt;return u&&(h=[u].concat(h),++E),he(c,h,E)},o.precision=o.sd=function(c,d){var p,C,u,g=this;if(c!=null&&c!==!!c)return Pe(c,1,He),d==null?d=i:Pe(d,0,8),we(new y(g),c,d);if(!(p=g.c))return null;if(u=p.length-1,C=u*be+1,u=p[u]){for(;u%10==0;u/=10,C--);for(u=p[0];u>=10;u/=10,C++);}return c&&g.e+1>C&&(C=g.e+1),C},o.shiftedBy=function(c){return Pe(c,-ao,ao),this.times("1e"+c)},o.squareRoot=o.sqrt=function(){var c,d,p,C,u,g=this,E=g.c,h=g.s,w=g.e,I=r+4,N=new y("0.5");if(h!==1||!E||!E[0])return new y(!h||h<0&&(!E||E[0])?NaN:E?g:1/0);if(h=Math.sqrt(+Ee(g)),h==0||h==1/0?(d=et(E),(d.length+w)%2==0&&(d+="0"),h=Math.sqrt(+d),w=$e((w+1)/2)-(w<0||w%2),h==1/0?d="5e"+w:(d=h.toExponential(),d=d.slice(0,d.indexOf("e")+1)+w),p=new y(d)):p=new y(h+""),p.c[0]){for(w=p.e,h=w+I,h<3&&(h=0);;)if(u=p,p=N.times(u.plus(t(g,u,I,1))),et(u.c).slice(0,h)===(d=et(p.c)).slice(0,h))if(p.e<w&&--h,d=d.slice(h-3,h+1),d=="9999"||!C&&d=="4999"){if(!C&&(we(u,u.e+r+2,0),u.times(u).eq(g))){p=u;break}I+=4,h+=4,C=1}else{(!+d||!+d.slice(1)&&d.charAt(0)=="5")&&(we(p,p.e+r+2,1),c=!p.times(p).eq(g));break}}return we(p,p.e+r+1,i,c)},o.toExponential=function(c,d){return c!=null&&(Pe(c,0,He),c++),J(this,c,d,1)},o.toFixed=function(c,d){return c!=null&&(Pe(c,0,He),c=c+this.e+1),J(this,c,d)},o.toFormat=function(c,d,p){var C,u=this;if(p==null)c!=null&&d&&typeof d=="object"?(p=d,d=null):c&&typeof c=="object"?(p=c,c=d=null):p=S;else if(typeof p!="object")throw Error(ze+"Argument not an object: "+p);if(C=u.toFixed(c,d),u.c){var g,E=C.split("."),h=+p.groupSize,w=+p.secondaryGroupSize,I=p.groupSeparator||"",N=E[0],F=E[1],X=u.s<0,se=X?N.slice(1):N,ue=se.length;if(w&&(g=h,h=w,w=g,ue-=g),h>0&&ue>0){for(g=ue%h||h,N=se.substr(0,g);g<ue;g+=h)N+=I+se.substr(g,h);w>0&&(N+=I+se.slice(g)),X&&(N="-"+N)}C=F?N+(p.decimalSeparator||"")+((w=+p.fractionGroupSize)?F.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(p.fractionGroupSeparator||"")):F):N}return(p.prefix||"")+C+(p.suffix||"")},o.toFraction=function(c){var d,p,C,u,g,E,h,w,I,N,F,X,se=this,ue=se.c;if(c!=null&&(h=new y(c),!h.isInteger()&&(h.c||h.s!==1)||h.lt(a)))throw Error(ze+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+Ee(h));if(!ue)return new y(se);for(d=new y(a),I=p=new y(a),C=w=new y(a),X=et(ue),g=d.e=X.length-se.e-1,d.c[0]=ro[(E=g%be)<0?be+E:E],c=!c||h.comparedTo(d)>0?g>0?d:I:h,E=z,z=1/0,h=new y(X),w.c[0]=0;N=t(h,d,0,1),u=p.plus(N.times(C)),u.comparedTo(c)!=1;)p=C,C=u,I=w.plus(N.times(u=I)),w=u,d=h.minus(N.times(u=d)),h=u;return u=t(c.minus(p),C,0,1),w=w.plus(u.times(I)),p=p.plus(u.times(C)),w.s=I.s=se.s,g=g*2,F=t(I,C,g,i).minus(se).abs().comparedTo(t(w,p,g,i).minus(se).abs())<1?[I,C]:[w,p],z=E,F},o.toNumber=function(){return+Ee(this)},o.toPrecision=function(c,d){return c!=null&&Pe(c,1,He),J(this,c,d,2)},o.toString=function(c){var d,p=this,C=p.s,u=p.e;return u===null?C?(d="Infinity",C<0&&(d="-"+d)):d="NaN":(c==null?d=u<=l||u>=b?An(et(p.c),u):ht(et(p.c),u,"0"):c===10&&ge?(p=we(new y(p),r+u+1,i),d=ht(et(p.c),p.e,"0")):(Pe(c,2,v.length,"Base"),d=n(ht(et(p.c),u,"0"),10,c,C,!0)),C<0&&p.c[0]&&(d="-"+d)),d},o.valueOf=o.toJSON=function(){return Ee(this)},o._isBigNumber=!0,o[Symbol.toStringTag]="BigNumber",o[Symbol.for("nodejs.util.inspect.custom")]=o.valueOf,e!=null&&y.set(e),y}function $e(e){var t=e|0;return e>0||e===t?t:t-1}function et(e){for(var t,n,s=1,o=e.length,a=e[0]+"";s<o;){for(t=e[s++]+"",n=be-t.length;n--;t="0"+t);a+=t}for(o=a.length;a.charCodeAt(--o)===48;);return a.slice(0,o+1||1)}function Bt(e,t){var n,s,o=e.c,a=t.c,r=e.s,i=t.s,l=e.e,b=t.e;if(!r||!i)return null;if(n=o&&!o[0],s=a&&!a[0],n||s)return n?s?0:-i:r;if(r!=i)return r;if(n=r<0,s=l==b,!o||!a)return s?0:!o^n?1:-1;if(!s)return l>b^n?1:-1;for(i=(l=o.length)<(b=a.length)?l:b,r=0;r<i;r++)if(o[r]!=a[r])return o[r]>a[r]^n?1:-1;return l==b?0:l>b^n?1:-1}function Pe(e,t,n,s){if(e<t||e>n||e!==Ze(e))throw Error(ze+(s||"Argument")+(typeof e=="number"?e<t||e>n?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function yn(e){var t=e.c.length-1;return $e(e.e/be)==t&&e.c[t]%2!=0}function An(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ht(e,t,n){var s,o;if(t<0){for(o=n+".";++t;o+=n);e=o+e}else if(s=e.length,++t>s){for(o=n,t-=s;--t;o+=n);e+=o}else t<s&&(e=e.slice(0,t)+"."+e.slice(t));return e}var re=As();class Vt{baseUrl;constructor(t){this.baseUrl=t}buildUrl(t,n){const s=new URL(t,this.baseUrl);return n&&Object.entries(n).forEach(([o,a])=>{a!=null&&s.searchParams.append(o,String(a))}),s.toString()}async get(t,n={}){const s=this.buildUrl(t,n.query),o=await fetch(s,{method:"GET",headers:n.headers||{}});if(!o.ok){let r=null;try{r=await o.json()}catch{try{const l=await o.text();l&&(r={message:l})}catch{}}const i=new Error(r?.message||r?.errorMessage||`HTTP ${o.status}: ${o.statusText}`);throw i.status=o.status,i.statusText=o.statusText,r&&(i.data=r),i}return{data:await o.json(),status:o.status}}async post(t,n,s={}){const o=this.buildUrl(t,s.query),a=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...s.headers},body:JSON.stringify(n)});if(!a.ok){let i=null;try{i=await a.json()}catch{try{const b=await a.text();b&&(i={message:b})}catch{}}const l=new Error(i?.message||i?.errorMessage||`HTTP ${a.status}: ${a.statusText}`);throw l.status=a.status,l.statusText=a.statusText,i&&(l.data=i),l}return{data:await a.json(),status:a.status}}}const Bi=.01,ks=new Vt("https://wallet-api.pantograph.app"),Fi="https://deep-index.moralis.io";function $t(){return"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJub25jZSI6ImY4NmY0Yzc2LTA3MDQtNGEwZS04YTA0LWUwODllOGQxMGZjZCIsIm9yZ0lkIjoiMzk0MDAyIiwidXNlcklkIjoiNDA0ODUzIiwidHlwZUlkIjoiYjQyODExOTQtOGQ0Yi00NjkxLTlhZjItNjU4ODE2NzExYmRjIiwidHlwZSI6IlBST0pFQ1QiLCJpYXQiOjE3MTY4NjQyNTYsImV4cCI6NDg3MjYyNDI1Nn0.V8crfBIBardAnZkc05FD0hQIJBeZxMqvzRnYExVtnF8"}function en(e){return{"X-API-Key":e,Accept:"application/json"}}const tn=new Vt(Fi);async function je(e){const{address:t,chain:n="base",token_addresses:s,exclude_spam:o,exclude_unverified_contracts:a}=e;if(!t)throw new Error("Address is required");try{const r=$t(),i={chain:n,exclude_spam:o??!1,exclude_unverified_contracts:a??!1};s&&(i.token_addresses=s);const b=(await tn.get(`/api/v2.2/wallets/${encodeURIComponent(t)}/tokens`,{query:i,headers:en(r)})).data;if(b?.result?.length>0){b.result=b.result.filter(D=>new re(D?.balance||0).gt(0)),b.result=b.result.map(D=>({...D,token_address:D.token_address===ki?We:D.token_address}));try{if(b.result.length>0){const D=ps(n)??n,z=b.result.map(x=>x.token_address),k=await ks.get(`/keyrings/tokens/${D}/v2`,{query:{addresses:z.join(",")}});if(Array.isArray(k.data)){const x=new Map;for(const B of k.data)B.address&&B.price!=null&&x.set(B.address.toLowerCase(),parseFloat(String(B.price)));b.result=b.result.map(B=>{const S=x.get(B.token_address.toLowerCase());if(S==null)return B;const v=re(B.balance_formatted||"0").multipliedBy(S).toNumber();return{...B,usd_price:S,usd_value:v}}),b.result=b.result.filter(B=>B.usd_value==null||new re(B.usd_value).gte(Bi))}}}catch(D){console.warn("⚠️ Failed to fetch Pantograph prices:",D)}}return{success:!0,data:b}}catch(r){const i=r instanceof Error?r.message:"Unknown error";return console.error("❌ Error fetching token balances:",i),{success:!1,error:i}}}async function vs(e){const{address:t,chain:n="base"}=e;if(!t)throw new Error("Token address is required");try{const s=ps(n)??n,o=await ks.get(`/keyrings/tokens/${s}/v2`,{query:{addresses:t}}),a=t===We,i=(Array.isArray(o.data)?o.data:[]).find(B=>B.address?.toLowerCase()===t.toLowerCase()||a&&B.address==="")??null;if(i)return{success:!0,data:{token_address:i.address??t,name:i.name??"",symbol:i.symbol??"",decimals:i.decimals!=null?Number(i.decimals):18,logo:i.icon_image||i.logo,thumbnail:i.icon_image||i.logo,usd_price:i.price!=null?parseFloat(i.price):void 0,usd_price_24hr_percent_change:i.price_change_percentage_24h??void 0,usd_price_24hr_usd_change:i.price_change_24h??void 0}};console.warn("⚠️ Pantograph returned no result, falling back to Moralis API");const l=$t(),[b,D]=await Promise.allSettled([tn.get("/api/v2.2/erc20/metadata",{query:{chain:n,addresses:[t]},headers:en(l)}),tn.get(`/api/v2.2/erc20/${encodeURIComponent(t)}/price`,{query:{chain:n,include:"percent_change"},headers:en(l)})]),z=b.status==="fulfilled"?b.value.data:[];if(!z||z.length===0)return{success:!1,error:"Token metadata not found"};const k=z[0],x=D.status==="fulfilled"?D.value.data:void 0;return{success:!0,data:{token_address:k.token_address,name:k.name,symbol:k.symbol,decimals:k.decimals,logo:k.logo||k.thumbnail,thumbnail:k.thumbnail,usd_price:x?.usdPrice??void 0,usd_price_24hr_percent_change:x?.["24hrPercentChange"]?parseFloat(x["24hrPercentChange"]):void 0,usd_price_24hr_usd_change:x?.usdPriceChange24hr??void 0}}}catch(s){const o=s instanceof Error?s.message:"Unknown error";return console.error("❌ Error fetching token metadata:",o),{success:!1,error:o}}}async function Pi(e){const{prompt:t,model:n="gpt-4.1-mini",stream:s=!1,systemPrompt:o}=e;if(!t)throw new Error("Prompt is required");try{const a=$t(),r=new Vt("https://cortex-api.moralis.io"),i=o?`${o}
111
114
 
112
115
  ---
113
116
 
@@ -411,8 +414,8 @@ User: "do it again but with 2 ETH"
411
414
  Response: {"action":"swap_token","message":"<friendly explanation>","parameters":{"token_in":"native","token_in_symbol":"${o}","token_in_decimals":"18","token_out":"<actual USDC address on current chain>","token_out_symbol":"USDC","token_out_decimals":"6","amount":"2"}}
412
415
 
413
416
  User: "swap token" or "I want to swap" or "đổi token" (no specific tokens mentioned)
414
- Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const vs={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Ts=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],ji=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],qi=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function nn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function Qi(e){const{action:t,parameters:n,fromAddress:s,chainId:o}=e;switch(t){case"send_native":return Ki(n,s,o);case"send_token":return Xi(n,s,o);case"approve_token":return _i(n,s,o);case"wrap_native":return Zi(n,s,o);case"unwrap_native":return $i(n,s,o);case"send_nft":return tc(n,s,o);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function Ki(e,t,n){const{to_address:s,amount:o}=e;if(!s)throw new Error("Recipient address is required");if(!o)throw new Error("Amount is required");const a=mt(o,18).toString();return{from:t,to:s,data:"0x",value:a,chainId:n,description:`Send ${o} native token to ${s}`}}function Xi(e,t,n){const{contract_address:s,to_address:o,amount:a,decimals:r,token_symbol:i}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,b=mt(a,l),D=kt({abi:vn,functionName:"transfer",args:[o,b]});return{from:t,to:s,data:D,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${o}`}}function _i(e,t,n){const{contract_address:s,spender_address:o,amount:a,token_symbol:r}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Rt,l=kt({abi:vn,functionName:"approve",args:[o,i]});return{from:t,to:s,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${o}`}}function Zi(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18).toString(),r=kt({abi:Ts,functionName:"deposit"});return{from:t,to:o,data:r,value:a,chainId:n,description:`Wrap ${s} native token`}}function $i(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=vs[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18),r=kt({abi:Ts,functionName:"withdraw",args:[a]});return{from:t,to:o,data:r,value:"0",chainId:n,description:`Unwrap ${s} WETH`}}function ec(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function lo(e){const{transactionHash:t,chainId:n,pollingInterval:s=3e3,timeout:o=12e4,rpcUrl:a}=e,r=nn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<o;){try{const b=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(b.result){const D=b.result;return{status:D.status==="0x1"?"success":"fail",blockNumber:D.blockNumber,gasUsed:D.gasUsed,effectiveGasPrice:D.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,s))}throw new Error(`Transaction ${t} was not mined within ${o/1e3}s`)}async function uo(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:s,chainId:o,rpcUrl:a}=e,r=nn(o,a);if(!r)return console.warn(`No RPC endpoint for chain ${o}, assuming no allowance`),BigInt(0);try{const i=kt({abi:vn,functionName:"allowance",args:[n,s]}),b=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return b.result&&b.result!=="0x"?BigInt(b.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:s,chainId:o,tokenSymbol:a,amount:r}=e,i=r&&BigInt(r)>0n?BigInt(r):Rt,l=kt({abi:vn,functionName:"approve",args:[n,i]});return{from:s,to:t,data:l,value:"0",chainId:o,description:`Approve ${a||"token"} for swap`}}function tc(e,t,n){const{contract_address:s,token_id:o,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!s)throw new Error("NFT contract address is required");if(!o)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const b=(r||"ERC721").toUpperCase(),D=BigInt(o);let z,k;if(b==="ERC1155"){const x=BigInt(i||"1");z=kt({abi:qi,functionName:"safeTransferFrom",args:[t,a,D,x,"0x"]}),k=`Send ${x>1n?x.toString()+"x ":""}${l||"NFT"} (ERC1155 #${o}) to ${a}`}else z=kt({abi:ji,functionName:"safeTransferFrom",args:[t,a,D]}),k=`Send ${l||"NFT"} (ERC721 #${o}) to ${a}`;return{from:t,to:s,data:z,value:"0",chainId:n,description:k}}async function Cn(e){const{address:t,chainId:n,rpcUrl:s}=e,o=nn(n,s);if(!o)return console.warn(`No RPC endpoint for chain ${n}`),new re(0);try{const r=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new re(BigInt(r.result).toString()):new re(0)}catch(a){return console.warn("getNativeBalance failed:",a),new re(0)}}async function on(e){const{from:t,to:n,data:s,value:o,chainId:a,rpcUrl:r}=e,i=nn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new re(0);try{const[l,b]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:s,...o&&o!=="0"?{value:o}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[D,z]=await Promise.all([l.json(),b.json()]),k=D.result?new re(BigInt(D.result).toString()):new re(0),x=z.result?new re(BigInt(z.result).toString()):new re(0);return k.times(x).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new re(0)}}async function fo(e){const{chainId:t,rpcUrl:n}=e,s=nn(t,n);if(!s)return console.warn(`No RPC endpoint for chain ${t}`),new re(0);try{const a=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new re(BigInt(a.result).toString()):new re(0)}catch(o){return console.warn("getGasPrice failed:",o),new re(0)}}var ne={},sn={exports:{}},nc=sn.exports,Cs;function oc(){return Cs||(Cs=1,(function(e,t){(function(n,s){var o="1.0.39",a="",r="?",i="function",l="undefined",b="object",D="string",z="major",k="model",x="name",B="type",S="vendor",v="version",ge="architecture",y="console",J="mobile",Q="tablet",he="smarttv",we="wearable",Ee="embedded",c=500,d="Amazon",p="Apple",C="ASUS",u="BlackBerry",g="Browser",E="Chrome",h="Edge",w="Firefox",I="Google",N="Huawei",F="LG",X="Microsoft",se="Motorola",ue="Opera",Ce="Samsung",Se="Sharp",q="Sony",ye="Xiaomi",Ne="Zebra",qe="Facebook",Qe="Chromium OS",ot="Mac OS",Ve=" Browser",st=function(W,M){var U={};for(var _ in W)M[_]&&M[_].length%2===0?U[_]=M[_].concat(W[_]):U[_]=W[_];return U},Be=function(W){for(var M={},U=0;U<W.length;U++)M[W[U].toUpperCase()]=W[U];return M},Oe=function(W,M){return typeof W===D?ke(M).indexOf(ke(W))!==-1:!1},ke=function(W){return W.toLowerCase()},Gt=function(W){return typeof W===D?W.replace(/[^\d\.]/g,a).split(".")[0]:s},gt=function(W,M){if(typeof W===D)return W=W.replace(/^\s\s*/,a),typeof M===l?W:W.substring(0,c)},lt=function(W,M){for(var U=0,_,oe,V,A,P,de;U<M.length&&!P;){var ie=M[U],ve=M[U+1];for(_=oe=0;_<ie.length&&!P&&ie[_];)if(P=ie[_++].exec(W),P)for(V=0;V<ve.length;V++)de=P[++oe],A=ve[V],typeof A===b&&A.length>0?A.length===2?typeof A[1]==i?this[A[0]]=A[1].call(this,de):this[A[0]]=A[1]:A.length===3?typeof A[1]===i&&!(A[1].exec&&A[1].test)?this[A[0]]=de?A[1].call(this,de,A[2]):s:this[A[0]]=de?de.replace(A[1],A[2]):s:A.length===4&&(this[A[0]]=de?A[3].call(this,de.replace(A[1],A[2])):s):this[A]=de||s;U+=2}},at=function(W,M){for(var U in M)if(typeof M[U]===b&&M[U].length>0){for(var _=0;_<M[U].length;_++)if(Oe(M[U][_],W))return U===r?s:U}else if(Oe(M[U],W))return U===r?s:U;return M.hasOwnProperty("*")?M["*"]:W},Yt={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},R={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},K={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[v,[x,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[v,[x,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[x,v],[/opios[\/ ]+([\w\.]+)/i],[v,[x,ue+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[v,[x,ue+" GX"]],[/\bopr\/([\w\.]+)/i],[v,[x,ue]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[v,[x,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[x,v],[/quark(?:pc)?\/([-\w\.]+)/i],[v,[x,"Quark"]],[/\bddg\/([\w\.]+)/i],[v,[x,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[v,[x,"UC"+g]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[v,[x,"WeChat"]],[/konqueror\/([\w\.]+)/i],[v,[x,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[v,[x,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[v,[x,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[v,[x,"Smart Lenovo "+g]],[/(avast|avg)\/([\w\.]+)/i],[[x,/(.+)/,"$1 Secure "+g],v],[/\bfocus\/([\w\.]+)/i],[v,[x,w+" Focus"]],[/\bopt\/([\w\.]+)/i],[v,[x,ue+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[v,[x,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[v,[x,"Dolphin"]],[/coast\/([\w\.]+)/i],[v,[x,ue+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[v,[x,"MIUI "+g]],[/fxios\/([-\w\.]+)/i],[v,[x,w]],[/\bqihu|(qi?ho?o?|360)browser/i],[[x,"360"+Ve]],[/\b(qq)\/([\w\.]+)/i],[[x,/(.+)/,"$1Browser"],v],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[x,/(.+)/,"$1"+Ve],v],[/samsungbrowser\/([\w\.]+)/i],[v,[x,Ce+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[x,/_/g," "],v],[/metasr[\/ ]?([\d\.]+)/i],[v,[x,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[x,"Sogou Mobile"],v],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[x,v],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[x],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[x,qe],v],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[x,v],[/\bgsa\/([\w\.]+) .*safari\//i],[v,[x,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[v,[x,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[v,[x,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[x,E+" WebView"],v],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[v,[x,"Android "+g]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[x,v],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[v,[x,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[v,x],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[x,[v,at,Yt]],[/(webkit|khtml)\/([\w\.]+)/i],[x,v],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[x,"Netscape"],v],[/(wolvic)\/([\w\.]+)/i],[x,v],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[v,[x,w+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[x,[v,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[x,[v,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[ge,"amd64"]],[/(ia32(?=;))/i],[[ge,ke]],[/((?:i[346]|x)86)[;\)]/i],[[ge,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[ge,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[ge,"armhf"]],[/windows (ce|mobile); ppc;/i],[[ge,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[ge,/ower/,a,ke]],[/(sun4\w)[;\)]/i],[[ge,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[ge,ke]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[k,[S,Ce],[B,Q]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[k,[S,Ce],[B,J]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[S,p],[B,J]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[S,p],[B,Q]],[/(macintosh);/i],[k,[S,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[S,Se],[B,J]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[k,[S,N],[B,Q]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[S,N],[B,J]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[k,/_/g," "],[S,ye],[B,J]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[k,/_/g," "],[S,ye],[B,Q]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[S,"OPPO"],[B,J]],[/\b(opd2\d{3}a?) bui/i],[k,[S,"OPPO"],[B,Q]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[S,"Vivo"],[B,J]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[S,"Realme"],[B,J]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[k,[S,se],[B,J]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[S,se],[B,Q]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[S,F],[B,Q]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[S,F],[B,J]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[k,[S,"Lenovo"],[B,Q]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[k,/_/g," "],[S,"Nokia"],[B,J]],[/(pixel c)\b/i],[k,[S,I],[B,Q]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[k,[S,I],[B,J]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[k,[S,q],[B,J]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[S,q],[B,Q]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[S,"OnePlus"],[B,J]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[S,d],[B,Q]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[S,d],[B,J]],[/(playbook);[-\w\),; ]+(rim)/i],[k,S,[B,Q]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[S,u],[B,J]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[S,C],[B,Q]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[S,C],[B,J]],[/(nexus 9)/i],[k,[S,"HTC"],[B,Q]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[S,[k,/_/g," "],[B,J]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[k,[S,"TCL"],[B,Q]],[/(itel) ((\w+))/i],[[S,ke],k,[B,at,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[S,"Acer"],[B,Q]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[S,"Meizu"],[B,J]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[S,"Ulefone"],[B,J]],[/droid.+; (a(?:015|06[35]|142p?))/i],[k,[S,"Nothing"],[B,J]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[S,k,[B,J]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[S,k,[B,Q]],[/(surface duo)/i],[k,[S,X],[B,Q]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[S,"Fairphone"],[B,J]],[/(u304aa)/i],[k,[S,"AT&T"],[B,J]],[/\bsie-(\w*)/i],[k,[S,"Siemens"],[B,J]],[/\b(rct\w+) b/i],[k,[S,"RCA"],[B,Q]],[/\b(venue[\d ]{2,7}) b/i],[k,[S,"Dell"],[B,Q]],[/\b(q(?:mv|ta)\w+) b/i],[k,[S,"Verizon"],[B,Q]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[k,[S,"Barnes & Noble"],[B,Q]],[/\b(tm\d{3}\w+) b/i],[k,[S,"NuVision"],[B,Q]],[/\b(k88) b/i],[k,[S,"ZTE"],[B,Q]],[/\b(nx\d{3}j) b/i],[k,[S,"ZTE"],[B,J]],[/\b(gen\d{3}) b.+49h/i],[k,[S,"Swiss"],[B,J]],[/\b(zur\d{3}) b/i],[k,[S,"Swiss"],[B,Q]],[/\b((zeki)?tb.*\b) b/i],[k,[S,"Zeki"],[B,Q]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[S,"Dragon Touch"],k,[B,Q]],[/\b(ns-?\w{0,9}) b/i],[k,[S,"Insignia"],[B,Q]],[/\b((nxa|next)-?\w{0,9}) b/i],[k,[S,"NextBook"],[B,Q]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[S,"Voice"],k,[B,J]],[/\b(lvtel\-)?(v1[12]) b/i],[[S,"LvTel"],k,[B,J]],[/\b(ph-1) /i],[k,[S,"Essential"],[B,J]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[k,[S,"Envizen"],[B,Q]],[/\b(trio[-\w\. ]+) b/i],[k,[S,"MachSpeed"],[B,Q]],[/\btu_(1491) b/i],[k,[S,"Rotor"],[B,Q]],[/(shield[\w ]+) b/i],[k,[S,"Nvidia"],[B,Q]],[/(sprint) (\w+)/i],[S,k,[B,J]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[S,X],[B,J]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[S,Ne],[B,Q]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[S,Ne],[B,J]],[/smart-tv.+(samsung)/i],[S,[B,he]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[S,Ce],[B,he]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[S,F],[B,he]],[/(apple) ?tv/i],[S,[k,p+" TV"],[B,he]],[/crkey/i],[[k,E+"cast"],[S,I],[B,he]],[/droid.+aft(\w+)( bui|\))/i],[k,[S,d],[B,he]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[S,Se],[B,he]],[/(bravia[\w ]+)( bui|\))/i],[k,[S,q],[B,he]],[/(mitv-\w{5}) bui/i],[k,[S,ye],[B,he]],[/Hbbtv.*(technisat) (.*);/i],[S,k,[B,he]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[S,gt],[k,gt],[B,he]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[B,he]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[S,k,[B,y]],[/droid.+; (shield) bui/i],[k,[S,"Nvidia"],[B,y]],[/(playstation [345portablevi]+)/i],[k,[S,q],[B,y]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[S,X],[B,y]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[k,[S,Ce],[B,we]],[/((pebble))app/i],[S,k,[B,we]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[S,p],[B,we]],[/droid.+; (glass) \d/i],[k,[S,I],[B,we]],[/droid.+; (wt63?0{2,3})\)/i],[k,[S,Ne],[B,we]],[/(quest( \d| pro)?)/i],[k,[S,qe],[B,we]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[S,[B,Ee]],[/(aeobc)\b/i],[k,[S,d],[B,Ee]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[k,[B,J]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[k,[B,Q]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[B,Q]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[B,J]],[/(android[-\w\. ]{0,9});.+buil/i],[k,[S,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[v,[x,h+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[v,[x,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[x,v],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[v,x]],os:[[/microsoft (windows) (vista|xp)/i],[x,v],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[x,[v,at,R]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[v,at,R],[x,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[v,/_/g,"."],[x,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[x,ot],[v,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[v,x],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[x,v],[/\(bb(10);/i],[v,[x,u]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[v,[x,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[v,[x,w+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[v,[x,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[v,[x,"watchOS"]],[/crkey\/([\d\.]+)/i],[v,[x,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[x,Qe],v],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[x,v],[/(sunos) ?([\w\.\d]*)/i],[[x,"Solaris"],v],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[x,v]]},H=function(W,M){if(typeof W===b&&(M=W,W=s),!(this instanceof H))return new H(W,M).getResult();var U=typeof n!==l&&n.navigator?n.navigator:s,_=W||(U&&U.userAgent?U.userAgent:a),oe=U&&U.userAgentData?U.userAgentData:s,V=M?st(K,M):K,A=U&&U.userAgent==_;return this.getBrowser=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.browser),P[z]=Gt(P[v]),A&&U&&U.brave&&typeof U.brave.isBrave==i&&(P[x]="Brave"),P},this.getCPU=function(){var P={};return P[ge]=s,lt.call(P,_,V.cpu),P},this.getDevice=function(){var P={};return P[S]=s,P[k]=s,P[B]=s,lt.call(P,_,V.device),A&&!P[B]&&oe&&oe.mobile&&(P[B]=J),A&&P[k]=="Macintosh"&&U&&typeof U.standalone!==l&&U.maxTouchPoints&&U.maxTouchPoints>2&&(P[k]="iPad",P[B]=Q),P},this.getEngine=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.engine),P},this.getOS=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.os),A&&!P[x]&&oe&&oe.platform&&oe.platform!="Unknown"&&(P[x]=oe.platform.replace(/chrome os/i,Qe).replace(/macos/i,ot)),P},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _},this.setUA=function(P){return _=typeof P===D&&P.length>c?gt(P,c):P,this},this.setUA(_),this};H.VERSION=o,H.BROWSER=Be([x,v,z]),H.CPU=Be([ge]),H.DEVICE=Be([k,S,B,y,J,he,Q,we,Ee]),H.ENGINE=H.OS=Be([x,v]),e.exports&&(t=e.exports=H),t.UAParser=H;var Z=typeof n!==l&&(n.jQuery||n.Zepto);if(Z&&!Z.ua){var le=new H;Z.ua=le.getResult(),Z.ua.get=function(){return le.getUA()},Z.ua.set=function(W){le.setUA(W);var M=le.getResult();for(var U in M)Z.ua[U]=M[U]}}})(typeof window=="object"?window:nc)})(sn,sn.exports)),sn.exports}var Es;function sc(){if(Es)return ne;Es=1,Object.defineProperty(ne,"__esModule",{value:!0});function e(T){return T&&typeof T=="object"&&"default"in T?T.default:T}var t=te,n=e(t),s=oc(),o=new s,a=o.getBrowser(),r=o.getCPU(),i=o.getDevice(),l=o.getEngine(),b=o.getOS(),D=o.getUA(),z=function(f){return o.setUA(f)},k=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new s(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(Y){return m.setUA(Y)}}},x=Object.freeze({ClientUAInstance:o,browser:a,cpu:r,device:i,engine:l,os:b,ua:D,setUa:z,parseUserAgent:k});function B(T,f){var m=Object.keys(T);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(T);f&&(L=L.filter(function(Y){return Object.getOwnPropertyDescriptor(T,Y).enumerable})),m.push.apply(m,L)}return m}function S(T){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?B(Object(m),!0).forEach(function(L){Q(T,L,m[L])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(m)):B(Object(m)).forEach(function(L){Object.defineProperty(T,L,Object.getOwnPropertyDescriptor(m,L))})}return T}function v(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v=function(f){return typeof f}:v=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},v(T)}function ge(T,f){if(!(T instanceof f))throw new TypeError("Cannot call a class as a function")}function y(T,f){for(var m=0;m<f.length;m++){var L=f[m];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(T,L.key,L)}}function J(T,f,m){return f&&y(T.prototype,f),T}function Q(T,f,m){return f in T?Object.defineProperty(T,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):T[f]=m,T}function he(){return he=Object.assign||function(T){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var L in m)Object.prototype.hasOwnProperty.call(m,L)&&(T[L]=m[L])}return T},he.apply(this,arguments)}function we(T,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");T.prototype=Object.create(f&&f.prototype,{constructor:{value:T,writable:!0,configurable:!0}}),f&&c(T,f)}function Ee(T){return Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},Ee(T)}function c(T,f){return c=Object.setPrototypeOf||function(L,Y){return L.__proto__=Y,L},c(T,f)}function d(T,f){if(T==null)return{};var m={},L=Object.keys(T),Y,Ae;for(Ae=0;Ae<L.length;Ae++)Y=L[Ae],!(f.indexOf(Y)>=0)&&(m[Y]=T[Y]);return m}function p(T,f){if(T==null)return{};var m=d(T,f),L,Y;if(Object.getOwnPropertySymbols){var Ae=Object.getOwnPropertySymbols(T);for(Y=0;Y<Ae.length;Y++)L=Ae[Y],!(f.indexOf(L)>=0)&&Object.prototype.propertyIsEnumerable.call(T,L)&&(m[L]=T[L])}return m}function C(T){if(T===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return T}function u(T,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(T)}function g(T,f){return E(T)||h(T,f)||w(T,f)||N()}function E(T){if(Array.isArray(T))return T}function h(T,f){var m=T==null?null:typeof Symbol<"u"&&T[Symbol.iterator]||T["@@iterator"];if(m!=null){var L=[],Y=!0,Ae=!1,Me,Ke;try{for(m=m.call(T);!(Y=(Me=m.next()).done)&&(L.push(Me.value),!(f&&L.length===f));Y=!0);}catch(In){Ae=!0,Ke=In}finally{try{!Y&&m.return!=null&&m.return()}finally{if(Ae)throw Ke}}return L}}function w(T,f){if(T){if(typeof T=="string")return I(T,f);var m=Object.prototype.toString.call(T).slice(8,-1);if(m==="Object"&&T.constructor&&(m=T.constructor.name),m==="Map"||m==="Set")return Array.from(T);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return I(T,f)}}function I(T,f){(f==null||f>T.length)&&(f=T.length);for(var m=0,L=new Array(f);m<f;m++)L[m]=T[m];return L}function N(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
415
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},X={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},se={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},ue={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return ue}},Se=function(f){return z(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},ye=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=ye();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},qe=function(f,m,L,Y,Ae){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(L.name),engineVersion:q(L.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}},Qe=function(f,m,L,Y){return S({},f,{vendor:q(m.vendor),model:q(m.model),os:q(L.name),osVersion:q(L.version),ua:q(Y)})},ot=function(f,m,L,Y){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},Ve=function(f,m,L,Y){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},st=function(f,m,L,Y){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},Be=function(f,m,L,Y,Ae){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(L.name),engineVersion:q(L.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}};function Oe(T){var f=T?k(T):x,m=f.device,L=f.browser,Y=f.engine,Ae=f.os,Me=f.ua,Ke=Ce(m.type),In=Ke.isBrowser,al=Ke.isMobile,rl=Ke.isTablet,Us=Ke.isSmartTV,Ms=Ke.isConsole,Rs=Ke.isWearable,Hs=Ke.isEmbedded;if(In)return qe(In,L,Y,Ae,Me);if(Us)return ot(Us,Y,Ae,Me);if(Ms)return Ve(Ms,Y,Ae,Me);if(al||rl)return Qe(Ke,m,Ae,Me);if(Rs)return st(Rs,Y,Ae,Me);if(Hs)return Be(Hs,m,Y,Ae,Me)}var ke=function(f){var m=f.type;return m===F.Mobile},Gt=function(f){var m=f.type;return m===F.Tablet},gt=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},lt=function(f){var m=f.type;return m===F.SmartTv},at=function(f){var m=f.type;return m===F.Browser},Yt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},K=function(f){var m=f.type;return m===F.Embedded},H=function(f){var m=f.vendor;return q(m)},Z=function(f){var m=f.model;return q(m)},le=function(f){var m=f.type;return q(m,"browser")},W=function(f){var m=f.name;return m===se.Android},M=function(f){var m=f.name;return m===se.Windows},U=function(f){var m=f.name;return m===se.MAC_OS},_=function(f){var m=f.name;return m===se.WindowsPhone},oe=function(f){var m=f.name;return m===se.IOS},V=function(f){var m=f.version;return q(m)},A=function(f){var m=f.name;return q(m)},P=function(f){var m=f.name;return m===X.Chrome},de=function(f){var m=f.name;return m===X.Firefox},ie=function(f){var m=f.name;return m===X.Chromium},ve=function(f){var m=f.name;return m===X.Edge},xe=function(f){var m=f.name;return m===X.Yandex},ae=function(f){var m=f.name;return m===X.Safari||m===X.MobileSafari},j=function(f){var m=f.name;return m===X.MobileSafari},ee=function(f){var m=f.name;return m===X.Opera},G=function(f){var m=f.name;return m===X.InternetExplorer||m===X.Ie},$=function(f){var m=f.name;return m===X.MIUI},fe=function(f){var m=f.name;return m===X.SamsungBrowser},ce=function(f){var m=f.version;return q(m)},Te=function(f){var m=f.major;return q(m)},Fe=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},De=function(f){var m=f.version;return q(m)},_e=function(){var f=ye(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},Ge=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=ye();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},Ye=function(){return Ne("iPad")},Pt=function(){return Ne("iPhone")},an=function(){return Ne("iPod")},rn=function(f){return q(f)};function Jt(T){var f=T||x,m=f.device,L=f.browser,Y=f.os,Ae=f.engine,Me=f.ua;return{isSmartTV:lt(m),isConsole:R(m),isWearable:Yt(m),isEmbedded:K(m),isMobileSafari:j(L)||Ye(),isChromium:ie(L),isMobile:gt(m)||Ye(),isMobileOnly:ke(m),isTablet:Gt(m)||Ye(),isBrowser:at(m),isDesktop:at(m),isAndroid:W(Y),isWinPhone:_(Y),isIOS:oe(Y)||Ye(),isChrome:P(L),isFirefox:de(L),isSafari:ae(L),isOpera:ee(L),isIE:G(L),osVersion:V(Y),osName:A(Y),fullBrowserVersion:ce(L),browserVersion:Te(L),browserName:Fe(L),mobileVendor:H(m),mobileModel:Z(m),engineName:Ie(Ae),engineVersion:De(Ae),getUA:rn(Me),isEdge:ve(L)||Ge(Me),isYandex:xe(L),deviceType:le(m),isIOS13:dt(),isIPad13:Ye(),isIPhone13:Pt(),isIPod13:an(),isElectron:_e(),isEdgeChromium:Ge(Me),isLegacyEdge:ve(L)&&!Ge(Me),isWindows:M(Y),isMacOs:U(Y),isMIUI:$(L),isSamsungBrowser:fe(L)}}var Ue=lt(i),En=R(i),Sn=Yt(i),uc=K(i),fc=j(a)||Ye(),pc=ie(a),xn=gt(i)||Ye(),Is=ke(i),Ns=Gt(i)||Ye(),Bs=at(i),mc=at(i),Fs=W(b),Ps=_(b),Os=oe(b)||Ye(),hc=P(a),gc=de(a),wc=ae(a),bc=ee(a),Ds=G(a),yc=V(b),Ac=A(b),kc=ce(a),vc=Te(a),Tc=Fe(a),Cc=H(i),Ec=Z(i),Sc=Ie(l),xc=De(l),Ic=rn(D),Nc=ve(a)||Ge(D),Bc=xe(a),Fc=le(i),Pc=dt(),Oc=Ye(),Dc=Pt(),Lc=an(),Uc=_e(),Mc=Ge(D),Rc=ve(a)&&!Ge(D),Hc=M(b),Wc=U(b),Vc=$(a),Gc=fe(a),Yc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=k(f),L=m.device,Y=m.browser,Ae=m.os,Me=m.engine,Ke=m.ua;return Jt({device:L,browser:Y,os:Ae,engine:Me,ua:Ke})},Jc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Fs?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},zc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Bs?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},jc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},qc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Qc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Kc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ns?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Xc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ps?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},_c=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var Y=p(f,["renderWithFragment","children","viewClassName","style"]);return Is?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Zc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},$c=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},el=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},tl=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var Y=f.condition,Ae=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return Y?m?n.createElement(t.Fragment,null,L):n.createElement("div",Ae,L):null};function nl(T){return(function(f){we(m,f);function m(L){var Y;return ge(this,m),Y=u(this,Ee(m).call(this,L)),Y.isEventListenerAdded=!1,Y.handleOrientationChange=Y.handleOrientationChange.bind(C(Y)),Y.onOrientationChange=Y.onOrientationChange.bind(C(Y)),Y.onPageLoad=Y.onPageLoad.bind(C(Y)),Y.state={isLandscape:!1,isPortrait:!1},Y}return J(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var Y=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:Y===0,isLandscape:Y===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return n.createElement(T,he({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function ol(){var T=t.useState(function(){var Ae=window.innerWidth>window.innerHeight?90:0;return{isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"}}),f=g(T,2),m=f[0],L=f[1],Y=t.useCallback(function(){var Ae=window.innerWidth>window.innerHeight?90:0,Me={isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"};m.orientation!==Me.orientation&&L(Me)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(Y(),window.addEventListener("load",Y,!1),window.addEventListener("resize",Y,!1)),function(){window.removeEventListener("resize",Y,!1),window.removeEventListener("load",Y,!1)}},[Y]),m}function Ls(T){var f=T||window.navigator.userAgent;return k(f)}function sl(T){var f=T||window.navigator.userAgent,m=Ls(f),L=Jt(m);return[L,m]}return ne.AndroidView=Jc,ne.BrowserTypes=X,ne.BrowserView=zc,ne.ConsoleView=$c,ne.CustomView=tl,ne.IEView=jc,ne.IOSView=qc,ne.MobileOnlyView=_c,ne.MobileView=Qc,ne.OsTypes=se,ne.SmartTVView=Zc,ne.TabletView=Kc,ne.WearableView=el,ne.WinPhoneView=Xc,ne.browserName=Tc,ne.browserVersion=vc,ne.deviceDetect=Oe,ne.deviceType=Fc,ne.engineName=Sc,ne.engineVersion=xc,ne.fullBrowserVersion=kc,ne.getSelectorsByUserAgent=Yc,ne.getUA=Ic,ne.isAndroid=Fs,ne.isBrowser=Bs,ne.isChrome=hc,ne.isChromium=pc,ne.isConsole=En,ne.isDesktop=mc,ne.isEdge=Nc,ne.isEdgeChromium=Mc,ne.isElectron=Uc,ne.isEmbedded=uc,ne.isFirefox=gc,ne.isIE=Ds,ne.isIOS=Os,ne.isIOS13=Pc,ne.isIPad13=Oc,ne.isIPhone13=Dc,ne.isIPod13=Lc,ne.isLegacyEdge=Rc,ne.isMIUI=Vc,ne.isMacOs=Wc,ne.isMobile=xn,ne.isMobileOnly=Is,ne.isMobileSafari=fc,ne.isOpera=bc,ne.isSafari=wc,ne.isSamsungBrowser=Gc,ne.isSmartTV=Ue,ne.isTablet=Ns,ne.isWearable=Sn,ne.isWinPhone=Ps,ne.isWindows=Hc,ne.isYandex=Bc,ne.mobileModel=Ec,ne.mobileVendor=Cc,ne.osName=Ac,ne.osVersion=yc,ne.parseUserAgent=k,ne.setUserAgent=Se,ne.useDeviceData=Ls,ne.useDeviceSelectors=sl,ne.useMobileOrientation=ol,ne.withOrientationChange=nl,ne}var Ft=sc();const ac=void 0,rc=["AIzaSyD1KVBBG-QxLey_u4ce8l1tieJqmodH2-w","AIzaSyBnlVDkMyKNqbTnSc-p08OLmoa3-fvLvrk","AIzaSyAiXlBwSu5SfnRuYpda1zdVmIXNCQ3PBSM","AIzaSyBXKcrdJUszqWgvJs7gWJR335-kGGpjyXI","AIzaSyBj1X_Ip3xJomjN1lQ9q0WHxEyFJvAd_4Q","AIzaSyBlag_M5F8dC5YIcNWOF3g5xv0edVuiHQA","AIzaSyD9sPjc0kkFHI0XP2INhQsVYC27f8qhHzE","AIzaSyAIsWdN2PQTp0vGvIAnhC55U7m3T5vq-wo","AIzaSyDwnVG1YwJC3HOrZ-4jdwvE75Q3CKg35ug","AIzaSyBebB2G98NSBIoYePWYxa1WQiObwol8WHY"],Ss={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:ac,url:"https://generativelanguage.googleapis.com"};class ic extends Vt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(Ss.url)}getApiKey(){let t="",n=rc;const s=localStorage.getItem("arr_api_key_dev_gemini");s&&(n=JSON.parse(s));const o=localStorage.getItem("index_api_key_gemini");return o&&(this.indexApiKey=Number(o),this.indexApiKey++),this.indexApiKey>=n.length&&(this.indexApiKey=0),t=n[this.indexApiKey],localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const s=`
417
+ Response: {"action":"swap_token","message":"<friendly explanation, e.g. Which token would you like to swap?>","parameters":{"token_in":"","token_in_symbol":"","token_in_decimals":"","token_out":"","token_out_symbol":"","token_out_decimals":"","amount":""}}`}const Ts={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",10:"0x4200000000000000000000000000000000000006",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"},vn=[{name:"transfer",type:"function",stateMutability:"nonpayable",inputs:[{name:"to",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"approve",type:"function",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{name:"allowance",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]}],Cs=[{name:"deposit",type:"function",stateMutability:"payable",inputs:[],outputs:[]},{name:"withdraw",type:"function",stateMutability:"nonpayable",inputs:[{name:"wad",type:"uint256"}],outputs:[]}],ji=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"tokenId",type:"uint256"}],outputs:[]}],qi=[{name:"safeTransferFrom",type:"function",stateMutability:"nonpayable",inputs:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"id",type:"uint256"},{name:"amount",type:"uint256"},{name:"data",type:"bytes"}],outputs:[]}];function nn(e,t){return t||ct[e]?.rpcUrls?.default?.http?.[0]}function Qi(e){const{action:t,parameters:n,fromAddress:s,chainId:o}=e;switch(t){case"send_native":return Ki(n,s,o);case"send_token":return Xi(n,s,o);case"approve_token":return _i(n,s,o);case"wrap_native":return Zi(n,s,o);case"unwrap_native":return $i(n,s,o);case"send_nft":return tc(n,s,o);default:throw new Error(`Action "${t}" does not produce a transaction`)}}function Ki(e,t,n){const{to_address:s,amount:o}=e;if(!s)throw new Error("Recipient address is required");if(!o)throw new Error("Amount is required");const a=mt(o,18).toString();return{from:t,to:s,data:"0x",value:a,chainId:n,description:`Send ${o} native token to ${s}`}}function Xi(e,t,n){const{contract_address:s,to_address:o,amount:a,decimals:r,token_symbol:i}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Recipient address is required");if(!a)throw new Error("Amount is required");const l=parseInt(r)||18,b=mt(a,l),D=kt({abi:vn,functionName:"transfer",args:[o,b]});return{from:t,to:s,data:D,value:"0",chainId:n,description:`Send ${a} ${i||"tokens"} to ${o}`}}function _i(e,t,n){const{contract_address:s,spender_address:o,amount:a,token_symbol:r}=e;if(!s)throw new Error("Token contract address is required");if(!o)throw new Error("Spender address is required");const i=a&&a?.trim()!==""?mt(a,18):Rt,l=kt({abi:vn,functionName:"approve",args:[o,i]});return{from:t,to:s,data:l,value:"0",chainId:n,description:`Approve ${a||"unlimited"} ${r||"tokens"} for ${o}`}}function Zi(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=Ts[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18).toString(),r=kt({abi:Cs,functionName:"deposit"});return{from:t,to:o,data:r,value:a,chainId:n,description:`Wrap ${s} native token`}}function $i(e,t,n){const{amount:s}=e;if(!s)throw new Error("Amount is required");const o=Ts[n];if(!o)throw new Error(`WETH not supported on chain ${n}`);const a=mt(s,18),r=kt({abi:Cs,functionName:"withdraw",args:[a]});return{from:t,to:o,data:r,value:"0",chainId:n,description:`Unwrap ${s} WETH`}}function ec(e){return["send_native","send_token","approve_token","wrap_native","unwrap_native","send_nft"].includes(e)}async function lo(e){const{transactionHash:t,chainId:n,pollingInterval:s=3e3,timeout:o=12e4,rpcUrl:a}=e,r=nn(n,a);if(!r)throw new Error(`No RPC endpoint for chain ${n}`);const i=Date.now();for(;Date.now()-i<o;){try{const b=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getTransactionReceipt",params:[t]})})).json();if(b.result){const D=b.result;return{status:D.status==="0x1"?"success":"fail",blockNumber:D.blockNumber,gasUsed:D.gasUsed,effectiveGasPrice:D.effectiveGasPrice}}}catch(l){console.warn("eth_getTransactionReceipt poll error:",l)}await new Promise(l=>setTimeout(l,s))}throw new Error(`Transaction ${t} was not mined within ${o/1e3}s`)}async function uo(e){const{tokenAddress:t,ownerAddress:n,spenderAddress:s,chainId:o,rpcUrl:a}=e,r=nn(o,a);if(!r)return console.warn(`No RPC endpoint for chain ${o}, assuming no allowance`),BigInt(0);try{const i=kt({abi:vn,functionName:"allowance",args:[n,s]}),b=await(await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_call",params:[{to:t,data:i},"latest"]})})).json();return b.result&&b.result!=="0x"?BigInt(b.result):BigInt(0)}catch(i){return console.warn("checkAllowance failed:",i),BigInt(0)}}function Tn(e){const{tokenAddress:t,spenderAddress:n,fromAddress:s,chainId:o,tokenSymbol:a,amount:r}=e,i=r&&BigInt(r)>0n?BigInt(r):Rt,l=kt({abi:vn,functionName:"approve",args:[n,i]});return{from:s,to:t,data:l,value:"0",chainId:o,description:`Approve ${a||"token"} for swap`}}function tc(e,t,n){const{contract_address:s,token_id:o,to_address:a,token_standard:r,amount:i,nft_name:l}=e;if(!s)throw new Error("NFT contract address is required");if(!o)throw new Error("Token ID is required");if(!a)throw new Error("Recipient address is required");const b=(r||"ERC721").toUpperCase(),D=BigInt(o);let z,k;if(b==="ERC1155"){const x=BigInt(i||"1");z=kt({abi:qi,functionName:"safeTransferFrom",args:[t,a,D,x,"0x"]}),k=`Send ${x>1n?x.toString()+"x ":""}${l||"NFT"} (ERC1155 #${o}) to ${a}`}else z=kt({abi:ji,functionName:"safeTransferFrom",args:[t,a,D]}),k=`Send ${l||"NFT"} (ERC721 #${o}) to ${a}`;return{from:t,to:s,data:z,value:"0",chainId:n,description:k}}async function Cn(e){const{address:t,chainId:n,rpcUrl:s}=e,o=nn(n,s);if(!o)return console.warn(`No RPC endpoint for chain ${n}`),new re(0);try{const r=await(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_getBalance",params:[t,"latest"]})})).json();return r.result&&r.result!=="0x"?new re(BigInt(r.result).toString()):new re(0)}catch(a){return console.warn("getNativeBalance failed:",a),new re(0)}}async function on(e){const{from:t,to:n,data:s,value:o,chainId:a,rpcUrl:r}=e,i=nn(a,r);if(!i)return console.warn(`No RPC endpoint for chain ${a}`),new re(0);try{const[l,b]=await Promise.all([fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_estimateGas",params:[{from:t,to:n,data:s,...o&&o!=="0"?{value:o}:{}}]})}),fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:2,method:"eth_gasPrice",params:[]})})]),[D,z]=await Promise.all([l.json(),b.json()]),k=D.result?new re(BigInt(D.result).toString()):new re(0),x=z.result?new re(BigInt(z.result).toString()):new re(0);return k.times(x).times(1.1)}catch(l){return console.warn("estimateTransactionFee failed:",l),new re(0)}}async function fo(e){const{chainId:t,rpcUrl:n}=e,s=nn(t,n);if(!s)return console.warn(`No RPC endpoint for chain ${t}`),new re(0);try{const a=await(await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_gasPrice",params:[]})})).json();return a.result&&a.result!=="0x"?new re(BigInt(a.result).toString()):new re(0)}catch(o){return console.warn("getGasPrice failed:",o),new re(0)}}var ne={},sn={exports:{}},nc=sn.exports,Es;function oc(){return Es||(Es=1,(function(e,t){(function(n,s){var o="1.0.39",a="",r="?",i="function",l="undefined",b="object",D="string",z="major",k="model",x="name",B="type",S="vendor",v="version",ge="architecture",y="console",J="mobile",Q="tablet",he="smarttv",we="wearable",Ee="embedded",c=500,d="Amazon",p="Apple",C="ASUS",u="BlackBerry",g="Browser",E="Chrome",h="Edge",w="Firefox",I="Google",N="Huawei",F="LG",X="Microsoft",se="Motorola",ue="Opera",Ce="Samsung",Se="Sharp",q="Sony",ye="Xiaomi",Ne="Zebra",qe="Facebook",Qe="Chromium OS",ot="Mac OS",Ve=" Browser",st=function(W,M){var U={};for(var _ in W)M[_]&&M[_].length%2===0?U[_]=M[_].concat(W[_]):U[_]=W[_];return U},Be=function(W){for(var M={},U=0;U<W.length;U++)M[W[U].toUpperCase()]=W[U];return M},Oe=function(W,M){return typeof W===D?ke(M).indexOf(ke(W))!==-1:!1},ke=function(W){return W.toLowerCase()},Gt=function(W){return typeof W===D?W.replace(/[^\d\.]/g,a).split(".")[0]:s},gt=function(W,M){if(typeof W===D)return W=W.replace(/^\s\s*/,a),typeof M===l?W:W.substring(0,c)},lt=function(W,M){for(var U=0,_,oe,V,A,P,de;U<M.length&&!P;){var ie=M[U],ve=M[U+1];for(_=oe=0;_<ie.length&&!P&&ie[_];)if(P=ie[_++].exec(W),P)for(V=0;V<ve.length;V++)de=P[++oe],A=ve[V],typeof A===b&&A.length>0?A.length===2?typeof A[1]==i?this[A[0]]=A[1].call(this,de):this[A[0]]=A[1]:A.length===3?typeof A[1]===i&&!(A[1].exec&&A[1].test)?this[A[0]]=de?A[1].call(this,de,A[2]):s:this[A[0]]=de?de.replace(A[1],A[2]):s:A.length===4&&(this[A[0]]=de?A[3].call(this,de.replace(A[1],A[2])):s):this[A]=de||s;U+=2}},at=function(W,M){for(var U in M)if(typeof M[U]===b&&M[U].length>0){for(var _=0;_<M[U].length;_++)if(Oe(M[U][_],W))return U===r?s:U}else if(Oe(M[U],W))return U===r?s:U;return M.hasOwnProperty("*")?M["*"]:W},Yt={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},R={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},K={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[v,[x,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[v,[x,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[x,v],[/opios[\/ ]+([\w\.]+)/i],[v,[x,ue+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[v,[x,ue+" GX"]],[/\bopr\/([\w\.]+)/i],[v,[x,ue]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[v,[x,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[x,v],[/quark(?:pc)?\/([-\w\.]+)/i],[v,[x,"Quark"]],[/\bddg\/([\w\.]+)/i],[v,[x,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[v,[x,"UC"+g]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[v,[x,"WeChat"]],[/konqueror\/([\w\.]+)/i],[v,[x,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[v,[x,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[v,[x,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[v,[x,"Smart Lenovo "+g]],[/(avast|avg)\/([\w\.]+)/i],[[x,/(.+)/,"$1 Secure "+g],v],[/\bfocus\/([\w\.]+)/i],[v,[x,w+" Focus"]],[/\bopt\/([\w\.]+)/i],[v,[x,ue+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[v,[x,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[v,[x,"Dolphin"]],[/coast\/([\w\.]+)/i],[v,[x,ue+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[v,[x,"MIUI "+g]],[/fxios\/([-\w\.]+)/i],[v,[x,w]],[/\bqihu|(qi?ho?o?|360)browser/i],[[x,"360"+Ve]],[/\b(qq)\/([\w\.]+)/i],[[x,/(.+)/,"$1Browser"],v],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[x,/(.+)/,"$1"+Ve],v],[/samsungbrowser\/([\w\.]+)/i],[v,[x,Ce+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[x,/_/g," "],v],[/metasr[\/ ]?([\d\.]+)/i],[v,[x,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[x,"Sogou Mobile"],v],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[x,v],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[x],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[x,qe],v],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[x,v],[/\bgsa\/([\w\.]+) .*safari\//i],[v,[x,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[v,[x,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[v,[x,E+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[x,E+" WebView"],v],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[v,[x,"Android "+g]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[x,v],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[v,[x,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[v,x],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[x,[v,at,Yt]],[/(webkit|khtml)\/([\w\.]+)/i],[x,v],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[x,"Netscape"],v],[/(wolvic)\/([\w\.]+)/i],[x,v],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[v,[x,w+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[x,[v,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[x,[v,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[ge,"amd64"]],[/(ia32(?=;))/i],[[ge,ke]],[/((?:i[346]|x)86)[;\)]/i],[[ge,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[ge,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[ge,"armhf"]],[/windows (ce|mobile); ppc;/i],[[ge,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[ge,/ower/,a,ke]],[/(sun4\w)[;\)]/i],[[ge,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[ge,ke]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[k,[S,Ce],[B,Q]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[k,[S,Ce],[B,J]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[S,p],[B,J]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[S,p],[B,Q]],[/(macintosh);/i],[k,[S,p]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[S,Se],[B,J]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[k,[S,N],[B,Q]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[S,N],[B,J]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[k,/_/g," "],[S,ye],[B,J]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[k,/_/g," "],[S,ye],[B,Q]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[S,"OPPO"],[B,J]],[/\b(opd2\d{3}a?) bui/i],[k,[S,"OPPO"],[B,Q]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[S,"Vivo"],[B,J]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[S,"Realme"],[B,J]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[k,[S,se],[B,J]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[S,se],[B,Q]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[S,F],[B,Q]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[S,F],[B,J]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[k,[S,"Lenovo"],[B,Q]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[k,/_/g," "],[S,"Nokia"],[B,J]],[/(pixel c)\b/i],[k,[S,I],[B,Q]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[k,[S,I],[B,J]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[k,[S,q],[B,J]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[S,q],[B,Q]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[S,"OnePlus"],[B,J]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[S,d],[B,Q]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[S,d],[B,J]],[/(playbook);[-\w\),; ]+(rim)/i],[k,S,[B,Q]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[S,u],[B,J]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[S,C],[B,Q]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[S,C],[B,J]],[/(nexus 9)/i],[k,[S,"HTC"],[B,Q]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[S,[k,/_/g," "],[B,J]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[k,[S,"TCL"],[B,Q]],[/(itel) ((\w+))/i],[[S,ke],k,[B,at,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[S,"Acer"],[B,Q]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[S,"Meizu"],[B,J]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[S,"Ulefone"],[B,J]],[/droid.+; (a(?:015|06[35]|142p?))/i],[k,[S,"Nothing"],[B,J]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[S,k,[B,J]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[S,k,[B,Q]],[/(surface duo)/i],[k,[S,X],[B,Q]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[S,"Fairphone"],[B,J]],[/(u304aa)/i],[k,[S,"AT&T"],[B,J]],[/\bsie-(\w*)/i],[k,[S,"Siemens"],[B,J]],[/\b(rct\w+) b/i],[k,[S,"RCA"],[B,Q]],[/\b(venue[\d ]{2,7}) b/i],[k,[S,"Dell"],[B,Q]],[/\b(q(?:mv|ta)\w+) b/i],[k,[S,"Verizon"],[B,Q]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[k,[S,"Barnes & Noble"],[B,Q]],[/\b(tm\d{3}\w+) b/i],[k,[S,"NuVision"],[B,Q]],[/\b(k88) b/i],[k,[S,"ZTE"],[B,Q]],[/\b(nx\d{3}j) b/i],[k,[S,"ZTE"],[B,J]],[/\b(gen\d{3}) b.+49h/i],[k,[S,"Swiss"],[B,J]],[/\b(zur\d{3}) b/i],[k,[S,"Swiss"],[B,Q]],[/\b((zeki)?tb.*\b) b/i],[k,[S,"Zeki"],[B,Q]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[S,"Dragon Touch"],k,[B,Q]],[/\b(ns-?\w{0,9}) b/i],[k,[S,"Insignia"],[B,Q]],[/\b((nxa|next)-?\w{0,9}) b/i],[k,[S,"NextBook"],[B,Q]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[S,"Voice"],k,[B,J]],[/\b(lvtel\-)?(v1[12]) b/i],[[S,"LvTel"],k,[B,J]],[/\b(ph-1) /i],[k,[S,"Essential"],[B,J]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[k,[S,"Envizen"],[B,Q]],[/\b(trio[-\w\. ]+) b/i],[k,[S,"MachSpeed"],[B,Q]],[/\btu_(1491) b/i],[k,[S,"Rotor"],[B,Q]],[/(shield[\w ]+) b/i],[k,[S,"Nvidia"],[B,Q]],[/(sprint) (\w+)/i],[S,k,[B,J]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[S,X],[B,J]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[S,Ne],[B,Q]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[S,Ne],[B,J]],[/smart-tv.+(samsung)/i],[S,[B,he]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[S,Ce],[B,he]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[S,F],[B,he]],[/(apple) ?tv/i],[S,[k,p+" TV"],[B,he]],[/crkey/i],[[k,E+"cast"],[S,I],[B,he]],[/droid.+aft(\w+)( bui|\))/i],[k,[S,d],[B,he]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[S,Se],[B,he]],[/(bravia[\w ]+)( bui|\))/i],[k,[S,q],[B,he]],[/(mitv-\w{5}) bui/i],[k,[S,ye],[B,he]],[/Hbbtv.*(technisat) (.*);/i],[S,k,[B,he]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[S,gt],[k,gt],[B,he]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[B,he]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[S,k,[B,y]],[/droid.+; (shield) bui/i],[k,[S,"Nvidia"],[B,y]],[/(playstation [345portablevi]+)/i],[k,[S,q],[B,y]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[S,X],[B,y]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[k,[S,Ce],[B,we]],[/((pebble))app/i],[S,k,[B,we]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[S,p],[B,we]],[/droid.+; (glass) \d/i],[k,[S,I],[B,we]],[/droid.+; (wt63?0{2,3})\)/i],[k,[S,Ne],[B,we]],[/(quest( \d| pro)?)/i],[k,[S,qe],[B,we]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[S,[B,Ee]],[/(aeobc)\b/i],[k,[S,d],[B,Ee]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[k,[B,J]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[k,[B,Q]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[B,Q]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[B,J]],[/(android[-\w\. ]{0,9});.+buil/i],[k,[S,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[v,[x,h+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[v,[x,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[x,v],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[v,x]],os:[[/microsoft (windows) (vista|xp)/i],[x,v],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[x,[v,at,R]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[v,at,R],[x,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[v,/_/g,"."],[x,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[x,ot],[v,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[v,x],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[x,v],[/\(bb(10);/i],[v,[x,u]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[v,[x,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[v,[x,w+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[v,[x,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[v,[x,"watchOS"]],[/crkey\/([\d\.]+)/i],[v,[x,E+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[x,Qe],v],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[x,v],[/(sunos) ?([\w\.\d]*)/i],[[x,"Solaris"],v],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[x,v]]},H=function(W,M){if(typeof W===b&&(M=W,W=s),!(this instanceof H))return new H(W,M).getResult();var U=typeof n!==l&&n.navigator?n.navigator:s,_=W||(U&&U.userAgent?U.userAgent:a),oe=U&&U.userAgentData?U.userAgentData:s,V=M?st(K,M):K,A=U&&U.userAgent==_;return this.getBrowser=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.browser),P[z]=Gt(P[v]),A&&U&&U.brave&&typeof U.brave.isBrave==i&&(P[x]="Brave"),P},this.getCPU=function(){var P={};return P[ge]=s,lt.call(P,_,V.cpu),P},this.getDevice=function(){var P={};return P[S]=s,P[k]=s,P[B]=s,lt.call(P,_,V.device),A&&!P[B]&&oe&&oe.mobile&&(P[B]=J),A&&P[k]=="Macintosh"&&U&&typeof U.standalone!==l&&U.maxTouchPoints&&U.maxTouchPoints>2&&(P[k]="iPad",P[B]=Q),P},this.getEngine=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.engine),P},this.getOS=function(){var P={};return P[x]=s,P[v]=s,lt.call(P,_,V.os),A&&!P[x]&&oe&&oe.platform&&oe.platform!="Unknown"&&(P[x]=oe.platform.replace(/chrome os/i,Qe).replace(/macos/i,ot)),P},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return _},this.setUA=function(P){return _=typeof P===D&&P.length>c?gt(P,c):P,this},this.setUA(_),this};H.VERSION=o,H.BROWSER=Be([x,v,z]),H.CPU=Be([ge]),H.DEVICE=Be([k,S,B,y,J,he,Q,we,Ee]),H.ENGINE=H.OS=Be([x,v]),e.exports&&(t=e.exports=H),t.UAParser=H;var Z=typeof n!==l&&(n.jQuery||n.Zepto);if(Z&&!Z.ua){var le=new H;Z.ua=le.getResult(),Z.ua.get=function(){return le.getUA()},Z.ua.set=function(W){le.setUA(W);var M=le.getResult();for(var U in M)Z.ua[U]=M[U]}}})(typeof window=="object"?window:nc)})(sn,sn.exports)),sn.exports}var Ss;function sc(){if(Ss)return ne;Ss=1,Object.defineProperty(ne,"__esModule",{value:!0});function e(T){return T&&typeof T=="object"&&"default"in T?T.default:T}var t=te,n=e(t),s=oc(),o=new s,a=o.getBrowser(),r=o.getCPU(),i=o.getDevice(),l=o.getEngine(),b=o.getOS(),D=o.getUA(),z=function(f){return o.setUA(f)},k=function(f){if(!f){console.error("No userAgent string was provided");return}var m=new s(f);return{UA:m,browser:m.getBrowser(),cpu:m.getCPU(),device:m.getDevice(),engine:m.getEngine(),os:m.getOS(),ua:m.getUA(),setUserAgent:function(Y){return m.setUA(Y)}}},x=Object.freeze({ClientUAInstance:o,browser:a,cpu:r,device:i,engine:l,os:b,ua:D,setUa:z,parseUserAgent:k});function B(T,f){var m=Object.keys(T);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(T);f&&(L=L.filter(function(Y){return Object.getOwnPropertyDescriptor(T,Y).enumerable})),m.push.apply(m,L)}return m}function S(T){for(var f=1;f<arguments.length;f++){var m=arguments[f]!=null?arguments[f]:{};f%2?B(Object(m),!0).forEach(function(L){Q(T,L,m[L])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(m)):B(Object(m)).forEach(function(L){Object.defineProperty(T,L,Object.getOwnPropertyDescriptor(m,L))})}return T}function v(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v=function(f){return typeof f}:v=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},v(T)}function ge(T,f){if(!(T instanceof f))throw new TypeError("Cannot call a class as a function")}function y(T,f){for(var m=0;m<f.length;m++){var L=f[m];L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L&&(L.writable=!0),Object.defineProperty(T,L.key,L)}}function J(T,f,m){return f&&y(T.prototype,f),T}function Q(T,f,m){return f in T?Object.defineProperty(T,f,{value:m,enumerable:!0,configurable:!0,writable:!0}):T[f]=m,T}function he(){return he=Object.assign||function(T){for(var f=1;f<arguments.length;f++){var m=arguments[f];for(var L in m)Object.prototype.hasOwnProperty.call(m,L)&&(T[L]=m[L])}return T},he.apply(this,arguments)}function we(T,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function");T.prototype=Object.create(f&&f.prototype,{constructor:{value:T,writable:!0,configurable:!0}}),f&&c(T,f)}function Ee(T){return Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(m){return m.__proto__||Object.getPrototypeOf(m)},Ee(T)}function c(T,f){return c=Object.setPrototypeOf||function(L,Y){return L.__proto__=Y,L},c(T,f)}function d(T,f){if(T==null)return{};var m={},L=Object.keys(T),Y,Ae;for(Ae=0;Ae<L.length;Ae++)Y=L[Ae],!(f.indexOf(Y)>=0)&&(m[Y]=T[Y]);return m}function p(T,f){if(T==null)return{};var m=d(T,f),L,Y;if(Object.getOwnPropertySymbols){var Ae=Object.getOwnPropertySymbols(T);for(Y=0;Y<Ae.length;Y++)L=Ae[Y],!(f.indexOf(L)>=0)&&Object.prototype.propertyIsEnumerable.call(T,L)&&(m[L]=T[L])}return m}function C(T){if(T===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return T}function u(T,f){if(f&&(typeof f=="object"||typeof f=="function"))return f;if(f!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(T)}function g(T,f){return E(T)||h(T,f)||w(T,f)||N()}function E(T){if(Array.isArray(T))return T}function h(T,f){var m=T==null?null:typeof Symbol<"u"&&T[Symbol.iterator]||T["@@iterator"];if(m!=null){var L=[],Y=!0,Ae=!1,Me,Ke;try{for(m=m.call(T);!(Y=(Me=m.next()).done)&&(L.push(Me.value),!(f&&L.length===f));Y=!0);}catch(In){Ae=!0,Ke=In}finally{try{!Y&&m.return!=null&&m.return()}finally{if(Ae)throw Ke}}return L}}function w(T,f){if(T){if(typeof T=="string")return I(T,f);var m=Object.prototype.toString.call(T).slice(8,-1);if(m==="Object"&&T.constructor&&(m=T.constructor.name),m==="Map"||m==="Set")return Array.from(T);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return I(T,f)}}function I(T,f){(f==null||f>T.length)&&(f=T.length);for(var m=0,L=new Array(f);m<f;m++)L[m]=T[m];return L}function N(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
418
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var F={Mobile:"mobile",Tablet:"tablet",SmartTv:"smarttv",Console:"console",Wearable:"wearable",Embedded:"embedded",Browser:void 0},X={Chrome:"Chrome",Firefox:"Firefox",Opera:"Opera",Yandex:"Yandex",Safari:"Safari",InternetExplorer:"Internet Explorer",Edge:"Edge",Chromium:"Chromium",Ie:"IE",MobileSafari:"Mobile Safari",EdgeChromium:"Edge Chromium",MIUI:"MIUI Browser",SamsungBrowser:"Samsung Browser"},se={IOS:"iOS",Android:"Android",WindowsPhone:"Windows Phone",Windows:"Windows",MAC_OS:"Mac OS"},ue={isMobile:!1,isTablet:!1,isBrowser:!1,isSmartTV:!1,isConsole:!1,isWearable:!1},Ce=function(f){switch(f){case F.Mobile:return{isMobile:!0};case F.Tablet:return{isTablet:!0};case F.SmartTv:return{isSmartTV:!0};case F.Console:return{isConsole:!0};case F.Wearable:return{isWearable:!0};case F.Browser:return{isBrowser:!0};case F.Embedded:return{isEmbedded:!0};default:return ue}},Se=function(f){return z(f)},q=function(f){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none";return f||m},ye=function(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},Ne=function(f){var m=ye();return m&&m.platform&&(m.platform.indexOf(f)!==-1||m.platform==="MacIntel"&&m.maxTouchPoints>1&&!window.MSStream)},qe=function(f,m,L,Y,Ae){return{isBrowser:f,browserMajorVersion:q(m.major),browserFullVersion:q(m.version),browserName:q(m.name),engineName:q(L.name),engineVersion:q(L.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}},Qe=function(f,m,L,Y){return S({},f,{vendor:q(m.vendor),model:q(m.model),os:q(L.name),osVersion:q(L.version),ua:q(Y)})},ot=function(f,m,L,Y){return{isSmartTV:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},Ve=function(f,m,L,Y){return{isConsole:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},st=function(f,m,L,Y){return{isWearable:f,engineName:q(m.name),engineVersion:q(m.version),osName:q(L.name),osVersion:q(L.version),userAgent:q(Y)}},Be=function(f,m,L,Y,Ae){return{isEmbedded:f,vendor:q(m.vendor),model:q(m.model),engineName:q(L.name),engineVersion:q(L.version),osName:q(Y.name),osVersion:q(Y.version),userAgent:q(Ae)}};function Oe(T){var f=T?k(T):x,m=f.device,L=f.browser,Y=f.engine,Ae=f.os,Me=f.ua,Ke=Ce(m.type),In=Ke.isBrowser,ol=Ke.isMobile,sl=Ke.isTablet,Us=Ke.isSmartTV,Ms=Ke.isConsole,Rs=Ke.isWearable,Hs=Ke.isEmbedded;if(In)return qe(In,L,Y,Ae,Me);if(Us)return ot(Us,Y,Ae,Me);if(Ms)return Ve(Ms,Y,Ae,Me);if(ol||sl)return Qe(Ke,m,Ae,Me);if(Rs)return st(Rs,Y,Ae,Me);if(Hs)return Be(Hs,m,Y,Ae,Me)}var ke=function(f){var m=f.type;return m===F.Mobile},Gt=function(f){var m=f.type;return m===F.Tablet},gt=function(f){var m=f.type;return m===F.Mobile||m===F.Tablet},lt=function(f){var m=f.type;return m===F.SmartTv},at=function(f){var m=f.type;return m===F.Browser},Yt=function(f){var m=f.type;return m===F.Wearable},R=function(f){var m=f.type;return m===F.Console},K=function(f){var m=f.type;return m===F.Embedded},H=function(f){var m=f.vendor;return q(m)},Z=function(f){var m=f.model;return q(m)},le=function(f){var m=f.type;return q(m,"browser")},W=function(f){var m=f.name;return m===se.Android},M=function(f){var m=f.name;return m===se.Windows},U=function(f){var m=f.name;return m===se.MAC_OS},_=function(f){var m=f.name;return m===se.WindowsPhone},oe=function(f){var m=f.name;return m===se.IOS},V=function(f){var m=f.version;return q(m)},A=function(f){var m=f.name;return q(m)},P=function(f){var m=f.name;return m===X.Chrome},de=function(f){var m=f.name;return m===X.Firefox},ie=function(f){var m=f.name;return m===X.Chromium},ve=function(f){var m=f.name;return m===X.Edge},xe=function(f){var m=f.name;return m===X.Yandex},ae=function(f){var m=f.name;return m===X.Safari||m===X.MobileSafari},j=function(f){var m=f.name;return m===X.MobileSafari},ee=function(f){var m=f.name;return m===X.Opera},G=function(f){var m=f.name;return m===X.InternetExplorer||m===X.Ie},$=function(f){var m=f.name;return m===X.MIUI},fe=function(f){var m=f.name;return m===X.SamsungBrowser},ce=function(f){var m=f.version;return q(m)},Te=function(f){var m=f.major;return q(m)},Fe=function(f){var m=f.name;return q(m)},Ie=function(f){var m=f.name;return q(m)},De=function(f){var m=f.version;return q(m)},_e=function(){var f=ye(),m=f&&f.userAgent&&f.userAgent.toLowerCase();return typeof m=="string"?/electron/.test(m):!1},Ge=function(f){return typeof f=="string"&&f.indexOf("Edg/")!==-1},dt=function(){var f=ye();return f&&(/iPad|iPhone|iPod/.test(f.platform)||f.platform==="MacIntel"&&f.maxTouchPoints>1)&&!window.MSStream},Ye=function(){return Ne("iPad")},Pt=function(){return Ne("iPhone")},an=function(){return Ne("iPod")},rn=function(f){return q(f)};function Jt(T){var f=T||x,m=f.device,L=f.browser,Y=f.os,Ae=f.engine,Me=f.ua;return{isSmartTV:lt(m),isConsole:R(m),isWearable:Yt(m),isEmbedded:K(m),isMobileSafari:j(L)||Ye(),isChromium:ie(L),isMobile:gt(m)||Ye(),isMobileOnly:ke(m),isTablet:Gt(m)||Ye(),isBrowser:at(m),isDesktop:at(m),isAndroid:W(Y),isWinPhone:_(Y),isIOS:oe(Y)||Ye(),isChrome:P(L),isFirefox:de(L),isSafari:ae(L),isOpera:ee(L),isIE:G(L),osVersion:V(Y),osName:A(Y),fullBrowserVersion:ce(L),browserVersion:Te(L),browserName:Fe(L),mobileVendor:H(m),mobileModel:Z(m),engineName:Ie(Ae),engineVersion:De(Ae),getUA:rn(Me),isEdge:ve(L)||Ge(Me),isYandex:xe(L),deviceType:le(m),isIOS13:dt(),isIPad13:Ye(),isIPhone13:Pt(),isIPod13:an(),isElectron:_e(),isEdgeChromium:Ge(Me),isLegacyEdge:ve(L)&&!Ge(Me),isWindows:M(Y),isMacOs:U(Y),isMIUI:$(L),isSamsungBrowser:fe(L)}}var Ue=lt(i),En=R(i),Sn=Yt(i),lc=K(i),dc=j(a)||Ye(),uc=ie(a),xn=gt(i)||Ye(),Is=ke(i),Ns=Gt(i)||Ye(),Bs=at(i),fc=at(i),Fs=W(b),Ps=_(b),Os=oe(b)||Ye(),pc=P(a),mc=de(a),hc=ae(a),gc=ee(a),Ds=G(a),wc=V(b),bc=A(b),yc=ce(a),Ac=Te(a),kc=Fe(a),vc=H(i),Tc=Z(i),Cc=Ie(l),Ec=De(l),Sc=rn(D),xc=ve(a)||Ge(D),Ic=xe(a),Nc=le(i),Bc=dt(),Fc=Ye(),Pc=Pt(),Oc=an(),Dc=_e(),Lc=Ge(D),Uc=ve(a)&&!Ge(D),Mc=M(b),Rc=U(b),Hc=$(a),Wc=fe(a),Vc=function(f){if(!f||typeof f!="string"){console.error("No valid user agent string was provided");return}var m=k(f),L=m.device,Y=m.browser,Ae=m.os,Me=m.engine,Ke=m.ua;return Jt({device:L,browser:Y,os:Ae,engine:Me,ua:Ke})},Gc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Fs?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Yc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Bs?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Jc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ds?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},zc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Os?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},jc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return xn?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},qc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ns?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Qc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ps?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Kc=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var Y=p(f,["renderWithFragment","children","viewClassName","style"]);return Is?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Xc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Ue?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},_c=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return En?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},Zc=function(f){var m=f.renderWithFragment,L=f.children,Y=p(f,["renderWithFragment","children"]);return Sn?m?n.createElement(t.Fragment,null,L):n.createElement("div",Y,L):null},$c=function(f){var m=f.renderWithFragment,L=f.children;f.viewClassName,f.style;var Y=f.condition,Ae=p(f,["renderWithFragment","children","viewClassName","style","condition"]);return Y?m?n.createElement(t.Fragment,null,L):n.createElement("div",Ae,L):null};function el(T){return(function(f){we(m,f);function m(L){var Y;return ge(this,m),Y=u(this,Ee(m).call(this,L)),Y.isEventListenerAdded=!1,Y.handleOrientationChange=Y.handleOrientationChange.bind(C(Y)),Y.onOrientationChange=Y.onOrientationChange.bind(C(Y)),Y.onPageLoad=Y.onPageLoad.bind(C(Y)),Y.state={isLandscape:!1,isPortrait:!1},Y}return J(m,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var Y=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:Y===0,isLandscape:Y===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return n.createElement(T,he({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),m})(n.Component)}function tl(){var T=t.useState(function(){var Ae=window.innerWidth>window.innerHeight?90:0;return{isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"}}),f=g(T,2),m=f[0],L=f[1],Y=t.useCallback(function(){var Ae=window.innerWidth>window.innerHeight?90:0,Me={isPortrait:Ae===0,isLandscape:Ae===90,orientation:Ae===0?"portrait":"landscape"};m.orientation!==Me.orientation&&L(Me)},[m.orientation]);return t.useEffect(function(){return(typeof window>"u"?"undefined":v(window))!==void 0&&xn&&(Y(),window.addEventListener("load",Y,!1),window.addEventListener("resize",Y,!1)),function(){window.removeEventListener("resize",Y,!1),window.removeEventListener("load",Y,!1)}},[Y]),m}function Ls(T){var f=T||window.navigator.userAgent;return k(f)}function nl(T){var f=T||window.navigator.userAgent,m=Ls(f),L=Jt(m);return[L,m]}return ne.AndroidView=Gc,ne.BrowserTypes=X,ne.BrowserView=Yc,ne.ConsoleView=_c,ne.CustomView=$c,ne.IEView=Jc,ne.IOSView=zc,ne.MobileOnlyView=Kc,ne.MobileView=jc,ne.OsTypes=se,ne.SmartTVView=Xc,ne.TabletView=qc,ne.WearableView=Zc,ne.WinPhoneView=Qc,ne.browserName=kc,ne.browserVersion=Ac,ne.deviceDetect=Oe,ne.deviceType=Nc,ne.engineName=Cc,ne.engineVersion=Ec,ne.fullBrowserVersion=yc,ne.getSelectorsByUserAgent=Vc,ne.getUA=Sc,ne.isAndroid=Fs,ne.isBrowser=Bs,ne.isChrome=pc,ne.isChromium=uc,ne.isConsole=En,ne.isDesktop=fc,ne.isEdge=xc,ne.isEdgeChromium=Lc,ne.isElectron=Dc,ne.isEmbedded=lc,ne.isFirefox=mc,ne.isIE=Ds,ne.isIOS=Os,ne.isIOS13=Bc,ne.isIPad13=Fc,ne.isIPhone13=Pc,ne.isIPod13=Oc,ne.isLegacyEdge=Uc,ne.isMIUI=Hc,ne.isMacOs=Rc,ne.isMobile=xn,ne.isMobileOnly=Is,ne.isMobileSafari=dc,ne.isOpera=gc,ne.isSafari=hc,ne.isSamsungBrowser=Wc,ne.isSmartTV=Ue,ne.isTablet=Ns,ne.isWearable=Sn,ne.isWinPhone=Ps,ne.isWindows=Mc,ne.isYandex=Ic,ne.mobileModel=Tc,ne.mobileVendor=vc,ne.osName=bc,ne.osVersion=wc,ne.parseUserAgent=k,ne.setUserAgent=Se,ne.useDeviceData=Ls,ne.useDeviceSelectors=nl,ne.useMobileOrientation=tl,ne.withOrientationChange=el,ne}var Ft=sc();const po={model:"gemini-2.5-flash","model2.0":"gemini-2.5-flash",apiKey:"QUl6YVN5RGprZEFvMjNtMy00S0U3eWo2aVJQQmowN05lRXgxd0tz",url:"https://generativelanguage.googleapis.com"};class ac extends Vt{enableGoogleSearch=!0;indexApiKey=0;constructor(){super(po.url)}getApiKey(){let t="",n=[];const s=localStorage.getItem("arr_api_key_dev_gemini");s?n=JSON.parse(s):n=po.apiKey.split(",");const o=localStorage.getItem("index_api_key_gemini");return o&&(this.indexApiKey=Number(o),this.indexApiKey++),this.indexApiKey>=n.length&&(this.indexApiKey=0),t=n[this.indexApiKey],t&&(t=atob(t)),localStorage.setItem("index_api_key_gemini",this.indexApiKey.toString()),t}getUrl(t,n){return`/v1beta/models/${n||"gemini-2.5-flash"}:${t}`}async generateContent(t,n){try{const s=`
416
419
  Below is the system context and conversation history. Use it for context but prioritize the instructions at the end.
417
420
 
418
421
  ---
@@ -456,7 +459,7 @@ The user may ask in their native language, so recognize the MEANING, not just sp
456
459
 
457
460
  If the question is about ANY of the above topics, respond with ONLY the word "yes" (lowercase, nothing else).
458
461
  Otherwise, respond with ONLY the word "no" (lowercase, nothing else).
459
- Do not provide any explanation or additional text.`,o=this.getUrl("generateContent",Ss["model2.0"]),a={contents:[{parts:[{text:s}]}]},r=await this.post(o,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(s){throw s}}}const xs=new ic;function po(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const s=n.match(/^(\d+(?:\.\d+)?)%$/);if(s){const o=parseFloat(s[1])/100;return((parseFloat(t)||0)*o).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const cc=({isOpen:e,onClose:t,onTransaction:n,position:s="bottom-right",modalChatStyle:o={}})=>{const{t:a,ti:r}=cn(),{messages:i,addMessage:l,updateMessageAction:b,updateMessageText:D,getMessageById:z,clearMessagesById:k}=Si(),[x,B]=te.useState(""),[S,v]=te.useState(!1),[ge,y]=te.useState(!0),[J,Q]=te.useState(null),he=te.useRef(null),we=te.useRef(null),Ee=te.useRef(null),c=te.useRef(null),d=te.useRef(null),p=te.useRef(!1),C=te.useRef(ge);te.useEffect(()=>{C.current=ge},[ge]);const{account:u,chainData:g,chainType:E,chainTypeMoralis:h,chainId:w,isChainSupported:I}=gn(),{config:N}=xi(),F=w&&N?.rpcUrls?.[w]||void 0,X=te.useCallback(()=>{const R=Nt.getItem("dataBuyToken");if(R)try{return JSON.parse(R)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),se=te.useCallback(R=>{Nt.setItem("dataBuyToken",JSON.stringify(R))},[]),ue=te.useCallback(R=>{const H={...X(),...R};se(H)},[X,se]),Ce=te.useCallback(R=>{Q(R),Ft.isDesktop&&Ee.current?.focus()},[]),Se=te.useCallback(async(R,K)=>{ue({descTokenAddress:R,descTokenDecimals:K||18});try{v(!0);const H=await je({address:u?.address||"",chain:h});if(H?.success&&H?.data?.result){const Z=H.data.result;if(Z?.length>0){const le=Z.map(W=>({id:W.token_address,text:`${W.name}: ${W.balance_formatted} ${W.symbol} ($${re(W.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:r("buttonBuyWith",{symbol:W.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:W.token_address,symbol:W.symbol,balance:W.balance_formatted,usdValue:W.usd_value,decimals:W.decimals}}));l(r("walletBalanceSpendable",{chain:g?.name||"unknown"}),"bot",void 0,le)}else l(r("walletNoTokensFound",{chain:g?.name||"unknown"}),"bot")}else l(a("walletFetchFailed"),"bot")}catch(H){console.error("Error fetching wallet balance:",H),l(a("walletFetchError"),"bot")}finally{v(!1)}},[ue,u?.address,h,l,g?.name,a,r]),q=te.useCallback(async(R,K,H,Z)=>{const le=[25,50,75,100];ue({srcTokenAddress:R,srcTokenDecimals:Z||18});let W=H||"0";if(R===We)try{const U=await fo({chainId:w,rpcUrl:F});if(U.isGreaterThan(0)){const _=U.times(1e6),V=new re(mt(H,Z||18).toString()).minus(_);V.isGreaterThan(0)?W=re(Le(BigInt(V.toFixed(0)),18)).toFixed():W="0"}}catch(U){console.warn("getGasPrice for swap native fee deduction failed:",U)}const M=le.map(U=>({id:`percent-${U}`,text:`${U}%`,value:r("buttonUsePercent",{percent:String(U),symbol:K}),action:"select_percent",extraData:{percent:U,tokenAddress:R,tokenSymbol:K,tokenDecimals:Z||18,tokenBalance:W}}));if(re(W).isZero()){l(r("insufficientFeeToken",{symbol:K}),"bot");return}l(r("selectAmountOf",{symbol:K,balance:W}),"bot",void 0,M)},[l,w,F,ue,r]),ye=te.useCallback(async(R,K,H,Z)=>{const le={amount:(parseFloat(K)*(R/100)).toFixed(6)};H!==void 0&&(le.srcTokenAddress=H),Z!==void 0&&(le.srcTokenDecimals=Z),ue(le);const W=X(),M=mt(W.amount,W.srcTokenDecimals||18).toString(),U=await io({chainId:w,tokenIn:W.srcTokenAddress,tokenInAmount:M,tokenOut:W.descTokenAddress,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(U.success&&U.data){const _=U.data,oe=_.tokenIn,V=_.tokenOut,A=re(Le(BigInt(oe.amount||0),oe.decimals)).decimalPlaces(6).toFormat(),P=re(Le(BigInt(V.amount||0),V.decimals)).decimalPlaces(6).toFormat(),de=W.srcTokenAddress===We||W.srcTokenAddress==="";let ie=!1;if(!de&&u?.address&&_.tx?.to)try{const fe=await uo({tokenAddress:W.srcTokenAddress,ownerAddress:u.address,spenderAddress:_.tx.to,chainId:w,rpcUrl:F});ie=re(fe.toString()).isLessThan(M)}catch(fe){console.warn("Allowance check failed:",fe),ie=!0}const ve=_.estimatedTransactionFee?.total?re(_.estimatedTransactionFee.total):re(0);let xe=re(0);if(ie&&u?.address)try{const fe=Tn({tokenAddress:W.srcTokenAddress,spenderAddress:_.tx?.to||"",fromAddress:u.address,chainId:w,amount:M});xe=await on({from:u.address,to:fe.to,data:fe.data,chainId:w,rpcUrl:F})}catch(fe){console.warn("Approve fee estimation failed:",fe)}const ae=ve.plus(xe),j=g?.nativeCurrency?.symbol||"native";let ee="",G=!1;if(u?.address&&ae.isGreaterThan(0))try{const fe=await Cn({address:u.address,chainId:w,rpcUrl:F});if(fe.isLessThan(ae)){G=!0;const ce=re(Le(BigInt(fe.toFixed(0)),18)).decimalPlaces(6).toFormat(),Te=re(Le(BigInt(ae.toFixed(0)),18)).decimalPlaces(6).toFormat();ee=r("swapFeeWarning",{symbol:j,balance:ce,needed:Te})}}catch(fe){console.warn("Fee balance check failed:",fe)}const $=`From: ${A} ${oe.symbol}
462
+ Do not provide any explanation or additional text.`,o=this.getUrl("generateContent",po["model2.0"]),a={contents:[{parts:[{text:s}]}]},r=await this.post(o,a,{headers:{"x-goog-api-key":this.getApiKey()}});return r?.data?.data?.candidates?.[0]?.content?.parts?.[0]?.text||r?.data?.candidates?.[0]?.content?.parts?.[0]?.text}catch(s){throw s}}}const xs=new ac;function mo(e,t){if(!e)return e;const n=e.toLowerCase().trim();if(n==="max"||n==="all")return t||e;const s=n.match(/^(\d+(?:\.\d+)?)%$/);if(s){const o=parseFloat(s[1])/100;return((parseFloat(t)||0)*o).toFixed(8).replace(/\.?0+$/,"")||"0"}return e}const rc=({isOpen:e,onClose:t,onTransaction:n,position:s="bottom-right",modalChatStyle:o={}})=>{const{t:a,ti:r}=cn(),{messages:i,addMessage:l,updateMessageAction:b,updateMessageText:D,getMessageById:z,clearMessagesById:k}=Si(),[x,B]=te.useState(""),[S,v]=te.useState(!1),[ge,y]=te.useState(!0),[J,Q]=te.useState(null),he=te.useRef(null),we=te.useRef(null),Ee=te.useRef(null),c=te.useRef(null),d=te.useRef(null),p=te.useRef(!1),C=te.useRef(ge);te.useEffect(()=>{C.current=ge},[ge]);const{account:u,chainData:g,chainType:E,chainTypeMoralis:h,chainId:w,isChainSupported:I}=gn(),{config:N}=xi(),F=w&&N?.rpcUrls?.[w]||void 0,X=te.useCallback(()=>{const R=Nt.getItem("dataBuyToken");if(R)try{return JSON.parse(R)}catch{return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}}return{srcTokenAddress:"",descTokenAddress:"",amount:"",srcTokenDecimals:18,descTokenDecimals:18}},[]),se=te.useCallback(R=>{Nt.setItem("dataBuyToken",JSON.stringify(R))},[]),ue=te.useCallback(R=>{const H={...X(),...R};se(H)},[X,se]),Ce=te.useCallback(R=>{Q(R),Ft.isDesktop&&Ee.current?.focus()},[]),Se=te.useCallback(async(R,K)=>{ue({descTokenAddress:R,descTokenDecimals:K||18});try{v(!0);const H=await je({address:u?.address||"",chain:h});if(H?.success&&H?.data?.result){const Z=H.data.result;if(Z?.length>0){const le=Z.map(W=>({id:W.token_address,text:`${W.name}: ${W.balance_formatted} ${W.symbol} ($${re(W.usd_value||0)?.decimalPlaces(2).toFormat()||"0"})`,value:r("buttonBuyWith",{symbol:W.symbol}),action:"click_balance_item_user_to_buy_button",fullWidth:!0,extraData:{tokenAddress:W.token_address,symbol:W.symbol,balance:W.balance_formatted,usdValue:W.usd_value,decimals:W.decimals}}));l(r("walletBalanceSpendable",{chain:g?.name||"unknown"}),"bot",void 0,le)}else l(r("walletNoTokensFound",{chain:g?.name||"unknown"}),"bot")}else l(a("walletFetchFailed"),"bot")}catch(H){console.error("Error fetching wallet balance:",H),l(a("walletFetchError"),"bot")}finally{v(!1)}},[ue,u?.address,h,l,g?.name,a,r]),q=te.useCallback(async(R,K,H,Z)=>{const le=[25,50,75,100];ue({srcTokenAddress:R,srcTokenDecimals:Z||18});let W=H||"0";if(R===We)try{const U=await fo({chainId:w,rpcUrl:F});if(U.isGreaterThan(0)){const _=U.times(1e6),V=new re(mt(H,Z||18).toString()).minus(_);V.isGreaterThan(0)?W=re(Le(BigInt(V.toFixed(0)),18)).toFixed():W="0"}}catch(U){console.warn("getGasPrice for swap native fee deduction failed:",U)}const M=le.map(U=>({id:`percent-${U}`,text:`${U}%`,value:r("buttonUsePercent",{percent:String(U),symbol:K}),action:"select_percent",extraData:{percent:U,tokenAddress:R,tokenSymbol:K,tokenDecimals:Z||18,tokenBalance:W}}));if(re(W).isZero()){l(r("insufficientFeeToken",{symbol:K}),"bot");return}l(r("selectAmountOf",{symbol:K,balance:W}),"bot",void 0,M)},[l,w,F,ue,r]),ye=te.useCallback(async(R,K,H,Z)=>{const le={amount:(parseFloat(K)*(R/100)).toFixed(6)};H!==void 0&&(le.srcTokenAddress=H),Z!==void 0&&(le.srcTokenDecimals=Z),ue(le);const W=X(),M=mt(W.amount,W.srcTokenDecimals||18).toString(),U=await io({chainId:w,tokenIn:W.srcTokenAddress,tokenInAmount:M,tokenOut:W.descTokenAddress,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(U.success&&U.data){const _=U.data,oe=_.tokenIn,V=_.tokenOut,A=re(Le(BigInt(oe.amount||0),oe.decimals)).decimalPlaces(6).toFormat(),P=re(Le(BigInt(V.amount||0),V.decimals)).decimalPlaces(6).toFormat(),de=W.srcTokenAddress===We||W.srcTokenAddress==="";let ie=!1;if(!de&&u?.address&&_.tx?.to)try{const fe=await uo({tokenAddress:W.srcTokenAddress,ownerAddress:u.address,spenderAddress:_.tx.to,chainId:w,rpcUrl:F});ie=re(fe.toString()).isLessThan(M)}catch(fe){console.warn("Allowance check failed:",fe),ie=!0}const ve=_.estimatedTransactionFee?.total?re(_.estimatedTransactionFee.total):re(0);let xe=re(0);if(ie&&u?.address)try{const fe=Tn({tokenAddress:W.srcTokenAddress,spenderAddress:_.tx?.to||"",fromAddress:u.address,chainId:w,amount:M});xe=await on({from:u.address,to:fe.to,data:fe.data,chainId:w,rpcUrl:F})}catch(fe){console.warn("Approve fee estimation failed:",fe)}const ae=ve.plus(xe),j=g?.nativeCurrency?.symbol||"native";let ee="",G=!1;if(u?.address&&ae.isGreaterThan(0))try{const fe=await Cn({address:u.address,chainId:w,rpcUrl:F});if(fe.isLessThan(ae)){G=!0;const ce=re(Le(BigInt(fe.toFixed(0)),18)).decimalPlaces(6).toFormat(),Te=re(Le(BigInt(ae.toFixed(0)),18)).decimalPlaces(6).toFormat();ee=r("swapFeeWarning",{symbol:j,balance:ce,needed:Te})}}catch(fe){console.warn("Fee balance check failed:",fe)}const $=`From: ${A} ${oe.symbol}
460
463
  ⬇️
461
464
  To: ${P} ${V.symbol}
462
465
 
@@ -474,7 +477,7 @@ $${re(M?.price||0).decimalPlaces(4).toFormat()} (${M.price_change_percentage_24h
474
477
  `:"🖼️ ";return`${_+1}. ${P}**${oe}**${V}
475
478
  ${U.symbol||U.contract_type} | Token ID: ${U.token_id}`}).join(`
476
479
 
477
- `);await Xe(500),v(!1),l(`${r("nftCollectionHeader",{count:String(le.length),list:M})}${K&&K>0&&Z.length>K?r("nftMoreItems",{count:String(Z.length-K)}):""}${a("nftSelectBelow")}`,"bot",void 0,W),K&&K>0&&Z.length>K&&l(a("sendOtherNfts"),"bot")}else v(!1),l(a("nftNoCollection"),"bot")}catch(H){console.error("Error fetching NFTs:",H),v(!1),l(a("nftFetchError"),"bot")}},[u?.address,h,l,a,r]),ot=te.useCallback(async()=>{try{v(!0);const R=await je({address:u?.address||"",chain:h});if(R?.success&&R?.data?.result&&R.data.result.length>0){const K=R.data.result,H=K.flatMap(le=>[{id:`send-${le.token_address}`,text:r("buttonSendToken",{symbol:le.symbol}),value:r("buttonSendToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile},{id:`buy-more-${le.token_address}`,text:r("buttonBuyMoreToken",{symbol:le.symbol}),value:r("buttonBuyMoreToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile}]),Z=K.map((le,W)=>{const M=le.usd_value!==void 0?` ≈ $${re(le.usd_value).decimalPlaces(2).toFormat()}`:"";return`${W+1}. **${le.name}** (${le.symbol})
480
+ `);await Xe(500),v(!1),l(`${r("nftCollectionHeader",{count:String(le.length),list:M})}${K&&K>0&&Z.length>K?r("nftMoreItems",{count:String(Z.length-K)}):""}${a("nftSelectBelow")}`,"bot",void 0,W),K&&K>0&&Z.length>K&&l(r("sendOtherNfts",{link:`https://nft.keyring.app/nft-list/${w}/${u?.address}`}),"bot")}else v(!1),l(a("nftNoCollection"),"bot")}catch(H){console.error("Error fetching NFTs:",H),v(!1),l(a("nftFetchError"),"bot")}},[u?.address,h,l,a,r]),ot=te.useCallback(async()=>{try{v(!0);const R=await je({address:u?.address||"",chain:h});if(R?.success&&R?.data?.result&&R.data.result.length>0){const K=R.data.result,H=K.flatMap(le=>[{id:`send-${le.token_address}`,text:r("buttonSendToken",{symbol:le.symbol}),value:r("buttonSendToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile},{id:`buy-more-${le.token_address}`,text:r("buttonBuyMoreToken",{symbol:le.symbol}),value:r("buttonBuyMoreToken",{symbol:le.symbol}),action:"suggested_action",fullWidth:!!Ft.isMobile}]),Z=K.map((le,W)=>{const M=le.usd_value!==void 0?` ≈ $${re(le.usd_value).decimalPlaces(2).toFormat()}`:"";return`${W+1}. **${le.name}** (${le.symbol})
478
481
  Balance: ${le.balance_formatted}${M}`}).join(`
479
482
 
480
483
  `);await Xe(500),v(!1),l(r("viewBalancesHeader",{chain:g?.name||"this chain",list:Z}),"bot",void 0,H)}else v(!1),l(a("viewBalancesEmpty"),"bot")}catch(R){console.error("Error fetching balances:",R),v(!1),l(a("viewBalancesFetchError"),"bot")}},[u?.address,h,l,g?.name,a,r]),Ve=te.useMemo(()=>[{id:"ask",icon:"❓",text:a("suggestionAskText"),action:async()=>{y(!1),v(!0),l(a("suggestionAskUserMessage"),"user"),await Xe(1e3),v(!1),l(a("suggestionAskBotReply"),"bot")}},{id:"buy",icon:"💰",text:a("suggestionBuyText"),action:async()=>{y(!1),l(a("suggestionBuyText"),"user"),Re(u?.address||"")&&I?await qe():(v(!0),await Xe(1e3),Re(u?.address||"")&&!I?l(a("walletConnectedChainUnsupported"),"bot"):l(a("walletNotConnected"),"bot"),v(!1))}}],[l,u?.address,qe,a,I]),st=R=>{if(R===0)return!0;const K=i[R],H=i[R-1],Z=new Date(K.timestamp),le=new Date(H.timestamp);return Z.setHours(0,0,0,0),le.setHours(0,0,0,0),Z.getTime()!==le.getTime()};te.useEffect(()=>{he.current?.scrollIntoView({behavior:"smooth"})},[i]),te.useEffect(()=>{e?(Ee.current&&Ft.isDesktop&&Ee.current.focus(),he.current?.scrollIntoView({behavior:"instant"}),p.current&&d.current?Date.now()-d.current>5e3&&y(!0):y(!0),d.current=null,p.current=!1,setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},50)):(d.current=Date.now(),p.current=!C.current)},[e]),te.useEffect(()=>{const R=K=>{K.key==="Escape"&&e&&t()};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[e,t]);const Be=te.useCallback(async()=>{if(x?.trim()===""||S)return;const R=J,K=l(x?.trim(),"user",J?.id);B(""),Q(null),v(!0),y(!1),v(!0);try{let H,Z;const le=i.slice(-20);let W="";if(le.length>0){W=`
@@ -486,7 +489,7 @@ $${re(M?.price||0).decimalPlaces(4).toFormat()} (${M.price_change_percentage_24h
486
489
  ---
487
490
  `}let M=x?.trim();R&&(M=`[Replying to ${R.sender==="user"?"my previous":"your"} message: "${R.text}"]
488
491
 
489
- ${M}`);try{if((await xs.checkTypeQuestion(M,W))?.startsWith("no")){const V=await xs.generateContent(M,W);let A=null;try{let P=V?.trim();P.startsWith("```json")?P=P.replace(/^```json\s*/,"").replace(/\s*```$/,""):P.startsWith("```")&&(P=P.replace(/^```\s*/,"").replace(/\s*```$/,"")),A=JSON.parse(P)}catch{A=null}v(!1),l(A?.message||V,"bot");return}}catch(oe){console.warn("Error checking question type with Gemini:",oe)}if(u?.address&&I)try{const[oe,V]=await Promise.allSettled([je({address:u.address,chain:h}),kn({address:u.address,chain:h,limit:100,exclude_spam:!0})]);oe.status==="fulfilled"&&oe.value?.success&&oe.value?.data?.result&&(H=oe.value.data.result.map(A=>({symbol:A.symbol,name:A.name,balance_formatted:A.balance_formatted,usd_value:A.usd_value,native_token:A.native_token,token_address:A.token_address}))),V.status==="fulfilled"&&V.value?.success&&V.value?.data?.result&&(Z=V.value.data.result.map(A=>({name:A.normalized_metadata?.name||A.name||`#${A.token_id}`,token_address:A.token_address,token_id:A.token_id,contract_type:A.contract_type||"",amount:A.amount||"1"})))}catch{}const U=zi({walletAddress:u?.address||void 0,chainName:g?.name||void 0,chainId:w||void 0,nativeSymbol:g?.nativeCurrency?.symbol||void 0,walletTokens:H,walletNfts:Z}),_=await Pi({prompt:M,model:"gpt-4.1-mini",stream:!1,systemPrompt:U+W});if(_.success&&_.data){const oe=_.data.text||"";let V=null;try{let A=oe?.trim();A.startsWith("```json")?A=A.replace(/^```json\s*/,"").replace(/\s*```$/,""):A.startsWith("```")&&(A=A.replace(/^```\s*/,"").replace(/\s*```$/,"")),V=JSON.parse(A)}catch{V=null}if(V&&V.action&&V.action!=="chat")if(V.action==="buy_token"){const A=V.parameters?.token_symbol||"";let P=V.parameters?.contract_address||"",de=18;if(P.toLowerCase()==="native"&&(P=We),P&&P!==We)try{const ie=await tt.getTokensDetails([P],E);ie?.data?.[0]&&(de=ie.data[0].decimals||18)}catch(ie){console.warn("getTokensDetails for buy_token failed:",ie)}if(!P&&A&&u?.address)try{const ie=await je({address:u.address,chain:h});if(ie?.success&&ie?.data?.result){const ve=ie.data.result,xe=ve.find(ae=>ae.token_address.toLowerCase()===P.toLowerCase())||ve.find(ae=>ae.symbol.toUpperCase()===A.toUpperCase());xe&&(P=xe.token_address,de=xe.decimals)}if(!P){const ve=g.tokenTrendingDefault||[],[xe,ae]=await Promise.allSettled([tt.getTopGainers(E,"24h",10),tt.getTokensDetails(ve,E)]),j=[];xe.status==="fulfilled"&&xe.value?.data&&j.push(...xe.value.data),ae.status==="fulfilled"&&ae.value?.data&&j.push(...ae.value.data);const ee=j.find(G=>G.address?.toLowerCase()===P.toLowerCase())||j.find(G=>G.symbol?.toUpperCase()===A.toUpperCase());ee&&(P=ee.address,de=ee.decimals||18)}}catch(ie){console.warn("Token lookup for buy failed:",ie)}P?(l(V.message||r("buyTokenHelp",{symbol:A}),"bot",K.id),await Se(P,de)):(l(V.message||r("tokenNotFoundOnChain",{symbol:A}),"bot",K.id),await qe())}else if(V.action==="swap_token"){const A={...V.parameters||{}},P=A.token_in==="native"||A.token_in_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase(),de=A.token_out==="native"||A.token_out_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase();if(de&&(A.token_out=We),!P&&(A.token_in||A.token_in_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=A.token_in?j.find(G=>G.token_address.toLowerCase()===A.token_in.toLowerCase()):j.find(G=>G.symbol.toUpperCase()===A.token_in_symbol.toUpperCase());ee&&(A.token_in=ee.token_address,A.token_in_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_in failed:",ae)}if(!de&&(A.token_out||A.token_out_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=A.token_out?j.find(G=>G.token_address.toLowerCase()===A.token_out.toLowerCase()):j.find(G=>G.symbol.toUpperCase()===A.token_out_symbol.toUpperCase());ee&&(A.token_out=ee.token_address,A.token_out_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_out failed:",ae)}const ie=!!(A.token_in||P),ve=!!A.token_out,xe=!!A.amount;if(ie&&ve&&xe){l(V.message||a("swapPreparing"),"bot",K.id);try{const ae=[];A.token_out&&ae.push(A.token_out),A.token_in&&!P&&ae.push(A.token_in);let j=18,ee=18;if(ae.length>0)try{const ce=await tt.getTokensDetails(ae,E);if(ce?.data)for(const Te of ce.data)!P&&Te.address.toLowerCase()===A.token_in?.toLowerCase()&&(j=Te.decimals||18),Te.address.toLowerCase()===A.token_out?.toLowerCase()&&(ee=Te.decimals||18)}catch(ce){console.warn("getTokensDetails failed, using default decimals:",ce)}if(u?.address)try{const ce=await je({address:u.address,chain:h});if(ce?.success&&ce?.data?.result){const Te=ce.data.result;if(P){const Fe=Te.find(Ge=>Ge.native_token);let Ie=Fe?.balance_formatted||"0";try{const Ge=await fo({chainId:w,rpcUrl:F});if(Ge.isGreaterThan(0)){const dt=Ge.times(1e6),Pt=new re(Fe?.balance||"0").minus(dt);Pt.isGreaterThan(0)?Ie=re(Le(BigInt(Pt.toFixed(0)),Fe?.decimals||18)).toFixed():Ie="0"}}catch(Ge){console.warn("getGasPrice for swap native fee deduction failed:",Ge)}A.amount=po(A.amount,Ie);const De=parseFloat(Ie),_e=parseFloat(A.amount);if(re(De).lte(0)){l(r("formInsufficientBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native"}),"bot"),v(!1);return}if(re(De).lt(_e)){l(r("swapInsufficientNativeBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native",amount:A.amount}),"bot"),v(!1);return}}else{const Fe=Te.find(_e=>_e.token_address.toLowerCase()===A.token_in?.toLowerCase());if(!Fe){l(r("swapTokenNotInWallet",{symbol:A.token_in_symbol||A.token_in}),"bot"),v(!1);return}A.amount=po(A.amount,Fe.balance_formatted||"0");const Ie=parseFloat(Fe.balance_formatted||"0"),De=parseFloat(A.amount);if(re(Ie).lt(De)){l(r("swapInsufficientTokenBalance",{balance:re(Ie).decimalPlaces(6).toFixed(),symbol:Fe.symbol,amount:A.amount}),"bot"),v(!1);return}}}}catch(ce){console.warn("Balance check failed:",ce)}const G=P?We:A.token_in;ue({srcTokenAddress:G,descTokenAddress:A.token_out,amount:A.amount,srcTokenDecimals:j,descTokenDecimals:ee});const $=mt(A.amount,j).toString(),fe=await io({chainId:w,tokenIn:G,tokenInAmount:$,tokenOut:A.token_out,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(fe.success&&fe.data){const ce=fe.data,Te=ce.tokenIn,Fe=ce.tokenOut,Ie=re(Le(BigInt(Te.amount||0),Te.decimals)).decimalPlaces(6).toFormat(),De=re(Le(BigInt(Fe.amount||0),Fe.decimals)).decimalPlaces(6).toFormat();let _e=!1;if(!P&&u?.address&&ce.tx?.to)try{const Ue=await uo({tokenAddress:G,ownerAddress:u.address,spenderAddress:ce.tx.to,chainId:w,rpcUrl:F});_e=re(Ue.toString()).isLessThan($)}catch(Ue){console.warn("Allowance check failed (CASE 1):",Ue),_e=!0}const Ge=ce.estimatedTransactionFee?.total?re(ce.estimatedTransactionFee.total):re(0);let dt=re(0);if(_e&&u?.address)try{const Ue=Tn({tokenAddress:G,spenderAddress:ce.tx?.to||"",fromAddress:u.address,chainId:w,amount:$});dt=await on({from:u.address,to:Ue.to,data:Ue.data,chainId:w,rpcUrl:F})}catch(Ue){console.warn("Approve fee estimation failed:",Ue)}const Ye=Ge.plus(dt),Pt=g?.nativeCurrency?.symbol||"native";let an="",rn=!1;if(u?.address&&Ye.isGreaterThan(0))try{const Ue=await Cn({address:u.address,chainId:w,rpcUrl:F});if(Ue.isLessThan(Ye)){rn=!0;const En=re(Le(BigInt(Ue.toFixed(0)),18)).decimalPlaces(6).toFormat(),Sn=re(Le(BigInt(Ye.toFixed(0)),18)).decimalPlaces(6).toFormat();an=r("swapFeeWarning",{symbol:Pt,balance:En,needed:Sn})}}catch(Ue){console.warn("Fee balance check failed:",Ue)}const Jt=`From: ${Ie} ${Te.symbol}
492
+ ${M}`);try{if((await xs.checkTypeQuestion(M,W))?.startsWith("no")){const V=await xs.generateContent(M,W);let A=null;try{let P=V?.trim();P.startsWith("```json")?P=P.replace(/^```json\s*/,"").replace(/\s*```$/,""):P.startsWith("```")&&(P=P.replace(/^```\s*/,"").replace(/\s*```$/,"")),A=JSON.parse(P)}catch{A=null}v(!1),l(A?.message||V,"bot");return}}catch(oe){console.warn("Error checking question type with Gemini:",oe)}if(u?.address&&I)try{const[oe,V]=await Promise.allSettled([je({address:u.address,chain:h}),kn({address:u.address,chain:h,limit:100,exclude_spam:!0})]);oe.status==="fulfilled"&&oe.value?.success&&oe.value?.data?.result&&(H=oe.value.data.result.map(A=>({symbol:A.symbol,name:A.name,balance_formatted:A.balance_formatted,usd_value:A.usd_value,native_token:A.native_token,token_address:A.token_address}))),V.status==="fulfilled"&&V.value?.success&&V.value?.data?.result&&(Z=V.value.data.result.map(A=>({name:A.normalized_metadata?.name||A.name||`#${A.token_id}`,token_address:A.token_address,token_id:A.token_id,contract_type:A.contract_type||"",amount:A.amount||"1"})))}catch{}const U=zi({walletAddress:u?.address||void 0,chainName:g?.name||void 0,chainId:w||void 0,nativeSymbol:g?.nativeCurrency?.symbol||void 0,walletTokens:H,walletNfts:Z}),_=await Pi({prompt:M,model:"gpt-4.1-mini",stream:!1,systemPrompt:U+W});if(_.success&&_.data){const oe=_.data.text||"";let V=null;try{let A=oe?.trim();A.startsWith("```json")?A=A.replace(/^```json\s*/,"").replace(/\s*```$/,""):A.startsWith("```")&&(A=A.replace(/^```\s*/,"").replace(/\s*```$/,"")),V=JSON.parse(A)}catch{V=null}if(V&&V.action&&V.action!=="chat")if(V.action==="buy_token"){const A=V.parameters?.token_symbol||"";let P=V.parameters?.contract_address||"",de=18;if(P.toLowerCase()==="native"&&(P=We),P&&P!==We)try{const ie=await tt.getTokensDetails([P],E);ie?.data?.[0]&&(de=ie.data[0].decimals||18)}catch(ie){console.warn("getTokensDetails for buy_token failed:",ie)}if(!P&&A&&u?.address)try{const ie=await je({address:u.address,chain:h});if(ie?.success&&ie?.data?.result){const ve=ie.data.result,xe=ve.find(ae=>ae.token_address.toLowerCase()===P.toLowerCase())||ve.find(ae=>ae.symbol.toUpperCase()===A.toUpperCase());xe&&(P=xe.token_address,de=xe.decimals)}if(!P){const ve=g.tokenTrendingDefault||[],[xe,ae]=await Promise.allSettled([tt.getTopGainers(E,"24h",10),tt.getTokensDetails(ve,E)]),j=[];xe.status==="fulfilled"&&xe.value?.data&&j.push(...xe.value.data),ae.status==="fulfilled"&&ae.value?.data&&j.push(...ae.value.data);const ee=j.find(G=>G.address?.toLowerCase()===P.toLowerCase())||j.find(G=>G.symbol?.toUpperCase()===A.toUpperCase());ee&&(P=ee.address,de=ee.decimals||18)}}catch(ie){console.warn("Token lookup for buy failed:",ie)}P?(l(V.message||r("buyTokenHelp",{symbol:A}),"bot",K.id),await Se(P,de)):(l(V.message||r("tokenNotFoundOnChain",{symbol:A}),"bot",K.id),await qe())}else if(V.action==="swap_token"){const A={...V.parameters||{}},P=A.token_in==="native"||A.token_in_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase(),de=A.token_out==="native"||A.token_out_symbol?.toUpperCase()===g?.nativeCurrency?.symbol?.toUpperCase();if(de&&(A.token_out=We),!P&&(A.token_in||A.token_in_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=A.token_in?j.find(G=>G.token_address.toLowerCase()===A.token_in.toLowerCase()):j.find(G=>G.symbol.toUpperCase()===A.token_in_symbol.toUpperCase());ee&&(A.token_in=ee.token_address,A.token_in_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_in failed:",ae)}if(!de&&(A.token_out||A.token_out_symbol)&&u?.address)try{const ae=await je({address:u.address,chain:h});if(ae?.success&&ae?.data?.result){const j=ae.data.result,ee=A.token_out?j.find(G=>G.token_address.toLowerCase()===A.token_out.toLowerCase()):j.find(G=>G.symbol.toUpperCase()===A.token_out_symbol.toUpperCase());ee&&(A.token_out=ee.token_address,A.token_out_decimals=String(ee.decimals))}}catch(ae){console.warn("Resolve token_out failed:",ae)}const ie=!!(A.token_in||P),ve=!!A.token_out,xe=!!A.amount;if(ie&&ve&&xe){l(V.message||a("swapPreparing"),"bot",K.id);try{const ae=[];A.token_out&&ae.push(A.token_out),A.token_in&&!P&&ae.push(A.token_in);let j=18,ee=18;if(ae.length>0)try{const ce=await tt.getTokensDetails(ae,E);if(ce?.data)for(const Te of ce.data)!P&&Te.address.toLowerCase()===A.token_in?.toLowerCase()&&(j=Te.decimals||18),Te.address.toLowerCase()===A.token_out?.toLowerCase()&&(ee=Te.decimals||18)}catch(ce){console.warn("getTokensDetails failed, using default decimals:",ce)}if(u?.address)try{const ce=await je({address:u.address,chain:h});if(ce?.success&&ce?.data?.result){const Te=ce.data.result;if(P){const Fe=Te.find(Ge=>Ge.native_token);let Ie=Fe?.balance_formatted||"0";try{const Ge=await fo({chainId:w,rpcUrl:F});if(Ge.isGreaterThan(0)){const dt=Ge.times(1e6),Pt=new re(Fe?.balance||"0").minus(dt);Pt.isGreaterThan(0)?Ie=re(Le(BigInt(Pt.toFixed(0)),Fe?.decimals||18)).toFixed():Ie="0"}}catch(Ge){console.warn("getGasPrice for swap native fee deduction failed:",Ge)}A.amount=mo(A.amount,Ie);const De=parseFloat(Ie),_e=parseFloat(A.amount);if(re(De).lte(0)){l(r("formInsufficientBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native"}),"bot"),v(!1);return}if(re(De).lt(_e)){l(r("swapInsufficientNativeBalance",{balance:re(De).decimalPlaces(6).toFixed(),symbol:g?.nativeCurrency?.symbol||"native",amount:A.amount}),"bot"),v(!1);return}}else{const Fe=Te.find(_e=>_e.token_address.toLowerCase()===A.token_in?.toLowerCase());if(!Fe){l(r("swapTokenNotInWallet",{symbol:A.token_in_symbol||A.token_in}),"bot"),v(!1);return}A.amount=mo(A.amount,Fe.balance_formatted||"0");const Ie=parseFloat(Fe.balance_formatted||"0"),De=parseFloat(A.amount);if(re(Ie).lt(De)){l(r("swapInsufficientTokenBalance",{balance:re(Ie).decimalPlaces(6).toFixed(),symbol:Fe.symbol,amount:A.amount}),"bot"),v(!1);return}}}}catch(ce){console.warn("Balance check failed:",ce)}const G=P?We:A.token_in;ue({srcTokenAddress:G,descTokenAddress:A.token_out,amount:A.amount,srcTokenDecimals:j,descTokenDecimals:ee});const $=mt(A.amount,j).toString(),fe=await io({chainId:w,tokenIn:G,tokenInAmount:$,tokenOut:A.token_out,tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(fe.success&&fe.data){const ce=fe.data,Te=ce.tokenIn,Fe=ce.tokenOut,Ie=re(Le(BigInt(Te.amount||0),Te.decimals)).decimalPlaces(6).toFormat(),De=re(Le(BigInt(Fe.amount||0),Fe.decimals)).decimalPlaces(6).toFormat();let _e=!1;if(!P&&u?.address&&ce.tx?.to)try{const Ue=await uo({tokenAddress:G,ownerAddress:u.address,spenderAddress:ce.tx.to,chainId:w,rpcUrl:F});_e=re(Ue.toString()).isLessThan($)}catch(Ue){console.warn("Allowance check failed (CASE 1):",Ue),_e=!0}const Ge=ce.estimatedTransactionFee?.total?re(ce.estimatedTransactionFee.total):re(0);let dt=re(0);if(_e&&u?.address)try{const Ue=Tn({tokenAddress:G,spenderAddress:ce.tx?.to||"",fromAddress:u.address,chainId:w,amount:$});dt=await on({from:u.address,to:Ue.to,data:Ue.data,chainId:w,rpcUrl:F})}catch(Ue){console.warn("Approve fee estimation failed:",Ue)}const Ye=Ge.plus(dt),Pt=g?.nativeCurrency?.symbol||"native";let an="",rn=!1;if(u?.address&&Ye.isGreaterThan(0))try{const Ue=await Cn({address:u.address,chainId:w,rpcUrl:F});if(Ue.isLessThan(Ye)){rn=!0;const En=re(Le(BigInt(Ue.toFixed(0)),18)).decimalPlaces(6).toFormat(),Sn=re(Le(BigInt(Ye.toFixed(0)),18)).decimalPlaces(6).toFormat();an=r("swapFeeWarning",{symbol:Pt,balance:En,needed:Sn})}}catch(Ue){console.warn("Fee balance check failed:",Ue)}const Jt=`From: ${Ie} ${Te.symbol}
490
493
  ⬇️
491
494
  To: ${De} ${Fe.symbol}
492
495
 
@@ -497,7 +500,7 @@ To: ${De} ${Fe.symbol}
497
500
 
498
501
  `);v(!1),l(r("nftMultipleMatchesForTokenId",{count:String(ae.length),tokenId:ie})+`
499
502
 
500
- `+G,"bot",K.id,ee)}else if(j){const ee=j.normalized_metadata?.name||j.name||`#${j.token_id}`,G=j.normalized_metadata?.image||j.media?.original_media_url||"",$={contract_address:j.token_address,token_id:j.token_id,to_address:V.parameters?.to_address||"",token_standard:j.contract_type||"",amount:"1",maxAmount:j.amount||"1",nft_name:ee};l(V.message||r("nftSendReview",{name:ee,standard:j.contract_type||"NFT",tokenId:j.token_id}),"bot",K.id,void 0,{action:"send_nft",parameters:$,status:"pending",nftInfo:{name:ee,image:G||void 0,tokenId:j.token_id,contractAddress:j.token_address,tokenStandard:j.contract_type||void 0}})}else l(V.message||r("nftNotFoundInWallet",{name:de||ie}),"bot",K.id),await Qe()}else l(a("nftNoCollection"),"bot",K.id)}catch(A){console.error("NFT lookup by name failed:",A),l(a("nftFetchError"),"bot",K.id)}finally{v(!1)}else{const A=ec(V.action);let P={...V.parameters||{}},de,ie;const ve=["send_token","approve_token"].includes(V.action)&&(P.contract_address||P.token_symbol),xe=V.action==="send_native",ae=V.action==="send_nft"&&P.contract_address;if(ve&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const ee=j.data.result,G=P.contract_address?ee.find($=>$.token_address.toLowerCase()===P.contract_address.toLowerCase()):ee.find($=>$.symbol.toUpperCase()===P.token_symbol.toUpperCase());G&&(P={...P,contract_address:G.token_address,decimals:String(G.decimals)},de={symbol:G.symbol,name:G.name,balance:G.balance,balanceFormatted:G.balance_formatted,usdValue:G.usd_value,usdPrice:G.usd_price,decimals:G.decimals,logo:G.logo||G.thumbnail,contractAddress:G.token_address})}}catch(j){console.warn("Token enrichment failed:",j)}if(ve&&!de&&P.contract_address)try{const j=await ks({address:P.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;de={symbol:ee.symbol,name:ee.name,balance:"0",balanceFormatted:"0",usdPrice:ee.usd_price,decimals:ee.decimals,logo:ee.logo,contractAddress:P.contract_address},P={...P,decimals:String(ee.decimals)}}}catch(j){console.warn("Token metadata fallback failed:",j)}if(xe&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const G=j.data.result.find($=>$.native_token);if(G){let $=G.balance_formatted,fe=G.balance;try{const ce=new re(G.balance),Te="0x"+BigInt(ce.toFixed(0)).toString(16),Fe=await on({from:u.address,to:u.address,data:"0x",value:Te,chainId:w,rpcUrl:F});if(Fe.isGreaterThan(0)){const Ie=ce.minus(Fe);Ie.isGreaterThan(0)?(fe=Ie.toFixed(0),$=re(Le(BigInt(Ie.toFixed(0)),G.decimals)).toFixed()):(fe="0",$="0")}}catch(ce){console.warn("Estimate send fee for send_native failed:",ce)}de={symbol:G.symbol,name:G.name,balance:fe,balanceFormatted:$,usdValue:G.usd_value,usdPrice:G.usd_price,decimals:G.decimals,logo:G.logo||G.thumbnail,contractAddress:We}}else{const $=await ks({address:We,chain:h});if($?.success&&$?.data){const fe=$.data;de={symbol:fe.symbol,name:fe.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:fe.usd_price,decimals:fe.decimals,logo:fe.logo||fe.thumbnail,contractAddress:We}}}}}catch(j){console.warn("Native token balance fetch failed:",j)}if(ae){try{const j=await Oi({address:P.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;ee.contract_type&&(P={...P,token_standard:ee.contract_type}),!P.nft_name&&ee.name&&(P={...P,nft_name:ee.name})}}catch(j){console.warn("NFT contract metadata fetch failed:",j)}if(u?.address)try{const j=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(j?.success&&j?.data?.result){const ee=j.data.result.find(G=>G.token_address.toLowerCase()===P.contract_address.toLowerCase()&&G.token_id===P.token_id);if(ee){P={...P,amount:"1",maxAmount:ee.amount||"1"};const G=ee.normalized_metadata?.image||ee.media?.original_media_url||"";ie={name:ee.normalized_metadata?.name||ee.name||P.nft_name||`#${ee.token_id}`,image:G||void 0,tokenId:ee.token_id,contractAddress:ee.token_address,tokenStandard:ee.contract_type||P.token_standard||void 0}}}}catch(j){console.warn("NFT ownership lookup failed:",j)}}if(P.amount&&de?.balanceFormatted&&(V.action==="send_token"||V.action==="send_native")&&(P.amount=po(P.amount,de.balanceFormatted)),A){const j=V.message||"Please review and complete the form below.";l(j,"bot",K.id,void 0,{action:V.action,parameters:P,status:"pending",tokenInfo:de,nftInfo:ie})}else l(V.message||oe,"bot",K.id)}else if(V&&V.action==="chat"){const A=V.token_mentions||[],P=V.suggested_actions||[],de=[];A.length>0&&A.forEach(ie=>{de.push({id:`buy-${ie.symbol}`,text:`💰 Buy ${ie.symbol}`,value:r("buttonBuySymbol",{symbol:ie.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ie.contract_address||"",symbol:ie.symbol,decimals:ie.decimals||18},fullWidth:!0})}),P.length>0&&P.forEach((ie,ve)=>{de.push({id:`suggested-${ve}-${ie.label}`,text:ie.label,value:ie.prompt,action:"suggested_action",fullWidth:!0})}),de.length>0?l(V.message||oe,"bot",K.id,de):l(V.message||oe,"bot",K.id)}else l(oe,"bot",K.id)}else l(a("errorProcessingRequest"),"bot",K.id)}catch(H){console.error("Error getting AI response:",H),l(a("errorProcessingRequest"),"bot",K.id)}v(!1),await Xe(50),Ft.isDesktop&&Ee.current?.focus()},[x,S,i,l,J,u?.address,g?.name,g?.nativeCurrency?.symbol,g?.tokenTrendingDefault,w,E,h,I,Se,qe,Qe,ot,ue,F,a,r]);te.useEffect(()=>{c.current&&x===c.current&&(c.current=null,Be())},[x,Be]);const Oe=te.useCallback(async(R,K,H)=>{try{if(y(!1),b(H,"submitted"),R==="swap_token"){let Z=18;if(K.token_in&&K.token_in!==We)try{const M=await tt.getTokensDetails([K.token_in],E);M?.data?.[0]&&(Z=M.data[0].decimals||18)}catch(M){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",M)}const le=mt(K.amount||"0",Z).toString(),W=await io({chainId:w,tokenIn:K.token_in||"",tokenInAmount:le,tokenOut:K.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(W.success&&W.data){const M=W.data,U=M.tokenIn,_=M.tokenOut,oe=re(Le(BigInt(U.amount||0),U.decimals)).decimalPlaces(6).toFormat(),V=re(Le(BigInt(_.amount||0),_.decimals)).decimalPlaces(6).toFormat(),A=!K.token_in||K.token_in===We;let P=!1;if(!A&&u?.address&&M.tx?.to)try{const G=await uo({tokenAddress:K.token_in,ownerAddress:u.address,spenderAddress:M.tx.to,chainId:w,rpcUrl:F});P=re(G.toString()).isLessThan(le)}catch(G){console.warn("Allowance check failed in ActionForm swap:",G)}const de=M.estimatedTransactionFee?.total?re(M.estimatedTransactionFee.total):re(0);let ie=re(0);if(P&&u?.address)try{const G=Tn({tokenAddress:K.token_in,spenderAddress:M.tx?.to||"",fromAddress:u.address,chainId:w,amount:le});ie=await on({from:u.address,to:G.to,data:G.data,chainId:w,rpcUrl:F})}catch(G){console.warn("Approve fee estimation failed:",G)}const ve=de.plus(ie),xe=g?.nativeCurrency?.symbol||"native";let ae="",j=!1;if(u?.address&&ve.isGreaterThan(0))try{const G=await Cn({address:u.address,chainId:w,rpcUrl:F});if(G.isLessThan(ve)){j=!0;const $=re(Le(BigInt(G.toFixed(0)),18)).decimalPlaces(6).toFormat(),fe=re(Le(BigInt(ve.toFixed(0)),18)).decimalPlaces(6).toFormat();ae=r("swapFeeWarning",{symbol:xe,balance:$,needed:fe})}}catch(G){console.warn("Fee balance check failed:",G)}const ee=`From: ${oe} ${U.symbol}
503
+ `+G,"bot",K.id,ee)}else if(j){const ee=j.normalized_metadata?.name||j.name||`#${j.token_id}`,G=j.normalized_metadata?.image||j.media?.original_media_url||"",$={contract_address:j.token_address,token_id:j.token_id,to_address:V.parameters?.to_address||"",token_standard:j.contract_type||"",amount:"1",maxAmount:j.amount||"1",nft_name:ee};l(V.message||r("nftSendReview",{name:ee,standard:j.contract_type||"NFT",tokenId:j.token_id}),"bot",K.id,void 0,{action:"send_nft",parameters:$,status:"pending",nftInfo:{name:ee,image:G||void 0,tokenId:j.token_id,contractAddress:j.token_address,tokenStandard:j.contract_type||void 0}})}else l(V.message||r("nftNotFoundInWallet",{name:de||ie}),"bot",K.id),await Qe()}else l(a("nftNoCollection"),"bot",K.id)}catch(A){console.error("NFT lookup by name failed:",A),l(a("nftFetchError"),"bot",K.id)}finally{v(!1)}else{const A=ec(V.action);let P={...V.parameters||{}},de,ie;const ve=["send_token","approve_token"].includes(V.action)&&(P.contract_address||P.token_symbol),xe=V.action==="send_native",ae=V.action==="send_nft"&&P.contract_address;if(ve&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const ee=j.data.result,G=P.contract_address?ee.find($=>$.token_address.toLowerCase()===P.contract_address.toLowerCase()):ee.find($=>$.symbol.toUpperCase()===P.token_symbol.toUpperCase());G&&(P={...P,contract_address:G.token_address,decimals:String(G.decimals)},de={symbol:G.symbol,name:G.name,balance:G.balance,balanceFormatted:G.balance_formatted,usdValue:G.usd_value,usdPrice:G.usd_price,decimals:G.decimals,logo:G.logo||G.thumbnail,contractAddress:G.token_address})}}catch(j){console.warn("Token enrichment failed:",j)}if(ve&&!de&&P.contract_address)try{const j=await vs({address:P.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;de={symbol:ee.symbol,name:ee.name,balance:"0",balanceFormatted:"0",usdPrice:ee.usd_price,decimals:ee.decimals,logo:ee.logo,contractAddress:P.contract_address},P={...P,decimals:String(ee.decimals)}}}catch(j){console.warn("Token metadata fallback failed:",j)}if(xe&&u?.address)try{const j=await je({address:u.address,chain:h});if(j?.success&&j?.data?.result){const G=j.data.result.find($=>$.native_token);if(G){let $=G.balance_formatted,fe=G.balance;try{const ce=new re(G.balance),Te="0x"+BigInt(ce.toFixed(0)).toString(16),Fe=await on({from:u.address,to:u.address,data:"0x",value:Te,chainId:w,rpcUrl:F});if(Fe.isGreaterThan(0)){const Ie=ce.minus(Fe);Ie.isGreaterThan(0)?(fe=Ie.toFixed(0),$=re(Le(BigInt(Ie.toFixed(0)),G.decimals)).toFixed()):(fe="0",$="0")}}catch(ce){console.warn("Estimate send fee for send_native failed:",ce)}de={symbol:G.symbol,name:G.name,balance:fe,balanceFormatted:$,usdValue:G.usd_value,usdPrice:G.usd_price,decimals:G.decimals,logo:G.logo||G.thumbnail,contractAddress:We}}else{const $=await vs({address:We,chain:h});if($?.success&&$?.data){const fe=$.data;de={symbol:fe.symbol,name:fe.name,balance:"0",balanceFormatted:"0",usdValue:0,usdPrice:fe.usd_price,decimals:fe.decimals,logo:fe.logo||fe.thumbnail,contractAddress:We}}}}}catch(j){console.warn("Native token balance fetch failed:",j)}if(ae){try{const j=await Oi({address:P.contract_address,chain:h});if(j?.success&&j?.data){const ee=j.data;ee.contract_type&&(P={...P,token_standard:ee.contract_type}),!P.nft_name&&ee.name&&(P={...P,nft_name:ee.name})}}catch(j){console.warn("NFT contract metadata fetch failed:",j)}if(u?.address)try{const j=await kn({address:u.address,chain:h,limit:100,exclude_spam:!1});if(j?.success&&j?.data?.result){const ee=j.data.result.find(G=>G.token_address.toLowerCase()===P.contract_address.toLowerCase()&&G.token_id===P.token_id);if(ee){P={...P,amount:"1",maxAmount:ee.amount||"1"};const G=ee.normalized_metadata?.image||ee.media?.original_media_url||"";ie={name:ee.normalized_metadata?.name||ee.name||P.nft_name||`#${ee.token_id}`,image:G||void 0,tokenId:ee.token_id,contractAddress:ee.token_address,tokenStandard:ee.contract_type||P.token_standard||void 0}}}}catch(j){console.warn("NFT ownership lookup failed:",j)}}if(P.amount&&de?.balanceFormatted&&(V.action==="send_token"||V.action==="send_native")&&(P.amount=mo(P.amount,de.balanceFormatted)),A){const j=V.message||"Please review and complete the form below.";l(j,"bot",K.id,void 0,{action:V.action,parameters:P,status:"pending",tokenInfo:de,nftInfo:ie})}else l(V.message||oe,"bot",K.id)}else if(V&&V.action==="chat"){const A=V.token_mentions||[],P=V.suggested_actions||[],de=[];A.length>0&&A.forEach(ie=>{de.push({id:`buy-${ie.symbol}`,text:`💰 Buy ${ie.symbol}`,value:r("buttonBuySymbol",{symbol:ie.symbol}),action:"click_buy_item_token_button",extraData:{tokenAddress:ie.contract_address||"",symbol:ie.symbol,decimals:ie.decimals||18},fullWidth:!0})}),P.length>0&&P.forEach((ie,ve)=>{de.push({id:`suggested-${ve}-${ie.label}`,text:ie.label,value:ie.prompt,action:"suggested_action",fullWidth:!0})}),de.length>0?l(V.message||oe,"bot",K.id,de):l(V.message||oe,"bot",K.id)}else l(oe,"bot",K.id)}else l(a("errorProcessingRequest"),"bot",K.id)}catch(H){console.error("Error getting AI response:",H),l(a("errorProcessingRequest"),"bot",K.id)}v(!1),await Xe(50),Ft.isDesktop&&Ee.current?.focus()},[x,S,i,l,J,u?.address,g?.name,g?.nativeCurrency?.symbol,g?.tokenTrendingDefault,w,E,h,I,Se,qe,Qe,ot,ue,F,a,r]);te.useEffect(()=>{c.current&&x===c.current&&(c.current=null,Be())},[x,Be]);const Oe=te.useCallback(async(R,K,H)=>{try{if(y(!1),b(H,"submitted"),R==="swap_token"){let Z=18;if(K.token_in&&K.token_in!==We)try{const M=await tt.getTokensDetails([K.token_in],E);M?.data?.[0]&&(Z=M.data[0].decimals||18)}catch(M){console.warn("getTokensDetails failed in ActionForm swap, using default 18:",M)}const le=mt(K.amount||"0",Z).toString(),W=await io({chainId:w,tokenIn:K.token_in||"",tokenInAmount:le,tokenOut:K.token_out||"",tokenOutRecipient:u?.address||"",slippage:"auto",accesstoken:"d6c45897b8f6"});if(W.success&&W.data){const M=W.data,U=M.tokenIn,_=M.tokenOut,oe=re(Le(BigInt(U.amount||0),U.decimals)).decimalPlaces(6).toFormat(),V=re(Le(BigInt(_.amount||0),_.decimals)).decimalPlaces(6).toFormat(),A=!K.token_in||K.token_in===We;let P=!1;if(!A&&u?.address&&M.tx?.to)try{const G=await uo({tokenAddress:K.token_in,ownerAddress:u.address,spenderAddress:M.tx.to,chainId:w,rpcUrl:F});P=re(G.toString()).isLessThan(le)}catch(G){console.warn("Allowance check failed in ActionForm swap:",G)}const de=M.estimatedTransactionFee?.total?re(M.estimatedTransactionFee.total):re(0);let ie=re(0);if(P&&u?.address)try{const G=Tn({tokenAddress:K.token_in,spenderAddress:M.tx?.to||"",fromAddress:u.address,chainId:w,amount:le});ie=await on({from:u.address,to:G.to,data:G.data,chainId:w,rpcUrl:F})}catch(G){console.warn("Approve fee estimation failed:",G)}const ve=de.plus(ie),xe=g?.nativeCurrency?.symbol||"native";let ae="",j=!1;if(u?.address&&ve.isGreaterThan(0))try{const G=await Cn({address:u.address,chainId:w,rpcUrl:F});if(G.isLessThan(ve)){j=!0;const $=re(Le(BigInt(G.toFixed(0)),18)).decimalPlaces(6).toFormat(),fe=re(Le(BigInt(ve.toFixed(0)),18)).decimalPlaces(6).toFormat();ae=r("swapFeeWarning",{symbol:xe,balance:$,needed:fe})}}catch(G){console.warn("Fee balance check failed:",G)}const ee=`From: ${oe} ${U.symbol}
501
504
  ⬇️
502
505
  To: ${V} ${_.symbol}
503
506
 
@@ -508,4 +511,4 @@ Tx: ${M.transactionHash}`;try{await Xe(2e3),(await lo({transactionHash:M.transac
508
511
  `+_)):(b(H,"pending"),l(a("txReverted")+`
509
512
  `+_,"bot"))}catch(oe){console.warn("Transaction tracking timeout:",oe),b(H,"success"),l(a("txTimeout")+`
510
513
  `+_,"bot")}}else if(M.status==="success")b(H,"success");else{b(H,"pending");const U=M.error?`
511
- Error: ${M.error}`:"";l(a("txFailed")+U,"bot")}}else b(H,"pending"),l(a("txNoHandler"),"bot")}}catch(Z){console.error("Action form submit error:",Z),b(H,"pending"),l(r("txError",{message:Z instanceof Error?Z.message:"Unknown error"}),"bot")}},[b,w,u?.address,E,g?.nativeCurrency?.symbol,g?.blockExplorers?.default?.url,F,r,l,a,z,n,D]),ke=te.useCallback(R=>{k([R])},[k]),[Gt,gt]=te.useState({}),lt=te.useCallback(async(R,K,H)=>{gt(Z=>({...Z,[H]:!0}));try{await Oe(R,K,H)}finally{gt(Z=>({...Z,[H]:!1}))}},[Oe]),at=te.useCallback(R=>{R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),Be())},[Be]),Yt=te.useCallback(()=>{const R=window.getSelection();R&&R.toString().length>0||t()},[t]);return e?O.jsx("div",{className:`chat-modal-overlay${s==="bottom-left"?" chat-modal-overlay--left":""}`,onClick:Yt,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:O.jsxs("div",{className:"chat-modal",style:o,onClick:R=>R.stopPropagation(),children:[O.jsxs("div",{className:"chat-modal-header",children:[O.jsxs("div",{className:"chat-modal-header-left",children:[O.jsx("div",{className:"keyring-logo",children:O.jsx("img",{src:Di,alt:"Keyring Logo",width:40,height:40})}),O.jsx("h3",{id:"chat-modal-title",children:a("chatTitle")})]}),O.jsx("button",{className:"close-button",onClick:t,"aria-label":a("closeChat"),type:"button",children:O.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:O.jsx("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),O.jsx(Ti,{address:u?.address,chainId:g?.chainId}),O.jsxs("div",{className:"chat-modal-messages-wrapper",children:[O.jsxs("div",{className:"chat-modal-messages",ref:we,role:"log","aria-live":"polite",children:[i.map((R,K)=>O.jsxs("div",{children:[st(K)&&O.jsx("div",{className:"date-separator",children:gi(R.timestamp)}),O.jsxs("div",{className:`message ${R.sender==="user"?"message-user":"message-bot"}`,role:"article",children:[O.jsx("button",{disabled:Ft.isMobile,className:"message-reply-button",onClick:()=>Ce(R),"aria-label":a("replyToMessage"),type:"button",children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M3.5 8.5L1 6L3.5 3.5M1.5 6H10C12.2091 6 14 7.79086 14 10V13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),O.jsxs("div",{className:"message-bubble",children:[R.replyTo&&O.jsxs("div",{className:"message-reply-to",children:[O.jsxs("div",{className:"message-reply-to-label",children:[a("replyingTo")," ",R.replyTo.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),O.jsx("div",{className:"message-reply-to-text",children:R.replyTo.text})]}),O.jsx("div",{className:"message-text",children:O.jsx(Wi,{content:R.text})}),R.buttons&&R.buttons.length>0&&O.jsx("div",{className:"message-buttons",children:R.buttons.map(H=>O.jsx("button",{className:`message-button ${H.fullWidth?"full-width":""} ${H.action==="suggested_action"?"suggested-action":""}`,onClick:()=>Ne(H.value,H.action,H?.extraData),type:"button",children:H.text},H.id))}),R.actionData&&R.actionData.status==="pending"&&O.jsx(Yi,{action:R.actionData.action,initialValues:R.actionData.parameters,onSubmit:(H,Z)=>{lt(H,Z,R.id),setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>ke(R.id),isSubmitting:Gt[R.id]||!1,tokenInfo:R.actionData.tokenInfo,nftInfo:R.actionData.nftInfo}),R.actionData&&R.actionData.status==="submitted"&&O.jsx("div",{className:"action-status action-status-submitted",children:a("txProcessing")}),R.actionData&&R.actionData.status==="success"&&O.jsx("div",{className:"action-status action-status-success",children:a("actionSuccess")}),R.actionData&&R.actionData.status==="fail"&&O.jsx("div",{className:"action-status action-status-fail",children:a("actionFail")}),O.jsxs("div",{className:"message-timestamp",children:[R.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),R.sender==="user"&&O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:O.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},R.id)),S&&O.jsx("div",{className:"message message-bot typing-indicator",role:"status","aria-label":a("botIsTyping"),children:O.jsxs("div",{className:"message-bubble",children:[O.jsx("span",{className:"typing-dot"}),O.jsx("span",{className:"typing-dot"}),O.jsx("span",{className:"typing-dot"})]})}),(ge||i.length===1)&&O.jsxs(O.Fragment,{children:[i.length>1&&O.jsx("div",{className:"message message-bot",role:"article",children:O.jsx("div",{className:"message-bubble",children:O.jsx("div",{className:"message-text",children:a("canIHelpYou")})})}),O.jsx("div",{className:"suggestions-container",children:Ve.map(R=>O.jsxs("button",{className:"suggestion-button",onClick:R.action,type:"button",children:[O.jsx("span",{className:"suggestion-icon",children:R.icon}),O.jsx("span",{className:"suggestion-text",children:R.text})]},R.id))})]}),O.jsx("div",{ref:he})]}),O.jsx(Ji,{scrollContainerRef:we})]}),O.jsxs("div",{className:"chat-modal-input",children:[J&&O.jsxs("div",{className:"reply-preview",children:[O.jsxs("div",{className:"reply-preview-content",children:[O.jsxs("div",{className:"reply-preview-label",children:[a("replyingTo")," ",J.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),O.jsx("div",{className:"reply-preview-text",children:J.text})]}),O.jsx("button",{className:"reply-preview-close",onClick:()=>Q(null),"aria-label":a("cancelReply"),type:"button",children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),O.jsxs("div",{className:"chat-modal-input-row",children:[O.jsx("input",{ref:Ee,type:"text",placeholder:a("messagePlaceholder"),value:x,onChange:R=>B(R.target.value),onKeyPress:at,disabled:S,"aria-label":"Message input"}),O.jsx("button",{className:"send-button",onClick:Be,"aria-label":a("sendMessage"),disabled:S||x?.trim()==="",type:"button",children:O.jsx("img",{src:Li,alt:"Send",width:44,height:44})})]})]})]})}):null},lc=({position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:a})=>{const{account:r,chainId:i}=gn(),[l,b]=te.useState(n);te.useEffect(()=>{n&&s&&s()},[]),te.useEffect(()=>{if(typeof window>"u")return;const B=document.body,S=document.documentElement,v=B.style.overscrollBehavior,ge=S.style.overscrollBehavior,y=B.style.overflow;return l&&(B.style.overscrollBehavior="none",S.style.overscrollBehavior="none",B.style.overflow="hidden"),()=>{B.style.overscrollBehavior=v,S.style.overscrollBehavior=ge,B.style.overflow=y}},[l]);const D=te.useCallback(()=>{b(!0),s?.()},[s]),z=te.useCallback(()=>{b(!1),o?.()},[o]),k=te.useCallback(()=>{l?z():D()},[l,D,z]),x={position:"fixed",[e==="bottom-right"?"right":"left"]:t.offset?.x??20,bottom:t.offset?.y??20,zIndex:t.zIndex??9999};return!Re(r?.address||"")||!i?O.jsx(O.Fragment,{}):O.jsxs("div",{style:x,role:"complementary","aria-label":"Chat widget",children:[O.jsx(Ys,{buttonSize:t.buttonSize,onClick:k}),O.jsx(cc,{isOpen:l,onClose:z,onTransaction:a,position:e,modalChatStyle:t.modalChatStyle})]})},dc=({position:e="bottom-right",theme:t={},defaultOpen:n=!1,onOpen:s,onClose:o,account:a,onTransaction:r,language:i="en",rpcUrls:l})=>{const b={position:e,theme:t,rpcUrls:l};return typeof window>"u"?null:O.jsx(Ii,{initialConfig:b,children:O.jsx(vi,{initialAccount:a,children:O.jsx(Gs,{initialLanguage:i,children:O.jsx(lc,{position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:r})})})})};wt.ChatWidget=dc,Object.defineProperty(wt,Symbol.toStringTag,{value:"Module"})}));
514
+ Error: ${M.error}`:"";l(a("txFailed")+U,"bot")}}else b(H,"pending"),l(a("txNoHandler"),"bot")}}catch(Z){console.error("Action form submit error:",Z),b(H,"pending"),l(r("txError",{message:Z instanceof Error?Z.message:"Unknown error"}),"bot")}},[b,w,u?.address,E,g?.nativeCurrency?.symbol,g?.blockExplorers?.default?.url,F,r,l,a,z,n,D]),ke=te.useCallback(R=>{k([R])},[k]),[Gt,gt]=te.useState({}),lt=te.useCallback(async(R,K,H)=>{gt(Z=>({...Z,[H]:!0}));try{await Oe(R,K,H)}finally{gt(Z=>({...Z,[H]:!1}))}},[Oe]),at=te.useCallback(R=>{R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),Be())},[Be]),Yt=te.useCallback(()=>{const R=window.getSelection();R&&R.toString().length>0||t()},[t]);return e?O.jsx("div",{className:`chat-modal-overlay${s==="bottom-left"?" chat-modal-overlay--left":""}`,onClick:Yt,role:"dialog","aria-modal":"true","aria-labelledby":"chat-modal-title",children:O.jsxs("div",{className:"chat-modal",style:o,onClick:R=>R.stopPropagation(),children:[O.jsxs("div",{className:"chat-modal-header",children:[O.jsxs("div",{className:"chat-modal-header-left",children:[O.jsx("div",{className:"keyring-logo",children:O.jsx("img",{src:Di,alt:"Keyring Logo",width:40,height:40})}),O.jsx("h3",{id:"chat-modal-title",children:a("chatTitle")})]}),O.jsx("button",{className:"close-button",onClick:t,"aria-label":a("closeChat"),type:"button",children:O.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:O.jsx("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]}),O.jsx(Ti,{address:u?.address,chainId:g?.chainId}),O.jsxs("div",{className:"chat-modal-messages-wrapper",children:[O.jsxs("div",{className:"chat-modal-messages",ref:we,role:"log","aria-live":"polite",children:[i.map((R,K)=>O.jsxs("div",{children:[st(K)&&O.jsx("div",{className:"date-separator",children:gi(R.timestamp)}),O.jsxs("div",{className:`message ${R.sender==="user"?"message-user":"message-bot"}`,role:"article",children:[O.jsx("button",{disabled:Ft.isMobile,className:"message-reply-button",onClick:()=>Ce(R),"aria-label":a("replyToMessage"),type:"button",children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M3.5 8.5L1 6L3.5 3.5M1.5 6H10C12.2091 6 14 7.79086 14 10V13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),O.jsxs("div",{className:"message-bubble",children:[R.replyTo&&O.jsxs("div",{className:"message-reply-to",children:[O.jsxs("div",{className:"message-reply-to-label",children:[a("replyingTo")," ",R.replyTo.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),O.jsx("div",{className:"message-reply-to-text",children:R.replyTo.text})]}),O.jsx("div",{className:"message-text",children:O.jsx(Wi,{content:R.text})}),R.buttons&&R.buttons.length>0&&O.jsx("div",{className:"message-buttons",children:R.buttons.map(H=>O.jsx("button",{className:`message-button ${H.fullWidth?"full-width":""} ${H.action==="suggested_action"?"suggested-action":""}`,onClick:()=>Ne(H.value,H.action,H?.extraData),type:"button",children:H.text},H.id))}),R.actionData&&R.actionData.status==="pending"&&O.jsx(Yi,{action:R.actionData.action,initialValues:R.actionData.parameters,onSubmit:(H,Z)=>{lt(H,Z,R.id),setTimeout(()=>{he.current?.scrollIntoView({behavior:"smooth"})},100)},onCancel:()=>ke(R.id),isSubmitting:Gt[R.id]||!1,tokenInfo:R.actionData.tokenInfo,nftInfo:R.actionData.nftInfo}),R.actionData&&R.actionData.status==="submitted"&&O.jsx("div",{className:"action-status action-status-submitted",children:a("txProcessing")}),R.actionData&&R.actionData.status==="success"&&O.jsx("div",{className:"action-status action-status-success",children:a("actionSuccess")}),R.actionData&&R.actionData.status==="fail"&&O.jsx("div",{className:"action-status action-status-fail",children:a("actionFail")}),O.jsxs("div",{className:"message-timestamp",children:[R.timestamp.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),R.sender==="user"&&O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:"check-icon",children:O.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]},R.id)),S&&O.jsx("div",{className:"message message-bot typing-indicator",role:"status","aria-label":a("botIsTyping"),children:O.jsxs("div",{className:"message-bubble",children:[O.jsx("span",{className:"typing-dot"}),O.jsx("span",{className:"typing-dot"}),O.jsx("span",{className:"typing-dot"})]})}),(ge||i.length===1)&&O.jsxs(O.Fragment,{children:[i.length>1&&O.jsx("div",{className:"message message-bot",role:"article",children:O.jsx("div",{className:"message-bubble",children:O.jsx("div",{className:"message-text",children:a("canIHelpYou")})})}),O.jsx("div",{className:"suggestions-container",children:Ve.map(R=>O.jsxs("button",{className:"suggestion-button",onClick:R.action,type:"button",children:[O.jsx("span",{className:"suggestion-icon",children:R.icon}),O.jsx("span",{className:"suggestion-text",children:R.text})]},R.id))})]}),O.jsx("div",{ref:he})]}),O.jsx(Ji,{scrollContainerRef:we})]}),O.jsxs("div",{className:"chat-modal-input",children:[J&&O.jsxs("div",{className:"reply-preview",children:[O.jsxs("div",{className:"reply-preview-content",children:[O.jsxs("div",{className:"reply-preview-label",children:[a("replyingTo")," ",J.sender==="user"?a("replyingToYou"):a("replyingToAgent")]}),O.jsx("div",{className:"reply-preview-text",children:J.text})]}),O.jsx("button",{className:"reply-preview-close",onClick:()=>Q(null),"aria-label":a("cancelReply"),type:"button",children:O.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:O.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),O.jsxs("div",{className:"chat-modal-input-row",children:[O.jsx("input",{ref:Ee,type:"text",placeholder:a("messagePlaceholder"),value:x,onChange:R=>B(R.target.value),onKeyPress:at,disabled:S,"aria-label":"Message input"}),O.jsx("button",{className:"send-button",onClick:Be,"aria-label":a("sendMessage"),disabled:S||x?.trim()==="",type:"button",children:O.jsx("img",{src:Li,alt:"Send",width:44,height:44})})]})]})]})}):null},ic=({position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:a})=>{const{account:r,chainId:i}=gn(),[l,b]=te.useState(n);te.useEffect(()=>{n&&s&&s()},[]),te.useEffect(()=>{if(typeof window>"u")return;const B=document.body,S=document.documentElement,v=B.style.overscrollBehavior,ge=S.style.overscrollBehavior,y=B.style.overflow;return l&&(B.style.overscrollBehavior="none",S.style.overscrollBehavior="none",B.style.overflow="hidden"),()=>{B.style.overscrollBehavior=v,S.style.overscrollBehavior=ge,B.style.overflow=y}},[l]);const D=te.useCallback(()=>{b(!0),s?.()},[s]),z=te.useCallback(()=>{b(!1),o?.()},[o]),k=te.useCallback(()=>{l?z():D()},[l,D,z]),x={position:"fixed",[e==="bottom-right"?"right":"left"]:t.offset?.x??20,bottom:t.offset?.y??20,zIndex:t.zIndex??9999};return!Re(r?.address||"")||!i?O.jsx(O.Fragment,{}):O.jsxs("div",{style:x,role:"complementary","aria-label":"Chat widget",children:[O.jsx(Ys,{buttonSize:t.buttonSize,onClick:k}),O.jsx(rc,{isOpen:l,onClose:z,onTransaction:a,position:e,modalChatStyle:t.modalChatStyle})]})},cc=({position:e="bottom-right",theme:t={},defaultOpen:n=!1,onOpen:s,onClose:o,account:a,onTransaction:r,language:i="en",rpcUrls:l})=>{const b={position:e,theme:t,rpcUrls:l};return typeof window>"u"?null:O.jsx(Ii,{initialConfig:b,children:O.jsx(vi,{initialAccount:a,children:O.jsx(Gs,{initialLanguage:i,children:O.jsx(ic,{position:e,theme:t,defaultOpen:n,onOpen:s,onClose:o,onTransaction:r})})})})};wt.ChatWidget=cc,Object.defineProperty(wt,Symbol.toStringTag,{value:"Module"})}));