@fangorn-network/westmarch 0.0.19-dev → 0.1.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.
Files changed (386) hide show
  1. package/README.md +35 -5
  2. package/docs/app-to-agent.md +113 -620
  3. package/package.json +18 -18
  4. package/site/dist/assets/__vite-browser-external-D2U8RZpp.js +1 -0
  5. package/site/dist/assets/embed.worker-CmS57Zti.js +1 -0
  6. package/site/dist/assets/index-CkP1WhkV.js +8 -0
  7. package/site/dist/assets/roles-BDPDWrwo.js +1 -0
  8. package/site/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
  9. package/site/dist/assets/transformers.web-CUZUFjAK.js +49 -0
  10. package/site/dist/assets/transformers.web-CwR_IYQV.js +40 -0
  11. package/site/dist/index.html +6 -7
  12. package/site/feed.js +16 -1
  13. package/site/no-model.js +4 -0
  14. package/site/worker.js +382 -59
  15. package/src/agent/agent-card.js +51 -37
  16. package/src/agent/mcp.js +173 -500
  17. package/src/agent/tools.js +3 -2
  18. package/src/agent/ui.js +1 -1
  19. package/src/agent/view-tools.js +11 -30
  20. package/src/agent/x402.js +194 -85
  21. package/src/core/embed.js +56 -53
  22. package/src/core/embed.worker.js +1 -1
  23. package/src/core/rank.js +1 -1
  24. package/src/core/roles.js +7 -7
  25. package/src/core/shard.js +12 -8
  26. package/src/discover/apps.js +103 -67
  27. package/src/discover/corpora.js +1 -1
  28. package/src/discover/directory.js +3 -3
  29. package/src/market/cohort.js +1 -1
  30. package/src/market/demand.js +1 -1
  31. package/src/market/reactions.js +24 -18
  32. package/src/publish/devnet.js +146 -0
  33. package/src/publish/graph.js +1 -1
  34. package/src/publish/init.js +74 -0
  35. package/src/publish/lint.js +3 -2
  36. package/src/publish/ship.js +433 -287
  37. package/src/publish/view-cli.js +14 -10
  38. package/src/publish/view.js +485 -255
  39. package/src/taste/steam.js +1 -1
  40. package/src/taste/taste-doc.js +4 -3
  41. package/src/taste/taste.js +3 -3
  42. package/src/taste/vault.js +4 -2
  43. package/template/README.md +48 -0
  44. package/template/app.json +27 -0
  45. package/template/eval/goals.md +7 -0
  46. package/template/eval/golden.jsonl +0 -0
  47. package/template/gitignore +3 -0
  48. package/template/package.json +13 -0
  49. package/template/wrangler.json +12 -0
  50. package/plugin/scripts/fx.mjs +0 -268
  51. package/site/dist/assets/AccountNotFoundScreen-C4njXc69-BOfmiSH1.js +0 -1
  52. package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-B6uvYyqa.js +0 -31
  53. package/site/dist/assets/Address-H8kD1d9O-DcHv7A8C.js +0 -17
  54. package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-v2wz-N-s.js +0 -6
  55. package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-DhVy9iGN.js +0 -1
  56. package/site/dist/assets/ApiController-BbhXeqTV.js +0 -5
  57. package/site/dist/assets/ArrowsRightLeftIcon-cp60yobq.js +0 -1
  58. package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-B0eT1zE6.js +0 -1
  59. package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-DL5PH-v_.js +0 -1
  60. package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-n1BsRPqc.js +0 -1
  61. package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-BVl2BJDY.js +0 -103
  62. package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-BD-OZUQb.js +0 -1
  63. package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-CaYrzRje.js +0 -68
  64. package/site/dist/assets/CaptchaScreen-DbpvkIGx-BQJ7inx1.js +0 -1
  65. package/site/dist/assets/CheckCircleIcon-BM409mGI.js +0 -1
  66. package/site/dist/assets/CheckCircleIcon-NCOQc0Gs.js +0 -1
  67. package/site/dist/assets/Checkbox-D1EDeo41-rHlvsZzP.js +0 -52
  68. package/site/dist/assets/ChevronDownIcon-CW-4MSpE.js +0 -1
  69. package/site/dist/assets/Chip-CZKIKt9K-CutJG010.js +0 -26
  70. package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-DDaMC7cl.js +0 -16
  71. package/site/dist/assets/ConnectEmailForm-B-VRE0MN-DVSf4tFJ.js +0 -3
  72. package/site/dist/assets/ConnectLedgerScreen-DWHABGot-h0uYIUi6.js +0 -10
  73. package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-DP19hJq5.js +0 -1
  74. package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-DHvijlTx.js +0 -1
  75. package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-ewmXYPTQ.js +0 -1
  76. package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-DUYdmVtr.js +0 -95
  77. package/site/dist/assets/ConnectWalletView-DqI-PTvX-RobGErVW.js +0 -74
  78. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-Bbiq3hY6.js +0 -1
  79. package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-DPkOGNWl.js +0 -7
  80. package/site/dist/assets/ConnectorUtil-BO1L6VvV.js +0 -21
  81. package/site/dist/assets/ConstantsUtil-DmLsRHAl.js +0 -198
  82. package/site/dist/assets/CopyToClipboard-i_OQSBJr-DujUHNzW.js +0 -39
  83. package/site/dist/assets/CopyableText-CQapvaMr-DMIdpDaU.js +0 -28
  84. package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-DbGy4QyA.js +0 -1
  85. package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-B3WqJZBh.js +0 -22
  86. package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-CmUDoS0C.js +0 -1
  87. package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-fcO51q5H.js +0 -1
  88. package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-ClAb_j1B.js +0 -187
  89. package/site/dist/assets/DepositAddressScreen-DBLRs7aI-CN1P_KY9.js +0 -8
  90. package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-BtDZmuEN.js +0 -1
  91. package/site/dist/assets/EmailInputForm-Cqo1mda8-B2NG3K5V.js +0 -124
  92. package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-D3pExuaW.js +0 -1
  93. package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-CLsJbPYQ.js +0 -1
  94. package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-DI6bu-oi.js +0 -23
  95. package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-BQ9Ygr0P.js +0 -1
  96. package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-CxrfLr5q.js +0 -1
  97. package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-DHZRGoTN.js +0 -1
  98. package/site/dist/assets/EnrollTotp-Dibew4dp-7gVtJ1Jt.js +0 -66
  99. package/site/dist/assets/EnvelopeIcon-Dh2vSVj4.js +0 -1
  100. package/site/dist/assets/ErrorBanner-BcpGRt0h-BKOYTyCi.js +0 -21
  101. package/site/dist/assets/ErrorMessage-D8VaAP5m-CrZOnUyg.js +0 -8
  102. package/site/dist/assets/ErrorScreen-DipdTWzE-BT8TtRTx.js +0 -4
  103. package/site/dist/assets/ErrorScreen-DipdTWzE-DAam41Xl.js +0 -1
  104. package/site/dist/assets/ExclamationCircleIcon-DUA2wMfO.js +0 -1
  105. package/site/dist/assets/ExclamationTriangleIcon-eZfaqcFq.js +0 -1
  106. package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-BPCBi37Q.js +0 -75
  107. package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-XCmWpnUd.js +0 -28
  108. package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-DJRcUh2N.js +0 -491
  109. package/site/dist/assets/FingerPrintIcon-Dm6kxmg7.js +0 -1
  110. package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-BfNVSTb1.js +0 -1
  111. package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-BQdbJ5Bb.js +0 -1
  112. package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-BfvMcHb6.js +0 -58
  113. package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-VBfbahnA.js +0 -1
  114. package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-CMuBYf64.js +0 -1
  115. package/site/dist/assets/GlobeAltIcon-vqrVV5ho.js +0 -1
  116. package/site/dist/assets/GooglePay-B53WnudL-BX5_WtCx.js +0 -1
  117. package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-D-I8j7NO.js +0 -4
  118. package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-BY3j50El.js +0 -1
  119. package/site/dist/assets/InfoBanner-Cb3p1z12-DLBl_Ywy.js +0 -22
  120. package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-DLSV_NjP.js +0 -1
  121. package/site/dist/assets/InstallWalletScreen-DTA8dwLv-CxreyXoD.js +0 -1
  122. package/site/dist/assets/JsonTree-BHzNC-ic-DcNcbSoM.js +0 -34
  123. package/site/dist/assets/LabelXs-oqZNqbm_-iafrj25N.js +0 -6
  124. package/site/dist/assets/LandingScreen-CGWUoSUG-Q7hgXKvM.js +0 -1
  125. package/site/dist/assets/Layouts-BMRfo5hw-CeCOyCLK.js +0 -77
  126. package/site/dist/assets/Link-BdDilT2T-BEDEdHuS.js +0 -40
  127. package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-DK1z_v7y.js +0 -77
  128. package/site/dist/assets/LinkEmailScreen-dKo9frwc-BYYpJ5-6.js +0 -1
  129. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-uhub9C26.js +0 -1
  130. package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-uid22VTN.js +0 -117
  131. package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-CVQibNi9.js +0 -1
  132. package/site/dist/assets/Loader-UAZqxsnw-Cy7hEE2f.js +0 -62
  133. package/site/dist/assets/LoadingSkeleton-BMsgO5PV-CiEyS5PZ.js +0 -17
  134. package/site/dist/assets/LockClosedIcon-BgY_5v_Z.js +0 -1
  135. package/site/dist/assets/LoginFailedScreen-CN0dJV6U-DhUMiJZJ.js +0 -1
  136. package/site/dist/assets/ManualTransferScreen-CHqcuqbs-DMygAXMU.js +0 -1
  137. package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-_1GFUSIg.js +0 -1
  138. package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-DLnBJ5b8.js +0 -1
  139. package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-BUJY1lzs.js +0 -1
  140. package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-25l5fVun.js +0 -1
  141. package/site/dist/assets/ModalFooter-BCuEK_nz-c-khvG4Y.js +0 -403
  142. package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-BRFN2eXr.js +0 -16
  143. package/site/dist/assets/OAuthStatusScreen-ufbOa-da-DL30vu07.js +0 -1
  144. package/site/dist/assets/OpenLink-CUpJ1mOr-DfAvJRyK.js +0 -39
  145. package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-DtxhRQyw.js +0 -1
  146. package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-CNfu8ujT.js +0 -6
  147. package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-BR6z6xE8.js +0 -20
  148. package/site/dist/assets/PhArrowCircleDown-D97G-BOA.js +0 -14
  149. package/site/dist/assets/PhArrowClockwise-DVgyFuez.js +0 -14
  150. package/site/dist/assets/PhArrowDown-87b1BizM.js +0 -14
  151. package/site/dist/assets/PhArrowLeft-Da0MfnbK.js +0 -14
  152. package/site/dist/assets/PhArrowRight-AdrIL4DW.js +0 -14
  153. package/site/dist/assets/PhArrowSquareOut-Bk2CMG3I.js +0 -14
  154. package/site/dist/assets/PhArrowUp-4sgyKPGx.js +0 -14
  155. package/site/dist/assets/PhArrowUpRight-BNghD2zq.js +0 -14
  156. package/site/dist/assets/PhArrowsClockwise-BXRn1GEl.js +0 -14
  157. package/site/dist/assets/PhArrowsDownUp-DM09Jo_3.js +0 -14
  158. package/site/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +0 -14
  159. package/site/dist/assets/PhBank-fHbgCqqZ.js +0 -14
  160. package/site/dist/assets/PhBrowser-2-9m-AkM.js +0 -14
  161. package/site/dist/assets/PhCaretDown-BDNabFuL.js +0 -14
  162. package/site/dist/assets/PhCaretLeft-CI460R-A.js +0 -14
  163. package/site/dist/assets/PhCaretRight-D7ZS3Ls8.js +0 -14
  164. package/site/dist/assets/PhCaretUp-C-iIfyvO.js +0 -14
  165. package/site/dist/assets/PhCheck-DxQXn57r.js +0 -14
  166. package/site/dist/assets/PhCircleHalf-MJZeRBGF.js +0 -14
  167. package/site/dist/assets/PhClock-x3MS3Mwi.js +0 -14
  168. package/site/dist/assets/PhCompass-hYn3HhGN.js +0 -14
  169. package/site/dist/assets/PhCopy-CWNYcABI.js +0 -14
  170. package/site/dist/assets/PhCreditCard-Fy4pzwtt.js +0 -14
  171. package/site/dist/assets/PhCurrencyDollar-BgiaenCi.js +0 -14
  172. package/site/dist/assets/PhDesktop-CxrzCSv5.js +0 -14
  173. package/site/dist/assets/PhDeviceMobile-CsyA5Goi.js +0 -14
  174. package/site/dist/assets/PhDotsThree-D-k1BiYg.js +0 -14
  175. package/site/dist/assets/PhEnvelope-D8kzeNox.js +0 -14
  176. package/site/dist/assets/PhFunnelSimple-CfQs5DAW.js +0 -14
  177. package/site/dist/assets/PhGlobe-DvmSc9_A.js +0 -14
  178. package/site/dist/assets/PhIdentificationCard-CfkZm-5K.js +0 -14
  179. package/site/dist/assets/PhImage-Cf0J2ZfJ.js +0 -14
  180. package/site/dist/assets/PhInfo-Bwi51-2X.js +0 -14
  181. package/site/dist/assets/PhLightbulb-C4FZV7Es.js +0 -14
  182. package/site/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +0 -14
  183. package/site/dist/assets/PhPaperPlaneRight-zxQVvPLX.js +0 -14
  184. package/site/dist/assets/PhPlus-C4UoW-2n.js +0 -14
  185. package/site/dist/assets/PhPower-CFyWDmgD.js +0 -14
  186. package/site/dist/assets/PhPuzzlePiece-BjoNVfST.js +0 -14
  187. package/site/dist/assets/PhQrCode-CP3tFauY.js +0 -14
  188. package/site/dist/assets/PhQuestion-wOWJBd3G.js +0 -14
  189. package/site/dist/assets/PhQuestionMark-CV0k9C0Y.js +0 -14
  190. package/site/dist/assets/PhSealCheck-vIKzREuN.js +0 -14
  191. package/site/dist/assets/PhSignOut-CxELV-i0.js +0 -14
  192. package/site/dist/assets/PhSpinner-CGDmbzUd.js +0 -14
  193. package/site/dist/assets/PhTrash-C9PD0SAt.js +0 -14
  194. package/site/dist/assets/PhUser-0sWNXQeZ.js +0 -14
  195. package/site/dist/assets/PhVault-6JTskUcC.js +0 -14
  196. package/site/dist/assets/PhWarning-CoKs3gz6.js +0 -14
  197. package/site/dist/assets/PhWarningCircle-BXHw1fCt.js +0 -14
  198. package/site/dist/assets/PhX-DX0SFIqC.js +0 -14
  199. package/site/dist/assets/PhoneIcon-CvIiPwYQ.js +0 -1
  200. package/site/dist/assets/PinInput-DbZ0b1i1-CDXZBdQx.js +0 -247
  201. package/site/dist/assets/PrivyPluginContext-DA-yS5vO-CtQWBiV2.js +0 -1
  202. package/site/dist/assets/QrCode-DbnZwlkH-BymHrKY7.js +0 -22
  203. package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-Dro1btv5.js +0 -1
  204. package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-C1q1hiaN.js +0 -1
  205. package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-C21D20gD.js +0 -7
  206. package/site/dist/assets/SIWXUtil-CHZVugix.js +0 -1
  207. package/site/dist/assets/Screen-D30meWsY-CCeVNuWs.js +0 -175
  208. package/site/dist/assets/ScreenHeader-CHmc4-Lu-DjyrH7IK.js +0 -31
  209. package/site/dist/assets/ScreenLayout-OwaQQcxH-CrQM6kvA.js +0 -1
  210. package/site/dist/assets/SelectSourceAsset-CWFog6gm-RKjBsB6m.js +0 -140
  211. package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-BcWHJoEG.js +0 -14
  212. package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-kq1zvA7d.js +0 -11
  213. package/site/dist/assets/ShieldCheckIcon-o6RHYev1.js +0 -1
  214. package/site/dist/assets/SignRequestScreen-BHKv32KR-iQCaBkcz.js +0 -26
  215. package/site/dist/assets/SolanaWalletConnector-C7Lqk-Wz-BUdJJ0ep.js +0 -1
  216. package/site/dist/assets/StackedContainer-B2vaEl56-eQCM2cmv.js +0 -24
  217. package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-nART-xUU.js +0 -20
  218. package/site/dist/assets/Subtitle-CV-2yKE4-zxWw2m1Q.js +0 -13
  219. package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-Dw9geyK3.js +0 -1
  220. package/site/dist/assets/Title-BnzYV3Is-B_JpTatT.js +0 -7
  221. package/site/dist/assets/TodoList-DnyULl18-C8Eyy28X.js +0 -36
  222. package/site/dist/assets/TransactionDetails-e9nesl30-DeEL1JQS.js +0 -109
  223. package/site/dist/assets/TransactionErrorView-BDBNqA_f-Dffuo7I4.js +0 -178
  224. package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-CWLWUiHy.js +0 -31
  225. package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-Bo-tm6wr.js +0 -6
  226. package/site/dist/assets/TurnstileWrapper-B7sNddys-Jwy1tJtm.js +0 -1
  227. package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-gFbSIUhh.js +0 -1
  228. package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-Coy4E1NQ.js +0 -1
  229. package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-D7m70C4b.js +0 -1
  230. package/site/dist/assets/Value-DTgR824E-BRuIGiec.js +0 -27
  231. package/site/dist/assets/WalletCards-DH1rqayz-Bgp9Fsgs.js +0 -1
  232. package/site/dist/assets/WalletIcon-gKf0gTw6.js +0 -1
  233. package/site/dist/assets/WalletInfoCard-sq_2wgFg-ISBsQt8p.js +0 -29
  234. package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-DG-RuO-F.js +0 -1
  235. package/site/dist/assets/WalletLink-DK5LB5Ha-CXBqCHf3.js +0 -20
  236. package/site/dist/assets/WalletOverflowButton-bfCnp-9T-DP0-PoZL.js +0 -1
  237. package/site/dist/assets/WarningBanner-ZZqCEtZK-2eU4Qo74.js +0 -21
  238. package/site/dist/assets/__vite-browser-external-CitKSmYk.js +0 -1
  239. package/site/dist/assets/_esm-CJe2F7LL.js +0 -7
  240. package/site/dist/assets/_esm-zhBBffjV.js +0 -1
  241. package/site/dist/assets/accounts-Bq8t1wAD.js +0 -1
  242. package/site/dist/assets/accounts-D96UKWkC.js +0 -1
  243. package/site/dist/assets/analytics-mkkvFRju-BRBcadka.js +0 -1
  244. package/site/dist/assets/baseSepolia-DX-qGsik.js +0 -1
  245. package/site/dist/assets/basic-MlZ7f4s9.js +0 -1575
  246. package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +0 -1
  247. package/site/dist/assets/ccip-BI9LWBBg.js +0 -1
  248. package/site/dist/assets/ccip-C-59SNEF.js +0 -7
  249. package/site/dist/assets/ccip-y08wK9du.js +0 -1
  250. package/site/dist/assets/chain-DM3oH6Px.js +0 -8
  251. package/site/dist/assets/check-BPgcwEPP.js +0 -1
  252. package/site/dist/assets/chevron-down-BSsbXkK-.js +0 -1
  253. package/site/dist/assets/circle-alert-DWaeLZNj.js +0 -1
  254. package/site/dist/assets/circle-check-big-Chb1ivw9.js +0 -1
  255. package/site/dist/assets/circle-x-AV9Cet0R.js +0 -1
  256. package/site/dist/assets/client-D0IV9lV9.js +0 -2
  257. package/site/dist/assets/client-Dsa7_3V3.js +0 -9
  258. package/site/dist/assets/coinbase-DCPC2L_R-Rs9nVCfm.js +0 -3
  259. package/site/dist/assets/copy-Ckr0AkL6.js +0 -1
  260. package/site/dist/assets/core-zQ1tZtVZ.js +0 -12
  261. package/site/dist/assets/createLucideIcon-IPW50ckY.js +0 -1
  262. package/site/dist/assets/defineChain-CiuCXUZW.js +0 -1
  263. package/site/dist/assets/dijkstra-Drfl93V4.js +0 -1
  264. package/site/dist/assets/dist-BxQqwnue.js +0 -16
  265. package/site/dist/assets/dist-Cm7pNAtL.js +0 -1
  266. package/site/dist/assets/dist-CoS6E-3x.js +0 -1
  267. package/site/dist/assets/dist-Dl07uGq1.js +0 -1
  268. package/site/dist/assets/embed.worker-ugGhEqCV.js +0 -1
  269. package/site/dist/assets/errors-BQ3N-RVt-BLqjTPNR.js +0 -1
  270. package/site/dist/assets/esm-C3DslVJx.js +0 -1
  271. package/site/dist/assets/esm-Ci1ogKuK.js +0 -1
  272. package/site/dist/assets/esm-DXsETz3H.js +0 -1
  273. package/site/dist/assets/esm-n2lWo7kz.js +0 -1
  274. package/site/dist/assets/esm-vs5jNx_Y.js +0 -37
  275. package/site/dist/assets/ethers-zTjbodk5-B7BBFFKf.js +0 -1
  276. package/site/dist/assets/eventemitter3-CL76jPsW.js +0 -1
  277. package/site/dist/assets/external-link-D-uehwM2.js +0 -1
  278. package/site/dist/assets/farcaster-DPlSjvF5-BqTvDXBR.js +0 -1
  279. package/site/dist/assets/features-CYXRa3_m.js +0 -2
  280. package/site/dist/assets/fingerprint-pattern-D8ytA16Q.js +0 -1
  281. package/site/dist/assets/floating-ui.react-dom-DKWOL9UG.js +0 -1
  282. package/site/dist/assets/floating-ui.react-xRkl9O3u.js +0 -1
  283. package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +0 -1
  284. package/site/dist/assets/formatter-CVbp4SlJ.js +0 -1
  285. package/site/dist/assets/get-entropy-details-for-user-dHRH5Gpi-Dukf7_kJ.js +0 -1
  286. package/site/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +0 -1
  287. package/site/dist/assets/getErc20Balance-jXNpFf0N-V2btxzrJ.js +0 -1
  288. package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-CtCwQuGA.js +0 -1
  289. package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +0 -1
  290. package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +0 -1
  291. package/site/dist/assets/guards-BIW-GiMJ-CHfXo8XI.js +0 -1
  292. package/site/dist/assets/hooks.module-BYZGfwDl.js +0 -1
  293. package/site/dist/assets/hourglass-CPG1HZmf.js +0 -1
  294. package/site/dist/assets/id-UqEwL2BI-CdKXapd-.js +0 -1
  295. package/site/dist/assets/index-BdEw5wyl-ChSJvPZk.js +0 -1
  296. package/site/dist/assets/index-CKdAF_dK.js +0 -8
  297. package/site/dist/assets/index-CWARkn2w-Cezl_uBr.js +0 -61
  298. package/site/dist/assets/index-DvMddJcd-D-4mRLKK.js +0 -12
  299. package/site/dist/assets/index-YiCw0Y_x-BX1zsiqG.js +0 -437
  300. package/site/dist/assets/index.browser-B-i-Lj3J.js +0 -1
  301. package/site/dist/assets/index.browser-BMmUcykv.js +0 -1
  302. package/site/dist/assets/index.es-BmqyoBEM.js +0 -2
  303. package/site/dist/assets/index.es-C1v1or--.js +0 -3
  304. package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-By6r0dVB.js +0 -1
  305. package/site/dist/assets/jsx-runtime-BbDfbRii.js +0 -1
  306. package/site/dist/assets/landmark-CH6LV6F0.js +0 -1
  307. package/site/dist/assets/lib-BsS8z8Lj.js +0 -1
  308. package/site/dist/assets/localBatchGatewayRequest-5YxrERBj.js +0 -32
  309. package/site/dist/assets/lock-DcskI4Bb.js +0 -1
  310. package/site/dist/assets/logger-CsXm3oIv-B0UYpNFI.js +0 -1
  311. package/site/dist/assets/mail-Bs0r5yOi.js +0 -1
  312. package/site/dist/assets/modal-context-CwmSeFcv-DruX9J1E.js +0 -1
  313. package/site/dist/assets/native-BKj27wfc.js +0 -1
  314. package/site/dist/assets/ofetch.CWycOUEr-CHp-crOQ.js +0 -1
  315. package/site/dist/assets/parseAbi-Csg-8t59.js +0 -2
  316. package/site/dist/assets/parseAbiParameters-BWbIMYe4.js +0 -1
  317. package/site/dist/assets/parseEther-CGP3gnf2.js +0 -1
  318. package/site/dist/assets/pkce-DXF0yKjP-Bqz4wAsq.js +0 -1
  319. package/site/dist/assets/preload-helper-BaNbYf_w.js +0 -1
  320. package/site/dist/assets/privy-context-81KmsBw2-CjWGzyg7.js +0 -2
  321. package/site/dist/assets/property-DuZ9DLP4.js +0 -3
  322. package/site/dist/assets/react-DCXkXSrv.js +0 -1
  323. package/site/dist/assets/react-DQnMl2Xv.js +0 -1
  324. package/site/dist/assets/react-DrJ0MmMO.js +0 -1
  325. package/site/dist/assets/react-auth-sHnipzbS.js +0 -1
  326. package/site/dist/assets/react-dom-5dW7aKoP.js +0 -1
  327. package/site/dist/assets/reservoir-x-nGuZkT-BMX127i6.js +0 -1
  328. package/site/dist/assets/roles-32M1l9jI.js +0 -1
  329. package/site/dist/assets/rolldown-runtime-BcKkbAw3.js +0 -1
  330. package/site/dist/assets/safe-url-D7SRPu33-CkMedGro.js +0 -1
  331. package/site/dist/assets/secp256k1-C4nzcPo-.js +0 -1
  332. package/site/dist/assets/secp256k1-D92aGNnU.js +0 -1
  333. package/site/dist/assets/secp256k1-DmbwyFau.js +0 -1
  334. package/site/dist/assets/secp256k1-_MleGpqL.js +0 -1
  335. package/site/dist/assets/secp256k1-xl2og-wO.js +0 -1
  336. package/site/dist/assets/serializeAuthorizationList-CX8hGL56.js +0 -1
  337. package/site/dist/assets/serializeSignature-DfxkPnu-.js +0 -2
  338. package/site/dist/assets/sha2-BU_QyRTx.js +0 -1
  339. package/site/dist/assets/shared-DRZUmnL5-xqAUARWo.js +0 -193
  340. package/site/dist/assets/shared-FM0rljBt--Avg6q2R.js +0 -21
  341. package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-ByFOTrQK.js +0 -1
  342. package/site/dist/assets/simulateTransaction-CfuOrae4-CMFGDgT_.js +0 -1
  343. package/site/dist/assets/smartphone-CcEZ-XAy.js +0 -1
  344. package/site/dist/assets/src-BBjkfi-Q.js +0 -1
  345. package/site/dist/assets/storage-Ufl800Ne-EalZTH9q.js +0 -9
  346. package/site/dist/assets/stringify-BlDm7tuc.js +0 -21
  347. package/site/dist/assets/stripe.esm-CZRDpc-N.js +0 -2
  348. package/site/dist/assets/styles-BsotlekN-CXEB4Ud9.js +0 -9
  349. package/site/dist/assets/styles-Cm9H63WO-D90SsXOs.js +0 -92
  350. package/site/dist/assets/styles-DVyDvTdj-BTABn2K8.js +0 -74
  351. package/site/dist/assets/styles-hslXy6xG-D-49b1rk.js +0 -164
  352. package/site/dist/assets/telegram-B-JqnkqZ-RBoY3PLx.js +0 -1
  353. package/site/dist/assets/to-ui-error-DWe-qwS3-DgCO-Y70.js +0 -4
  354. package/site/dist/assets/toViemAccount-B5iDGq1b-DZ1MBqUW.js +0 -2
  355. package/site/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +0 -1
  356. package/site/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +0 -1
  357. package/site/dist/assets/transformers.web-D4RvOP4-.js +0 -40
  358. package/site/dist/assets/transformers.web-D8W1u_I2.js +0 -49
  359. package/site/dist/assets/triangle-alert-CWjYH75H.js +0 -1
  360. package/site/dist/assets/twitch-5IOe4sIQ-lDtgk0os.js +0 -1
  361. package/site/dist/assets/types-4CuOD23i.js +0 -1
  362. package/site/dist/assets/use-headless-crypto-deposit-Yn-QRLB3-Dn6_8w-Y.js +0 -1
  363. package/site/dist/assets/use-unlink-wallet-BKK4_5Ur-DgsQ75lh.js +0 -1
  364. package/site/dist/assets/useActiveWallet-B-yZYGc6-B6JWREbk.js +0 -123
  365. package/site/dist/assets/useGetSolPrice-x7gfUIHJ-D1hmQfpA.js +0 -1
  366. package/site/dist/assets/useGetTokenPrice-CaoUkb79-ZnbuJ-vP.js +0 -1
  367. package/site/dist/assets/useI18n-C-5n_noF-BcqC76yj.js +0 -1
  368. package/site/dist/assets/useWalletBalance-CZnP5f_f-L3V0jDjL.js +0 -1
  369. package/site/dist/assets/useWallets-X1ndvJ_U-CLwUcevw.js +0 -1
  370. package/site/dist/assets/utils-BkR7EQjg.js +0 -1
  371. package/site/dist/assets/utils-DJhBNOZA.js +0 -1
  372. package/site/dist/assets/utils-DdckVfQr.js +0 -1
  373. package/site/dist/assets/w3m-modal-BMubXAoG.js +0 -1174
  374. package/site/dist/assets/wallet-Bn85Sg2W.js +0 -1
  375. package/site/dist/assets/wallet-connect-BvJtUsDt-Y03hhqFN.js +0 -1
  376. package/site/dist/assets/wallet-uSKqQsgP.js +0 -2
  377. package/site/dist/assets/walletconnect-registry-xxG8XLCb-D1SSFvMp.js +0 -1
  378. package/site/dist/assets/walletconnect-v2-3frQFwbg-Dv6JY_ko.js +0 -12
  379. package/site/dist/assets/wui-ux-by-reown-fVu0QkI4.js +0 -1147
  380. package/site/dist/assets/x-rlSp9U7W.js +0 -1
  381. package/src/discover/explore.js +0 -271
  382. package/src/market/settle.js +0 -165
  383. package/src/market/terms.js +0 -200
  384. package/src/publish/cli.js +0 -336
  385. package/src/publish/envelope.js +0 -185
  386. package/src/publish/manifest.js +0 -142
@@ -1,37 +0,0 @@
1
- import{s as e,t}from"./rolldown-runtime-BcKkbAw3.js";import{At as n,Ct as r,Dt as i,Et as a,H as o,L as s,M as c,Mt as l,Nt as u,Ot as d,P as f,R as p,St as m,Tt as h,U as g,Yt as _,_t as v,at as y,bn as b,bt as x,ct as ee,dr as te,dt as ne,fn as re,ft as ie,gt as ae,ht as oe,it as se,jt as ce,kt as le,lt as ue,mt as de,nt as fe,ot as pe,pn as me,pt as he,rt as ge,st as _e,tt as ve,ut as ye,vt as be,wt as S,xn as xe,xt as Se,y as Ce,yt as we}from"./_esm-CJe2F7LL.js";import{Yn as Te,at as Ee,br as De,xn as Oe,zn as ke}from"./chain-DM3oH6Px.js";import{$ as Ae,B as C,Bt as je,F as Me,Ft as Ne,G as Pe,H as Fe,I as w,J as T,K as E,L as Ie,Q as D,U as Le,V as Re,X as ze,Y as Be,Z as Ve,ft as He,gn as O,it as Ue,mn as We,mt as k,nt as Ge,pt as Ke,q as A,rt as qe,tt as Je,z as Ye,zt as Xe}from"./ccip-C-59SNEF.js";import{c as Ze,t as Qe}from"./serializeAuthorizationList-CX8hGL56.js";import{i as $e,l as et,n as tt,r as nt,t as rt,u as it}from"./defineChain-CiuCXUZW.js";import{a as at,i as ot,n as st,o as ct,r as lt,s as ut}from"./esm-n2lWo7kz.js";import{Ct as dt,St as ft,_t as pt,at as mt,bt as ht,dt as gt,ft as _t,lt as vt,mt as yt,nt as bt,ot as xt,rt as St,vt as Ct,wt,xt as Tt,yt as Et}from"./privy-context-81KmsBw2-CjWGzyg7.js";import{d as Dt,l as Ot,p as kt}from"./types-4CuOD23i.js";var At=new TextEncoder;Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)]);var jt={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Mt(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);At.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(jt[r[e]]<<18)+(jt[r[e+1]]<<12)+(jt[r[e+2]]<<6)+jt[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}var Nt=v(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Pt=Nt.create(BigInt(`-3`)),Ft=ae({a:Pt,b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Nt,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},ce),It=v(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`)),Lt=It.create(BigInt(`-3`));ae({a:Lt,b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:It,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},l);var Rt=v(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`)),zt=Rt.create(BigInt(`-3`));ae({a:zt,b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Rt,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},u);var Bt=Ft;function Vt(e){let{hash:t,payload:n,publicKey:r,signature:a}=e;return Bt.verify(a,n instanceof Uint8Array?n:Je(n),i(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}Ge(`ox.p256.fromSeed.v1`);function Ht(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Je(s);if(u.length<37)return!1;if(a!==void 0){let e=u.slice(0,32),t=le(Re(a),{as:`Bytes`});if(!qe(e,t))return!1}let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);if(f.type!==`webauthn.get`||!f.challenge||Ye(Mt(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin))return!1;let p=le(Ge(c),{as:`Bytes`});return Vt({hash:!0,payload:Ae(u,p),publicKey:i,signature:o})}function Ut(e){return Ht(e)}var Wt={path:`/api/v1/analytics_events`,method:`POST`},Gt={path:`/api/v1/apps/:app_id`,method:`GET`},Kt={path:`/api/v1/funding/coinbase_on_ramp/init`,method:`POST`},qt={path:`/api/v1/funding/coinbase_on_ramp/status`,method:`GET`},Jt={path:`/api/v1/apps/:app_id/cross-app/connections`,method:`GET`},Yt={path:`/api/v1/custom_jwt_account/authenticate`,method:`POST`},Xt={path:`/api/v1/custom_jwt_account/link`,method:`POST`},Zt={path:`/api/v1/farcaster/init`,method:`POST`},Qt={path:`/api/v1/farcaster/authenticate`,method:`POST`},$t={path:`/api/v1/farcaster/link`,method:`POST`},en={path:`/api/v1/farcaster/unlink`,method:`POST`},tn={path:`/api/v1/farcaster/status`,method:`GET`},nn={path:`/api/v2/farcaster/init`,method:`POST`},rn={path:`/api/v2/farcaster/authenticate`,method:`POST`},an={path:`/api/v1/guest/authenticate`,method:`POST`},on={path:`/api/v1/mfa/passkeys/init`,method:`POST`},sn={path:`/api/v1/mfa/passwordless_sms/init`,method:`POST`},cn={path:`/api/v1/mfa_auth/passkeys/init`,method:`POST`},ln={path:`/api/v1/mfa_auth/passkeys/verify`,method:`POST`},un={path:`/api/v1/mfa_auth/passkeys/enrollment`,method:`POST`},dn={path:`/api/v1/mfa_auth/totp/enroll`,method:`POST`},fn={path:`/api/v1/mfa_auth/totp/verify`,method:`POST`},pn={path:`/api/v1/mfa_auth/totp/init`,method:`POST`},mn={path:`/api/v1/mfa_auth/totp/unenroll`,method:`POST`},hn={path:`/api/v1/oauth/authenticate`,method:`POST`},gn={path:`/api/v1/oauth/init`,method:`POST`},_n={path:`/api/v1/oauth/link`,method:`POST`},vn={path:`/api/v1/oauth/unlink`,method:`POST`},yn={path:`/api/v1/passkeys/link`,method:`POST`},bn={path:`/api/v1/passkeys/authenticate`,method:`POST`},xn={path:`/api/v1/passkeys/register`,method:`POST`},Sn={path:`/api/v1/passkeys/authenticate/init`,method:`POST`},Cn={path:`/api/v1/passkeys/register/init`,method:`POST`},wn={path:`/api/v1/passkeys/link/init`,method:`POST`},Tn={path:`/api/v1/passwordless/authenticate`,method:`POST`},En={path:`/api/v1/passwordless/init`,method:`POST`},Dn={path:`/api/v1/passwordless/link`,method:`POST`},On={path:`/api/v1/passwordless/unlink`,method:`POST`},kn={path:`/api/v1/passwordless/update`,method:`POST`},An={path:`/api/v1/passwordless_sms/authenticate`,method:`POST`},jn={path:`/api/v1/passwordless_sms/init`,method:`POST`},Mn={path:`/api/v1/passwordless_sms/link`,method:`POST`},Nn={path:`/api/v1/passwordless_sms/unlink`,method:`POST`},Pn={path:`/api/v1/passwordless_sms/update`,method:`POST`},Fn={path:`/api/v1/embedded_wallets/:address/recovery/key_material`,method:`POST`},In={path:`/api/v1/recovery/oauth/init`,method:`POST`},Ln={path:`/api/v1/recovery/oauth/authenticate`,method:`POST`},Rn={path:`/api/v1/recovery/oauth/init_icloud`,method:`POST`},zn={path:`/api/v1/recovery/configuration_icloud`,method:`POST`},Bn={path:`/api/v1/onramp/deposit_addresses/quote`,method:`POST`},Vn={path:`/api/v1/onramp/deposit_addresses/orders/:order_id`,method:`GET`},Hn={path:`/api/v1/onramp/deposit_addresses/:deposit_address_id/next_order`,method:`GET`},Un={path:`/api/v1/onramp/deposit_addresses/deposit_config`,method:`GET`},Wn={path:`/api/v1/wallets/:wallet_id/deposit_accounts/crypto`,method:`POST`},Gn={path:`/api/v1/deposit_accounts/crypto/config`,method:`GET`},Kn={path:`/api/v1/deposit_accounts/crypto/quote`,method:`POST`},qn={path:`/api/v1/wallets/:wallet_id/deposit_accounts/crypto/orders/:order_id`,method:`GET`},Jn={path:`/api/v1/wallets/:wallet_id/deposit_accounts/crypto/next_order`,method:`GET`},Yn=(e,t)=>t?Object.entries(t).reduce((e,[t,n])=>e.replace(`:${t}`,`${n}`),e):e,Xn={path:`/api/v1/sessions`,method:`POST`},Zn={path:`/api/v1/sessions/logout`,method:`POST`},Qn={path:`/api/v1/apps/:app_id/smart_wallets`,method:`GET`},$n={path:`/api/v1/siwe/init`,method:`POST`},er={path:`/api/v1/siwe/authenticate`,method:`POST`},tr={path:`/api/v1/siwe/link`,method:`POST`},nr={path:`/api/v1/siwe/link_smart_wallet`,method:`POST`},rr={path:`/api/v1/siwe/unlink`,method:`POST`},ir={path:`/api/v1/siws/init`,method:`POST`},ar={path:`/api/v1/siws/authenticate`,method:`POST`},or={path:`/api/v1/siws/link`,method:`POST`},sr={path:`/api/v1/siws/unlink`,method:`POST`},cr={path:`/api/v1/users/me/accept_terms`,method:`POST`},lr={path:`/api/v1/telegram/authenticate`,method:`POST`},ur={path:`/api/v1/telegram/link`,method:`POST`},dr={path:`/api/v1/telegram/unlink`,method:`POST`},fr={path:`/api/v1/plugins/moonpay_on_ramp/sign`,method:`POST`},pr={path:`/api/v1/fiat/customer`,method:`GET`},mr={path:`/api/v1/fiat/customer`,method:`PUT`},hr={path:`/api/v1/fiat/customer/virtual_accounts`,method:`PUT`},gr={path:`/api/v1/onramp/fiat/quotes`,method:`PUT`},_r={path:`/api/v1/onramp/fiat/provider_session_url`,method:`POST`},vr={path:`/api/v1/onramp/fiat/status`,method:`GET`},yr={path:`/api/v1/fiat/onramp_enabled`,method:`GET`},br={path:`/api/v1/onramp/stripe/create_link_auth_intent`,method:`POST`},xr={path:`/api/v1/onramp/stripe/exchange_tokens`,method:`POST`},Sr={path:`/api/v1/onramp/stripe/customer`,method:`GET`},Cr={path:`/api/v1/onramp/stripe/customer/wallets`,method:`GET`},wr={path:`/api/v1/onramp/stripe/customer/payment_tokens`,method:`GET`},Tr={path:`/api/v1/onramp/stripe/create_onramp_session`,method:`POST`},Er={path:`/api/v1/onramp/stripe/quote/:session_id`,method:`POST`},Dr={path:`/api/v1/onramp/stripe/checkout/:session_id`,method:`POST`},Or={path:`/api/v1/onramp/stripe/transaction_limits`,method:`GET`},kr={path:`/api/v1/users/me`,method:`GET`},Ar={path:`/api/v1/wallets`,method:`POST`},jr={path:`/api/v1/wallets/:wallet_id`,method:`GET`},Mr={path:`/api/v1/wallets/:wallet_id/rpc`,method:`POST`},Nr={path:`/api/v1/wallets/:wallet_id`,method:`PATCH`},Pr={path:`/api/v1/wallets/revoke`,method:`POST`},Fr={path:`/api/v1/wallets/:wallet_id/transfer`,method:`POST`},Ir={path:`/api/v1/wallets/:wallet_id/actions/:action_id`,method:`GET`},Lr={path:`/api/v1/wallets/:wallet_id/actions`,method:`GET`};new TextEncoder;var Rr=new TextDecoder,zr=e=>{let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n},Br=e=>{let t=e;t instanceof Uint8Array&&(t=Rr.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`).replace(/\s/g,``);try{return zr(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}},Vr=class extends Error{static get code(){return`ERR_JOSE_GENERIC`}constructor(e){var t;super(e),this.code=`ERR_JOSE_GENERIC`,this.name=this.constructor.name,(t=Error.captureStackTrace)==null||t.call(Error,this,this.constructor)}},Hr=class extends Vr{constructor(){super(...arguments),this.code=`ERR_JWT_INVALID`}static get code(){return`ERR_JWT_INVALID`}};function Ur(e){return typeof e==`object`&&!!e}function Wr(e){if(!Ur(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var Gr=Br;function Kr(e){if(typeof e!=`string`)throw new Hr(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:t,length:n}=e.split(`.`);if(n===5)throw new Hr(`Only JWTs using Compact JWS serialization can be decoded`);if(n!==3)throw new Hr(`Invalid JWT`);if(!t)throw new Hr(`JWTs must contain a payload`);let r;try{r=Gr(t)}catch{throw new Hr(`Failed to base64url decode the payload`)}let i;try{i=JSON.parse(Rr.decode(r))}catch{throw new Hr(`Failed to parse the decoded payload as JSON`)}if(!Wr(i))throw new Hr(`Invalid JWT Claims Set`);return i}var qr=e(t(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1),Jr=qr.default,Yr={0:`legacy`,1:`eip2930`,2:`eip1559`,3:`eip4844`,4:`eip7702`},Xr={legacy:0,eip2930:1,eip1559:2,eip4844:3,eip7702:4},j=e=>e===void 0?void 0:BigInt(e);function Zr(e){let{type:t=2,authorizationList:n,...r}=typeof e==`string`?JSON.parse(e):e,i;r.accessList&&Array.isArray(r.accessList)?i=r.accessList.map(e=>Array.isArray(e)?{address:e[0],storageKeys:e[1]}:e):r.accessList&&(i=Object.entries(r.accessList).map(e=>({address:e[0],storageKeys:e[1]})));let a=Number(r.chainId??1),o=De(r.data)?r.data:r.data?Te(Uint8Array.from(r.data)):void 0,s=r.nonce?Number(r.nonce):void 0,c={chainId:a,data:o,nonce:s,value:j(r.value),gas:j(r.gas??r.gasLimit)},l=Number(t);if(l===0)return{...r,type:Yr[l],...c,gasPrice:j(r.gasPrice),accessList:void 0,maxFeePerGas:void 0,maxPriorityFeePerGas:void 0};if(l===1)return{...r,type:Yr[l],...c,gasPrice:j(r.gasPrice),accessList:i,maxFeePerGas:void 0,maxPriorityFeePerGas:void 0};if(l===2)return{...r,type:Yr[l],...c,nonce:s,accessList:i,maxFeePerGas:j(r.maxFeePerGas),maxPriorityFeePerGas:j(r.maxPriorityFeePerGas),gasPrice:void 0,maxFeePerBlobGas:void 0};if(l===4){let e=(n??[]).map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:e.yParity??(e.v===void 0?0:Number(e.v)-27)}));return{...r,type:Yr[l],...c,nonce:s,accessList:i,maxFeePerGas:j(r.maxFeePerGas),maxPriorityFeePerGas:j(r.maxPriorityFeePerGas),authorizationList:e,gasPrice:void 0,maxFeePerBlobGas:void 0}}throw Error(`Unsupported transaction type: ${t}`)}var Qr=`tempo`,$r=(e,t)=>{if(e===void 0)return;let n=Number(e);if(!Number.isSafeInteger(n)||n<0)throw Error(`Invalid Tempo ${t}: ${String(e)}`);return n};function ei(e){if(!e||typeof e!=`object`)return!1;let t=e.type;if(!(t===118||typeof t==`string`&&t.toLowerCase()===`tempo`))return!1;let n=e.calls;return Array.isArray(n)&&n.length>0}function ti(e){let t;if(typeof e==`string`)try{t=JSON.parse(e)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Invalid Tempo transaction JSON: ${t}`)}else t=e;let n;if(t.accessList&&Array.isArray(t.accessList)?n=t.accessList.map(e=>Array.isArray(e)?{address:e[0],storageKeys:e[1]}:e):t.accessList&&(n=Object.entries(t.accessList).map(e=>({address:e[0],storageKeys:e[1]}))),t.chainId===void 0||t.chainId===null)throw Error(`Tempo transactions require a chainId`);let r=Number(t.chainId);if(!Number.isSafeInteger(r)||r<=0)throw Error(`Invalid Tempo chainId: ${String(t.chainId)}`);let i=$r(t.nonce,`nonce`);if(!Array.isArray(t.calls)||t.calls.length===0)throw Error(`Tempo transactions require at least one call`);let a=t.calls.map(e=>({to:e.to,data:e.data,value:j(e.value)}));return{type:Qr,chainId:r,from:t.from,nonce:i,gas:j(t.gasLimit),maxFeePerGas:j(t.maxFeePerGas),maxPriorityFeePerGas:j(t.maxPriorityFeePerGas),calls:a,feeToken:t.feeToken,nonceKey:j(t.nonceKey),validBefore:$r(t.validBefore,`validBefore`),validAfter:$r(t.validAfter,`validAfter`),feePayerSignature:t.feePayerSignature,accessList:n}}function ni(e,t){let{chain:n,gas:r,...i}=e;return{...i,...r!==void 0&&t===void 0?{gasLimit:r}:{}}}var ri=e(t(((e,t)=>{t.exports=function e(t){if(typeof t==`number`&&isNaN(t))throw Error(`NaN is not allowed`);if(typeof t==`number`&&!isFinite(t))throw Error(`Infinity is not allowed`);return typeof t!=`object`||!t?JSON.stringify(t):t.toJSON instanceof Function?e(t.toJSON()):Array.isArray(t)?`[${t.reduce((t,n,r)=>`${t}${r===0?``:`,`}${e(n===void 0||typeof n==`symbol`?null:n)}`,``)}]`:`{${Object.keys(t).sort().reduce((n,r)=>t[r]===void 0||typeof t[r]==`symbol`?n:`${n}${n.length===0?``:`,`}${e(r)}:${e(t[r])}`,``)}}`}}))(),1),ii=e=>lt.encode(e),ai=e=>{try{return Uint8Array.from(lt.decode(e))}catch(t){if(t instanceof Error&&t.message.includes(`string should have whole number of bytes`))return Uint8Array.from(ot.decode(e));throw t}},oi=e=>ot.encode(e),si=e=>Uint8Array.from(ot.decode(e)),ci=e=>at.encode(e),li=e=>Uint8Array.from(at.decode(e)),ui=e=>ct.encode(e),di=e=>Uint8Array.from(ct.decode(e)),fi=e=>Uint8Array.from(ut.decode(e.startsWith(`0x`)?e.slice(2):e)),pi=e=>ut.encode(e),mi=new TextEncoder,hi=e=>Uint8Array.from(mi.encode(e)),gi=new TextDecoder,_i=new TextDecoder(`utf-8`,{fatal:!0}),M={utf8:{fromBytes:(e,t)=>(t?.fatal?_i:gi).decode(e),toBytes:hi},base64:{fromBytes:ii,toBytes:ai},base64nopad:{fromBytes:oi,toBytes:si},base64url:{fromBytes:ci,toBytes:li},base64urlnopad:{fromBytes:ui,toBytes:di},hex:{fromBytes:pi,toBytes:fi}};function vi(e){let t=Je(m(e.from)),n=Ue(He(e.salt)?e.salt:Je(e.salt),32),r=`bytecodeHash`in e?He(e.bytecodeHash)?e.bytecodeHash:Je(e.bytecodeHash):d(e.bytecode,{as:`Bytes`});return m(A(d(Ae(Je(`0xff`),t,n,r),{as:`Hex`}),12))}var yi=2049,bi=2n**64n-1n,xi=`0x${`00`.repeat(32)}`,Si=`tempo:multisig:account`,Ci=`0x583cc63a2e37f645b43eac911b1a6d6de08b83abdc308c61364edda8cfc3bd37`,wi=`tempo:multisig:signature`;function Ti(e){let{owners:t,salt:n,threshold:r,version:i=0n}=e;if(n!==void 0&&E(n)!==32)throw new P({reason:`salt must be 32 bytes`});if(ji(i),t.length===0)throw new P({reason:`owners cannot be empty`});if(t.length>48)throw new P({reason:`too many owners`});if(!Number.isInteger(Number(r)))throw new P({reason:`threshold must be an integer`});if(Number(r)<1)throw new P({reason:`threshold cannot be zero`});if(Number(r)>8)throw new P({reason:`threshold exceeds max threshold`});let a=0,o=[],s;for(let e of t){if(!h(e.owner)||T(e.owner)===0n)throw new P({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new P({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new P({reason:`owner weight cannot be zero`});let t=T(e.owner);if(s!==void 0&&s>=t)throw new P({reason:`owners must be strictly ascending`});s=t;let n=Number(e.weight);a+=n,o.push(n)}if(a>255)throw new P({reason:`total owner weight exceeds u8 max`});if(Number(r)>a)throw new P({reason:`threshold exceeds total owner weight`});let c=o.sort((e,t)=>t-e).slice(0,8).reduce((e,t)=>e+t,0);if(Number(r)>c)throw new P({reason:`threshold exceeds weight reachable by 8 owner signatures`})}function N(e){let t=e.version??0n;ji(t);let n={owners:[...e.owners].sort((e,t)=>T(e.owner)<T(t.owner)?-1:1),salt:e.salt?Le(e.salt,32):xi,threshold:e.threshold,version:BigInt(t)};return Ti(n),n}function Ei(e){return N({...e,version:T(e.version)})}function Di(e){let[t,n,r,i]=e;if(e.length!==4||typeof t!=`string`||E(t)!==32||typeof n!=`string`||E(n)>8||n.startsWith(`0x00`)||typeof r!=`string`||E(r)>1||r.startsWith(`0x00`)||!Array.isArray(i)||i.some(e=>!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`||!h(e[0])||typeof e[1]!=`string`||E(e[1])>1||e[1].startsWith(`0x00`)))throw new P({reason:`invalid config RLP tuple`});let a={salt:t&&t!==`0x`?Le(t,32):xi,version:n===`0x`?0n:T(n),threshold:r===`0x`?0:Be(r),owners:i.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:Be(n)}})};return Ti(a),a}function Oi(e,t){if(x(t.factory),Ti(e),BigInt(e.version??0)!==0n)throw new P({reason:`account address requires version zero`});let n=d(w(Re(Si),Le(e.salt??xi,32),C(e.threshold,{size:1}),C(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,C(e.weight,{size:1})]))),r=vi({bytecodeHash:Ci,from:t.factory,salt:n});if(T(r)===0n)throw new P({reason:`derived account cannot be zero`});if(e.owners.some(e=>S(e.owner,r)))throw new P({reason:`derived account cannot be an owner`});return r}function ki(e){let{account:t,config:n,payload:r}=e;if(ji(n.version),x(t),E(Ie(r))!==32)throw new P({reason:`payload must be 32 bytes`});return d(w(Re(wi),Ie(r),t,C(n.version??0n,{size:8})))}function Ai(e){Ti(e);let t=e.owners.map(e=>[e.owner,C(e.weight)]),n=e.salt?Le(e.salt,32):xi,r=BigInt(e.version??0);return[n,r===0n?`0x`:C(r),C(e.threshold),t]}var P=class extends k{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};function ji(e){if(typeof e!=`bigint`&&typeof e!=`number`||typeof e==`number`&&!Number.isSafeInteger(e)||BigInt(e)<0n||BigInt(e)>bi)throw new P({reason:`version must be an unsigned 64-bit integer`})}var Mi=`0x01`,Ni=`0x02`,Pi=`0x03`,Fi=`0x04`,Ii=`0x05`,Li=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Ri(e){let t=Wi(e);if(t===`secp256k1`){pe(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new Yi({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new Yi({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){let t=e;zi(t),Ri(t.inner);return}if(t===`multisig`){Bi(e);return}}function zi(e){if(e.version!==`v1`)return;let t=e.inner;for(;Wi(t)===`keychain`;)t=t.inner;if(Wi(t)===`multisig`)throw new Xi({reason:`multisig access keys require keychain V2`})}function Bi(e){let t=[];if(e.account||t.push(`account`),e.config||t.push(`config`),Array.isArray(e.signatures)||t.push(`signatures`),t.length>0)throw new Yi({envelope:e,missing:t,type:`multisig`});if(!h(e.account))throw new Xi({reason:`multisig account is invalid`});if(T(e.account)===0n)throw new Xi({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new Xi({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new Xi({reason:`multisig signatures exceed 8`});if(Ti(e.config),(e.config.version??0n)===0n&&e.config.owners.some(t=>S(t.owner,e.account)))throw new Xi({reason:`initial account cannot be an owner`});for(let t of e.signatures){let e=Wi(t);if(e===`keychain`||e===`multisig`)throw new Xi({reason:`owner approvals must be primitive signatures`});if(Ri(t),E(R(t))>2049)throw new Xi({reason:`multisig owner signature exceeds ${yi} bytes`})}}function F(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:F({...e,signature:t.inner}):t.type===`multisig`?t.account:r(Vi(e))}function Vi(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return fe({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Vi({payload:t,signature:n.inner});case`multisig`:throw new Ji({envelope:n})}}function I(e){return Hi(e)}function Hi(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?A(e,0,-E(Li)):e;if(E(t)===65){let e=ue(t);return pe(e),{signature:e,type:`secp256k1`}}let n=A(t,0,1),r=A(t,1),i=E(r);if(n===Mi){if(i!==129)throw new z({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:T(A(r,64,96)),y:T(A(r,96,128))},prehash:Be(A(r,128,129))!==0,signature:{r:T(A(r,0,32)),s:T(A(r,32,64))},type:`p256`}}if(n===Ni){if(i<128)throw new z({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=A(r,0,e),a,o;for(let t=37;t<e;t++){let e=ze(A(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=A(n,0,t),o=e;break}catch{}}if(!a||!o)throw new z({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:T(A(r,e+64,e+96)),y:T(A(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:T(A(r,e,e+32)),s:T(A(r,e+32,e+64))},type:`webAuthn`}}if(n===Pi||n===Fi){let e={userAddress:A(r,0,20),inner:Hi(A(r,20)),type:`keychain`,version:n===Fi?`v2`:`v1`};return Ri(e),e}if(n===Ii){let e=we(r);if(!Array.isArray(e)||e.length!==3)throw new z({reason:`invalid multisig wire shape: expected exactly three fields`,serialized:t});let[n,i,a]=e;if(typeof n!=`string`||!h(n))throw new z({reason:`invalid multisig account`,serialized:t});if(!Array.isArray(i))throw new z({reason:`invalid multisig config`,serialized:t});if(!Array.isArray(a)||a.length===0||a.length>8)throw new z({reason:`invalid multisig signatures list`,serialized:t});let o={type:`multisig`,account:n,config:Di(i),signatures:a.map(e=>{if(!D(e)||E(e)>2049)throw new z({reason:`invalid multisig owner signature`,serialized:t});if(E(e)!==65&&![`0x01`,`0x02`].includes(A(e,0,1)))throw new z({reason:`owner approvals must be primitive signatures`,serialized:t});return I(e)})};return Bi(o),o}throw new z({reason:`Unknown signature type identifier: ${n}. Expected ${Mi} (P256), ${Ni} (WebAuthn), ${Pi} (Keychain V1), ${Fi} (Keychain V2), or ${Ii} (Multisig)`,serialized:t})}function L(e,t){if(typeof e==`string`)return I(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Wi(e);if(n===`multisig`){let t=e;return{...t,config:N(t.config),signatures:t.signatures.map(e=>L(e)),type:n}}return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:r(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:r(fe({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Ui(e){if(typeof e==`string`){let t=I(w(Ii,e));if(t.type!==`multisig`)throw new Ji({envelope:e});return t}if(e.type===`secp256k1`)return{signature:ye(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:T(e.pubKeyX),y:T(e.pubKeyY)},signature:{r:T(e.r),s:T(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=E(t),r,i;for(let e=37;e<n;e++){let n=ze(A(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=A(t,0,e),i=n;break}catch{}}if(!r||!i)throw new z({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:T(e.pubKeyX),y:T(e.pubKeyY)},signature:{r:T(e.r),s:T(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e,n={type:`keychain`,userAddress:t.userAddress,inner:Ui(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}};return Ri(n),n}throw new Ji({envelope:e})}function Wi(e){if(typeof e!=`object`||!e)throw new Ji({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;if(`account`in e&&`config`in e&&`signatures`in e)return`multisig`;throw new Ji({envelope:e})}function R(e,t={}){let n=Wi(e);if(n===`secp256k1`)return w(ie(e.signature),t.magic?Li:`0x`);if(n===`p256`){let n=e;return w(Mi,C(n.signature.r,{size:32}),C(n.signature.s,{size:32}),C(n.publicKey.x,{size:32}),C(n.publicKey.y,{size:32}),C(+!!n.prehash,{size:1}),t.magic?Li:`0x`)}if(n===`webAuthn`){let n=e,r=w(n.metadata.authenticatorData,Re(n.metadata.clientDataJSON));return w(Ni,r,C(n.signature.r,{size:32}),C(n.signature.s,{size:32}),C(n.publicKey.x,{size:32}),C(n.publicKey.y,{size:32}),t.magic?Li:`0x`)}if(n===`keychain`){let n=e;Ri(n);let r=n.version===`v1`?Pi:Fi;return w(r,n.userAddress,R(n.inner),t.magic?Li:`0x`)}if(n===`multisig`){let n=e;return Ri(n),w(Ii,be([n.account,Ai(n.config),n.signatures.map(e=>R(e))]),t.magic?Li:`0x`)}throw new Ji({envelope:e})}function Gi(e){let{signatures:t}=e,n=ki(e);return t.map(e=>({key:T(F({payload:n,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function Ki(e){let t=Wi(e);if(t===`secp256k1`)return{...he(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:C(t.publicKey.x,{size:32}),pubKeyY:C(t.publicKey.y,{size:32}),r:C(t.signature.r,{size:32}),s:C(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=w(t.metadata.authenticatorData,Re(t.metadata.clientDataJSON));return{pubKeyX:C(t.publicKey.x,{size:32}),pubKeyY:C(t.publicKey.y,{size:32}),r:C(t.signature.r,{size:32}),s:C(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return zi(t),{type:`keychain`,userAddress:t.userAddress,signature:Ki(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`)return A(R(e),1);throw new Ji({envelope:e})}function qi(e,t){let{payload:n}=t,i=(()=>{if(t.address)return t.address;if(t.publicKey)return r(t.publicKey)})();if(!i)return!1;let a=L(e);if(a.type===`secp256k1`)return i?ge({address:i,payload:n,signature:a.signature}):!1;if(a.type===`p256`){let e=r(a.publicKey);return S(e,i)?Vt({hash:a.prehash,publicKey:a.publicKey,payload:n,signature:a.signature}):!1}if(a.type===`webAuthn`){let e=r(a.publicKey);return S(e,i)?Ut({challenge:Ie(n),metadata:a.metadata,publicKey:a.publicKey,signature:a.signature}):!1}throw new Zi(`Unable to verify signature envelope of type "${a.type}".`)}var Ji=class extends k{constructor({envelope:e}){super(`Unable to coerce value (\`${Ke(e)}\`) to a valid signature envelope.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Yi=class extends k{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type "${n}" is missing required properties: ${t.map(e=>`\`${e}\``).join(`, `)}.\n\nProvided: ${Ke(e)}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},z=class extends k{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},Xi=class extends k{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},Zi=class extends k{constructor(){super(...arguments),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};function B(e){return e.startsWith(`tempo`)?Qi(e).address:e}function Qi(e){if(!e.startsWith(`tempox`))throw new $i({address:e});let t=e.slice(6);return Me(t,{strict:!0}),{address:Se(t)}}var $i=class extends k{constructor({address:e}){super(`Tempo address "${e}" has an invalid prefix. Expected "tempox".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};function ea(e,t={}){if(typeof e.chainId==`string`)return ta(e);let n={...e,address:B(e.address)};return t.signature?{...n,signature:t.signature}:n}function ta(e){let{address:t,chainId:n,nonce:r}=e,i=Ui(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function na(e){return e.map(e=>ta(e))}function ra(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=I(i)),ea(a)}function ia(e){let t=[];for(let n of e)t.push(ra(n));return t}function aa(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:C(n),nonce:C(r),signature:Ki(i)}}function oa(e){return e.map(e=>aa(e))}function sa(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?R(e.signature):void 0;return[n?C(n):`0x`,t,r?C(r):`0x`,...i?[i]:[]]}function ca(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(sa(n));return t}var la=`0x20c0`;function ua(e){if(typeof e==`string`){let t=B(e);return x(t),t}let t=C(e,{size:18});return w(la,t)}function da(e,t={}){if(`keyId`in e)return fa(e);Ea(e.type,e.account);let n=e;n.witness!==void 0&&Da(n.witness),n.signature&&Oa(n.signature);let r={...n,...n.account===void 0?{}:{account:B(n.account)},address:B(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:B(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:B(e.address),selector:Ta(e.selector),...e.recipients?{recipients:e.recipients.map(e=>B(e))}:{}}))}:{}};if(t.signature){let e=L(t.signature);return Oa(e),{...r,signature:e}}return r}function fa(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0;Ea(o,l);let u=Ui(e.signature);Oa(u),s!==void 0&&Da(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:wa(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:T(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&Ca(e.period)>0?{period:Ca(e.period)}:{}})),...d?{scopes:d}:{},signature:u,...o===`multisig`?{account:l,type:o}:{type:o},...s===void 0?{}:{witness:s},...l===void 0?{}:{account:l},...c?{isAdmin:!0}:{}}}function pa(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;case`0x03`:return`multisig`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=ka(c)?void 0:Ca(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:Sa(n),...r===void 0?{}:{period:Ca(r)}}}):void 0,g=Array.isArray(u)?u.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})}):void 0,_=ka(d)?void 0:d;_!==void 0&&Da(_);let v=(()=>{if(!ka(f)){if(f!==`0x01`)throw new ja(f);return!0}})(),y=ka(p)?void 0:p;Ea(s,y);let b={address:a,chainId:r===`0x`?0n:T(r),...s===`multisig`?{account:y,type:s}:{type:s},...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...y===void 0?{}:{account:y},...v?{isAdmin:!0}:{}};if(n){let e=I(n);Oa(e),b.signature=e}return da(b)}function ma(e){return ga(e)}function ha(e){return pa(we(e))}function ga(e){let[t]=ya(e),n=be(t);return d(n)}function _a(e){let t=ya(e);return be(t)}function va(e){Ea(e.type,e.account);let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;Oa(s),c!==void 0&&Da(c);let d=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:Ta(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:C(r),expiry:typeof i==`number`?C(i):null,keyId:B(t),...o===`multisig`?{account:u,keyType:o}:{keyType:o},limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:C(t),...n?{period:xa(n)}:{}})),signature:Ki(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function ya(e){Ea(e.type,e.account);let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&Da(o);let l=(()=>{if(e.signature)return Oa(e.signature),R(e.signature)})(),u=e.type,d=(()=>{switch(u){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;case`multisig`:return`0x03`;default:throw Error(`Invalid key type: ${u}`)}})(),f=a?.map(e=>{let t=[e.token,ba(e.limit)];return e.period&&e.period>0&&t.push(xa(e.period)),t}),p=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([Ta(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),m=o!==void 0||s||c!==void 0,h=[{value:i!=null&&i!==0?xa(i):void 0,placeholder:`0x`},{value:f,placeholder:m?`0x`:[]},{value:p,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],g=-1;for(let e=h.length-1;e>=0;e--)if(h[e].value!==void 0){g=e;break}let _=h.slice(0,g+1).map(({value:e,placeholder:t})=>e??t);return[[ba(n),d,t,..._],...l?[l]:[]]}function ba(e){return e===0n?`0x`:C(e)}function xa(e){return e===0?`0x`:C(e)}function Sa(e){return e===`0x`?0n:BigInt(e)}function Ca(e){return e===`0x`?0:Be(e)}function wa(e){return typeof e==`string`?e:Array.isArray(e)?Ye(new Uint8Array(e)):e}function Ta(e){if(e)return e.startsWith(`0x`)?e:s(e)}function Ea(e,t){if(e===`multisig`&&t==null)throw new Na}function Da(e){if(E(e)!==32)throw new Aa(e)}function Oa(e){if(e.type===`keychain`)throw new Ma(e.type)}function ka(e){return e===void 0||e===`0x`}var Aa=class extends Error{constructor(e){super(`Witness \`${e}\` must be exactly 32 bytes (got ${E(e)} bytes).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},ja=class extends Error{constructor(e){super(`Admin marker \`${e}\` is invalid; expected \`0x01\` (TIP-1049).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},Ma=class extends Error{constructor(e){super(`Signature type \`${e}\` is invalid for key authorizations; expected \`secp256k1\`, \`p256\`, \`webAuthn\`, or \`multisig\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}},Na=class extends Error{constructor(){super(`Multisig key grants require a parent account binding.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.MissingAccountError`})}};function Pa(e){let t=[];for(let r=0;r<e.length;r++){let[i,a]=e[r];i&&x(i,{strict:!1}),t.push({address:i,storageKeys:a.map(e=>n(e)?e:Ve(e))})}return t}function Fa(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(E(r[e])!==32)throw new Ia({storageKey:r[e]});n&&x(n,{strict:!1}),t.push([n,r])}return t}var Ia=class extends k{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${E(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}},La={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Ra(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function za(e,t=`wei`){return Ra(e,La.gwei-La[t])}var Ba=class extends k{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${za(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},Va=class extends k{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID "${e}" is invalid.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},Ha=class extends k{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${n}" was provided.`,{metaMessages:[`Serialized Transaction: "${t}"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},Ua=class extends k{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${za(e)} gwei`:``}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${za(t)} gwei`:``}).`].join(`
2
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}},Wa=`0x78`,Ga=`0x76`,Ka=`tempo`;function qa(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new to;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new no({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&x(e.to,{strict:!1});if(n<=0)throw new Va({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Ba({feeCap:r});if(i&&r&&i>r)throw new Ua({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Ja(e){let t=we(A(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,g,_]=t,v=Array.isArray(g)?g:void 0,y=v?_:g;if(t.length!==13&&t.length!==14&&t.length!==15)throw new Ha({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:v,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:y}:{}},serialized:e,type:Ka});let b={chainId:Number(n),type:Ka};D(a)&&a!==`0x`&&(b.gas=BigInt(a)),D(l)&&(b.nonce=l===`0x`?0n:BigInt(l)),D(i)&&i!==`0x`&&(b.maxFeePerGas=BigInt(i)),D(r)&&r!==`0x`&&(b.maxPriorityFeePerGas=BigInt(r)),D(c)&&(b.nonceKey=c===`0x`?0n:BigInt(c)),D(u)&&u!==`0x`&&(b.validBefore=Number(u)),D(d)&&d!==`0x`&&(b.validAfter=Number(d)),D(f)&&f!==`0x`&&(b.feeToken=f),o&&o!==`0x`&&(b.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(b.accessList=Pa(s)),m?.length!==0&&m!==`0x`&&(b.authorizationList=ia(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||h(p)?(b.feePayerSignature=null,h(p)&&(b.from=p)):b.feePayerSignature=ne(p)),v&&(b.keyAuthorization=pa(v));let x=y?I(y):void 0;if(x&&(b={...b,signature:x}),!b.from&&x)try{b.from=F({payload:Qa(Ya(b)),signature:x,root:!0})}catch{}return qa(b),b}function Ya(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Ja(e):e;return i.from&&=B(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:B(e.to)}:{}})),qa(i),{...i,...r?{signature:L(r)}:{},...n?{feePayerSignature:ee(n)}:{},type:`tempo`}}function Xa(e,t={}){let{accessList:n,authorizationList:i,calls:a,chainId:o,feeToken:s,gas:c,keyAuthorization:l,nonce:u,nonceKey:d,maxFeePerGas:f,maxPriorityFeePerGas:p,validBefore:m,validAfter:h}=e;qa(e);let g=Fa(n),_=t.signature||e.signature,v=ca(i),y=a.map(e=>[e.to?B(e.to):`0x`,e.value?C(e.value):`0x`,e.data??`0x`]),b=!1,x=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&_){let t=L(_);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return r(t.publicKey);if(t.type===`secp256k1`)return ve({payload:Qa(Ya(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(b=!0,`0x00`):n?de(n):`0x`})(),ee=[C(o),p?C(p):`0x`,f?C(f):`0x`,c?C(c):`0x`,y,g,d?C(d):`0x`,u?C(u):`0x`,typeof m==`number`?C(m):`0x`,typeof h==`number`?C(h):`0x`,!b&&(typeof s==`bigint`||typeof s==`string`)?ua(s):`0x`,x,v,...l?[ya(l)]:[],..._?[R(L(_))]:[]];return w(t.format===`feePayer`?Wa:Ga,be(ee))}function Za(e){return Xa({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Qa(e,t={}){let n=$a(e,{presign:!0});return t.from?d(w(`0x04`,n,B(t.from))):n}function $a(e,t={}){let n=t.presign?Za(e):Xa(e);return d(n)}function eo(e,t){let n=B(t.sender),r=Xa({...e,signature:void 0},{sender:n,format:`feePayer`});return d(r)}var to=class extends k{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},no=class extends k{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};function ro(e){let{account:t,config:n}=e;return ki({account:t,config:n,payload:e.type===`transaction`?Qa(Ja(e.transaction)):ma(ha(e.keyAuthorization))})}async function io(e){let{account:t,approvals:r,hash:i}=e;if(!h(t)||T(t)===0n)throw new xo({reason:`account is invalid`});if(!n(i))throw new xo({reason:`hash is invalid`});return co({account:t,approvals:r,config:N(e.config),hash:i})}function ao(e,t){let n=ha(e);if(n.signature)throw new V({reason:`keyAuthorization must not contain a signature`});if(_a(n).toLowerCase()!==e.toLowerCase())throw new V({reason:`keyAuthorization is not canonically serialized`});let r=N(t.config),i=Gi({account:t.account,config:r,payload:ma(n),signatures:t.approvals.map(e=>ho(t.account,e,r))});return _a(da(n,{signature:L({account:t.account,config:r,signatures:i})}))}function oo(e){try{let t=N(e.config);if(typeof t.threshold!=`number`||t.owners.some(e=>typeof e.weight!=`number`))throw new V({reason:`config threshold and owner weights must be numbers`});let n={...e,config:t};if(fo(n,t),n.type===`transaction`)po(n);else if(n.type===`keyAuthorization`)mo(n,t);else throw new V({reason:`unknown operation type`});return n}catch(e){throw e instanceof V?e:new V({cause:e})}}function so(e){try{let t=e.config?.version;if(typeof t!=`string`||!D(t))throw new V({reason:`config.version must be a hexadecimal quantity`});let n=T(t);if(C(n)!==t)throw new V({reason:`config.version must use canonical quantity encoding`});return oo({...e,config:Ei(e.config)})}catch(e){throw e instanceof V?e:new V({cause:e})}}async function co(e){let t=new Map(e.config.owners.map(e=>[e.owner.toLowerCase(),{address:e.owner,weight:Number(e.weight)}])),n=new Map;for(let r of e.approvals){let i=L(r);if(i.type===`keychain`||i.type===`multisig`)throw new xo({reason:`only primitive signatures can approve a multisig operation`});let a=F({payload:e.hash,signature:i}),o=t.get(a.toLowerCase());if(!o)throw new xo({reason:`signature is from non-owner ${a}`});let s=a.toLowerCase(),c=n.get(s);c?c.signatures.push(i):n.set(s,{address:o.address,signatures:[i],weight:o.weight})}let r=[],i=[];for(let t of n.values()){let n=t.signatures.map(n=>{if(!qi(n,{address:t.address,payload:e.hash}))throw new xo({reason:`signature from owner ${t.address} is invalid`});return R(n)}).sort(uo)[0];r.push({address:t.address,signature:n,weight:t.weight}),i.push({address:t.address,signature:n})}let a=r.sort((e,t)=>t.weight-e.weight||lo(e,t)),o=[],s=0;for(let t of a.slice(0,8)){if(s>=Number(e.config.threshold))break;o.push(t),s+=t.weight}return o.sort(lo),{approvals:i.sort(lo).map(e=>e.signature),selectedApprovals:o.map(e=>e.signature),signatureCount:o.length,threshold:Number(e.config.threshold),weight:s}}function lo(e,t){let n=T(e.address),r=T(t.address);return n<r?-1:+(n>r)}function uo(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}function fo(e,t){if(!h(e.account))throw new V({reason:`account is invalid`});if(T(e.account)===0n)throw new V({reason:`account cannot be zero`});if(!n(e.hash))throw new V({reason:`hash is invalid`});if(yo(e.createdAt,`createdAt`),yo(e.updatedAt,`updatedAt`),e.updatedAt<e.createdAt)throw new V({reason:`updatedAt cannot precede createdAt`});if(yo(e.signatureCount,`signatureCount`),yo(e.threshold,`threshold`),yo(e.weight,`weight`),e.threshold!==Number(t.threshold))throw new V({reason:`threshold must equal config.threshold`});if(e.weight>255)throw new V({reason:`weight exceeds u8 max`});if(e.signatureCount>8)throw new V({reason:`too many selected signatures`});if(!Array.isArray(e.approvals))throw new V({reason:`approvals must be an array`});if(e.approvals.length>t.owners.length)throw new V({reason:`too many retained approvals`});if(e.signatureCount>e.approvals.length)throw new V({reason:`signatureCount exceeds retained approvals`});if(e.signatureCount===0!=(e.weight===0))throw new V({reason:`signatureCount and weight must both be zero or nonzero`});let r=new Map(t.owners.map(e=>[e.owner.toLowerCase(),Number(e.weight)])),i=[],a=new Set;for(let n of e.approvals){if(typeof n!=`string`||!D(n,{strict:!0}))throw new V({reason:`approval is invalid`});let o=ho(e.account,n,t),s=F({payload:e.hash,signature:o}).toLowerCase(),c=r.get(s);if(c===void 0)throw new V({reason:`approval is from a non-owner`});if(a.has(s))throw new V({reason:e.type===`keyAuthorization`?`key authorization contains duplicate owner approvals`:`duplicate owner approval`});a.add(s),i.push(c)}if(!_o(i,e.signatureCount,e.weight))throw new V({reason:`weight is not reachable by signatureCount retained owner approvals`})}function po(e){if(`keyAuthorization`in e&&e.keyAuthorization!==void 0)throw new V({reason:`transaction operations cannot contain keyAuthorization`});let t=e.expiresAt,r=e.submissionId,i=e.transactionHash;if(e.status===`pending`){if(t!==void 0||r!==void 0||i!==void 0)throw new V({reason:`pending transactions cannot contain submission fields`})}else if(e.status===`submitting`){if(yo(t,`expiresAt`),!n(r??``))throw new V({reason:`submissionId is invalid`});if(r.toLowerCase()===e.hash.toLowerCase())throw new V({reason:`submissionId must differ from the operation hash`});if(i!==void 0)throw new V({reason:`submitting transactions cannot contain transactionHash`})}else if(e.status===`success`){if(!n(i??``))throw new V({reason:`transactionHash is invalid`});if(t!==void 0||r!==void 0)throw new V({reason:`successful transactions cannot contain submission fields`})}else throw new V({reason:`invalid transaction status`});if(e.status!==`pending`&&(e.weight<e.threshold||e.signatureCount===0))throw new V({reason:`submitted transactions must have quorum`});if(typeof e.transaction!=`string`)throw new V({reason:`transaction is invalid`});let a=Ja(e.transaction);if(a.signature)throw new V({reason:`transaction must not contain an outer sender signature`});if(a.from&&a.from.toLowerCase()!==e.account.toLowerCase())throw new V({reason:`transaction sender does not match the operation account`});if(vo(e,Qa(a)),Xa(a,e.transaction.startsWith(Wa)?a.from?{format:`feePayer`,sender:a.from}:{format:`feePayer`}:{}).toLowerCase()!==e.transaction.toLowerCase())throw new V({reason:`transaction is not canonically serialized`})}function mo(e,t){let n=e;if(n.expiresAt!==void 0||n.submissionId!==void 0||n.transaction!==void 0||n.transactionHash!==void 0)throw new V({reason:`key authorization operations cannot contain transaction fields`});if(e.status!==`pending`&&e.status!==`success`)throw new V({reason:`invalid key authorization status`});if(e.status===`success`&&(e.weight<e.threshold||e.signatureCount===0))throw new V({reason:`successful key authorizations must have quorum`});if(e.status===`pending`&&e.weight>=e.threshold)throw new V({reason:`pending key authorizations cannot have quorum`});if(typeof e.keyAuthorization!=`string`)throw new V({reason:`keyAuthorization is invalid`});let r=ha(e.keyAuthorization);if(!r.account||r.account.toLowerCase()!==e.account.toLowerCase())throw new V({reason:`key authorization account does not match the operation account`});let i=r.signature;if(e.status===`pending`&&i)throw new V({reason:`pending key authorizations must be unsigned`});if(e.status===`success`){if(i?.type!==`multisig`)throw new V({reason:`successful key authorizations require a multisig signature`});if(i.account.toLowerCase()!==e.account.toLowerCase())throw new V({reason:`key authorization signature account does not match`});if(i.signatures.length!==e.signatureCount)throw new V({reason:`key authorization signatureCount does not match its signature`});if(go(e,i.signatures,r),!bo(i.config,t))throw new V({reason:`key authorization config does not match`})}if(vo(e,ma(r)),_a(r).toLowerCase()!==e.keyAuthorization.toLowerCase())throw new V({reason:`keyAuthorization is not canonically serialized`})}function ho(e,t,n){let r=I(t);if(r.type===`keychain`||r.type===`multisig`)throw new V({reason:`only primitive owner approvals are allowed`});if(Ri({account:e,config:n,signatures:[r],type:`multisig`}),R(r).toLowerCase()!==t.toLowerCase())throw new V({reason:`approval is not canonical`});return r}function go(e,t,n){let r=e.approvals.map(e=>I(e));for(let e of t){let t=r.findIndex(t=>R(t).toLowerCase()===R(e).toLowerCase());if(t===-1)throw new V({reason:`key authorization signature is not a retained approval`});r.splice(t,1)}let i=ki({account:e.account,config:e.config,payload:ma(n)}),a=t.map(e=>F({payload:i,signature:e}));for(let e=1;e<a.length;e++){let t=T(a[e-1]),n=T(a[e]);if(t===n)throw new V({reason:`key authorization contains duplicate owner approvals`});if(t>n)throw new V({reason:`key authorization approvals are not canonically ordered`})}}function _o(e,t,n){let r=Array.from({length:t+1},()=>new Set);r[0].add(0);for(let n of e)for(let e=t;e>0;e--)for(let t of r[e-1])r[e].add(t+n);return r[t].has(n)}function vo(e,t){if(ki({account:e.account,config:e.config,payload:t}).toLowerCase()!==e.hash.toLowerCase())throw new V({reason:`hash does not match the operation payload`})}function yo(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw new V({reason:`${t} must be a nonnegative safe integer`})}function bo(e,t){let n=N(e),r=N(t);return Fe(n.salt??xi,r.salt??xi)&&n.threshold===r.threshold&&n.version===r.version&&n.owners.length===r.owners.length&&n.owners.every((e,t)=>{let n=r.owners[t];return S(e.owner,n.owner)&&e.weight===n.weight})}var xo=class extends k{constructor(e={}){super(e.reason?`Invalid multisig approval: ${e.reason}.`:`Invalid multisig approval.`,{cause:e.cause}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidApprovalError`})}},V=class extends k{constructor(e={}){super(e.reason?`Invalid multisig operation: ${e.reason}.`:`Invalid multisig operation.`,{cause:e.cause}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidOperationError`})}};function So(e){let{approvals:t,config:n}=e;return Co(t),{approvals:t.map(({keyData:e,keyType:t,owner:n})=>({...e===void 0?{}:{keyData:To(e)},...t===void 0?{}:{keyType:t},owner:n})),config:wo(n)}}function Co(e){if(e.some(e=>typeof e!=`object`||!e||`spec`in e||`type`in e))throw new Eo({reason:`only untagged primitive owner approvals are allowed`});if(e.length>8)throw new Eo({reason:`approval count exceeds 8`})}function wo(e){return be(Ai(e))}function To(e){let t=E(e);return t<=4?e:C(t,{size:2})}var Eo=class extends k{constructor(e){super(`Invalid multisig simulation: ${e.reason}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigSimulation.InvalidSimulationError`})}},Do={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Oo={"0x0":`legacy`,"0x1":`eip2930`,"0x2":`eip1559`,"0x3":`eip4844`,"0x4":`eip7702`};function ko(e,t={}){if(!e)return null;let n=_e(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=se(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=Oo[e.type]??e.type),n&&(r.v=oe(n.yParity)),r}var Ao={...Do,tempo:`0x76`},jo={...Oo,"0x76":`tempo`};function Mo(e,t={}){if(!e)return null;let n=ko(e);return n.type=jo[e.type],e.aaAuthorizationList&&(n.authorizationList=na(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=Ui(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=fa(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=ye(e.feePayerSignature),n.feePayerSignature.v=oe(n.feePayerSignature.yParity)),n}function No(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=y(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=C(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=C(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=C(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=C(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=C(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=C(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=C(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=C(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=Do[e.type]||e.type),e.value!==void 0&&(t.value=C(e.value)),t}function Po(e){let t=No({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=oa(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?B(e.to):e.to,value:e.value?C(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?B(e.to):void 0,value:e.value?C(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=ua(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=va(e.keyAuthorization)),e.keyAuthorizationSimulation&&(t.keyAuthorizationSimulation=So(e.keyAuthorizationSimulation)),e.multisigSimulation&&(t.multisigSimulation=So(e.multisigSimulation)),e.validBefore!==void 0&&(t.validBefore=C(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=C(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return Pe(6);if(typeof e.nonceKey==`bigint`)return C(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=Ao.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}var Fo={4217:{base:4217e5,range:100261e4},42431:{base:142431e4,range:723173648}},Io=4217;Fo[Io].base;function Lo(e,t=Io){let{base:n,range:r}=zo(t);return n+e%r}var Ro=class extends k{constructor({sourceId:e}){super(`Source chain ID "${e}" is not supported.`,{metaMessages:[`Supported source chain IDs: 4217, 42431.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`ZoneId.UnsupportedSourceIdError`})}};function zo(e){if(e===4217||e===42431)return Fo[e];throw new Ro({sourceId:e})}var H=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],Bo=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],Vo=[{name:`deriveAccount`,type:`function`,stateMutability:`pure`,inputs:[{type:`bytes32`,name:`salt`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[{type:`address`,name:`account`}]},{name:`getConfigCommitment`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bytes32`,name:`commitment`}]},{name:`updateConfig`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`current`,components:[{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[]},{name:`MultisigConfigUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{name:`InvalidAccount`,type:`error`,inputs:[]},{name:`InvalidConfig`,type:`error`,inputs:[]},{name:`InvalidThreshold`,type:`error`,inputs:[]},{name:`InvalidMultisigOwner`,type:`error`,inputs:[]},{name:`InvalidWeight`,type:`error`,inputs:[]},{name:`TooManyOwners`,type:`error`,inputs:[]},{name:`DuplicateOwner`,type:`error`,inputs:[]},{name:`InvalidOwnerOrder`,type:`error`,inputs:[]},{name:`UnauthorizedMultisigCaller`,type:`error`,inputs:[]}],Ho=[{name:`getCommitteeMembers`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}]},{name:`setCommitteeMembers`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}],outputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]}],Uo=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],Wo=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],Go=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],Ko=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`bookIndexForKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`bookKey`}],outputs:[{type:`bool`,name:`set`},{type:`uint32`,name:`index`}]},{name:`bookKeyForIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`index`}],outputs:[{type:`bytes32`,name:`bookKey`}]},{name:`setBookIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`index`}],outputs:[]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]},{name:`IndexAlreadySet`,type:`error`,inputs:[]}],qo=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`modeOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint8`}]},{name:`budgetOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`setMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`newMode`}],outputs:[]},{name:`setBudget`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`credits`}],outputs:[]},{name:`InvalidMode`,type:`error`,inputs:[]},{name:`OnlyDirectCall`,type:`error`,inputs:[]}],Jo=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],Yo=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],Xo=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],Zo=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],Qo=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burnAt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_AT_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnAt`,type:`event`,inputs:[{type:`address`,name:`burner`,indexed:!0},{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`,indexed:!0}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],$o=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`tokenTransferPolicyId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`,name:`isSet`},{type:`uint64`,name:`policyId`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`migrateTransferPolicyIds`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`tokens`}],outputs:[{type:`uint256`,name:`migrated`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],es=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],ts=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],ns=[{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`nextZoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`zones`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`id`}],outputs:[{type:`tuple`,name:`info`,components:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}]}]},{name:`isZonePortal`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`portal`}],outputs:[{type:`bool`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`previousOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidClosedLoopConfig`,type:`error`,inputs:[]},{name:`NotOwner`,type:`error`,inputs:[]},{name:`InvalidAdmin`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`DuplicateAllowedAccount`,type:`error`,inputs:[]},{name:`DuplicateZoneGateway`,type:`error`,inputs:[]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`messenger`,indexed:!0},{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`tuple`,name:`zoneParams`,components:[{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]}],rs=[{name:`SequencerSetUpdated`,type:`event`,inputs:[{type:`uint64`,name:`nonce`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`address[]`,name:`sequencers`}]},{name:`TokenEnabled`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`}]},{name:`RoleUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`prev`},{type:`uint8`,name:`next`}]},{name:`EnforcementModesUpdated`,type:`event`,inputs:[{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`}]},{name:`LeaderUpdated`,type:`event`,inputs:[{type:`address`,name:`previousLeader`,indexed:!0},{type:`address`,name:`newLeader`,indexed:!0},{type:`uint64`,name:`leaderEpoch`,indexed:!0},{type:`uint64`,name:`leaderActivationTempoBlock`}]},{name:`zoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`admin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`messenger`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`isAccessEnforced`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setAccessMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`isGatewayOpen`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setGatewayMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint8`,name:`role`}],outputs:[{type:`bool`}]},{name:`setAllowedAccount`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setGateway`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setPauseGuardian`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setSequencerSet`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`newSequencers`},{type:`uint8`,name:`newThreshold`}],outputs:[]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`sequencerSetVersion`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`sequencerThreshold`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{name:`zoneHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`isSequencer`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`sequencerCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`sequencerAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`leader`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`leaderEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`leaderActivationTempoBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setLeader`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newLeader`},{type:`uint64`,name:`expectedEpoch`}],outputs:[]},{name:`withdrawalBatchIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`blockHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`currentDepositQueueHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`lastSyncedTempoBlockNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`withdrawalQueueHead`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueTail`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueSlot`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`queueIndex`}],outputs:[{type:`bytes32`}]},{name:`calculateDepositFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`calculateBouncebackFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`depositCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastProcessedDepositNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`FIXED_DEPOSIT_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_GAS_FEE_RATE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKEN_METADATA_BYTES`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`areDepositsActive`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`tokenConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`tuple`,components:[{type:`bool`,name:`enabled`},{type:`bool`,name:`depositsActive`}]}]},{name:`initialize`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address`,name:`messenger`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deliverWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`callbackData`}],outputs:[]},{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_UNPROCESSED_DEPOSITS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_UNPROCESSED_TOKEN_ENABLEMENTS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`pauseExpiry`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`abdicationEffectiveAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint8`,name:`capability`}],outputs:[{type:`uint64`}]},{name:`processWithdrawals`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple[]`,name:`withdrawals`,components:[{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`encryptedSender`}]},{type:`bytes32`,name:`remainingQueue`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`resume`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`abdicate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`capability`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`tuple`,name:`tokenEnablementTransition`,components:[{type:`uint64`,name:`prevProcessedTokenCount`},{type:`uint64`,name:`nextProcessedTokenCount`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`enableToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`pauseDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`resumeDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setZoneGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newZoneGasRate`}],outputs:[]},{name:`setMaxTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newMaxTempoGasRate`}],outputs:[]},{name:`setBouncebackGas`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newBouncebackGas`}],outputs:[]},{name:`transferAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newAdmin`}],outputs:[]},{name:`acceptAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`rpcUrl`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setRpcUrl`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`depositEncrypted`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`setSequencerEncryptionKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint8`,name:`popV`},{type:`bytes32`,name:`popR`},{type:`bytes32`,name:`popS`}],outputs:[]},{name:`isTokenEnabled`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`enabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`lastProcessedEnabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`tokenEnablementCursorInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`enabledTokenAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`tokenEnablementHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`zoneGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxTempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`bouncebackGas`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingAdmin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`refunds`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`owner`}],outputs:[{type:`uint128`}]},{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`}]},{name:`encryptionKeyCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`encryptionKeyAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`tuple`,name:`entry`,components:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint64`,name:`activationBlock`}]}]},{name:`isEncryptionKeyValid`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`keyIndex`}],outputs:[{type:`bool`,name:`valid`},{type:`uint64`,name:`expiresAtBlock`}]},{name:`encryptionKeyAtBlock`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`tempoBlockNumber`}],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint256`,name:`keyIndex`}]},{name:`claimRefund`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`uint128`,name:`amount`}]},{name:`DepositMade`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`netAmount`},{type:`uint128`,name:`fee`},{type:`uint256`,name:`keyIndex`},{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`},{type:`address`,name:`tempoRefundRecipient`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositsPaused`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`DepositsResumed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`PortalPaused`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`PortalResumed`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`AbdicationScheduled`,type:`event`,inputs:[{type:`uint8`,name:`capability`,indexed:!0},{type:`uint64`,name:`effectiveAt`}]},{name:`RpcUrlUpdated`,type:`event`,inputs:[{type:`string`,name:`rpcUrl`}]},{name:`SequencerEncryptionKeyUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`},{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`},{type:`uint64`,name:`lastProcessedEnabledTokenCount`}]},{name:`WithdrawalProcessed`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`bytes32`,name:`senderTag`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`callbackSuccess`}]},{name:`WithdrawalBounceBack`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`uint64`,name:`fallbackNonce`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositBounceBack`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`DepositBounceBackPending`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`RefundClaimed`,type:`event`,inputs:[{type:`address`,name:`recipient`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`}]},{name:`ZoneGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`zoneGasRate`}]},{name:`MaxTempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`maxTempoGasRate`}]},{name:`BouncebackGasUpdated`,type:`event`,inputs:[{type:`uint64`,name:`bouncebackGas`}]},{name:`AdminTransferStarted`,type:`event`,inputs:[{type:`address`,name:`currentAdmin`,indexed:!0},{type:`address`,name:`pendingAdmin`,indexed:!0}]},{name:`AdminTransferred`,type:`event`,inputs:[{type:`address`,name:`previousAdmin`,indexed:!0},{type:`address`,name:`newAdmin`,indexed:!0}]},{name:`NotSequencer`,type:`error`,inputs:[]},{name:`NotAdmin`,type:`error`,inputs:[]},{name:`NotPauseAuthority`,type:`error`,inputs:[]},{name:`CapabilityAbdicated`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`AbdicationAlreadyScheduled`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`PortalIsPaused`,type:`error`,inputs:[]},{name:`NotPendingAdmin`,type:`error`,inputs:[]},{name:`InvalidProof`,type:`error`,inputs:[]},{name:`InvalidTempoBlockNumber`,type:`error`,inputs:[]},{name:`NotFactory`,type:`error`,inputs:[]},{name:`NotSelf`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`MustDelegateCall`,type:`error`,inputs:[]},{name:`CallbackRejected`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`ReentrantWithdrawal`,type:`error`,inputs:[]},{name:`EncryptionKeyExpired`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`},{type:`uint64`,name:`supersededAtBlock`}]},{name:`InvalidEncryptionKeyIndex`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`}]},{name:`NoEncryptionKeySet`,type:`error`,inputs:[]},{name:`NoEncryptionKeyAtBlock`,type:`error`,inputs:[{type:`uint64`,name:`blockNumber`}]},{name:`InvalidEphemeralPubkey`,type:`error`,inputs:[]},{name:`InvalidCiphertextLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidProofOfPossession`,type:`error`,inputs:[]},{name:`DepositTooSmall`,type:`error`,inputs:[]},{name:`TokenEnablementBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`DepositsNotActive`,type:`error`,inputs:[]},{name:`TokenAlreadyEnabled`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`TokenEnablementCursorNotInitialized`,type:`error`,inputs:[]},{name:`InvalidDepositTransition`,type:`error`,inputs:[]},{name:`InvalidTokenEnablementTransition`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`SequencerConfigurationUnchanged`,type:`error`,inputs:[]},{name:`InvalidQuorumCertificate`,type:`error`,inputs:[]},{name:`CallbackDidNotReturnToZone`,type:`error`,inputs:[]},{name:`InvalidBouncebackRecipient`,type:`error`,inputs:[]},{name:`TokenNotEnabled`,type:`error`,inputs:[]},{name:`DepositBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`InvalidCallbackTarget`,type:`error`,inputs:[]},{name:`AccountNotAllowed`,type:`error`,inputs:[{type:`address`,name:`account`}]},{name:`InvalidLeader`,type:`error`,inputs:[]},{name:`ActiveLeaderRemoved`,type:`error`,inputs:[]},{name:`LeaderAlreadyUpdatedThisBlock`,type:`error`,inputs:[]},{name:`StaleLeadershipEpoch`,type:`error`,inputs:[{type:`uint64`,name:`expected`},{type:`uint64`,name:`actual`}]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`_token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`}]}],is=[{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`uint256`,name:`nextZoneHeight`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`tuple`,name:`tokenEnablementTransition`,components:[{type:`uint64`,name:`prevProcessedTokenCount`},{type:`uint64`,name:`nextProcessedTokenCount`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]}],as=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`active`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`executeFunding`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fund`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fundBatchExact`,inputs:[{name:`funders`,type:`address[]`},{name:`requestedAssets`,type:`uint256[]`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`totalFundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setActive`,inputs:[{name:`active_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ActiveSet`,inputs:[{name:`active`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Funded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`requestedAssets`,type:`uint256`,indexed:!1},{name:`fundedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`EarnShareSupplyOutOfBounds`,inputs:[{name:`earnShareSupply`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}]},{type:`error`,name:`Inactive`,inputs:[]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],os=[{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:`scale`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`}],ss=[{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`}],cs=[{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`}],ls=[{type:`constructor`,inputs:[{name:`tip20Factory_`,type:`address`},{name:`earnVaultImplementation_`,type:`address`},{name:`earnFeesImplementation_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`EARN_SHARE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`FEES_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEarnShareSalt`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:`earnShare`,type:`address`},{name:`earnVault`,type:`address`},{name:`earnFees`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`earnFeesImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVaultImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnFees`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnShare`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`tip20Factory`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnStackDeployed`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`engine`,type:`address`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`owner`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`transferPolicyId`,type:`uint64`,indexed:!1},{name:`earnShareSalt`,type:`bytes32`,indexed:!1},{name:`controlConfigHash`,type:`bytes32`,indexed:!1},{name:`feeConfigHash`,type:`bytes32`,indexed:!1},{name:`earnFeesSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AdminRelinquishmentFailed`,inputs:[]},{type:`error`,name:`EarnShareAlreadyExists`,inputs:[{name:`earnShare`,type:`address`}]},{type:`error`,name:`EarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EmptyEarnShareMetadata`,inputs:[]},{type:`error`,name:`EngineAlreadyBound`,inputs:[{name:`earnVault`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]},{type:`error`,name:`FailedDeployment`,inputs:[]},{type:`error`,name:`InsufficientBalance`,inputs:[{name:`balance`,type:`uint256`},{name:`needed`,type:`uint256`}]},{type:`error`,name:`InvalidDistributorConfig`,inputs:[]},{type:`error`,name:`InvalidEarnFeesImplementation`,inputs:[]},{type:`error`,name:`InvalidEarnVaultImplementation`,inputs:[]},{type:`error`,name:`InvalidEngine`,inputs:[]},{type:`error`,name:`InvalidTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`}]},{type:`error`,name:`IssuerGrantFailed`,inputs:[]},{type:`error`,name:`TransferPolicyMismatch`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`UnsupportedTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`},{name:`policyType`,type:`uint8`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],us=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`nonpayable`},{type:`function`,name:`claim`,inputs:[{name:`to`,type:`address`},{name:`earnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimableEarnShares`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`closeRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`currentFeeConfigId`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[{name:`operator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`feeBaselinesPending`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feeConfig`,inputs:[{name:`configId`,type:`uint64`}],outputs:[{name:``,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],stateMutability:`view`},{type:`function`,name:`feeRemainder`,inputs:[{name:`configId`,type:`uint64`},{name:`slot`,type:`uint8`}],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`feesActive`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feesDisabled`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`highWaterMark`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`earnVault_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`initialConfig`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeBaselines`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pendingFeeSnapshot`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`},{name:`highWaterValue`,type:`uint256`},{name:`targetValue`,type:`uint256`},{name:`feeConfigId`,type:`uint64`},{name:`requestedAt`,type:`uint40`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewAccruedFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`view`},{type:`function`,name:`recordRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`},{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`settleCancelledRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`returnedValue`,type:`uint256`},{name:`activeSupply`,type:`uint256`},{name:`activeAssets`,type:`uint256`},{name:`totalReentryEarnShares`,type:`uint256`}],outputs:[{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`shouldChargeRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`targetBase`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`targetStartedAt`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`totalClaimableEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`validateFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`view`},{type:`event`,name:`FeeBaselinesInitialized`,inputs:[{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetBase`,type:`uint256`,indexed:!1},{name:`targetStartedAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeConfigurationSet`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`configHash`,type:`bytes32`,indexed:!0},{name:`reactivated`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeDustWaived`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`slot`,type:`uint8`,indexed:!0},{name:`remainder`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesAllocated`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesAccrued`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`activeAssets`,type:`uint256`,indexed:!1},{name:`positiveAccrualAssets`,type:`uint256`,indexed:!1},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1},{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetValuePerEarnShare`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesDisabled`,inputs:[{name:`operator`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`InsufficientClaimableEarnShares`,inputs:[]},{type:`error`,name:`InvalidFeeClaimReceiver`,inputs:[]},{type:`error`,name:`InvalidFeeConfiguration`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],ds=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`treasury_`,type:`address`},{name:`campaignId_`,type:`bytes32`},{name:`claimDeadline_`,type:`uint40`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`campaignId`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`claim`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`},{name:`proof`,type:`bytes32[]`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimDeadline`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`consumedSettlements`,inputs:[{name:`settlementId`,type:`bytes32`}],outputs:[{name:`consumed`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`cumulativePaid`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`cumulativeAmount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`fundAndPublishRoot`,inputs:[{name:`settlementId`,type:`bytes32`},{name:`expectedRootVersion`,type:`uint64`},{name:`funder`,type:`address`},{name:`assets`,type:`uint256`},{name:`minEarnShares`,type:`uint256`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[{name:`earnShares`,type:`uint256`},{name:`version`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`leaf`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`merkleRoot`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`publishRoot`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pushBatch`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`recipients`,type:`address[]`},{name:`cumulativeAmounts`,type:`uint256[]`},{name:`multiproof`,type:`bytes32[]`},{name:`proofFlags`,type:`bool[]`}],outputs:[{name:`paidCount`,type:`uint256`},{name:`paidEarnShares`,type:`uint256`},{name:`skippedCount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`pure`},{type:`function`,name:`returnUnspent`,inputs:[],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`rootTotalEntitlement`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rootVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`setPaused`,inputs:[{name:`paused_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`statementHash`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`totalPaid`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`treasury`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`AssetsFunded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`BatchPushed`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`batchHash`,type:`bytes32`,indexed:!0},{name:`attemptedCount`,type:`uint256`,indexed:!1},{name:`paidCount`,type:`uint256`,indexed:!1},{name:`paidEarnShares`,type:`uint256`,indexed:!1},{name:`skippedCount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`PausedSet`,inputs:[{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`PayoutSkipped`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint256`,indexed:!1},{name:`reason`,type:`uint8`,indexed:!1}],anonymous:!1},{type:`event`,name:`RewardClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`cumulativeAmount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RootPublished`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`root`,type:`bytes32`,indexed:!0},{name:`statementHash`,type:`bytes32`,indexed:!0},{name:`totalEntitlement`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`UnspentReturned`,inputs:[{name:`treasury`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ClaimsExpired`,inputs:[]},{type:`error`,name:`ClaimsNotExpired`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`InsufficientFunding`,inputs:[{name:`requiredBalance`,type:`uint256`},{name:`actualBalance`,type:`uint256`}]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidMultiproof`,inputs:[]},{type:`error`,name:`MerkleProofInvalidMultiproof`,inputs:[]},{type:`error`,name:`NothingOwed`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`OwnershipRenunciationDisabled`,inputs:[]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PausedLiabilityIncrease`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`RootTotalDecreased`,inputs:[{name:`previousTotal`,type:`uint256`},{name:`nextTotal`,type:`uint256`}]},{type:`error`,name:`RootTotalExceeded`,inputs:[{name:`requestedAmount`,type:`uint256`},{name:`remainingEntitlement`,type:`uint256`}]},{type:`error`,name:`SettlementAlreadyConsumed`,inputs:[{name:`settlementId`,type:`bytes32`}]},{type:`error`,name:`StaleRootVersion`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`UnexpectedEarnShares`,inputs:[{name:`reported`,type:`uint256`},{name:`measured`,type:`uint256`}]},{type:`error`,name:`UnexpectedRetainedAssets`,inputs:[{name:`beforeBalance`,type:`uint256`},{name:`afterBalance`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroCampaignId`,inputs:[]},{type:`error`,name:`ZeroDeadline`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroRoot`,inputs:[]},{type:`error`,name:`ZeroSettlementId`,inputs:[]},{type:`error`,name:`ZeroStatementHash`,inputs:[]}],fs=[{type:`function`,name:`campaignId`,inputs:[{name:`earnVault`,type:`address`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`install`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`},{name:`targetYield`,type:`bool`},{name:`boostRewards`,type:`bool`}],outputs:[{name:`result`,type:`tuple`,components:[{name:`contributionController`,type:`address`},{name:`merkleDistributor`,type:`address`}]}],stateMutability:`nonpayable`},{type:`function`,name:`predictContributionController`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictMerkleDistributor`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ContributionControllerInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`contributionController`,type:`address`,indexed:!1}],anonymous:!1},{type:`event`,name:`MerkleDistributorInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`treasury`,type:`address`,indexed:!0},{name:`merkleDistributor`,type:`address`,indexed:!1},{name:`campaignId`,type:`bytes32`,indexed:!1},{name:`claimDeadline`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyInstallation`,inputs:[]},{type:`error`,name:`InvalidExistingDeployment`,inputs:[{name:`component`,type:`address`}]},{type:`error`,name:`InvalidRewardConfiguration`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]}],ps=[{type:`constructor`,inputs:[{name:`allowedZoneId_`,type:`uint32`},{name:`earnVault_`,type:`address`},{name:`privateAsset_`,type:`address`},{name:`tokenAuthority_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`allowedZoneId`,inputs:[],outputs:[{name:``,type:`uint32`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`onWithdrawalReceived`,inputs:[{name:`sourceZoneId`,type:`uint32`},{name:`sourcePortal`,type:`address`},{name:``,type:`bytes32`},{name:`token`,type:`address`},{name:`amount`,type:`uint128`},{name:`callbackData`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}],stateMutability:`nonpayable`},{type:`function`,name:`privateAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`reserveToken`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`supportsFlow`,inputs:[{name:`flow`,type:`uint8`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`tokenAuthority`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`transactionLimit`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vaultAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnDeposit`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`inputToken`,type:`address`,indexed:!0},{name:`inputAmount`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnRedeem`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`outputToken`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`outputAmount`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AmountExceedsLimit`,inputs:[]},{type:`error`,name:`AmountOverflow`,inputs:[]},{type:`error`,name:`BadFlow`,inputs:[]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidAuthority`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidPrivateAsset`,inputs:[]},{type:`error`,name:`InvalidReturnToken`,inputs:[]},{type:`error`,name:`InvalidRoutePair`,inputs:[]},{type:`error`,name:`InvalidSourcePortal`,inputs:[]},{type:`error`,name:`InvalidTransactionLimit`,inputs:[]},{type:`error`,name:`NotZoneMessenger`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ResidualBalance`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`WrongInputToken`,inputs:[]},{type:`error`,name:`WrongSourceZone`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],ms=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`MAX_REWARD_RATE_MULTIPLIER`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`absorbEngineShareSurplus`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptDistributor`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptOperator`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`anchorEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`anchorEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`asyncJanitor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelDistributorFeeUpdate`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelDistributorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelOperatorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`minReceiverEarnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contribute`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`receivedEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`convertEngineSharesToEarnShares`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`convertToEngineShares`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`engineShares_`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositVenueShares`,inputs:[{name:`venueShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositsPaused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`distributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`distributorFee`,inputs:[],outputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],stateMutability:`view`},{type:`function`,name:`distributorUpdateDelay`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`earnFees`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`emergencyGuardian`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engine`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engineMigrationMode`,inputs:[],outputs:[{name:``,type:`uint8`}],stateMutability:`view`},{type:`function`,name:`engineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`executeDistributorFeeUpdate`,inputs:[],outputs:[{name:`feeConfigId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`finalizeRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`asset_`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`engine_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`earnFees_`,type:`address`},{name:`operator_`,type:`address`},{name:`controlInit_`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorInit_`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isAccountingAligned`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxManagedAssets`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`migrateEngine`,inputs:[{name:`newEngine`,type:`address`},{name:`minNewEngineShares`,type:`uint256`},{name:`minAssetsRetained`,type:`uint256`}],outputs:[{name:`newEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`normalizedRewardRate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`openRedeemRequestCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`operator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributorFeeUpdate`,inputs:[],outputs:[{name:``,type:`tuple`,components:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`},{name:`executableAt`,type:`uint40`},{name:`pending`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`pendingOperator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`receiver`,type:`address`},{name:`requester`,type:`address`},{name:`burnedEarnShares`,type:`uint256`},{name:`engineShares`,type:`uint256`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rawEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`remainingDepositCapacity`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`requestRedeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`engineData`,type:`bytes`},{name:`receiver`,type:`address`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`rewardRateBaseline`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`scheduleDistributorFeeUpdate`,inputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setDepositsPaused`,inputs:[{name:`paused`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setEmergencyRoles`,inputs:[{name:`newGuardian`,type:`address`},{name:`newJanitor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`setMaxManagedAssets`,inputs:[{name:`newMaxManagedAssets`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`surplusEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferDistributor`,inputs:[{name:`newDistributor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOperator`,inputs:[{name:`newOperator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawExact`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`maxEarnShares`,type:`uint256`}],outputs:[{name:`earnSharesBurned`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Contributed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DepositPauseChanged`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateScheduled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`executableAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`feeConfigId`,type:`uint64`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferStarted`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferred`,inputs:[{name:`previousDistributor`,type:`address`,indexed:!0},{name:`newDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`operator`,type:`address`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`distributor`,type:`address`,indexed:!1},{name:`distributorUpdateDelay`,type:`uint40`,indexed:!1},{name:`distributorFeeRecipient`,type:`address`,indexed:!1},{name:`distributorFeeRateBps`,type:`uint16`,indexed:!1}],anonymous:!1},{type:`event`,name:`EmergencyRolesChanged`,inputs:[{name:`emergencyGuardian`,type:`address`,indexed:!0},{name:`asyncJanitor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EngineMigrated`,inputs:[{name:`oldEngine`,type:`address`,indexed:!0},{name:`newEngine`,type:`address`,indexed:!0},{name:`oldEngineShares`,type:`uint256`,indexed:!1},{name:`assetsMoved`,type:`uint256`,indexed:!1},{name:`newEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareShortfallReconciled`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`previousManagedEngineShares`,type:`uint256`,indexed:!1},{name:`observedRawEngineShares`,type:`uint256`,indexed:!1},{name:`shortfallEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareSurplusAbsorbed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxManagedAssetsChanged`,inputs:[{name:`previousMaxManagedAssets`,type:`uint256`,indexed:!1},{name:`newMaxManagedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OperatorTransferCancelled`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferStarted`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferred`,inputs:[{name:`previousOperator`,type:`address`,indexed:!0},{name:`newOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelled`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemFinalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`requester`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ActiveSupplyWithoutBacking`,inputs:[]},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotPending`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotReady`,inputs:[{name:`executableAt`,type:`uint40`}]},{type:`error`,name:`DistributorTransferNotPending`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EngineAssetMismatch`,inputs:[]},{type:`error`,name:`EngineCapabilityUnsupported`,inputs:[{name:`interfaceId`,type:`bytes4`}]},{type:`error`,name:`EngineEarnVaultMismatch`,inputs:[]},{type:`error`,name:`EngineExitUnsupported`,inputs:[]},{type:`error`,name:`ExceedsMaxEarnShares`,inputs:[]},{type:`error`,name:`ExcessiveConversionLoss`,inputs:[{name:`inputShares`,type:`uint256`},{name:`representedShares`,type:`uint256`}]},{type:`error`,name:`ExcessiveMigrationClassificationError`,inputs:[{name:`expectedManagedAssets`,type:`uint256`},{name:`actualManagedAssets`,type:`uint256`}]},{type:`error`,name:`FeeValuationStale`,inputs:[]},{type:`error`,name:`FinalizedAssetMismatch`,inputs:[{name:`finalizedAsset`,type:`address`}]},{type:`error`,name:`GlobalFeeDisableUnavailable`,inputs:[]},{type:`error`,name:`InitialEarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`InsufficientEngineShareSurplus`,inputs:[{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidDistributorConfiguration`,inputs:[]},{type:`error`,name:`InvalidDistributorFeeConfiguration`,inputs:[]},{type:`error`,name:`InvalidEarnDecimals`,inputs:[]},{type:`error`,name:`InvalidEngineShareScale`,inputs:[]},{type:`error`,name:`MaxManagedAssetsExceeded`,inputs:[{name:`maximum`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`MinimumAssetsNotMet`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`MinimumEarnSharesNotMet`,inputs:[{name:`minimumEarnShares`,type:`uint256`},{name:`actualEarnShares`,type:`uint256`}]},{type:`error`,name:`MinimumEngineSharesNotMet`,inputs:[{name:`minimumEngineShares`,type:`uint256`},{name:`actualEngineShares`,type:`uint256`}]},{type:`error`,name:`NoEarnShares`,inputs:[]},{type:`error`,name:`NotDistributor`,inputs:[]},{type:`error`,name:`NotEmergencyGuardianOrOperator`,inputs:[]},{type:`error`,name:`NotEngine`,inputs:[]},{type:`error`,name:`NotOperator`,inputs:[]},{type:`error`,name:`NotPendingDistributor`,inputs:[]},{type:`error`,name:`NotPendingOperator`,inputs:[]},{type:`error`,name:`NotRequesterOrJanitor`,inputs:[]},{type:`error`,name:`OperatorMigrationDisabled`,inputs:[]},{type:`error`,name:`OperatorTransferNotPending`,inputs:[]},{type:`error`,name:`PendingRedeemsOpen`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RequestNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ResidualBacking`,inputs:[]},{type:`error`,name:`RewardRateLimitExceeded`,inputs:[{name:`normalizedRate`,type:`uint256`},{name:`baselineRate`,type:`uint256`}]},{type:`error`,name:`SameEngine`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroMinimumAssets`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroMinimumEngineShares`,inputs:[]}],hs=[{type:`constructor`,inputs:[{name:`vault_`,type:`address`},{name:`owner_`,type:`address`},{name:`nameOverride_`,type:`string`},{name:`symbolOverride_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`from`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],gs=[{type:`function`,name:`ENGINE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEngineSalt`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:`engine`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`predictEngine`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ERC4626EngineDeployed`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`vault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`asset`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`engineSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EngineAlreadyExists`,inputs:[{name:`engine`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]}],_s=[{type:`constructor`,inputs:[{name:`peripheryRegistry_`,type:`address`},{name:`owner_`,type:`address`},{name:`maxRateAge_`,type:`uint64`},{name:`name_`,type:`string`},{name:`symbol_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accountant`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`accountantRateUpdatedAt`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`authorizedForwarder`,inputs:[{name:`forwarder`,type:`address`}],outputs:[{name:`authorized`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimQueue`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`claimRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`finalizeOneExternal`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`forwardSolved`,inputs:[{name:`requestIds`,type:`bytes32[]`},{name:`asset_`,type:`address`},{name:`delta`,type:`uint256`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getClaim`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`status`,type:`uint8`},{name:`request`,type:`tuple`,components:[{name:`nonce`,type:`uint96`},{name:`user`,type:`address`},{name:`assetOut`,type:`address`},{name:`amountOfShares`,type:`uint128`},{name:`amountOfAssets`,type:`uint128`},{name:`creationTime`,type:`uint40`},{name:`secondsToMaturity`,type:`uint24`},{name:`secondsToDeadline`,type:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxRateAge`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`openClaimsByQueue`,inputs:[{name:`requestQueue`,type:`address`}],outputs:[{name:`count`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryRegistry`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`queue`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`rate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`recoverExternalSettlement`,inputs:[{name:`requestIds`,type:`bytes32[]`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`setAuthorizedForwarder`,inputs:[{name:`account`,type:`address`},{name:`authorized`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxRateAge`,inputs:[{name:`newMaxRateAge`,type:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settled`,inputs:[{name:`asset`,type:`address`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`sweepDust`,inputs:[{name:`token`,type:`address`},{name:`to`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`syncVedaPeriphery`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`teller`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unresolvedClaimCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`AuthorizedForwarderChanged`,inputs:[{name:`account`,type:`address`,indexed:!0},{name:`authorized`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DustSwept`,inputs:[{name:`token`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`ExternalSettlementRecovered`,inputs:[{name:`requestCount`,type:`uint256`,indexed:!1},{name:`recoveredAssets`,type:`uint256`,indexed:!1},{name:`claimed`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FinalizeFailed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Finalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxRateAgeUpdated`,inputs:[{name:`oldMaxRateAge`,type:`uint64`,indexed:!1},{name:`newMaxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelledOnQueue`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemClaimed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`assetOut`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Unearmarked`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaEngineInitialized`,inputs:[{name:`teller`,type:`address`,indexed:!0},{name:`queue`,type:`address`,indexed:!0},{name:`accountant`,type:`address`,indexed:!0},{name:`peripheryVersion`,type:`uint64`,indexed:!1},{name:`maxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaPeripheryUpdated`,inputs:[{name:`registryVersion`,type:`uint64`,indexed:!0},{name:`oldTeller`,type:`address`,indexed:!0},{name:`oldQueue`,type:`address`,indexed:!0},{name:`oldAccountant`,type:`address`,indexed:!1},{name:`newTeller`,type:`address`,indexed:!1},{name:`newQueue`,type:`address`,indexed:!1},{name:`newAccountant`,type:`address`,indexed:!1},{name:`validatedRate`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`AssetsNotArrived`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`BaseAssetSweepBlocked`,inputs:[{name:`unresolvedClaims`,type:`uint256`}]},{type:`error`,name:`CannotSweepEngineBacking`,inputs:[]},{type:`error`,name:`ClaimNotClaimable`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ClaimNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`CreditExceedsBalance`,inputs:[{name:`asset`,type:`address`},{name:`have`,type:`uint256`},{name:`wantTotal`,type:`uint256`}]},{type:`error`,name:`DepositsNotPaused`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`EngineSharesTooLarge`,inputs:[{name:`engineShares`,type:`uint256`}]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidAsset`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidMaxRateAge`,inputs:[]},{type:`error`,name:`InvalidRateTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`}]},{type:`error`,name:`InvalidTrackedRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`InvalidVedaPeriphery`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`InvalidVedaPeripheryWiring`,inputs:[{name:`component`,type:`address`},{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidVedaRateBounds`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoPublishedVedaPeriphery`,inputs:[]},{type:`error`,name:`NoRecoverableClaims`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotAuthorizedForwarder`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`QueueTrackingDisabled`,inputs:[{name:`queue`,type:`address`}]},{type:`error`,name:`QueueUnavailable`,inputs:[]},{type:`error`,name:`QueuedAssetsBelowMinimum`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`RateChangedWithinTransaction`,inputs:[{name:`expected`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RegistryEngineMismatch`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`SolveUnderfunded`,inputs:[{name:`asset`,type:`address`},{name:`delivered`,type:`uint256`},{name:`required`,type:`uint256`}]},{type:`error`,name:`StaleAccountantRate`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`},{name:`maxAge`,type:`uint256`}]},{type:`error`,name:`SweepExceedsAvailableBalance`,inputs:[{name:`token`,type:`address`},{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesQueued`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnsupportedAccountantFreshness`,inputs:[{name:`accountant`,type:`address`}]},{type:`error`,name:`VedaRateOutOfBounds`,inputs:[{name:`rate`,type:`uint256`},{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroMinimumQueuedAssets`,inputs:[]}],vs=[{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]}],ys=[{name:`tempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxWithdrawalsPerBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`lastBatch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`withdrawalBatchIndex`}]}]},{name:`lastFinalizedTimestamp`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`nextWithdrawalIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastFallbackNonce`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingWithdrawalsCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPendingWithdrawals`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,components:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`bytes32`,name:`txHash`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`revealTo`}]}]},{name:`consumeFallbackRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`fallbackNonce`}],outputs:[{type:`address`,name:`recipient`}]},{name:`calculateWithdrawalFee`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`gasLimit`}],outputs:[{type:`uint128`,name:`fee`}]},{name:`MAX_CALLBACK_DATA_SIZE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`WITHDRAWAL_BASE_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`REVEAL_TO_KEY_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`setTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`_tempoGasRate`}],outputs:[]},{name:`setMaxWithdrawalsPerBlock`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`_maxWithdrawalsPerBlock`}],outputs:[]},{name:`requestWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`address`,name:`zoneFallbackRecipient`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}],outputs:[]},{name:`enqueueDepositBounceBack`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[]},{name:`finalizeWithdrawalBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`count`},{type:`uint64`,name:`blockNumber`},{type:`bytes[]`,name:`encryptedSenders`}],outputs:[{type:`bytes32`,name:`withdrawalQueueHash`}]},{name:`WithdrawalRequested`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalIndex`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`fee`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}]},{name:`BatchFinalized`,type:`event`,inputs:[{type:`bytes32`,name:`withdrawalQueueHash`,indexed:!0},{type:`uint64`,name:`withdrawalBatchIndex`}]},{name:`TempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`tempoGasRate`}]},{name:`MaxWithdrawalsPerBlockUpdated`,type:`event`,inputs:[{type:`uint32`,name:`maxWithdrawalsPerBlock`}]},{name:`OnlySequencer`,type:`error`,inputs:[]},{name:`GasLimitTooHigh`,type:`error`,inputs:[]},{name:`OnlyZoneInbox`,type:`error`,inputs:[]},{name:`InvalidWithdrawalCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidFallbackRecipient`,type:`error`,inputs:[]},{name:`CallbackDataTooLarge`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`InvalidBlockNumber`,type:`error`,inputs:[]},{name:`TooManyWithdrawalsThisBlock`,type:`error`,inputs:[]},{name:`InvalidRevealTo`,type:`error`,inputs:[]},{name:`InvalidCurrentTxHash`,type:`error`,inputs:[]},{name:`ZeroAmountWithdrawal`,type:`error`,inputs:[]},{name:`StaticCallNotAllowed`,type:`error`,inputs:[]}],bs=[{name:`relayMessage`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`target`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`data`}],outputs:[]}],xs=[{type:`constructor`,inputs:[{name:`baseToken_`,type:`address`,internalType:`contract ITIP20`},{name:`quoteToken_`,type:`address`,internalType:`contract ITIP20`},{name:`oracle_`,type:`address`,internalType:`contract IPriceOracle`},{name:`addressRegistry_`,type:`address`,internalType:`contract IAddressRegistry`},{name:`owner_`,type:`address`,internalType:`address`},{name:`guardian_`,type:`address`,internalType:`address`},{name:`maxOracleAge_`,type:`uint256`,internalType:`uint256`},{name:`maxPriceDeviationBps_`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`BPS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`addressRegistry`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IAddressRegistry`}],stateMutability:`view`},{type:`function`,name:`baseDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`baseToQuotePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`baseToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`fund`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`guardian`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`maxOracleAge`,inputs:[],outputs:[{name:``,type:`uint80`,internalType:`uint80`}],stateMutability:`view`},{type:`function`,name:`maxPriceDeviationBps`,inputs:[],outputs:[{name:``,type:`uint16`,internalType:`uint16`}],stateMutability:`view`},{type:`function`,name:`oracle`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IPriceOracle`}],stateMutability:`view`},{type:`function`,name:`oracleDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`pause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`priceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`priceScale`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`quoteExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactInputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToBasePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`recipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`resetPriceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`resolveRecipient`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`resolved`,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`roundingCredit`,inputs:[{name:`routeKey`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`credit`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`roundingRouteKey`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`setGuardian`,inputs:[{name:`newGuardian`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxOracleAge`,inputs:[{name:`newMaxOracleAge`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxPriceDeviationBps`,inputs:[{name:`newMaxPriceDeviationBps`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setOracle`,inputs:[{name:`newOracle`,type:`address`,internalType:`contract IPriceOracle`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setRecipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setTakerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`swapExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`minAmountOut`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`swapExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`maxAmountIn`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`takerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unpause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`Funded`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!0,internalType:`bytes32`}],anonymous:!1},{type:`event`,name:`GuardianUpdated`,inputs:[{name:`oldGuardian`,type:`address`,indexed:!0,internalType:`address`},{name:`newGuardian`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`MaxOracleAgeUpdated`,inputs:[{name:`oldMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`MaxPriceDeviationBpsUpdated`,inputs:[{name:`oldMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`OracleUpdated`,inputs:[{name:`oldOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`newOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`decimals`,type:`uint8`,indexed:!1,internalType:`uint8`}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`pendingOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`PausedStateChanged`,inputs:[{name:`paused`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`PriceAnchorUpdated`,inputs:[{name:`baseToQuote`,type:`bool`,indexed:!0,internalType:`bool`},{name:`oldAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RecipientPermissionUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`RoundingCreditUpdated`,inputs:[{name:`routeKey`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`previousCredit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newCredit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TakerPermissionUpdated`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`TradeExecuted`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`customerId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`tokenIn`,type:`address`,indexed:!1,internalType:`address`},{name:`tokenOut`,type:`address`,indexed:!1,internalType:`address`},{name:`amountIn`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amountOut`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oraclePrice`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oracleUpdatedAt`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Withdrawn`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!1,internalType:`bytes32`}],anonymous:!1},{type:`error`,name:`AmountIsZero`,inputs:[]},{type:`error`,name:`CustomerIdIsZero`,inputs:[]},{type:`error`,name:`DeadlineExpired`,inputs:[{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`currentTimestamp`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`ExactBalanceDeltaFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`expected`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`FutureOracleTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`currentTime`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InsufficientInventory`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`available`,type:`uint256`,internalType:`uint256`},{name:`required`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidAddress`,inputs:[]},{type:`error`,name:`InvalidMaxOracleAge`,inputs:[]},{type:`error`,name:`InvalidMaxPriceDeviationBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidOraclePriceToleranceBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidPrice`,inputs:[]},{type:`error`,name:`NotGuardianOrOwner`,inputs:[]},{type:`error`,name:`NotOwner`,inputs:[]},{type:`error`,name:`NotPaused`,inputs:[]},{type:`error`,name:`NotPendingOwner`,inputs:[]},{type:`error`,name:`OracleDecimalsChanged`,inputs:[{name:`currentDecimals`,type:`uint8`,internalType:`uint8`},{name:`proposedDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`OraclePriceToleranceExceeded`,inputs:[{name:`expectedPrice`,type:`uint256`,internalType:`uint256`},{name:`actualPrice`,type:`uint256`,internalType:`uint256`},{name:`toleranceBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`OracleTimestampTooOld`,inputs:[{name:`minimumUpdatedAt`,type:`uint256`,internalType:`uint256`},{name:`actualUpdatedAt`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PriceAnchorNotInitialized`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}]},{type:`error`,name:`PriceDeviationExceeded`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`anchor`,type:`uint256`,internalType:`uint256`},{name:`maxDeviationBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`RecipientNotAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SameToken`,inputs:[]},{type:`error`,name:`SlippageExceeded`,inputs:[{name:`limit`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`StaleOraclePrice`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`maxAge`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`TakerNotAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}]},{type:`error`,name:`TokenTransferFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`}]},{type:`error`,name:`UnsupportedDecimals`,inputs:[{name:`baseDecimals`,type:`uint8`,internalType:`uint8`},{name:`quoteDecimals`,type:`uint8`,internalType:`uint8`},{name:`oracleDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`UnsupportedToken`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],Ss=[...H,...Bo,...Ho,...Yo,...Jo,...Vo,...Uo,...Wo,...Go,...Ko,...qo,...Qo,...Xo,...Zo,...$o,...ts,...es,...ns,...rs,...is],Cs=[...as,...os,...ss,...cs,...ls,...us,...ds,...fs,...ps,...ms,...hs,...gs,..._s],ws=[...bs,...ys,...vs],Ts=[...xs];[...Ss,...Cs,...ws,...Ts],Lo(0),Lo(0,42431);var Es=`0xaAAAaaAA00000000000000000000000000000000`,Ds=`0xAACC000000000000000000000000000000000000`,Os=`0x7171717171717171717171717171717171717171`,ks=`0x5165300000000000000000000000000000000000`;function As(e){let t=L(e);if(t.type===`multisig`||t.type===`keychain`)throw Error(`Multisig owners must use primitive signatures.`);return t}function js(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.owner!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Ze(e)}function Ms(e){try{return js(e)===`tempo`}catch{return!1}}function Ns(e){let t=A(e,0,1);return t===`0x76`||t===`0x78`?Fs(e):g(e)}async function Ps(e,t){if(!Ms(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error("Unsupported signature type. Expected `secp256k1` but got `"+t.type+"`.");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return Qe(e,{r:C(n,{size:32}),s:C(r,{size:32}),yParity:i})}return Qe(e,t)}if(js(e)===`tempo`)return Is(e,t);throw Error(`Unsupported transaction type`)}function Fs(e){let{feePayerSignature:t,nonce:n,...r}=Ja(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:C(t.r,{size:32}),s:C(t.s,{size:32}),yParity:t.yParity}}}async function Is(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return L({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,multisigSimulation:a,nonce:o,owner:s,...c}=e,l=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),u=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,d=n!==void 0||!!(a&&e.signatures),f=i===!0&&(!d||!l)||typeof i==`object`&&!d||!d&&u,p={...c,calls:c.calls?.length?c.calls:[{to:c.to||(!c.data||c.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:c.value,data:c.data}],chainId:Number(r),feePayerSignature:l,type:`tempo`,...o?{nonce:BigInt(o)}:{}},m={...p};f&&delete m.feeToken;let h=(()=>{if(n)return n;if(!a||!e.signatures)return;let t=Qa(Ya(m)),r=e.signatures.map(e=>As(e)),i=N(a.config),o=e.from;if(!o)throw Error(`A multisig sender is required for signing.`);return L({account:o,config:i,signatures:Gi({account:o,config:i,payload:t,signatures:r})})})();if(h&&typeof e.feePayer==`object`){let t=Ya(p,{signature:h}),n=eo(t,{sender:e.from??F({payload:Qa(t),root:!0,signature:h})}),r=await e.feePayer.sign({hash:n});return Xa(t,{feePayerSignature:ee(r)})}return i===!0||!h&&u?h&&l?Xa(m,{signature:h}):h?Xa(m,{format:`feePayer`,sender:e.from,signature:h}):Xa(m,{feePayerSignature:null}):Xa(m,{feePayerSignature:void 0,signature:h})}function Ls(e){let t=(()=>{if(typeof e==`string`)return;let{address:t,...n}=e;return n})(),n=(()=>{if(!t)return;let e=t.owners.map(e=>typeof e==`string`||`address`in e?{owner:e,weight:1}:e);return N({...t,owners:e.map(({owner:e,weight:t})=>({owner:typeof e==`string`?e:e.address,weight:t})),threshold:t.threshold??1})})();if(typeof e!=`string`){if((e.address===void 0||e.address===`infer`)&&n.version!==0n)throw Error(`An initial multisig config must have version zero.`);if(e.address!==void 0&&e.address!==`infer`&&n.version===0n)throw Error(`A current multisig config must have a version.`)}let r=Se(typeof e==`string`?e:e.address===void 0||e.address===`infer`?Oi(n,{factory:Os}):e.address),i=t?t.owners.flatMap(e=>{let t=typeof e==`string`||`address`in e?e:e.owner;return typeof t==`string`?[]:[O(t)]}):[];if(i.some(e=>e.source===`multisig`||Bs(e)))throw Error(`Multisig owners must use primitive signatures.`);let a=n?.owners.flatMap(({owner:e})=>{let t=i.find(t=>S(t.address,e));return t?[t]:[]})??[],o={address:r,config:n,owners:a,publicKey:`0x`,source:`multisig`,type:`local`,async sign({hash:e}){return R(await zs(o,{payload:e}))},async signMessage(){throw Error("`signMessage` is not supported for multisig accounts.")},async signTransaction(e,t){let{serializer:n=Ps}=t??{},i=e;if(i.owner){let e=O(i.owner);if(e.type!==`local`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(e.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let{owner:n,...r}=i;return await e.signTransaction(r,t)}if(a.length===0)return await n(e);let s={...i,signatures:void 0,...i.feePayerSignature===void 0?{}:{feePayerSignature:null}},c=ke(await n(s)),l=i.multisigSimulation;if(i.from&&!S(i.from,r))throw Error(`Multisig account does not match the transaction sender.`);return await n(e,await zs(o,{config:l?.config,payload:c,signatures:i.signatures?.map(e=>As(e))}))},async signTypedData(){throw Error("`signTypedData` is not supported for multisig accounts.")}};return o}function Rs(e){return e.source===`multisig`}async function zs(e,t){let{config:n,payload:r,signatures:i=[]}=t,a=n??e.config;if(!a)throw Error(`A current multisig config is required for local signing.`);let o=ki({account:e.address,config:a,payload:r}),s=[...i],c=new Set,l=0;for(let e of i){let t=F({payload:o,signature:e}).toLowerCase(),n=a.owners.find(e=>S(e.owner,t));n&&!c.has(t)&&(c.add(t),l+=Number(n.weight))}let u=[...a.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()));for(let t of u){if(l>=Number(a.threshold))break;let n=t.owner.toLowerCase();if(c.has(n))continue;let r=e.owners.find(e=>S(e.address,t.owner));if(r){if(!r.sign)throw Error(`Multisig owner account cannot sign.`);if(s.push(As(await r.sign({hash:o}))),c.add(n),l+=Number(t.weight),l>=Number(a.threshold))break}}if(l<Number(a.threshold))throw Error(`Local multisig owners do not meet the threshold.`);return L({account:e.address,config:a,signatures:Gi({account:e.address,config:a,payload:r,signatures:s})})}function Bs(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function Vs(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,scopes:s,witness:c}=t,{accessKeyAddress:l,keyType:u}=Us(a),d=Bs(e)||Rs(e)?{account:e.address}:{},f=n?{}:{expiry:i,limits:o,scopes:s};return ma({address:l,chainId:r,type:u,witness:c,...n?{isAdmin:!0}:{},...d,...f})}async function Hs(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,multisig:s,scopes:c,signatures:l,witness:u}=t,{accessKeyAddress:d,keyType:f}=Us(a),p=Bs(e),m=Rs(e),h=p||m?{account:e.address}:{},g=n?{}:{expiry:i,limits:o,scopes:c},_=Vs(e,t);return da({address:d,chainId:r,signature:L(await(async()=>{if(p)return e.sign({hash:_,raw:!0});if(m){if(!s)throw Error(`Multisig state is required to sign a key authorization.`);return R(await zs(e,{config:s.config,payload:_,signatures:l?.map(e=>As(e))}))}return e.sign({hash:_})})()),type:f,...u?{witness:u}:{},...n?{isAdmin:!0}:{},...h,...g})}function Us(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:r(a(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}var Ws=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function Gs(e,t){return Ws.indexOf(e)<Ws.indexOf(t)}function U(e){return{...e,data:We(e),to:e.address}}async function Ks(e,t){let n=await e.request({method:`multisig_getConfig`,params:[{address:t.address}]});return n?Ei(n):null}async function qs(e,t){let{account:n,...r}=t;return b(e,{...r,...qs.call({account:n})})}(function(e){function t(e){return U({address:Ds,abi:Vo,args:[e.account],functionName:`getConfigCommitment`})}e.call=t})(qs||={});async function Js(e,t){return Js.inner(re,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`multisig`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return N(u);if(!d)throw Error(`A multisig account address or current config is required.`);let e=await Ks(n,{address:d});if(!e)throw Error(`No current multisig config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return Ls({address:d,...f})})();return await t(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=N(e.currentConfig),n=N({owners:e.nextConfig.owners,salt:t.salt,threshold:e.nextConfig.threshold,version:t.version+1n});return U({address:Ds,abi:Vo,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}e.call=n;function r(e){let[t]=xe({abi:Vo,logs:e,eventName:`MultisigConfigUpdated`,strict:!0});if(!t)throw Error("`MultisigConfigUpdated` event not found.");return t}e.extractEvent=r})(Js||={});var Ys={0:`secp256k1`,1:`p256`,2:`webAuthn`},Xs={true:`limited`,false:`unlimited`};async function Zs(e,t){return Zs.inner(me,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await ac(t,{account:d,accessKey:r,chainId:a,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=xe({abi:H,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error("`KeyAuthorized` event not found.");return t}e.extractEvent=n})(Zs||={});async function Qs(e,t){return Qs.inner(re,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return U({address:Es,abi:H,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=xe({abi:H,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error("`KeyAuthorizationWitnessBurned` event not found.");return t}e.extractEvent=r})(Qs||={});async function $s(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=O(n),o=await b(e,{...i,account:null,...$s.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:Ys[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:Xs[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return U({address:Es,abi:H,functionName:`getKey`,args:[t,cc(n)]})}e.call=t})($s||={});async function ec(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=O(n),s=e.chain?.hardfork;if(s&&Gs(s,`t3`))return{remaining:await b(e,{...a,...ec.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await b(e,{...a,...ec.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return U({address:Es,abi:H,functionName:`getRemainingLimit`,args:[t,cc(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return U({address:Es,abi:H,functionName:`getRemainingLimitWithPeriod`,args:[t,cc(n),r]})}e.callWithPeriod=n})(ec||={});async function tc(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=O(n);return b(e,{...i,account:null,...tc.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return U({address:Es,abi:H,functionName:`isAdminKey`,args:[t,cc(n)]})}e.call=t})(tc||={});async function nc(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=O(n);return b(e,{...i,account:null,...nc.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return U({address:Es,abi:H,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(nc||={});async function rc(e,t){return rc.inner(re,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return U({address:Es,abi:H,functionName:`revokeKey`,args:[cc(t)]})}e.call=n;function r(e){let[t]=xe({abi:H,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error("`KeyRevoked` event not found.");return t}e.extractEvent=r})(rc||={});async function ic(e,t){let{chainId:n=e.chain?.id}=t,r=t.account??e.account;if(!r)throw Error(`account is required.`);if(!n)throw Error(`chainId is required.`);let i=O(r),a=await(async()=>{if(`multisig`in t)return t.multisig;if(i.source!==`multisig`)return;let e=i;if(!e.config)throw Error(`A multisig config is required to prepare a key authorization.`);return{config:e.config}})(),o=Vs(i,{...t,chainId:BigInt(n),key:t.accessKey}),s=i.source===`multisig`&&a?ki({account:i.address,config:a.config,payload:o}):o;return{...t,account:i,chainId:n,multisig:a,signPayload:s}}async function ac(e,t){if(`hash`in t&&t.hash||`owner`in t&&t.owner){let n=t,r=n.owner;if(!r||typeof r==`string`)throw Error(`A local owner account is required to approve a multisig key authorization.`);let i=O(r).sign;if(!i)throw Error(`A local owner account is required to approve a multisig key authorization.`);let a=await(async()=>{if(`hash`in n&&n.hash){let e=R(L(await i({hash:n.hash})));return{hash:n.hash,signature:e}}let{account:t,owner:r,...a}=n,o=typeof t==`string`?t:t.address,s=await(async()=>{if(typeof t!=`string`&&t.config)return t.config;let n=await Ks(e,{address:o});if(n)return n;throw Error(`No current multisig config is cached for account ${o}. Provide the current config.`)})(),c=(()=>{if(s.version!==0n)return Ls({address:o,...s});let{version:e,...t}=s;return Ls({address:`infer`,...t})})();if(!Ne(c.address,o))throw Error(`Initial multisig config does not match the account.`);let l=await ic(e,{...a,account:c}),u=R(L(await i({hash:l.signPayload}))),{accessKey:d,admin:f,chainId:p,expiry:m,limits:h,scopes:g,witness:_}=l,{accessKeyAddress:v,keyType:y}=Us(d);return{keyAuthorization:va(da({account:c.address,address:v,chainId:BigInt(p),signature:L({account:c.address,config:s,signatures:[As(u)]}),type:y,..._?{witness:_}:{},...f?{isAdmin:!0}:{expiry:m,limits:h,scopes:g}}))}})(),o=so(await e.request({method:`multisig_approveKeyAuthorization`,params:[a]})),s=ha(await(async()=>{if(o.status===`success`)return o.keyAuthorization;let e=await io({account:o.account,approvals:o.approvals,config:o.config,hash:o.hash});return ao(o.keyAuthorization,{account:o.account,approvals:e.selectedApprovals.length>0?e.selectedApprovals:e.approvals.slice(0,1),config:o.config})})());if(!s.signature)throw Error(`Expected a signed multisig key authorization.`);return{...s,hash:o.hash,multisig:o,status:o.status}}let{accessKey:n,account:r,chainId:i,multisig:a,signPayload:o,...s}=`signPayload`in t?t:await ic(e,t);return Hs(r,{chainId:BigInt(i),key:n,multisig:a,...s})}async function oc(e,t){return oc.inner(re,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return U({address:Es,abi:H,functionName:`updateSpendingLimit`,args:[cc(t),n,r]})}e.call=n;function r(e){let[t]=xe({abi:H,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error("`SpendingLimitUpdated` event not found.");return t}e.extractEvent=r})(oc||={});async function sc(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return b(e,{...o,...sc.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return U({address:ks,abi:Go,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(sc||={});function cc(e){return typeof e==`string`?e:e.accessKeyAddress}function lc(e){if(!Ms(e))return it(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.multisig,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=Mo(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:C(r.r,{size:32}),s:C(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,multisig:dc(n),nonce:Number(a),typeHex:Ao[o.type],type:o.type}}function uc(e){return{...$e(e),multisig:dc(e.multisig),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function dc(e){if(!e)return;let t=so(e);if(t.type!==`transaction`)throw Error(`Expected a multisig transaction operation.`);return t}function fc(e,t){let n=e,r=n.account?O(n.account):void 0,i=n.owner?O(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(!Ms(n))return je(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=Po({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,pc(n.keyData)]:[n.keyType,pc(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?O(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function pc(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:C(t,{size:2})}var mc=new Map;async function hc(e){mc.set(e,(mc.get(e)??0)+1),await Promise.resolve();let t=(mc.get(e)??0)>1;return queueMicrotask(()=>{let t=mc.get(e)??0;t<=1?mc.delete(e):mc.set(e,t-1)}),t}var gc=25,_c=((e,t)=>Ps(e,t)),vc={blockTime:1e3,extendSchema:tt(),formatters:{transaction:et({exclude:[`aaAuthorizationList`],format:lc}),transactionReceipt:nt({format:uc}),transactionRequest:Xe({format:fc})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`multisig`)throw Error(`A local multisig account is required to approve a stored multisig transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored multisig transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored multisig transaction.`);let e=await te(t,p,`getTransaction`)({hash:r.hash}),n=`multisig`in e?e.multisig:void 0;if(!n)throw Error(`Expected a multisig operation transaction.`);if(!Ne(n.account,r.account.address))throw Error(`Multisig operation account does not match the requested account.`);let i=Ns(n.transaction);if(ro({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Multisig operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,multisigSimulation:yc({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`multisig`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A multisig account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let a=!!i&&!!r.owner&&t.transport.multisig===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A multisig account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await te(t,Ks,`getConfig`)({address:e});if(!n)throw Error(`No current multisig config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`A multisig config is required to prepare a transaction.`);r.from=e,r.multisigSimulation=yc({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===Ee)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await hc(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=T(Pe(31))+1n,r.nonce=0):o?(r.nonceKey=Ee,r.nonce??=0,r.validAfter===void 0&&(r.validAfter=xc()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+gc)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await te(t,$s,`getMetadata`)({account:i,accessKey:a});Ne(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:_c,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.multisigSimulation)return e;try{I(e)}catch{if(Ns(e).signature?.type===`multisig`)return e;throw Error(`A Tempo owner account is required to approve a multisig transaction.`)}return await _c({...n,signatures:[...n.signatures??[],e]})}},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return I(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?ke(w(`0x04`,r,n)):r,a=(()=>{try{return F({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await $s(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:qi(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await _(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return qi(o,{address:n,payload:r})}}return await te(e,f,`verifyHash`)({...t,chain:null})}};function yc(e){let{config:t,local:n}=e;return{approvals:Sc(t).map(e=>{let t=n?.owners.find(t=>Ne(t.address,e.owner));return{...bc(t),owner:e.owner}}),config:t}}function bc(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function xc(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(Pe(8))%e)}function Sc(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}var Cc=rt({...vc,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),wc=rt({...vc,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),Tc=function(e){return e.OAUTH_ACCOUNT_SUSPENDED=`oauth_account_suspended`,e.MISSING_OR_INVALID_PRIVY_APP_ID=`missing_or_invalid_privy_app_id`,e.MISSING_OR_INVALID_PRIVY_CLIENT_ID=`missing_or_invalid_privy_client_id`,e.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID=`missing_or_invalid_privy_account_id`,e.MISSING_OR_INVALID_TOKEN=`missing_or_invalid_token`,e.MISSING_MFA_ENROLLMENT=`missing_mfa_enrollment`,e.MISSING_OR_INVALID_MFA=`missing_or_invalid_mfa`,e.EXPIRED_OR_INVALID_MFA_TOKEN=`expired_or_invalid_mfa_token`,e.INVALID_DATA=`invalid_data`,e.INVALID_CREDENTIALS=`invalid_credentials`,e.PASSKEY_NOT_REGISTERED=`passkey_not_registered`,e.INVALID_CAPTCHA=`invalid_captcha`,e.LINKED_TO_ANOTHER_USER=`linked_to_another_user`,e.ALLOWLIST_REJECTED=`allowlist_rejected`,e.CANNOT_UNLINK_EMBEDDED_WALLET=`cannot_unlink_embedded_wallet`,e.CANNOT_UNLINK_SOLE_ACCOUNT=`cannot_unlink_sole_account`,e.CANNOT_LINK_MORE_OF_TYPE=`cannot_link_more_of_type`,e.LINKED_ACCOUNT_NOT_FOUND=`linked_account_not_found`,e.TOO_MANY_REQUESTS=`too_many_requests`,e.RESOURCE_CONFLICT=`resource_conflict`,e.INVALID_ORIGIN=`invalid_origin`,e.MISSING_ORIGIN=`missing_origin`,e.INVALID_NATIVE_APP_ID=`invalid_native_app_id`,e.TOKEN_ALREADY_USED=`token_already_used`,e.ALREADY_LOGGED_OUT=`already_logged_out`,e.NOT_SUPPORTED=`not_supported`,e.USER_UNSUBSCRIBED=`user_unsubscribed`,e.MAX_APPS_REACHED=`max_apps_reached`,e.USER_LIMIT_REACHED=`max_accounts_reached`,e.DEVICE_REVOKED=`device_revoked`,e.WALLET_PASSWORD_EXISTS=`wallet_password_exists`,e.OAUTH_STATE_MISMATCH=`oauth_state_mismatch`,e.MAX_DENYLIST_ENTRIES_REACHED=`max_denylist_entries_reached`,e.MAX_TEST_ACCOUNTS_REACHED=`max_test_accounts_reached`,e.DISALLOWED_LOGIN_METHOD=`disallowed_login_method`,e.DISALLOWED_PLUS_EMAIL=`disallowed_plus_email`,e.DISALLOWED_RECOVERY_METHOD=`disallowed_recovery_method`,e.LEGACY_DASHBOARD_LOGIN_CONFIGURATION=`legacy_dashboard_login_configuration`,e.CANNOT_SET_PASSWORD=`cannot_set_password`,e.INVALID_PKCE_PARAMETERS=`invalid_pkce_parameters`,e.INVALID_APP_URL_SCHEME_CONFIGURATION=`invalid_app_url_scheme_configuration`,e.CROSS_APP_CONNECTION_NOT_ALLOWED=`cross_app_connection_not_allowed`,e.USER_DOES_NOT_EXIST=`user_does_not_exist`,e.ALREADY_EXISTS=`resource_already_exists`,e.ACCOUNT_TRANSFER_REQUIRED=`account_transfer_required`,e.USER_HAS_NOT_DELEGATED_WALLET=`user_has_not_delegated_wallet`,e.FEATURE_NOT_ENABLED=`feature_not_enabled`,e.ONRAMP_MINIMUM_IDENTITY_VERIFICATION_REQUIRED=`onramp_minimum_identity_verification_required`,e.ONRAMP_IDENTITY_VERIFICATION_REQUIRED=`onramp_identity_verification_required`,e.ONRAMP_DOCUMENT_VERIFICATION_REQUIRED=`onramp_document_verification_required`,e.ONRAMP_UNSUPPORTED_INFORMATION=`onramp_unsupported_information`,e.ONRAMP_TRANSACTION_LIMIT_REACHED=`transaction_limit_reached`,e.ONRAMP_QUOTE_EXPIRED=`onramp_quote_expired`,e.ONRAMP_WALLET_OWNERSHIP_REQUIRED=`onramp_wallet_ownership_required`,e.INSUFFICIENT_FUNDS=`insufficient_funds`,e.TRANSACTION_BROADCAST_FAILURE=`transaction_broadcast_failure`,e.TRANSACTION_EXECUTION_FAILURE=`transaction_execution_failure`,e.INVALID_SOLANA_TRANSACTION=`invalid_solana_transaction`,e.INVALID_POLICY_FORMAT=`invalid_policy_format`,e.INVALID_AGGREGATION_FORMAT=`invalid_aggregation_format`,e.POLICY_VIOLATION=`policy_violation`,e.AUTHORIZATION_KEY_HAS_ASSOCIATED_WALLETS=`authorization_key_has_associated_wallets`,e.COMPLIANCE_BLOCKED=`compliance_blocked`,e.INVALID_REQUEST=`invalid_request`,e.SIGNUP_DISABLED=`signup_disabled`,e.INVALID_STATE=`invalid_state`,e.WALLET_ENTITY_ASSIGNMENT_FAILED=`wallet_entity_assignment_failed`,e.WALLET_ENTITY_LIMIT_EXCEEDED=`wallet_entity_limit_exceeded`,e.WALLET_ENTITY_ALREADY_SET=`wallet_entity_already_set`,e}({}),Ec=class extends Error{status;code;responseData;constructor(e,t,n,r){super(t),this.status=e,this.code=n,this.name=`HttpError`,this.responseData=r}toString(){return`${this.name}: ${this.message}${this.cause?` [cause: ${this.cause}]`:``}`}},Dc=class extends Ec{constructor(e,t){super(400,e,t||`invalid_data`),this.name=`InvalidInputError`}};Dt({error:kt(),cause:kt().optional(),code:Ot(Tc).optional()});var Oc=e=>new Promise(t=>{setTimeout(()=>{t()},e)}),kc=`privy-retry-attempt`,Ac=e=>3**e*500,jc=[408,409,425,500,502,503,504],Mc=(e,{retryableStatusCodes:t=jc,retryCount:n=3,retryDelayMilliseconds:r=Ac,includeRetryAttemptHeader:i=!0}={})=>async(a,o)=>{let s=a instanceof Request?a:new Request(a,o),c=o?.signal??s.signal,l,u=!1,d;for(let a=0;a<=n;a++){let f=new Headers(o?.headers??s.headers);i&&f.set(kc,String(a));try{let n=await e(s.clone(),{...o,headers:f});if(!t.includes(n.status))return n;d=n,u=!1}catch(e){if(c?.aborted)throw e;l===void 0&&(l=e),u=!0}a<n&&await Oc(r(a))}if(!u&&d!==void 0)return d;throw l};function Nc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)r!==`__proto__`&&(e[r]=n[r])}return e}var Pc={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Fc(e,t){function n(n,r,i){if(typeof document<`u`){i=Nc({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&(i.expires=i.expires.toUTCString()),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(s in r||(r[s]=e.read(o,s)),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,Nc({},t,{expires:-1}))},withAttributes:function(e){return Fc(this.converter,Nc({},this.attributes,e))},withConverter:function(e){return Fc(Nc({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Ic=Fc(Pc,{path:`/`}),Lc=e(t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.fetchRetry=r())})(e,(function(){var e=function(e,r){if(r||={},typeof e!=`function`)throw new n(`fetch must be a function`);if(typeof r!=`object`)throw new n(`defaults must be an object`);if(r.retries!==void 0&&!t(r.retries))throw new n(`retries must be a positive integer`);if(r.retryDelay!==void 0&&!t(r.retryDelay)&&typeof r.retryDelay!=`function`)throw new n(`retryDelay must be a positive integer or a function returning a positive integer`);if(r.retryOn!==void 0&&!Array.isArray(r.retryOn)&&typeof r.retryOn!=`function`)throw new n(`retryOn property expects an array or function`);return r=Object.assign({retries:3,retryDelay:1e3,retryOn:[]},r),function(i,a){var o=r.retries,s=r.retryDelay,c=r.retryOn;if(a&&a.retries!==void 0){if(t(a.retries))o=a.retries;else throw new n(`retries must be a positive integer`)}if(a&&a.retryDelay!==void 0){if(t(a.retryDelay)||typeof a.retryDelay==`function`)s=a.retryDelay;else throw new n(`retryDelay must be a positive integer or a function returning a positive integer`)}if(a&&a.retryOn){if(Array.isArray(a.retryOn)||typeof a.retryOn==`function`)c=a.retryOn;else throw new n(`retryOn property expects an array or function`)}return new Promise(function(t,n){var r=function(r){e(typeof Request<`u`&&i instanceof Request?i.clone():i,a).then(function(e){if(Array.isArray(c)&&c.indexOf(e.status)===-1)t(e);else if(typeof c==`function`)try{return Promise.resolve(c(r,null,e)).then(function(n){n?l(r,null,e):t(e)}).catch(n)}catch(e){n(e)}else r<o?l(r,null,e):t(e)}).catch(function(e){if(typeof c==`function`)try{Promise.resolve(c(r,e,null)).then(function(t){t?l(r,e,null):n(e)}).catch(function(e){n(e)})}catch(e){n(e)}else r<o?l(r,e,null):n(e)})};function l(e,t,n){var i=typeof s==`function`?s(e,t,n):s;setTimeout(function(){r(++e)},i)}r(0)})}};function t(e){return Number.isInteger(e)&&e>=0}function n(e){this.name=`ArgumentError`,this.message=e}return e}))}))(),1),Rc={AC:`40123`,AD:`312345`,AE:`501234567`,AF:`701234567`,AG:`2684641234`,AI:`2642351234`,AL:`672123456`,AM:`77123456`,AO:`923123456`,AR:`91123456789`,AS:`6847331234`,AT:`664123456`,AU:`412345678`,AW:`5601234`,AX:`412345678`,AZ:`401234567`,BA:`61123456`,BB:`2462501234`,BD:`1812345678`,BE:`450001234`,BF:`70123456`,BG:`43012345`,BH:`36001234`,BI:`79561234`,BJ:`0195123456`,BL:`690001234`,BM:`4413701234`,BN:`7123456`,BO:`71234567`,BQ:`3181234`,BR:`11961234567`,BS:`2423591234`,BT:`17123456`,BW:`71123456`,BY:`294911911`,BZ:`6221234`,CA:`5062345678`,CC:`412345678`,CD:`991234567`,CF:`70012345`,CG:`061234567`,CH:`781234567`,CI:`0123456789`,CK:`71234`,CL:`221234567`,CM:`671234567`,CN:`13123456789`,CO:`3211234567`,CR:`83123456`,CU:`51234567`,CV:`9911234`,CW:`95181234`,CX:`412345678`,CY:`96123456`,CZ:`601123456`,DE:`15123456789`,DJ:`77831001`,DK:`34412345`,DM:`7672251234`,DO:`8092345678`,DZ:`551234567`,EC:`991234567`,EE:`51234567`,EG:`1001234567`,EH:`650123456`,ER:`7123456`,ES:`612345678`,ET:`911234567`,FI:`412345678`,FJ:`7012345`,FK:`51234`,FM:`3501234`,FO:`211234`,FR:`612345678`,GA:`06031234`,GB:`7400123456`,GD:`4734031234`,GE:`555123456`,GF:`694201234`,GG:`7781123456`,GH:`231234567`,GI:`57123456`,GL:`221234`,GM:`3012345`,GN:`601123456`,GP:`690001234`,GQ:`222123456`,GR:`6912345678`,GT:`51234567`,GU:`6713001234`,GW:`955012345`,GY:`6091234`,HK:`51234567`,HN:`91234567`,HR:`921234567`,HT:`34101234`,HU:`201234567`,ID:`812345678`,IE:`850123456`,IL:`502345678`,IM:`7924123456`,IN:`8123456789`,IO:`3801234`,IQ:`7912345678`,IR:`9123456789`,IS:`6111234`,IT:`3123456789`,JE:`7797712345`,JM:`8762101234`,JO:`790123456`,JP:`9012345678`,KE:`712123456`,KG:`700123456`,KH:`91234567`,KI:`72001234`,KM:`3212345`,KN:`8697652917`,KP:`1921234567`,KR:`1020000000`,KW:`50012345`,KY:`3453231234`,KZ:`7710009998`,LA:`2023123456`,LB:`71123456`,LC:`7582845678`,LI:`660234567`,LK:`712345678`,LR:`770123456`,LS:`50123456`,LT:`61234567`,LU:`628123456`,LV:`21234567`,LY:`912345678`,MA:`650123456`,MC:`612345678`,MD:`62112345`,ME:`60123456`,MF:`690001234`,MG:`321234567`,MH:`2351234`,MK:`72345678`,ML:`65012345`,MM:`92123456`,MN:`88123456`,MO:`66123456`,MP:`6702345678`,MQ:`696201234`,MR:`22123456`,MS:`6644923456`,MT:`96961234`,MU:`52512345`,MV:`7712345`,MW:`991234567`,MX:`2221234567`,MY:`123456789`,MZ:`821234567`,NA:`811234567`,NC:`751234`,NE:`93123456`,NF:`381234`,NG:`8021234567`,NI:`81234567`,NL:`612345678`,NO:`40612345`,NP:`9841234567`,NR:`5551234`,NU:`8884012`,NZ:`211234567`,OM:`92123456`,PA:`61234567`,PE:`912345678`,PF:`87123456`,PG:`70123456`,PH:`9051234567`,PK:`3012345678`,PL:`512345678`,PM:`551234`,PR:`7872345678`,PS:`599123456`,PT:`912345678`,PW:`6201234`,PY:`961456789`,QA:`33123456`,RE:`692123456`,RO:`712034567`,RS:`601234567`,RU:`9123456789`,RW:`720123456`,SA:`512345678`,SB:`7421234`,SC:`2510123`,SD:`911231234`,SE:`701234567`,SG:`81234567`,SH:`51234`,SI:`31234567`,SJ:`41234567`,SK:`912123456`,SL:`25123456`,SM:`66661212`,SN:`701234567`,SO:`71123456`,SR:`7412345`,SS:`977123456`,ST:`9812345`,SV:`70123456`,SX:`7215205678`,SY:`944567890`,SZ:`76123456`,TA:`8999`,TC:`6492311234`,TD:`63012345`,TG:`90112345`,TH:`812345678`,TJ:`917123456`,TK:`7290`,TL:`77212345`,TM:`66123456`,TN:`20123456`,TO:`7715123`,TR:`5012345678`,TT:`8682911234`,TV:`901234`,TW:`912345678`,TZ:`621234567`,UA:`501234567`,UG:`712345678`,US:`2015550123`,UY:`94231234`,UZ:`912345678`,VA:`3123456789`,VC:`7844301234`,VE:`4121234567`,VG:`2843001234`,VI:`3406421234`,VN:`912345678`,VU:`5912345`,WF:`821234`,WS:`7212345`,XK:`43201234`,YE:`712345678`,YT:`639012345`,ZA:`711234567`,ZM:`955123456`,ZW:`712345678`},zc={version:4,country_calling_codes:{1:[`US`,`AG`,`AI`,`AS`,`BB`,`BM`,`BS`,`CA`,`DM`,`DO`,`GD`,`GU`,`JM`,`KN`,`KY`,`LC`,`MP`,`MS`,`PR`,`SX`,`TC`,`TT`,`VC`,`VG`,`VI`],7:[`RU`,`KZ`],20:[`EG`],27:[`ZA`],30:[`GR`],31:[`NL`],32:[`BE`],33:[`FR`],34:[`ES`],36:[`HU`],39:[`IT`,`VA`],40:[`RO`],41:[`CH`],43:[`AT`],44:[`GB`,`GG`,`IM`,`JE`],45:[`DK`],46:[`SE`],47:[`NO`,`SJ`],48:[`PL`],49:[`DE`],51:[`PE`],52:[`MX`],53:[`CU`],54:[`AR`],55:[`BR`],56:[`CL`],57:[`CO`],58:[`VE`],60:[`MY`],61:[`AU`,`CC`,`CX`],62:[`ID`],63:[`PH`],64:[`NZ`],65:[`SG`],66:[`TH`],81:[`JP`],82:[`KR`],84:[`VN`],86:[`CN`],90:[`TR`],91:[`IN`],92:[`PK`],93:[`AF`],94:[`LK`],95:[`MM`],98:[`IR`],211:[`SS`],212:[`MA`,`EH`],213:[`DZ`],216:[`TN`],218:[`LY`],220:[`GM`],221:[`SN`],222:[`MR`],223:[`ML`],224:[`GN`],225:[`CI`],226:[`BF`],227:[`NE`],228:[`TG`],229:[`BJ`],230:[`MU`],231:[`LR`],232:[`SL`],233:[`GH`],234:[`NG`],235:[`TD`],236:[`CF`],237:[`CM`],238:[`CV`],239:[`ST`],240:[`GQ`],241:[`GA`],242:[`CG`],243:[`CD`],244:[`AO`],245:[`GW`],246:[`IO`],247:[`AC`],248:[`SC`],249:[`SD`],250:[`RW`],251:[`ET`],252:[`SO`],253:[`DJ`],254:[`KE`],255:[`TZ`],256:[`UG`],257:[`BI`],258:[`MZ`],260:[`ZM`],261:[`MG`],262:[`RE`,`YT`],263:[`ZW`],264:[`NA`],265:[`MW`],266:[`LS`],267:[`BW`],268:[`SZ`],269:[`KM`],290:[`SH`,`TA`],291:[`ER`],297:[`AW`],298:[`FO`],299:[`GL`],350:[`GI`],351:[`PT`],352:[`LU`],353:[`IE`],354:[`IS`],355:[`AL`],356:[`MT`],357:[`CY`],358:[`FI`,`AX`],359:[`BG`],370:[`LT`],371:[`LV`],372:[`EE`],373:[`MD`],374:[`AM`],375:[`BY`],376:[`AD`],377:[`MC`],378:[`SM`],380:[`UA`],381:[`RS`],382:[`ME`],383:[`XK`],385:[`HR`],386:[`SI`],387:[`BA`],389:[`MK`],420:[`CZ`],421:[`SK`],423:[`LI`],500:[`FK`],501:[`BZ`],502:[`GT`],503:[`SV`],504:[`HN`],505:[`NI`],506:[`CR`],507:[`PA`],508:[`PM`],509:[`HT`],590:[`GP`,`BL`,`MF`],591:[`BO`],592:[`GY`],593:[`EC`],594:[`GF`],595:[`PY`],596:[`MQ`],597:[`SR`],598:[`UY`],599:[`CW`,`BQ`],670:[`TL`],672:[`NF`],673:[`BN`],674:[`NR`],675:[`PG`],676:[`TO`],677:[`SB`],678:[`VU`],679:[`FJ`],680:[`PW`],681:[`WF`],682:[`CK`],683:[`NU`],685:[`WS`],686:[`KI`],687:[`NC`],688:[`TV`],689:[`PF`],690:[`TK`],691:[`FM`],692:[`MH`],850:[`KP`],852:[`HK`],853:[`MO`],855:[`KH`],856:[`LA`],880:[`BD`],886:[`TW`],960:[`MV`],961:[`LB`],962:[`JO`],963:[`SY`],964:[`IQ`],965:[`KW`],966:[`SA`],967:[`YE`],968:[`OM`],970:[`PS`],971:[`AE`],972:[`IL`],973:[`BH`],974:[`QA`],975:[`BT`],976:[`MN`],977:[`NP`],992:[`TJ`],993:[`TM`],994:[`AZ`],995:[`GE`],996:[`KG`],998:[`UZ`]},countries:{AC:[`247`,`00`,`(?:[01589]\\d|[2-467])\\d{4}`,[5,6]],AD:[`376`,`00`,`(?:1|6\\d)\\d{7}|[135-9]\\d{5}`,[6,8,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`[135-9]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]]],AE:[`971`,`00`,`(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}`,[5,6,7,8,9,10,11,12],[[`(\\d{3})(\\d{2,9})`,`$1 $2`,[`60|8`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[236]|[479][2-8]`],`0$1`],[`(\\d{3})(\\d)(\\d{5})`,`$1 $2 $3`,[`[479]`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AF:[`93`,`00`,`[2-7]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`]],`0`],AG:[`1`,`011`,`(?:268|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([457]\\d{6})$|1`,`268$1`,0,`268`],AI:[`1`,`011`,`(?:264|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2457]\\d{6})$|1`,`264$1`,0,`264`],AL:[`355`,`00`,`(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}`,[6,7,8,9],[[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`80|9`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`4[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2358][2-5]|4`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[23578]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`6`],`0$1`]],`0`],AM:[`374`,`00`,`(?:[1-489]\\d|55|60|77)\\d{6}`,[8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[89]0`],`0 $1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`2|3[12]`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`1|47`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[3-9]`],`0$1`]],`0`],AO:[`244`,`00`,`[29]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[29]`]]]],AR:[`54`,`00`,`(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}`,[10,11],[[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2-$3`,[`2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])`,`2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`1`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[68]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[23]`],`0$1`,1],[`(\\d)(\\d{4})(\\d{2})(\\d{4})`,`$2 15-$3-$4`,[`9(?:2[2-469]|3[3-578])`,`9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))`,`9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d)(\\d{2})(\\d{4})(\\d{4})`,`$2 15-$3-$4`,[`91`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1-$2-$3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{4})`,`$2 15-$3-$4`,[`9`],`0$1`,0,`$1 $2 $3-$4`]],`0`,0,`0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?`,`9$1`],AS:[`1`,`011`,`(?:[58]\\d\\d|684|900)\\d{7}`,[10],0,`1`,0,`([267]\\d{6})$|1`,`684$1`,0,`684`],AT:[`43`,`00`,`1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d)(\\d{3,12})`,`$1 $2`,[`1(?:11|[2-9])`],`0$1`],[`(\\d{3})(\\d{2})`,`$1 $2`,[`517`],`0$1`],[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`5[079]`],`0$1`],[`(\\d{3})(\\d{3,10})`,`$1 $2`,[`(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`,`(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`],`0$1`],[`(\\d{4})(\\d{3,9})`,`$1 $2`,[`[2-467]|5[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,7})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AU:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}`,[5,6,7,8,9,10,12],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`16`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`16`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`14|4`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[2378]`],`(0$1)`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:30|[89])`]]],`0`,0,`(183[12])|0`,0,0,0,[[`(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,[`163\\d{2,6}`,[5,6,7,8,9]],[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],AW:[`297`,`00`,`(?:[25-79]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[25-9]`]]]],AX:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}`,[5,6,7,8,9,10,11,12],0,`0`,0,0,0,0,`18`,0,`00`],AZ:[`994`,`00`,`365\\d{6}|(?:[124579]\\d|60|88)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[28]|2|365|46`,`1[28]|2|365[45]|46`,`1[28]|2|365(?:4|5[02])|46`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[13-9]`],`0$1`]],`0`],BA:[`387`,`00`,`6\\d{8}|(?:[35689]\\d|49|70)\\d{6}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[1-3]|[7-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2-$3`,[`[3-5]|6[56]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`6`],`0$1`]],`0`],BB:[`1`,`011`,`(?:246|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`246$1`,0,`246`],BD:[`880`,`00`,`[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}`,[6,7,8,9,10],[[`(\\d{2})(\\d{4,6})`,`$1-$2`,[`31[5-8]|[459]1`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1-$2`,[`3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]`],`0$1`],[`(\\d{4})(\\d{3,6})`,`$1-$2`,[`[13-9]|2[23]`],`0$1`],[`(\\d)(\\d{7,8})`,`$1-$2`,[`2`],`0$1`]],`0`],BE:[`32`,`00`,`4\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:80|9)0`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[239]|4[23]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[15-8]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4`],`0$1`]],`0`],BF:[`226`,`00`,`[024-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[024-7]`]]]],BG:[`359`,`00`,`00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}`,[6,7,8,9,12],[[`(\\d)(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`43[1-6]|70[1-9]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:70|8)0`],`0$1`],[`(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3`,[`43[1-7]|7`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[48]|9[08]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],BH:[`973`,`00`,`[136-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[13679]|8[02-4679]`]]]],BI:[`257`,`00`,`(?:[267]\\d|31)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2367]`]]]],BJ:[`229`,`00`,`(?:01\\d|8)\\d{7}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`0`]]]],BL:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],BM:[`1`,`011`,`(?:441|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`441$1`,0,`441`],BN:[`673`,`00`,`[2-578]\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-578]`]]]],BO:[`591`,`00(?:1\\d)?`,`(?:[2-7]\\d\\d|8001)\\d{5}`,[8,9],[[`(\\d)(\\d{7})`,`$1 $2`,[`[23]|4[46]|50`]],[`(\\d{8})`,`$1`,[`[5-7]`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`,0,`0(1\\d)?`],BQ:[`599`,`00`,`(?:[34]1|7\\d)\\d{5}`,[7],0,0,0,0,0,0,`[347]`],BR:[`55`,`00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)`,`[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}`,[8,9,10,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`300|4(?:0[02]|37|86)`,`300|4(?:0(?:0|20)|370|864)`]],[`(\\d{3})(\\d{2,3})(\\d{4})`,`$1 $2 $3`,[`(?:[358]|90)0`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]`],`($1)`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1 $2-$3`,[`[16][1-9]|[2-57-9]`],`($1)`]],`0`,0,`(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?`,`$2`],BS:[`1`,`011`,`(?:242|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([3-8]\\d{6})$|1`,`242$1`,0,`242`],BT:[`975`,`00`,`[178]\\d{7}|[2-8]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-6]|7[246]|8[2-4]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[67]|[78]`]]]],BW:[`267`,`00`,`(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`90`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-6]|3[15-9]`]],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37]`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`8`]]]],BY:[`375`,`810`,`(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`800`],`8 $1`],[`(\\d{3})(\\d{2})(\\d{2,4})`,`$1 $2 $3`,[`800`],`8 $1`],[`(\\d{4})(\\d{2})(\\d{3})`,`$1 $2-$3`,[`1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])`,`1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])`],`8 0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`1(?:[56]|7[467])|2[1-3]`],`8 0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-4]`],`8 0$1`],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[89]`],`8 $1`]],`8`,0,`0|80?`,0,0,0,0,`8~10`],BZ:[`501`,`00`,`(?:0800\\d|[2-8])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-8]`]],[`(\\d)(\\d{3})(\\d{4})(\\d{3})`,`$1-$2-$3-$4`,[`0`]]]],CA:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[7,10],0,`1`,0,0,0,0,0,[[`(?:2(?:04|[23]6|[48]9|5[07]|[67]3)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}`,[10]],[``,[10]],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`,[10]],[`900[2-9]\\d{6}`,[10]],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}`,[10]],0,[`310\\d{4}`,[7]],0,[`600[2-9]\\d{6}`,[10]]]],CC:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CD:[`243`,`00`,`(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}`,[7,8,9,10],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`[1-6]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`5`],`0$1`]],`0`],CF:[`236`,`00`,`8776\\d{4}|(?:[27]\\d|61)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-8]`]]]],CG:[`242`,`00`,`222\\d{6}|(?:0\\d|80)\\d{7}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[02]`]]]],CH:[`41`,`00`,`8\\d{11}|[2-9]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8[047]|90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]|81`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`8`],`0$1`]],`0`],CI:[`225`,`00`,`[02]\\d{9}`,[10],[[`(\\d{2})(\\d{2})(\\d)(\\d{5})`,`$1 $2 $3 $4`,[`2`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3 $4`,[`0`]]]],CK:[`682`,`00`,`[2-578]\\d{4}`,[5],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`[2-578]`]]]],CL:[`56`,`(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0`,`12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}`,[9,10,11],[[`(\\d{5})(\\d{4})`,`$1 $2`,[`219`,`2196`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`60|809`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`44`]],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[1-36]`],`($1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`9(?:10|[2-9])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`60|8`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{3})(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`60`]]]],CM:[`237`,`00`,`[26]\\d{8}|88\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`88`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[26]|88`]]]],CN:[`86`,`00|1(?:[12]\\d|79)\\d\\d00`,`(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5,6})`,`$1 $2`,[`(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]`,`(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`],`0$1`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]`,`(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]`,`85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])`,`85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`(?:4|80)0`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|2(?:[02-57-9]|1[1-9])`,`10|2(?:[02-57-9]|1[1-9])`,`10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]`],`0$1`,1],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`9`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`80`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[3-578]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`1[3-9]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`[12]`],`0$1`,1]],`0`,0,`(1(?:[12]\\d|79)\\d\\d)|0`,0,0,0,0,`00`],CO:[`57`,`00(?:4(?:[14]4|56)|[579])`,`(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`46`]],[`(\\d{3})(\\d{7})`,`$1 $2`,[`6|90`],`($1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3[0-357]|9[14]`]],[`(\\d)(\\d{3})(\\d{7})`,`$1-$2-$3`,[`1`],`0$1`,0,`$1 $2 $3`]],`0`,0,`0([3579]|4(?:[14]4|56))?`],CR:[`506`,`00`,`(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}`,[8,10],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[3-9]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[89]`]]],0,0,`(19(?:0[0-2468]|1[09]|20|66|77|99))`],CU:[`53`,`119`,`(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}`,[6,7,8,10],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`2[1-4]|[34]`],`(0$1)`],[`(\\d)(\\d{6,7})`,`$1 $2`,[`7`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`[56]`],`0$1`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`8`],`0$1`]],`0`],CV:[`238`,`0`,`(?:[2-59]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-589]`]]]],CW:[`599`,`00`,`(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[3467]`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9[4-8]`]]],0,0,0,0,0,`[69]`],CX:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CY:[`357`,`00`,`(?:[279]\\d|[58]0)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[257-9]`]]]],CZ:[`420`,`00`,`(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}`,[9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]|9[015-7]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`96`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]]],DE:[`49`,`00`,`[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}`,[4,5,6,7,8,9,10,11,12,13,14,15],[[`(\\d{2})(\\d{3,13})`,`$1 $2`,[`3[02]|40|[68]9`],`0$1`],[`(\\d{3})(\\d{3,12})`,`$1 $2`,[`2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`,`2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`],`0$1`],[`(\\d{4})(\\d{2,11})`,`$1 $2`,[`[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]`,`[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`138`],`0$1`],[`(\\d{5})(\\d{2,10})`,`$1 $2`,[`3`],`0$1`],[`(\\d{3})(\\d{5,11})`,`$1 $2`,[`181`],`0$1`],[`(\\d{3})(\\d)(\\d{4,10})`,`$1 $2 $3`,[`1(?:3|80)|9`],`0$1`],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`1[67]`],`0$1`],[`(\\d{3})(\\d{7,12})`,`$1 $2`,[`8`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`185`,`1850`,`18500`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`18[68]`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`15[1279]`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`15[03568]`,`15(?:[0568]|3[13])`],`0$1`],[`(\\d{3})(\\d{8})`,`$1 $2`,[`18`],`0$1`],[`(\\d{3})(\\d{2})(\\d{7,8})`,`$1 $2 $3`,[`1(?:6[023]|7)`],`0$1`],[`(\\d{4})(\\d{2})(\\d{7})`,`$1 $2 $3`,[`15[279]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{8})`,`$1 $2 $3`,[`15`],`0$1`]],`0`],DJ:[`253`,`00`,`(?:2\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[27]`]]]],DK:[`45`,`00`,`[2-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-9]`]]]],DM:[`1`,`011`,`(?:[58]\\d\\d|767|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`767$1`,0,`767`],DO:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,0,0,0,`8001|8[024]9`],DZ:[`213`,`00`,`(?:[1-4]|[5-79]\\d|80)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`9`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-8]`],`0$1`]],`0`],EC:[`593`,`00`,`1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}`,[8,9,10,11],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[2-7]`],`(0$1)`,0,`$1-$2-$3`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1`]]],`0`],EE:[`372`,`00`,`8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88`,`[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88`]],[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[45]|8(?:00|[1-49])`,`[45]|8(?:00[1-9]|[1-49])`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],EG:[`20`,`00`,`[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}`,[8,9,10],[[`(\\d)(\\d{7,8})`,`$1 $2`,[`[23]`],`0$1`],[`(\\d{2})(\\d{6,7})`,`$1 $2`,[`1[35]|[4-6]|8[2468]|9[235-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{8})`,`$1 $2`,[`1`],`0$1`]],`0`],EH:[`212`,`00`,`[5-8]\\d{8}`,[9],0,`0`,0,0,0,0,0,[[`528[89]\\d{5}`],[`(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}`],[`80[0-7]\\d{6}`],[`89\\d{7}`],0,0,0,0,[`(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}`]]],ER:[`291`,`00`,`[178]\\d{6}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[178]`],`0$1`]],`0`],ES:[`34`,`00`,`(?:400|[5-9]\\d\\d)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]00`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[4-9]`]]]],ET:[`251`,`00`,`(?:11|[2-57-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-57-9]`],`0$1`]],`0`],FI:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}`,[5,6,7,8,9,10,11,12],[[`(\\d{5})`,`$1`,[`20[2-59]`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`(?:[1-3]0|[68])0|70[07-9]`],`0$1`],[`(\\d{2})(\\d{4,8})`,`$1 $2`,[`[14]|2[09]|50|7[135]`],`0$1`],[`(\\d{2})(\\d{6,10})`,`$1 $2`,[`7`],`0$1`],[`(\\d)(\\d{4,9})`,`$1 $2`,[`(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9`],`0$1`]],`0`,0,0,0,0,`1[03-79]|[2-9]`,0,`00`],FJ:[`679`,`0(?:0|52)`,`45\\d{5}|(?:0800\\d|[235-9])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[235-9]|45`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]]],0,0,0,0,0,0,0,`00`],FK:[`500`,`00`,`[2-7]\\d{4}`,[5]],FM:[`691`,`00`,`(?:[39]\\d\\d|820)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[389]`]]]],FO:[`298`,`00`,`[2-9]\\d{5}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-9]`]]],0,0,`(10(?:01|[12]0|88))`],FR:[`33`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0 $1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[1-79]`],`0$1`]],`0`],GA:[`241`,`00`,`(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}`,[7,8],[[`(\\d)(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-7]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`11|[67]`],`0$1`]],0,0,`0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})`,`$1`],GB:[`44`,`00`,`[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}`,[7,9,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`800`,`8001`,`80011`,`800111`,`8001111`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`845`,`8454`,`84546`,`845464`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`800`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`1(?:38|5[23]|69|76|94)`,`1(?:(?:38|69)7|5(?:24|39)|768|946)`,`1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`1(?:[2-69][02-9]|[78])`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[25]|7(?:0|6[02-9])`,`[25]|7(?:0|6(?:[03-9]|2[356]))`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1389]`],`0$1`]],`0`,0,`0|180020`,0,0,0,[[`(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}`,[9,10]],[`7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]],0,` x`],GD:[`1`,`011`,`(?:473|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`473$1`,0,`473`],GE:[`995`,`00`,`(?:[3-57]\\d\\d|800)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`32`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[57]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[348]`],`0$1`]],`0`],GF:[`594`,`00`,`(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]|80[6-9]|9[47]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[89]`],`0$1`]],`0`],GG:[`44`,`00`,`(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?`,[7,9,10],0,`0`,0,`([25-9]\\d{5})$|0|180020`,`1481$1`,0,0,[[`1481[25-9]\\d{5}`,[10]],[`7(?:(?:781|839)\\d|911[17])\\d{5}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]]],GH:[`233`,`00`,`[235]\\d{8}|800\\d{5,6}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2358]`],`0$1`]],`0`],GI:[`350`,`00`,`(?:[25]\\d|60)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`2`]]]],GL:[`299`,`00`,`(?:19|[2-689]\\d|70)\\d{4}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`19|[2-9]`]]]],GM:[`220`,`00`,`[48]\\d{8}|[2-9]\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[235-9]|4(?:[0-35]|4[16-9])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[48]`]]]],GN:[`224`,`00`,`722\\d{6}|(?:3|6\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`3`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[67]`]]]],GP:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|80[6-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],GQ:[`240`,`00`,`222\\d{6}|(?:3\\d|55|[89]0)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235]`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[89]`]]]],GR:[`30`,`00`,`5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}`,[10,11,12],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`21|7`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2689]`]],[`(\\d{3})(\\d{3,4})(\\d{5})`,`$1 $2 $3`,[`8`]]]],GT:[`502`,`00`,`80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-8]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],GU:[`1`,`011`,`(?:[58]\\d\\d|671|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`671$1`,0,`671`],GW:[`245`,`00`,`[49]\\d{8}|4\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`40`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`]]]],GY:[`592`,`001`,`(?:[2-8]\\d{3}|9008)\\d{3}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],HK:[`852`,`00(?:30|5[09]|[126-9]?)`,`8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}`,[5,6,7,8,9,11],[[`(\\d{3})(\\d{2,5})`,`$1 $2`,[`900`,`9003`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[1-4]|9(?:0[1-9]|[1-8])`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{3})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]],0,0,0,0,0,0,0,`00`],HN:[`504`,`00`,`8\\d{10}|[237-9]\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`[237-9]`]]]],HR:[`385`,`00`,`[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}`,[7,8,9],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`6[01]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{4})(\\d{3})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6|7[245]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-57]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],HT:[`509`,`00`,`[2-589]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[2-589]`]]]],HU:[`36`,`00`,`[235-7]\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`06 $1`]],`06`],ID:[`62`,`00[89]`,`00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}`,[7,8,9,10,11,12,13,14,15,16,17],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`15`]],[`(\\d{2})(\\d{5,9})`,`$1 $2`,[`2[124]|[36]1`],`(0$1)`],[`(\\d{3})(\\d{5,7})`,`$1 $2`,[`800`],`0$1`],[`(\\d{3})(\\d{5,8})`,`$1 $2`,[`[2-79]`],`(0$1)`],[`(\\d{3})(\\d{3,4})(\\d{3})`,`$1-$2-$3`,[`8[1-35-9]`],`0$1`],[`(\\d{3})(\\d{6,8})`,`$1 $2`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`804`],`0$1`],[`(\\d{3})(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`80`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1-$2-$3`,[`8`],`0$1`]],`0`],IE:[`353`,`00`,`(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}`,[7,8,9,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`2[24-9]|47|58|6[237-9]|9[35-9]`],`(0$1)`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[45]0`],`(0$1)`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2569]|4[1-69]|7[14]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`81`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`4`],`(0$1)`],[`(\\d{2})(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],IL:[`972`,`0(?:0|1(?:05|[2-9]))`,`1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}`,[7,8,9,10,11,12],[[`(\\d{4})(\\d{3})`,`$1-$2`,[`125`]],[`(\\d{4})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`121`]],[`(\\d)(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[2-489]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`12`]],[`(\\d{4})(\\d{6})`,`$1-$2`,[`159`]],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3-$4`,[`1[7-9]`]],[`(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})`,`$1-$2 $3-$4`,[`15`]]],`0`],IM:[`44`,`00`,`1624\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([25-8]\\d{5})$|0|180020`,`1624$1`,0,`74576|(?:16|7[56])24`],IN:[`91`,`00`,`(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}`,[8,9,10,11,12,13],[[`(\\d{8})`,`$1`,[`5(?:0|2[23]|3[03]|[67]1|88)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)`],0,1],[`(\\d{4})(\\d{4,5})`,`$1 $2`,[`180`,`1800`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`140`],0,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`11|2[02]|33|4[04]|79[1-6]|80[2-46]`,`11|2[02]|33|4[04]|79[1-6]|80(?:[2-4]|6[0-589])`,`11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9]))|80(?:[2-4]|6[0-589])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]`],`0$1`,1],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807`,`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]`,`1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]`],`0$1`,1],[`(\\d{5})(\\d{5})`,`$1 $2`,[`16|[6-9]`],`0$1`,1],[`(\\d{4})(\\d{2,4})(\\d{4})`,`$1 $2 $3`,[`18[06]`,`18[06]0`],0,1],[`(\\d{4})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`18`],0,1]],`0`],IO:[`246`,`00`,`3\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`3`]]]],IQ:[`964`,`00`,`(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-6]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],IR:[`98`,`00`,`[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}`,[4,5,6,7,10],[[`(\\d{4,5})`,`$1`,[`96`],`0$1`],[`(\\d{2})(\\d{4,5})`,`$1 $2`,[`(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1-8]`],`0$1`]],`0`],IS:[`354`,`00|1(?:0(?:01|[12]0)|100)`,`(?:38\\d|[4-9])\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[4-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`3`]]],0,0,0,0,0,0,0,`00`],IT:[`39`,`00`,`0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?`,[6,7,8,9,10,11,12],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`0[26]`]],[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`0[13-57-9][0159]|8(?:03|4[17]|9[2-5])`,`0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))`]],[`(\\d{4})(\\d{2,6})`,`$1 $2`,[`0(?:[13-579][2-46-8]|8[236-8])`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`894`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[26]|5`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1(?:44|[679])|[378]|43`]],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[13-57-9][0159]|14`]],[`(\\d{2})(\\d{4})(\\d{5})`,`$1 $2 $3`,[`0[26]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[03]`]]],0,0,0,0,0,0,[[`0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}`],[`3[2-9]\\d{7,8}|(?:31|43)\\d{8}`,[9,10]],[`80(?:0\\d{3}|3)\\d{3}`,[6,9]],[`(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}`,[6,8,9,10]],[`1(?:78\\d|99)\\d{6}`,[9,10]],[`3[2-8]\\d{9,10}`,[11,12]],0,0,[`55\\d{8}`,[10]],[`84(?:[08]\\d{3}|[17])\\d{3}`,[6,9]]]],JE:[`44`,`00`,`1534\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([0-24-8]\\d{5})$|0|180020`,`1534$1`,0,0,[[`1534[0-24-8]\\d{5}`],[`7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}`],[`80(?:07(?:35|81)|8901)\\d{4}`],[`(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}`],[`701511\\d{4}`],0,[`(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}`],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`],[`56\\d{8}`]]],JM:[`1`,`011`,`(?:[58]\\d\\d|658|900)\\d{7}`,[10],0,`1`,0,0,0,0,`658|876`],JO:[`962`,`00`,`(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2356]|87`],`(0$1)`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`70`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[47]`],`0$1`]],`0`],JP:[`81`,`010`,`00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}`,[8,9,10,11,12,13,14,15,16,17],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`(?:12|57|99)0`],`0$1`],[`(\\d{4})(\\d)(\\d{4})`,`$1-$2-$3`,[`1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`60`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2-$3`,[`3|4(?:2[09]|7[01])|6[1-9]`,`3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3`,[`[14]|[289][2-9]|5[3-9]|7[2-4679]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`800`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[25-9]`],`0$1`]],`0`,0,`(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0`,`$1`],KE:[`254`,`000`,`(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}`,[7,8,9,10],[[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`[24-6]`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[17]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`],KG:[`996`,`00`,`8\\d{9}|[235-9]\\d{8}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`3(?:1[346]|[24-79])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-79]|88`],`0$1`],[`(\\d{3})(\\d{3})(\\d)(\\d{2,3})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],KH:[`855`,`00[14-9]`,`1\\d{9}|[1-9]\\d{7,8}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],KI:[`686`,`00`,`(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}`,[5,8],0,`0`],KM:[`269`,`00`,`[3478]\\d{6}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[3478]`]]]],KN:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`869$1`,0,`869`],KP:[`850`,`00|99`,`85\\d{6}|(?:19\\d|[2-7])\\d{7}`,[8,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`]],`0`],KR:[`82`,`00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))`,`00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}`,[5,6,8,9,10,11,12,13,14],[[`(\\d{2})(\\d{3,4})`,`$1-$2`,[`(?:3[1-3]|[46][1-4]|5[1-5])1`],`0$1`],[`(\\d{4})(\\d{4})`,`$1-$2`,[`1`]],[`(\\d)(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[36]0|8`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`[1346]|5[1-5]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1-$2-$3`,[`5`],`0$1`]],`0`,0,`0(8(?:[1-46-8]|5\\d\\d))?`],KW:[`965`,`00`,`18\\d{5}|(?:[2569]\\d|41)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[169]|2(?:[235]|4[1-35-9])|52`]],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[245]`]]]],KY:[`1`,`011`,`(?:345|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`345$1`,0,`345`],KZ:[`7`,`810`,`8\\d{13}|[78]\\d{9}`,[10,14],0,`8`,0,0,0,0,`7`,0,`8~10`],LA:[`856`,`00`,`[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2[13]|3[14]|[4-8]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`3`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`],LB:[`961`,`00`,`[27-9]\\d{7}|[13-9]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27-9]`]]],`0`],LC:[`1`,`011`,`(?:[58]\\d\\d|758|900)\\d{7}`,[10],0,`1`,0,`([2-8]\\d{6})$|1`,`758$1`,0,`758`],LI:[`423`,`00`,`[68]\\d{8}|(?:[2378]\\d|90)\\d{5}`,[7,9],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2379]|8(?:0[09]|7)`,`[2379]|8(?:0(?:02|9)|7)`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`69`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]],`0`,0,`(1001)|0`],LK:[`94`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[1-689]`],`0$1`]],`0`],LR:[`231`,`00`,`(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4[67]|[56]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-578]`],`0$1`]],`0`],LS:[`266`,`00`,`(?:[256]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2568]`]]]],LT:[`370`,`00`,`(?:[3469]\\d|52|[78]0)\\d{6}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`52[0-7]`],`(0-$1)`,1],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0 $1`,1],[`(\\d{2})(\\d{6})`,`$1 $2`,[`37|4(?:[15]|6[1-8])`],`(0-$1)`,1],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[3-6]`],`(0-$1)`,1]],`0`,0,`[08]`],LU:[`352`,`00`,`35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}`,[4,5,6,7,8,9,10,11],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`20[2-689]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})`,`$1 $2 $3 $4`,[`[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]`]],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`80[01]|90[015]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4 $5`,[`20`]]],0,0,`(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)`],LV:[`371`,`00`,`(?:[268]\\d|78|90)\\d{6}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2679]|8[01]`]]]],LY:[`218`,`00`,`[2-9]\\d{8}`,[9],[[`(\\d{2})(\\d{7})`,`$1-$2`,[`[2-9]`],`0$1`]],`0`],MA:[`212`,`00`,`[5-8]\\d{8}`,[9],[[`(\\d{4})(\\d{5})`,`$1-$2`,[`892`],`0$1`],[`(\\d{2})(\\d{7})`,`$1-$2`,[`8(?:0[0-7]|9)`],`0$1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[5-8]`],`0$1`]],`0`,0,0,0,0,`[5-8]`],MC:[`377`,`00`,`(?:[3489]|[67]\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[389]`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[67]`],`0$1`]],`0`],MD:[`373`,`00`,`(?:[235-7]\\d|[89]0)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`22|3`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[25-7]`],`0$1`]],`0`],ME:[`382`,`00`,`(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`0$1`]],`0`],MF:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],MG:[`261`,`00`,`[23]\\d{8}`,[9],[[`(\\d{2})(\\d{2})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`,0,`([24-9]\\d{6})$|0`,`20$1`],MH:[`692`,`011`,`329\\d{4}|(?:[256]\\d|45)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-6]`]]],`1`],MK:[`389`,`00`,`[2-578]\\d{7}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2|34[47]|4(?:[37]7|5[47]|64)`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[347]`],`0$1`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[58]`],`0$1`]],`0`],ML:[`223`,`00`,`[24-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24-9]`]]]],MM:[`95`,`00`,`1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}`,[6,7,8,9,10],[[`(\\d)(\\d{2})(\\d{3})`,`$1 $2 $3`,[`16|2`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[12]|452|678|86`,`[12]|452|6788|86`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[4-7]|8[1-35]`],`0$1`],[`(\\d)(\\d{3})(\\d{4,6})`,`$1 $2 $3`,[`9(?:2[0-4]|[35-9]|4[137-9])`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`92`],`0$1`],[`(\\d)(\\d{5})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],MN:[`976`,`001`,`[12]\\d{7,9}|[5-9]\\d{7}`,[8,9,10],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`11|2[16]`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[5-9]`]],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[12]2[1-3]`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`[12](?:27|3[2-8]|4[2-68]|5[1-4689])`,`[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`[12]`],`0$1`]],`0`],MO:[`853`,`00`,`0800\\d{3}|(?:28|[68]\\d)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[268]`]]]],MP:[`1`,`011`,`[58]\\d{9}|(?:67|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`670$1`,0,`670`],MQ:[`596`,`00`,`7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|8(?:0[6-9]|[36])`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],MR:[`222`,`00`,`(?:[2-4]\\d\\d|800)\\d{5}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-48]`]]]],MS:[`1`,`011`,`(?:[58]\\d\\d|664|900)\\d{7}`,[10],0,`1`,0,`([34]\\d{6})$|1`,`664$1`,0,`664`],MT:[`356`,`00`,`3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2357-9]`]]]],MU:[`230`,`0(?:0|[24-7]0|3[03])`,`(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-46]|8[013]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[57]`]],[`(\\d{5})(\\d{5})`,`$1 $2`,[`8`]]],0,0,0,0,0,0,0,`020`],MV:[`960`,`0(?:0|19)`,`(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}`,[7,10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[34679]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`]]],0,0,0,0,0,0,0,`00`],MW:[`265`,`00`,`(?:[1289]\\d|31|77)\\d{7}|1\\d{6}`,[7,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[2-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-37-9]`],`0$1`]],`0`],MX:[`52`,`0[09]`,`[2-9]\\d{9}`,[10],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`33|5[56]|81`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-9]`]]],0,0,0,0,0,0,0,`00`],MY:[`60`,`00`,`1\\d{8,9}|(?:3\\d|[4-9])\\d{7}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1-$2 $3`,[`[4-79]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1-$2 $3`,[`1(?:[02469]|[378][1-9]|53)|8`,`1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2 $3`,[`3`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3-$4`,[`1(?:[367]|80)`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2 $3`,[`15`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2 $3`,[`1`],`0$1`]],`0`],MZ:[`258`,`00`,`(?:2|8\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2|8[2-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],NA:[`264`,`00`,`[68]\\d{7,8}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`87`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],NC:[`687`,`00`,`(?:050|[2-57-9]\\d\\d)\\d{3}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1.$2.$3`,[`[02-57-9]`]]]],NE:[`227`,`00`,`[027-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`08`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[089]|2[013]|7[0467]`]]]],NF:[`672`,`00`,`[13]\\d{5}`,[6],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`1[0-3]`]],[`(\\d)(\\d{5})`,`$1 $2`,[`[13]`]]],0,0,`([0-258]\\d{4})$`,`3$1`],NG:[`234`,`009`,`(?:20|9\\d)\\d{8}|[78]\\d{9,13}`,[10,11,12,13,14],[[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[7-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`20[129]`],`0$1`],[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{3})(\\d{5})(\\d{5,6})`,`$1 $2 $3`,[`[78]`],`0$1`]],`0`],NI:[`505`,`00`,`(?:1800|[25-8]\\d{3})\\d{4}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[125-8]`]]]],NL:[`31`,`00`,`(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}`,[5,6,7,8,9,10,11],[[`(\\d{3})(\\d{4,7})`,`$1 $2`,[`[89]0`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`66`],`0$1`],[`(\\d)(\\d{8})`,`$1 $2`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[16-8]|2[259]|3[124]|4[17-9]|5[124679]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-578]|91`],`0$1`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],NO:[`47`,`00`,`(?:0|[2-9]\\d{3})\\d{4}`,[5,8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]`]]],0,0,0,0,0,`[02-689]|7[0-8]`],NP:[`977`,`00`,`(?:1\\d|9)\\d{9}|[1-9]\\d{7}`,[8,10,11],[[`(\\d)(\\d{7})`,`$1-$2`,[`1[2-6]`],`0$1`],[`(\\d{2})(\\d{6})`,`$1-$2`,[`1[01]|[2-8]|9(?:[1-59]|[67][2-6])`],`0$1`],[`(\\d{3})(\\d{7})`,`$1-$2`,[`9`]]],`0`],NR:[`674`,`00`,`(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-9]`]]]],NU:[`683`,`00`,`(?:[4-7]|888\\d)\\d{3}`,[4,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`8`]]]],NZ:[`64`,`0(?:0|161)`,`[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,8})`,`$1 $2`,[`8[1-79]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`50[036-8]|8|90`,`50(?:[0367]|88)|8|90`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`24|[346]|7[2-57-9]|9[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2(?:10|74)|[589]`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1|2[028]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,5})`,`$1 $2 $3`,[`2(?:[169]|7[0-35-9])|7`],`0$1`]],`0`,0,0,0,0,0,0,`00`],OM:[`968`,`00`,`(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}`,[7,8,9],[[`(\\d{3})(\\d{4,6})`,`$1 $2`,[`[58]`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`2`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[179]`]]]],PA:[`507`,`00`,`(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}`,[7,8,10,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[1-57-9]`]],[`(\\d{4})(\\d{4})`,`$1-$2`,[`[68]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]]],PE:[`51`,`00|19(?:1[124]|77|90)00`,`(?:[14-8]|9\\d)\\d{7}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`80`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`1`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[4-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`]]],`0`,0,0,0,0,0,0,`00`,` Anexo `],PF:[`689`,`00`,`4\\d{5}(?:\\d{2})?|8\\d{7,8}`,[6,8,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`44`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4|8[7-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],PG:[`675`,`00|140[1-3]`,`(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`18|[2-69]|85[02-46-9]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[78]`]]],0,0,0,0,0,0,0,`00`],PH:[`63`,`00`,`(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}`,[6,8,9,10,11,12,13],[[`(\\d)(\\d{5})`,`$1 $2`,[`2`],`(0$1)`],[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2`,`3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))`],`(0$1)`],[`(\\d{5})(\\d{4})`,`$1 $2`,[`346|4(?:27|9[35])|883`,`3469|4(?:279|9(?:30|56))|8834`],`(0$1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|8[2-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`1`]]],`0`],PK:[`92`,`00`,`122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,7})`,`$1 $2 $3`,[`[89]0`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{6,7})`,`$1 $2`,[`2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])`,`9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]`],`(0$1)`],[`(\\d{2})(\\d{7,8})`,`$1 $2`,[`(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]`],`(0$1)`],[`(\\d{5})(\\d{5})`,`$1 $2`,[`58`],`(0$1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[24-9]`],`(0$1)`]],`0`],PL:[`48`,`00`,`(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}`,[6,7,8,9,10],[[`(\\d{5})`,`$1`,[`19`]],[`(\\d{3})(\\d{3})`,`$1 $2`,[`11|20|64`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1`,`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19`]],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`64`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[2-8]|[2-7]|8[1-79]|9[145]`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`8`]]]],PM:[`508`,`00`,`[78]\\d{8}|[2-9]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],PR:[`1`,`011`,`(?:[589]\\d\\d|787)\\d{7}`,[10],0,`1`,0,0,0,0,`787|939`],PS:[`970`,`00`,`[2489]2\\d{6}|(?:1\\d|5)\\d{8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2489]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],PT:[`351`,`00`,`1693\\d{5}|(?:[26-9]\\d|30)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2[12]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`16|[236-9]`]]]],PW:[`680`,`01[12]`,`(?:[24-8]\\d\\d|345|900)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],PY:[`595`,`00`,`[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`[2-9]0`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`3[289]|4[246-8]|61|7[1-3]|8[1-36]`],`(0$1)`],[`(\\d{3})(\\d{4,5})`,`$1 $2`,[`2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`87`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`9(?:[5-79]|8[1-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`]]],`0`],QA:[`974`,`00`,`800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}`,[7,8,9,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`2[136]|8`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[3-7]`]]]],RE:[`262`,`00`,`709\\d{6}|(?:26|[689]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-9]`],`0$1`]],`0`,0,0,0,0,0,[[`2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}`],[`(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}`],[`80\\d{7}`],[`89[1-37-9]\\d{6}`],0,0,0,0,[`9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}`],[`8(?:1[019]|2[0156]|84|90)\\d{6}`]]],RO:[`40`,`00`,`(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}`,[6,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`2[3-6]`,`2[3-6]\\d9`],`0$1`],[`(\\d{2})(\\d{4})`,`$1 $2`,[`219|31`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[23]1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[236-9]`],`0$1`]],`0`,0,0,0,0,0,0,0,` int `],RS:[`381`,`00`,`38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}`,[6,7,8,9,10,11,12],[[`(\\d{3})(\\d{3,9})`,`$1 $2`,[`(?:2[389]|39)0|[7-9]`],`0$1`],[`(\\d{2})(\\d{5,10})`,`$1 $2`,[`[1-36]`],`0$1`]],`0`],RU:[`7`,`810`,`8\\d{13}|[347-9]\\d{9}`,[10,14],[[`(\\d{4})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-8]|2[1-9])`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2`],`8 ($1)`,1],[`(\\d{5})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-68]|2[1-9])`,`7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))`,`7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[349]|8(?:[02-7]|1[1-8])`],`8 ($1)`,1],[`(\\d{4})(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`8`],`8 ($1)`]],`8`,0,0,0,0,`[3489]`,0,`8~10`],RW:[`250`,`00`,`(?:06|[27]\\d\\d|[89]00)\\d{6}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0$1`]],`0`],SA:[`966`,`00`,`(?:[15]\\d|800|92)\\d{7}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`9`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`],SB:[`677`,`0[01]`,`[6-9]\\d{6}|[1-6]\\d{4}`,[5,7],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`6[89]|7|8[4-9]|9(?:[0-8]|9[0-8])`]]]],SC:[`248`,`010|0[0-2]`,`(?:[2489]\\d|64)\\d{5}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[246]|9[57]`]]],0,0,0,0,0,0,0,`00`],SD:[`249`,`00`,`[19]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],SE:[`46`,`00`,`(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}`,[6,7,8,9,10,12],[[`(\\d{2})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`20`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{4})`,`$1-$2`,[`9(?:00|39|44|9)`],`0$1`,0,`$1 $2`],[`(\\d{2})(\\d{3})(\\d{2})`,`$1-$2 $3`,[`[12][136]|3[356]|4[0246]|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3`],[`(\\d)(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{2,3})(\\d{3})`,`$1-$2 $3`,[`9(?:00|39|44)`],`0$1`,0,`$1 $2 $3`],[`(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`10|7`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{3})`,`$1-$2 $3 $4`,[`9`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4 $5`,[`[26]`],`0$1`,0,`$1 $2 $3 $4 $5`]],`0`],SG:[`65`,`0[0-3]\\d`,`(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[369]|8(?:0[1-9]|[1-9])`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{4})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],SH:[`290`,`00`,`(?:[256]\\d|8)\\d{3}`,[4,5],0,0,0,0,0,0,`[256]`],SI:[`386`,`00|10(?:22|66|88|99)`,`[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}`,[5,6,7,8],[[`(\\d{2})(\\d{3,6})`,`$1 $2`,[`8[09]|9`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`59|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37][01]|4[013]|51|6`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-57]`],`(0$1)`]],`0`,0,0,0,0,0,0,`00`],SJ:[`47`,`00`,`0\\d{4}|(?:[489]\\d|79)\\d{6}`,[5,8],0,0,0,0,0,0,`79`],SK:[`421`,`00`,`[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}`,[6,7,9],[[`(\\d)(\\d{2})(\\d{3,4})`,`$1 $2 $3`,[`21`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`[3-5][1-8]1`,`[3-5][1-8]1[67]`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[689]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[3-5]`],`0$1`]],`0`],SL:[`232`,`00`,`(?:[237-9]\\d|66)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[236-9]`],`(0$1)`]],`0`],SM:[`378`,`00`,`(?:0549|[5-7]\\d)\\d{6}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`0`]]],0,0,`([89]\\d{5})$`,`0549$1`],SN:[`221`,`00`,`(?:[378]\\d|93)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[379]`]]]],SO:[`252`,`00`,`[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}`,[6,7,8,9],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`8[125]`]],[`(\\d{6})`,`$1`,[`[134]`]],[`(\\d)(\\d{6})`,`$1 $2`,[`[15]|2[0-79]|3[0-46-8]|4[0-7]`]],[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`1|28|9[2-9]`]],[`(\\d)(\\d{7})`,`$1 $2`,[`[267]|904`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[346-9]`]]],`0`],SR:[`597`,`00`,`(?:[2-5]|[6-9]\\d)\\d{5}`,[6,7],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`56`]],[`(\\d{3})(\\d{3})`,`$1-$2`,[`[2-5]`]],[`(\\d{3})(\\d{4})`,`$1-$2`,[`[6-9]`]]]],SS:[`211`,`00`,`[19]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],ST:[`239`,`00`,`(?:22|9\\d)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[29]`]]]],SV:[`503`,`00`,`[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?`,[7,8,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[89]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[25-7]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[89]`]]]],SX:[`1`,`011`,`7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`(5\\d{6})$|1`,`721$1`,0,`721`],SY:[`963`,`00`,`[1-359]\\d{8}|[1-5]\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-4]|5[1-3]`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[59]`],`0$1`,1]],`0`],SZ:[`268`,`00`,`0800\\d{4}|(?:[237]\\d|900)\\d{6}`,[8,9],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[0237]`]],[`(\\d{5})(\\d{4})`,`$1 $2`,[`9`]]]],TA:[`290`,`00`,`8\\d{3}`,[4],0,0,0,0,0,0,`8`],TC:[`1`,`011`,`(?:[58]\\d\\d|649|900)\\d{7}`,[10],0,`1`,0,`([2-479]\\d{6})$|1`,`649$1`,0,`649`],TD:[`235`,`00|16`,`(?:22|[3689]\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[236-9]`]]],0,0,0,0,0,0,0,`00`],TG:[`228`,`00`,`[279]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[279]`]]]],TH:[`66`,`00[1-9]`,`(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}`,[8,9,10,13],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[13-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],TJ:[`992`,`810`,`(?:[0-57-9]\\d|66)\\d{7}`,[9],[[`(\\d{6})(\\d)(\\d{2})`,`$1 $2 $3`,[`331`,`3317`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`44[02-479]|[34]7`]],[`(\\d{4})(\\d)(\\d{4})`,`$1 $2 $3`,[`3(?:[1245]|3[12])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`\\d`]]],0,0,0,0,0,0,0,`8~10`],TK:[`690`,`00`,`[2-47]\\d{3,6}`,[4,5,6,7]],TL:[`670`,`00`,`7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-489]|70`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`7`]]]],TM:[`993`,`810`,`[1-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`12`],`(8 $1)`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-5]`],`(8 $1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[67]`],`8 $1`]],`8`,0,0,0,0,0,0,`8~10`],TN:[`216`,`00`,`[2-57-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-57-9]`]]]],TO:[`676`,`00`,`(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}`,[5,7],[[`(\\d{2})(\\d{3})`,`$1-$2`,[`[2-4]|50|6[09]|7[0-24-69]|8[05]`]],[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[5-9]`]]]],TR:[`90`,`00`,`4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}`,[7,10,12,13],[[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`512|8[01589]|90`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`5`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24][1-8]|3[1-9]`],`(0$1)`,1],[`(\\d{3})(\\d{3})(\\d{6,7})`,`$1 $2 $3`,[`80`],`0$1`,1]],`0`],TT:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-46-8]\\d{6})$|1`,`868$1`,0,`868`],TV:[`688`,`00`,`(?:2|7\\d\\d|90)\\d{4}`,[5,6,7],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2`]],[`(\\d{2})(\\d{4})`,`$1 $2`,[`90`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],TW:[`886`,`0(?:0[25-79]|19)`,`[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}`,[7,8,9,10,11],[[`(\\d{2})(\\d)(\\d{4})`,`$1 $2 $3`,[`202`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`826`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`83`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`82`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[25]0|37|49|8[09]`],`0$1`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[23568]|4(?:0[02-48]|[1-478])|7[1-9]`,`[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`7`],`0$1`]],`0`,0,0,0,0,0,0,0,`#`],TZ:[`255`,`00[056]`,`(?:[25-8]\\d|41|90)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[24]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`5`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[67]`],`0$1`]],`0`],UA:[`380`,`00`,`[89]\\d{9}|[3-9]\\d{8}`,[9,10],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]`,`6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])`,`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|89|9[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`,0,0,0,0,0,0,`0~0`],UG:[`256`,`00[057]`,`800\\d{6}|(?:[29]0|[347]\\d)\\d{7}`,[9],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`202`,`2024`,`20240`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`20[0-35-7]|4(?:6[45]|[7-9])|[7-9]`,`20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[2-4]`],`0$1`]],`0`],US:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`310`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`($1) $2-$3`,[`[2-9]`],0,1,`$1-$2-$3`]],`1`,0,0,0,0,0,[[`(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}`],[``],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`],[`900[2-9]\\d{6}`],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}`]]],UY:[`598`,`0(?:0|1[3-9]\\d)`,`0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d{4,5})`,`$1`,[`21`]],[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[49]0|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[124]`]],[`(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3 $4`,[`0`]]],`0`,0,0,0,0,0,0,`00`,` int. `],UZ:[`998`,`00`,`(?:20|33|[5-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[235-9]`]]]],VA:[`39`,`00`,`0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}`,[6,7,8,9,10,11,12],0,0,0,0,0,0,`06698`],VC:[`1`,`011`,`(?:[58]\\d\\d|784|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`784$1`,0,`784`],VE:[`58`,`00`,`[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}`,[10],[[`(\\d{3})(\\d{7})`,`$1-$2`,[`[24-689]`],`0$1`]],`0`],VG:[`1`,`011`,`(?:284|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-578]\\d{6})$|1`,`284$1`,0,`284`],VI:[`1`,`011`,`[58]\\d{9}|(?:34|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`340$1`,0,`340`],VN:[`84`,`00`,`[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}`,[7,8,9,10],[[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`1(?:2[02]|[89])`],0,1],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[26]|6`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[1357-9]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[48]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`,1]],`0`],VU:[`678`,`00`,`[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}`,[5,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[57-9]`]]]],WF:[`681`,`00`,`(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[47-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],WS:[`685`,`0`,`(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}`,[5,6,7,10],[[`(\\d{5})`,`$1`,[`[2-5]|6[1-9]`]],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`[68]`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],XK:[`383`,`00`,`2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}`,[8,9,10,11,12],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2|39`],`0$1`],[`(\\d{2})(\\d{7,10})`,`$1 $2`,[`3`],`0$1`]],`0`],YE:[`967`,`00`,`(?:1|7\\d)\\d{7}|[1-7]\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-6]|7(?:[24-6]|8[0-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],YT:[`262`,`00`,`(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}`],[`(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}`],[`80\\d{7}`],0,0,0,0,0,[`9(?:(?:39|47)8[01]|769\\d)\\d{4}`]]],ZA:[`27`,`00`,`[1-79]\\d{8}|8\\d{4,9}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`8[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`8[1-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`860`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],ZM:[`260`,`00`,`800\\d{6}|(?:21|[579]\\d|63)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[28]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[579]`],`0$1`]],`0`],ZW:[`263`,`00`,`(?:13|8\\d{4})\\d{5}|[235-8]\\d{8}|[23568]\\d{6}`,[7,9,10],[[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`1|2(?:0[0-36-9]|29|58)|67[0-46-9]|(?:55|68)[0-69]`],`0$1`],[`(\\d{3})(\\d{3,5})`,`$1 $2`,[`2(?:0[45]|[27]|48)|37|675|(?:55|68)[78]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`80`],`0$1`],[`(\\d{4})(\\d{3,5})`,`$1 $2`,[`548`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`29[013-9]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[256]|39|8[13-59]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`3`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`8`],`0$1`]],`0`]},nonGeographic:{800:[`800`,0,`(?:00|[1-9]\\d)\\d{6}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`\\d`]]],0,0,0,0,0,0,[0,0,[`(?:00|[1-9]\\d)\\d{6}`]]],808:[`808`,0,`[1-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[1-9]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[`[1-9]\\d{7}`]]],870:[`870`,0,`7\\d{11}|[235-7]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-7]`]]],0,0,0,0,0,0,[0,[`(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}`],0,0,0,0,0,0,[`2\\d{8}`,[9]]]],878:[`878`,0,`10\\d{10}`,[12],[[`(\\d{2})(\\d{5})(\\d{5})`,`$1 $2 $3`,[`1`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`10\\d{10}`]]],881:[`881`,0,`6\\d{9}|[0-36-9]\\d{8}`,[9,10],[[`(\\d)(\\d{3})(\\d{5})`,`$1 $2 $3`,[`[0-37-9]`]],[`(\\d)(\\d{3})(\\d{5,6})`,`$1 $2 $3`,[`6`]]],0,0,0,0,0,0,[0,[`6\\d{9}|[0-36-9]\\d{8}`]]],882:[`882`,0,`[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`16|342`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`49`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`1[36]|9`]],[`(\\d{2})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`3[23]`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`16`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|23|3(?:[15]|4[57])|4|5[12]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`34`]],[`(\\d{2})(\\d{4,5})(\\d{5})`,`$1 $2 $3`,[`[1-35]`]]],0,0,0,0,0,0,[0,[`342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}`,[7,8,9,10,12]],0,0,0,[`348[57]\\d{7}`,[11]],0,0,[`1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}`]]],883:[`883`,0,`(?:[1-4]\\d|51)\\d{6,10}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,8})`,`$1 $2 $3`,[`[14]|2[24-689]|3[02-689]|51[24-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`510`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`21`]],[`(\\d{4})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`51[13]`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[235]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}`]]],888:[`888`,0,`\\d{11}`,[11],[[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`]],0,0,0,0,0,0,[0,0,0,0,0,0,[`\\d{11}`]]],979:[`979`,0,`[1359]\\d{8}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1359]`]]],0,0,0,0,0,0,[0,0,0,[`[1359]\\d{8}`]]]}};function Bc(e,t){var n=Array.prototype.slice.call(t);return n.push(zc),e.apply(this,n)}function Vc(e,t){e=e.split(`-`),t=t.split(`-`);for(var n=e[0].split(`.`),r=t[0].split(`.`),i=0;i<3;i++){var a=Number(n[i]),o=Number(r[i]);if(a>o)return 1;if(o>a)return-1;if(!isNaN(a)&&isNaN(o))return 1;if(isNaN(a)&&!isNaN(o))return-1}return e[1]&&t[1]?e[1]>t[1]?1:e[1]<t[1]?-1:0:!e[1]&&t[1]?1:e[1]&&!t[1]?-1:0}var Hc={}.constructor;function Uc(e){return e!=null&&e.constructor===Hc}var Wc=/^\d+$/;function Gc(e){return Wc.test(e)}function Kc(e){"@babel/helpers - typeof";return Kc=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Kc(e)}function qc(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Jc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Xc(r.key),r)}}function Yc(e,t,n){return t&&Jc(e.prototype,t),n&&Jc(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xc(e){var t=Zc(e,`string`);return Kc(t)==`symbol`?t:t+``}function Zc(e,t){if(Kc(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Kc(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Qc=`1.2.0`,$c=`1.7.35`,el=` ext. `,W=function(){function e(t){qc(this,e),ol(t),this.metadata=t,ul.call(this,t)}return Yc(e,[{key:`getCountries`,value:function(){return Object.keys(this.metadata.countries).filter(function(e){return e!==`001`})}},{key:`getCountryMetadata`,value:function(e){return this.metadata.countries[e]}},{key:`nonGeographic`,value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:`hasCountry`,value:function(e){return this.getCountryMetadata(e)!==void 0}},{key:`hasCallingCode`,value:function(e){if(this.getCountryCodesForCallingCode(e))return!0;if(this.nonGeographic()){if(this.nonGeographic()[e])return!0}else{var t=this.countryCallingCodes()[e];if(t&&t.length===1&&t[0]===`001`)return!0}}},{key:`isNonGeographicCallingCode`,value:function(e){return this.nonGeographic()?!!this.nonGeographic()[e]:!this.getCountryCodesForCallingCode(e)}},{key:`country`,value:function(e){return this.selectNumberingPlan(e)}},{key:`selectNumberingPlan`,value:function(e,t){var n,r;if(e&&(Gc(e)?r=e:n=e),t&&(r=t),n&&n!==`001`){var i=this.getCountryMetadata(n);if(!i)throw Error(`Unknown country: ${n}`);this.numberingPlan=new tl(i,this)}else if(r){if(!this.hasCallingCode(r))throw Error(`Unknown calling code: ${r}`);this.numberingPlan=new tl(this.getNumberingPlanMetadata(r),this)}else this.numberingPlan=void 0;return this}},{key:`getCountryCodesForCallingCode`,value:function(e){var t=this.countryCallingCodes()[e];if(t)return t.length===1&&t[0].length===3?void 0:t}},{key:`getCountryCodeForCallingCode`,value:function(e){var t=this.getCountryCodesForCallingCode(e);if(t)return t[0]}},{key:`getNumberingPlanMetadata`,value:function(e){var t=this.getCountryCodeForCallingCode(e);if(t)return this.getCountryMetadata(t);if(this.nonGeographic()){var n=this.nonGeographic()[e];if(n)return n}else{var r=this.countryCallingCodes()[e];if(r&&r.length===1&&r[0]===`001`)return this.metadata.countries[`001`]}}},{key:`countryCallingCode`,value:function(){return this.numberingPlan.callingCode()}},{key:`IDDPrefix`,value:function(){return this.numberingPlan.IDDPrefix()}},{key:`defaultIDDPrefix`,value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:`nationalNumberPattern`,value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:`possibleLengths`,value:function(){return this.numberingPlan.possibleLengths()}},{key:`formats`,value:function(){return this.numberingPlan.formats()}},{key:`nationalPrefixForParsing`,value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:`nationalPrefixTransformRule`,value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:`leadingDigits`,value:function(){return this.numberingPlan.leadingDigits()}},{key:`hasTypes`,value:function(){return this.numberingPlan.hasTypes()}},{key:`type`,value:function(e){return this.numberingPlan.type(e)}},{key:`ext`,value:function(){return this.numberingPlan.ext()}},{key:`countryCallingCodes`,value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:`chooseCountryByCountryCallingCode`,value:function(e){return this.selectNumberingPlan(e)}},{key:`hasSelectedNumberingPlan`,value:function(){return this.numberingPlan!==void 0}}])}(),tl=function(){function e(t,n){qc(this,e),this.globalMetadataObject=n,this.metadata=t,ul.call(this,n.metadata)}return Yc(e,[{key:`callingCode`,value:function(){return this.metadata[0]}},{key:`_getDefaultCountryMetadataForThisCallingCode`,value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:`getDefaultCountryMetadataForRegion`,value:function(){return this._getDefaultCountryMetadataForThisCallingCode()}},{key:`IDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[1]}},{key:`defaultIDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[12]}},{key:`nationalNumberPattern`,value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:`possibleLengths`,value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:`_getFormats`,value:function(e){return e[this.v1?2:this.v2?3:4]}},{key:`formats`,value:function(){var e=this;return(this._getFormats(this.metadata)||this._getFormats(this._getDefaultCountryMetadataForThisCallingCode())||[]).map(function(t){return new nl(t,e)})}},{key:`nationalPrefix`,value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:`_getNationalPrefixFormattingRule`,value:function(e){return e[this.v1?4:this.v2?5:6]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`_nationalPrefixForParsing`,value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:`nationalPrefixForParsing`,value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:`nationalPrefixTransformRule`,value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:`_getNationalPrefixIsOptionalWhenFormatting`,value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`leadingDigits`,value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:`types`,value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:`hasTypes`,value:function(){return this.types()&&this.types().length===0?!1:!!this.types()}},{key:`type`,value:function(e){if(this.hasTypes()&&al(this.types(),e))return new il(al(this.types(),e),this)}},{key:`ext`,value:function(){return this.v1||this.v2?el:this.metadata[13]||el}}])}(),nl=function(){function e(t,n){qc(this,e),this._format=t,this.metadata=n}return Yc(e,[{key:`pattern`,value:function(){return this._format[0]}},{key:`format`,value:function(){return this._format[1]}},{key:`leadingDigitsPatterns`,value:function(){return this._format[2]||[]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`nationalPrefixIsMandatoryWhenFormattingInNationalFormat`,value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`usesNationalPrefix`,value:function(){return!(!this.nationalPrefixFormattingRule()||rl.test(this.nationalPrefixFormattingRule()))}},{key:`internationalFormat`,value:function(){return this._format[5]||this.format()}}])}(),rl=/^\(?\$1\)?$/,il=function(){function e(t,n){qc(this,e),this.type=t,this.metadata=n}return Yc(e,[{key:`pattern`,value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:`possibleLengths`,value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}])}();function al(e,t){switch(t){case`FIXED_LINE`:return e[0];case`MOBILE`:return e[1];case`TOLL_FREE`:return e[2];case`PREMIUM_RATE`:return e[3];case`PERSONAL_NUMBER`:return e[4];case`VOICEMAIL`:return e[5];case`UAN`:return e[6];case`PAGER`:return e[7];case`VOIP`:return e[8];case`SHARED_COST`:return e[9]}}function ol(e){if(!e)throw Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!Uc(e)||!Uc(e.countries))throw Error(`[libphonenumber-js] \`metadata\` argument was passed but it's not a valid metadata. Must be an object having \`.countries\` child object property. Got ${Uc(e)?`an object of shape: { `+Object.keys(e).join(`, `)+` }`:`a `+sl(e)+`: `+e}.`)}var sl=function(e){return Kc(e)};function cl(e,t){var n=new W(t);if(n.hasCountry(e))return n.selectNumberingPlan(e).countryCallingCode();throw Error(`Unknown country: ${e}`)}function ll(e,t){return t.countries.hasOwnProperty(e)}function ul(e){var t=e.version;typeof t==`number`?(this.v1=t===1,this.v2=t===2,this.v3=t===3,this.v4=t===4):t?Vc(t,Qc)===-1?this.v2=!0:Vc(t,$c)===-1?this.v3=!0:this.v4=!0:this.v1=!0}function dl(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=fl(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
3
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fl(e,t){if(e){if(typeof e==`string`)return pl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pl(e,t):void 0}}function pl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ml(e,t){for(var n=e.slice(),r=dl(t),i;!(i=r()).done;){var a=i.value;e.indexOf(a)<0&&n.push(a)}return n.sort(function(e,t){return e-t})}function hl(e,t,n){return gl(e,void 0,t,n)}function gl(e,t,n,r){n&&(r=new W(r.metadata),r.selectNumberingPlan(n));var i=r.type(t),a=i&&i.possibleLengths()||r.possibleLengths();if(!a)return`IS_POSSIBLE`;if(t===`FIXED_LINE_OR_MOBILE`){if(!r.type(`FIXED_LINE`))return gl(e,`MOBILE`,n,r);var o=r.type(`MOBILE`);o&&(a=ml(a,o.possibleLengths()))}else if(t&&!i)return`INVALID_LENGTH`;var s=e.length,c=a[0];return c===s?`IS_POSSIBLE`:c>s?`TOO_SHORT`:a[a.length-1]<s?`TOO_LONG`:a.indexOf(s,1)>=0?`IS_POSSIBLE`:`INVALID_LENGTH`}function _l(e,t,n){t===void 0&&(t={});var r=new W(n);if(t.v2){if(!e.countryCallingCode)throw Error(`Invalid phone number object passed`);r.selectNumberingPlan(e.country||e.countryCallingCode)}else{if(!e.phone)return!1;if(e.country){if(!r.hasCountry(e.country))throw Error(`Unknown country: ${e.country}`);r.selectNumberingPlan(e.country)}else{if(!e.countryCallingCode)throw Error(`Invalid phone number object passed`);r.selectNumberingPlan(e.countryCallingCode)}}if(r.possibleLengths())return vl(e.phone||e.nationalNumber,r);if(e.countryCallingCode&&r.isNonGeographicCallingCode(e.countryCallingCode))return!0;throw Error(`Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.`)}function vl(e,t){switch(hl(e,void 0,t)){case`IS_POSSIBLE`:return!0;default:return!1}}function G(e,t){return e||=``,RegExp(`^(?:`+t+`)$`).test(e)}function yl(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=bl(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
4
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bl(e,t){if(e){if(typeof e==`string`)return xl(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xl(e,t):void 0}}function xl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Sl=[`MOBILE`,`PREMIUM_RATE`,`TOLL_FREE`,`SHARED_COST`,`VOIP`,`PERSONAL_NUMBER`,`PAGER`,`UAN`,`VOICEMAIL`];function Cl(e,t,n){if(t||={},e.country||e.countryCallingCode){var r=new W(n);r.selectNumberingPlan(e.country||e.countryCallingCode);var i=t.v2?e.nationalNumber:e.phone;if(G(i,r.nationalNumberPattern())){if(wl(i,`FIXED_LINE`,r))return r.type(`MOBILE`)&&r.type(`MOBILE`).pattern()===``||!r.type(`MOBILE`)||wl(i,`MOBILE`,r)?`FIXED_LINE_OR_MOBILE`:`FIXED_LINE`;for(var a=yl(Sl),o;!(o=a()).done;){var s=o.value;if(wl(i,s,r))return s}}}}function wl(e,t,n){var r=n.type(t);return!r||!r.pattern()||r.possibleLengths()&&r.possibleLengths().indexOf(e.length)<0?!1:G(e,r.pattern())}function Tl(e,t,n){t||={};var r=new W(n);return r.selectNumberingPlan(e.country||e.countryCallingCode),r.hasTypes()?Cl(e,t,r.metadata)!==void 0:G(t.v2?e.nationalNumber:e.phone,r.nationalNumberPattern())}var El=/^[A-Z]{2}$/;function Dl(e){return El.test(e)}function Ol(e,t){var n,r,i=new W(t);return Dl(e)?(n=e,i.selectNumberingPlan(n),r=i.countryCallingCode()):r=e,{country:n,callingCode:r}}function kl(e,t,n){var r=new W(n).getCountryCodesForCallingCode(e);return r?r.filter(function(e){return Al(t,e,n)}):[]}function Al(e,t,n){var r=new W(n);return r.selectNumberingPlan(t),r.numberingPlan.possibleLengths().indexOf(e.length)>=0}var K=`0-90-9٠-٩۰-۹`,q=`-‐-―−ー-//.. \xA0­​⁠ ()()[]\\[\\]~⁓∼~`,jl=`++`,Ml=RegExp(`([`+K+`])`);function Nl(e,t,n,r){if(t){var i=new W(r);i.selectNumberingPlan(t||n);var a=new RegExp(i.IDDPrefix());if(e.search(a)===0){e=e.slice(e.match(a)[0].length);var o=e.match(Ml);if(!(o&&o[1]!=null&&o[1].length>0&&o[1]===`0`))return e}}}function Pl(e,t){if(e&&t.numberingPlan.nationalPrefixForParsing()){var n=RegExp(`^(?:`+t.numberingPlan.nationalPrefixForParsing()+`)`),r=n.exec(e);if(r){var i,a,o=r.length-1,s=o>0&&r[o];if(t.nationalPrefixTransformRule()&&s)i=e.replace(n,t.nationalPrefixTransformRule()),o>1&&(a=r[1]);else{var c=r[0];i=e.slice(c.length),s&&(a=r[1])}var l;if(s){var u=e.indexOf(r[1]);e.slice(0,u)===t.numberingPlan.nationalPrefix()&&(l=t.numberingPlan.nationalPrefix())}else l=r[0];return{nationalNumber:i,nationalPrefix:l,carrierCode:a}}}return{nationalNumber:e}}function Fl(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Il(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
5
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Il(e,t){if(e){if(typeof e==`string`)return Ll(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ll(e,t):void 0}}function Ll(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Rl(e,t,n){for(var r=new W(n),i=Fl(t),a;!(a=i()).done;){var o=a.value;if(r.selectNumberingPlan(o),r.leadingDigits()){if(e&&e.search(r.leadingDigits())===0)return o}else if(Cl({phone:e,country:o},void 0,r.metadata))return o}}function zl(e,t){var n=t.nationalNumber,r=t.metadata,i=r.getCountryCodesForCallingCode(e);if(i)return i.length===1?i[0]:Rl(n,i,r.metadata)}function Bl(e,t,n){var r=Pl(e,n),i=r.carrierCode,a=r.nationalNumber;return a!==e&&(!Vl(e,a,n)||n.numberingPlan.possibleLengths()&&(t||=zl(n.numberingPlan.callingCode(),{nationalNumber:a,metadata:n}),!Hl(a,t,n)))?{nationalNumber:e}:{nationalNumber:a,carrierCode:i}}function Vl(e,t,n){return!(G(e,n.nationalNumberPattern())&&!G(t,n.nationalNumberPattern()))}function Hl(e,t,n){switch(hl(e,t,n)){case`TOO_SHORT`:case`INVALID_LENGTH`:return!1;default:return!0}}function Ul(e,t,n,r,i){if(!(t||n||r))return{number:e};var a=t||n?cl(t||n,i):r;if(e.indexOf(a)===0){var o=new W(i);o.selectNumberingPlan(t||n||r);var s=e.slice(a.length),c=Bl(s,void 0,o).nationalNumber,l=Bl(e,void 0,o).nationalNumber;if(!G(l,o.nationalNumberPattern())&&G(c,o.nationalNumberPattern())||hl(l,void 0,o)===`TOO_LONG`)return{countryCallingCode:a,number:s}}return{number:e}}function Wl(e,t,n,r,i){if(!e)return{};var a;if(e[0]!==`+`){var o=Nl(e,t||n,r,i);if(o&&o!==e)a=!0,e=`+`+o;else{if(t||n||r){var s=Ul(e,t,n,r,i),c=s.countryCallingCode,l=s.number;if(c)return{countryCallingCodeSource:`FROM_NUMBER_WITHOUT_PLUS_SIGN`,countryCallingCode:c,number:l}}return{number:e}}}if(e[1]===`0`)return{};for(var u=new W(i),d=2;d-1<=3&&d<=e.length;){var f=e.slice(1,d);if(u.hasCallingCode(f))return u.selectNumberingPlan(f),{countryCallingCodeSource:a?`FROM_NUMBER_WITH_IDD`:`FROM_NUMBER_WITH_PLUS_SIGN`,countryCallingCode:f,number:e.slice(d)};d++}return{}}function Gl(e){return e.replace(RegExp(`[${q}]+`,`g`),` `).trim()}var Kl=/(\$\d)/;function ql(e,t,n){var r=n.useInternationalFormat,i=n.withNationalPrefix;n.carrierCode,n.metadata;var a=e.replace(new RegExp(t.pattern()),r?t.internationalFormat():i&&t.nationalPrefixFormattingRule()?t.format().replace(Kl,t.nationalPrefixFormattingRule()):t.format());return r?Gl(a):a}var Jl=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function Yl(e,t,n){var r=new W(n);if(r.selectNumberingPlan(e||t),r.defaultIDDPrefix())return r.defaultIDDPrefix();if(Jl.test(r.IDDPrefix()))return r.IDDPrefix()}var Xl=`;ext=`,Zl=function(e){return`([${K}]{1,${e}})`};function Ql(e){var t=`20`,n=`15`,r=`9`,i=`6`,a=`[ \xA0\\t,]*`,o=`[:\\..]?[ \xA0\\t,-]*`,s=`#?`,c=`(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)`,l=`(?:[xx##~~]|int|int)`,u=`[- ]+`,d=`[ \xA0\\t]*`,f=`(?:,{2}|;)`,p=Xl+Zl(t),m=a+c+o+Zl(t)+s,h=a+l+o+Zl(r)+s,g=u+Zl(i)+`#`,_=d+f+o+Zl(n)+s,v=d+`(?:,)+`+o+Zl(r)+s;return p+`|`+m+`|`+h+`|`+g+`|`+_+`|`+v}var $l=`[`+K+`]{2}`,eu=`[`+jl+`]{0,1}(?:[`+q+`]*[`+K+`]){3,}[`+q+K+`]*`,tu=RegExp(`^[`+jl+`]{0,1}(?:[`+q+`]*[`+K+`]){1,2}$`,`i`),nu=eu+`(?:`+Ql()+`)?`,ru=RegExp(`^`+$l+`$|^`+nu+`$`,`i`);function iu(e){return e.length>=2&&ru.test(e)}function au(e){return tu.test(e)}function ou(e){var t=e.number,n=e.ext;if(!t)return``;if(t[0]!==`+`)throw Error(`"formatRFC3966()" expects "number" to be in E.164 format.`);return`tel:${t}${n?`;ext=`+n:``}`}var su={formatExtension:function(e,t,n){return`${e}${n.ext()}${t}`}};function cu(e,t,n,r){n=n?pu({},su,n):su;var i=new W(r);if(e.country&&e.country!==`001`){if(!i.hasCountry(e.country))throw Error(`Unknown country: ${e.country}`);i.selectNumberingPlan(e.country)}else if(e.countryCallingCode)i.selectNumberingPlan(e.countryCallingCode);else return e.phone||``;var a=i.countryCallingCode(),o=n.v2?e.nationalNumber:e.phone,s;switch(t){case`NATIONAL`:return o?(s=lu(o,e.carrierCode,`NATIONAL`,i,n),du(s,e.ext,i,n.formatExtension)):``;case`INTERNATIONAL`:return o?(s=lu(o,null,`INTERNATIONAL`,i,n),s=`+${a} ${s}`,du(s,e.ext,i,n.formatExtension)):`+${a}`;case`E.164`:return`+${a}${o}`;case`RFC3966`:return ou({number:`+${a}${o}`,ext:e.ext});case`IDD`:if(!n.fromCountry)return;var c=fu(o,e.carrierCode,a,n.fromCountry,i);return c?du(c,e.ext,i,n.formatExtension):void 0;default:throw Error(`Unknown "format" argument passed to "formatNumber()": "${t}"`)}}function lu(e,t,n,r,i){var a=uu(r.formats(),e);return a?ql(e,a,{useInternationalFormat:n===`INTERNATIONAL`,withNationalPrefix:!(a.nationalPrefixIsOptionalWhenFormattingInNationalFormat()&&i&&i.nationalPrefix===!1),carrierCode:t,metadata:r}):e}function uu(e,t){return mu(e,function(e){if(e.leadingDigitsPatterns().length>0){var n=e.leadingDigitsPatterns()[e.leadingDigitsPatterns().length-1];if(t.search(n)!==0)return!1}return G(t,e.pattern())})}function du(e,t,n,r){return t?r(e,t,n):e}function fu(e,t,n,r,i){if(cl(r,i.metadata)===n){var a=lu(e,t,`NATIONAL`,i);return n===`1`?n+` `+a:a}var o=Yl(r,void 0,i.metadata);if(o)return`${o} ${n} ${lu(e,null,`INTERNATIONAL`,i)}`}function pu(){for(var e=1,t=[...arguments];e<t.length;){if(t[e])for(var n in t[e])t[0][n]=t[e][n];e++}return t[0]}function mu(e,t){for(var n=0;n<e.length;){if(t(e[n]))return e[n];n++}}function hu(e){"@babel/helpers - typeof";return hu=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},hu(e)}function gu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _u(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gu(Object(n),!0).forEach(function(t){vu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vu(e,t,n){return(t=Su(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yu(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function bu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Su(r.key),r)}}function xu(e,t,n){return t&&bu(e.prototype,t),n&&bu(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Su(e){var t=Cu(e,`string`);return hu(t)==`symbol`?t:t+``}function Cu(e,t){if(hu(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(hu(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var wu=function(){function e(t,n,r){if(yu(this,e),!t)throw TypeError(`First argument is required`);if(typeof t!=`string`)throw TypeError(`First argument must be a string`);if(t[0]===`+`&&!n)throw TypeError("`metadata` argument not passed");if(Uc(n)&&Uc(n.countries)){r=n;var i=t;if(!Tu.test(i))throw Error('Invalid `number` argument passed: must consist of a "+" followed by digits');var a=Wl(i,void 0,void 0,void 0,r),o=a.countryCallingCode;if(n=a.number,t=o,!n)throw Error("Invalid `number` argument passed: too short")}if(!n)throw TypeError("`nationalNumber` argument is required");if(typeof n!=`string`)throw TypeError("`nationalNumber` argument must be a string");ol(r);var s=Ol(t,r),c=s.country,l=s.callingCode;this.country=c,this.countryCallingCode=l,this.nationalNumber=n,this.number=`+`+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}return xu(e,[{key:`setExt`,value:function(e){this.ext=e}},{key:`getPossibleCountries`,value:function(){return this.country?[this.country]:kl(this.countryCallingCode,this.nationalNumber,this.getMetadata())}},{key:`isPossible`,value:function(){return _l(this,{v2:!0},this.getMetadata())}},{key:`isValid`,value:function(){return Tl(this,{v2:!0},this.getMetadata())}},{key:`isNonGeographic`,value:function(){return new W(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode)}},{key:`isEqual`,value:function(e){return this.number===e.number&&this.ext===e.ext}},{key:`getType`,value:function(){return Cl(this,{v2:!0},this.getMetadata())}},{key:`format`,value:function(e,t){return cu(this,e,t?_u(_u({},t),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:`formatNational`,value:function(e){return this.format(`NATIONAL`,e)}},{key:`formatInternational`,value:function(e){return this.format(`INTERNATIONAL`,e)}},{key:`getURI`,value:function(e){return this.format(`RFC3966`,e)}}])}(),Tu=/^\+\d+$/;function Eu(e){"@babel/helpers - typeof";return Eu=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Eu(e)}function Du(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ku(r.key),r)}}function Ou(e,t,n){return t&&Du(e.prototype,t),n&&Du(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ku(e){var t=Au(e,`string`);return Eu(t)==`symbol`?t:t+``}function Au(e,t){if(Eu(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Eu(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ju(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Mu(e,t,n){return t=Vu(t),Nu(e,Ru()?Reflect.construct(t,n||[],Vu(e).constructor):t.apply(e,n))}function Nu(e,t){if(t&&(Eu(t)==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return Pu(e)}function Pu(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function Fu(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bu(e,t)}function Iu(e){var t=typeof Map==`function`?new Map:void 0;return Iu=function(e){if(e===null||!zu(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return Lu(e,arguments,Vu(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Bu(n,e)},Iu(e)}function Lu(e,t,n){if(Ru())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&Bu(i,n.prototype),i}function Ru(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ru=function(){return!!e})()}function zu(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function Bu(e,t){return Bu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Bu(e,t)}function Vu(e){return Vu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vu(e)}var J=function(e){function t(e){var n;return ju(this,t),n=Mu(this,t,[e]),Object.setPrototypeOf(n,t.prototype),n.name=n.constructor.name,n}return Fu(t,e),Ou(t)}(Iu(Error)),Hu=RegExp(`(?:`+Ql()+`)$`,`i`);function Uu(e){var t=e.search(Hu);if(t<0)return{};for(var n=e.slice(0,t),r=e.match(Hu),i=1;i<r.length;){if(r[i])return{number:n,ext:r[i]};i++}}function Wu(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Gu(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
6
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gu(e,t){if(e){if(typeof e==`string`)return Ku(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ku(e,t):void 0}}function Ku(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var qu={0:`0`,1:`1`,2:`2`,3:`3`,4:`4`,5:`5`,6:`6`,7:`7`,8:`8`,9:`9`,"0":`0`,"1":`1`,"2":`2`,"3":`3`,"4":`4`,"5":`5`,"6":`6`,"7":`7`,"8":`8`,"9":`9`,"٠":`0`,"١":`1`,"٢":`2`,"٣":`3`,"٤":`4`,"٥":`5`,"٦":`6`,"٧":`7`,"٨":`8`,"٩":`9`,"۰":`0`,"۱":`1`,"۲":`2`,"۳":`3`,"۴":`4`,"۵":`5`,"۶":`6`,"۷":`7`,"۸":`8`,"۹":`9`};function Ju(e){return qu[e]}function Yu(e){for(var t=``,n=Wu(e.split(``)),r;!(r=n()).done;){var i=r.value,a=Ju(i);a&&(t+=a)}return t}function Xu(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Zu(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
7
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zu(e,t){if(e){if(typeof e==`string`)return Qu(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qu(e,t):void 0}}function Qu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $u(e){for(var t=``,n=Xu(e.split(``)),r;!(r=n()).done;){var i=r.value;t+=ed(i,t)||``}return t}function ed(e,t,n){if(e===`+`){if(t){typeof n==`function`&&n(`end`);return}return`+`}return Ju(e)}var td=`([`+K+`]|[\\-\\.\\(\\)]?)`,nd=`^\\+`+td+`*[`+K+`]`+td+`*$`,rd=new RegExp(nd,`g`),id=K,ad=`[`+id+`]+((\\-)*[`+id+`])*`,od=`[a-zA-Z]+((\\-)*[`+id+`])*`,sd=`^(`+ad+`\\.)*`+od+`\\.?$`,cd=new RegExp(sd,`g`),ld=`tel:`,ud=`;phone-context=`,dd=`;isub=`;function fd(e){var t=e.indexOf(ud);if(t<0)return null;var n=t+ud.length;if(n>=e.length)return``;var r=e.indexOf(`;`,n);return r>=0?e.substring(n,r):e.substring(n)}function pd(e){return e===null?!0:e.length===0?!1:rd.test(e)||cd.test(e)}function md(e,t){var n=t.extractFormattedPhoneNumber,r=fd(e);if(!pd(r))throw new J(`NOT_A_NUMBER`);var i;if(r===null)i=n(e)||``;else{i=``,r.charAt(0)===`+`&&(i+=r);var a=e.indexOf(ld),o=a>=0?a+ld.length:0,s=e.indexOf(ud);i+=e.substring(o,s)}var c=i.indexOf(dd);if(c>0&&(i=i.substring(0,c)),i!==``)return i}var hd=250,gd=RegExp(`[`+jl+K+`]`),_d=RegExp(`[^`+K+`#]+$`);function vd(e,t,n){t||={};var r=new W(n);if(t.defaultCountry&&!r.hasCountry(t.defaultCountry))throw t.v2?new J(`INVALID_COUNTRY`):Error(`Unknown country: ${t.defaultCountry}`);var i=bd(e,t.v2,t.extract),a=i.number,o=i.ext,s=i.error;if(!a){if(t.v2)throw s===`TOO_SHORT`?new J(`TOO_SHORT`):new J(`NOT_A_NUMBER`);return{}}var c=Sd(a,t.defaultCountry,t.defaultCallingCode,r),l=c.country,u=c.nationalNumber,d=c.countryCallingCode,f=c.countryCallingCodeSource,p=c.carrierCode;if(!r.hasSelectedNumberingPlan()){if(t.v2)throw new J(`INVALID_COUNTRY`);return{}}if(!u||u.length<2){if(t.v2)throw new J(`TOO_SHORT`);return{}}if(u.length>17){if(t.v2)throw new J(`TOO_LONG`);return{}}if(t.v2){var m=new wu(d,u,r.metadata);return l&&(m.country=l),p&&(m.carrierCode=p),o&&(m.ext=o),m.__countryCallingCodeSource=f,m}var h=(t.extended?r.hasSelectedNumberingPlan():l)?G(u,r.nationalNumberPattern()):!1;return t.extended?{country:l,countryCallingCode:d,carrierCode:p,valid:h,possible:h?!0:!!(t.extended===!0&&r.possibleLengths()&&vl(u,r)),phone:u,ext:o}:h?xd(l,u,o):{}}function yd(e,t,n){if(e){if(e.length>hd){if(n)throw new J(`TOO_LONG`);return}if(t===!1)return e;var r=e.search(gd);if(!(r<0))return e.slice(r).replace(_d,``)}}function bd(e,t,n){var r=md(e,{extractFormattedPhoneNumber:function(e){return yd(e,n,t)}});if(!r)return{};if(!iu(r))return au(r)?{error:`TOO_SHORT`}:{};var i=Uu(r);return i.ext?i:{number:r}}function xd(e,t,n){var r={country:e,phone:t};return n&&(r.ext=n),r}function Sd(e,t,n,r){var i=Wl($u(e),void 0,t,n,r.metadata),a=i.countryCallingCodeSource,o=i.countryCallingCode,s=i.number,c;if(o)r.selectNumberingPlan(o);else if(s&&(t||n))t?(c=t,r.selectNumberingPlan(t),o=r.numberingPlan.callingCode()):(r.selectNumberingPlan(n),o=n);else return{};if(!s)return{countryCallingCodeSource:a,countryCallingCode:o};var l=Bl($u(s),void 0,r),u=l.nationalNumber,d=l.carrierCode,f=zl(o,{nationalNumber:u,metadata:r});return f&&(c=f,f===`001`||r.selectNumberingPlan(c)),{country:c,countryCallingCode:o,countryCallingCodeSource:a,nationalNumber:u,carrierCode:d}}function Cd(e){"@babel/helpers - typeof";return Cd=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Cd(e)}function wd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Td(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?wd(Object(n),!0).forEach(function(t){Ed(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ed(e,t,n){return(t=Dd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dd(e){var t=Od(e,`string`);return Cd(t)==`symbol`?t:t+``}function Od(e,t){if(Cd(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Cd(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function kd(e,t,n){return vd(e,Td(Td({},t),{},{v2:!0}),n)}function Ad(e){"@babel/helpers - typeof";return Ad=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ad(e)}function jd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Md(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?jd(Object(n),!0).forEach(function(t){Nd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nd(e,t,n){return(t=Pd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pd(e){var t=Fd(e,`string`);return Ad(t)==`symbol`?t:t+``}function Fd(e,t){if(Ad(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Ad(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Id(e,t){return Vd(e)||Bd(e,t)||Rd(e,t)||Ld()}function Ld(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rd(e,t){if(e){if(typeof e==`string`)return zd(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zd(e,t):void 0}}function zd(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Bd(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Vd(e){if(Array.isArray(e))return e}function Hd(e){var t=Id(Array.prototype.slice.call(e),4),n=t[0],r=t[1],i=t[2],a=t[3],o,s,c;if(typeof n==`string`)o=n;else throw TypeError(`A text for parsing must be a string.`);if(!r||typeof r==`string`)a?(s=i,c=a):(s=void 0,c=i),r&&(s=Md({defaultCountry:r},s));else if(Uc(r))i?(s=r,c=i):c=r;else throw Error(`Invalid second argument: ${r}`);return{text:o,options:s,metadata:c}}function Ud(e){"@babel/helpers - typeof";return Ud=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ud(e)}function Wd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Gd(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Wd(Object(n),!0).forEach(function(t){Kd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Kd(e,t,n){return(t=qd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qd(e){var t=Jd(e,`string`);return Ud(t)==`symbol`?t:t+``}function Jd(e,t){if(Ud(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Ud(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Yd(e,t,n){t&&t.defaultCountry&&!ll(t.defaultCountry,n)&&(t=Gd(Gd({},t),{},{defaultCountry:void 0}));try{return kd(e,t,n)}catch(e){if(!(e instanceof J))throw e}}function Xd(){var e=Hd(arguments),t=e.text,n=e.options,r=e.metadata;return Yd(t,n,r)}function Zd(e){"@babel/helpers - typeof";return Zd=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Zd(e)}function Qd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Qd(Object(n),!0).forEach(function(t){ef(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ef(e,t,n){return(t=tf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tf(e){var t=nf(e,`string`);return Zd(t)==`symbol`?t:t+``}function nf(e,t){if(Zd(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Zd(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function rf(){var e=Hd(arguments),t=e.text,n=e.options,r=e.metadata;n=$d($d({},n),{},{extract:!1});var i=Yd(t,n,r);return i&&i.isPossible()||!1}function af(e){"@babel/helpers - typeof";return af=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},af(e)}function of(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function sf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,lf(r.key),r)}}function cf(e,t,n){return t&&sf(e.prototype,t),n&&sf(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function lf(e){var t=uf(e,`string`);return af(t)==`symbol`?t:t+``}function uf(e,t){if(af(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(af(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var df=function(){function e(t){var n=t.onCountryChange,r=t.onCallingCodeChange;of(this,e),this.onCountryChange=n,this.onCallingCodeChange=r}return cf(e,[{key:`reset`,value:function(e){var t=e.country,n=e.callingCode;this.international=!1,this.missingPlus=!1,this.IDDPrefix=void 0,this.callingCode=void 0,this.digits=``,this.resetNationalSignificantNumber(),this.initCountryAndCallingCode(t,n)}},{key:`resetNationalSignificantNumber`,value:function(){this.nationalSignificantNumber=this.getNationalDigits(),this.nationalSignificantNumberIsModified=!1,this.nationalPrefix=void 0,this.carrierCode=void 0,this.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix=void 0}},{key:`update`,value:function(e){for(var t=0,n=Object.keys(e);t<n.length;t++){var r=n[t];this[r]=e[r]}}},{key:`initCountryAndCallingCode`,value:function(e,t){this.setCountry(e),this.setCallingCode(t)}},{key:`setCountry`,value:function(e){this.country=e,this.onCountryChange(e)}},{key:`setCallingCode`,value:function(e){this.callingCode=e,this.onCallingCodeChange(e,this.country)}},{key:`startInternationalNumber`,value:function(e,t){this.international=!0,this.initCountryAndCallingCode(e,t)}},{key:`appendDigits`,value:function(e){this.digits+=e}},{key:`appendNationalSignificantNumberDigits`,value:function(e){this.nationalSignificantNumber+=e}},{key:`getNationalDigits`,value:function(){return this.international?this.digits.slice((this.IDDPrefix?this.IDDPrefix.length:0)+(this.callingCode?this.callingCode.length:0)):this.digits}},{key:`getDigitsWithoutInternationalPrefix`,value:function(){return this.international&&this.IDDPrefix?this.digits.slice(this.IDDPrefix.length):this.digits}}])}();function ff(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=pf(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pf(e,t){if(e){if(typeof e==`string`)return mf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mf(e,t):void 0}}function mf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var hf=RegExp(`x`);function gf(e,t){if(t<1)return``;for(var n=``;t>1;)t&1&&(n+=e),t>>=1,e+=e;return n+e}function _f(e,t){return e[t]===`)`&&t++,vf(e.slice(0,t))}function vf(e){for(var t=[],n=0;n<e.length;)e[n]===`(`?t.push(n):e[n]===`)`&&t.pop(),n++;var r=0,i=``;t.push(e.length);for(var a=0,o=t;a<o.length;a++){var s=o[a];i+=e.slice(r,s),r=s+1}return i}function yf(e,t,n){for(var r=ff(n.split(``)),i;!(i=r()).done;){var a=i.value;if(e.slice(t+1).search(hf)<0)return;t=e.search(hf),e=e.replace(hf,a)}return[e,t]}function bf(e,t,n){var r=n.metadata,i=n.shouldTryNationalPrefixFormattingRule,a=n.getSeparatorAfterNationalPrefix;if(RegExp(`^(?:${t.pattern()})$`).test(e.nationalSignificantNumber))return Sf(e,t,{metadata:r,shouldTryNationalPrefixFormattingRule:i,getSeparatorAfterNationalPrefix:a})}function xf(e,t){return hl(e,void 0,t)===`IS_POSSIBLE`}function Sf(e,t,n){var r=n.metadata,i=n.shouldTryNationalPrefixFormattingRule,a=n.getSeparatorAfterNationalPrefix;if(e.nationalSignificantNumber,e.international,e.nationalPrefix,e.carrierCode,i(t)){var o=Cf(e,t,{useNationalPrefixFormattingRule:!0,getSeparatorAfterNationalPrefix:a,metadata:r});if(o)return o}return Cf(e,t,{useNationalPrefixFormattingRule:!1,getSeparatorAfterNationalPrefix:a,metadata:r})}function Cf(e,t,n){var r=n.metadata,i=n.useNationalPrefixFormattingRule,a=n.getSeparatorAfterNationalPrefix,o=ql(e.nationalSignificantNumber,t,{carrierCode:e.carrierCode,useInternationalFormat:e.international,withNationalPrefix:i,metadata:r});if(i||(e.nationalPrefix?o=e.nationalPrefix+a(t)+o:e.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix&&(o=e.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix+` `+o)),wf(o,e))return o}function wf(e,t){return Yu(e)===t.getNationalDigits()}function Tf(e){"@babel/helpers - typeof";return Tf=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Tf(e)}function Ef(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Df(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,kf(r.key),r)}}function Of(e,t,n){return t&&Df(e.prototype,t),n&&Df(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function kf(e){var t=Af(e,`string`);return Tf(t)==`symbol`?t:t+``}function Af(e,t){if(Tf(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Tf(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var jf=function(){function e(){Ef(this,e)}return Of(e,[{key:`parse`,value:function(e){if(this.context=[{or:!0,instructions:[]}],this.parsePattern(e),this.context.length!==1)throw Error(`Non-finalized contexts left when pattern parse ended`);var t=this.context[0],n=t.branches,r=t.instructions;if(n)return{op:`|`,args:n.concat([Ff(r)])};if(r.length===0)throw Error(`Pattern is required`);return r.length===1?r[0]:r}},{key:`startContext`,value:function(e){this.context.push(e)}},{key:`endContext`,value:function(){this.context.pop()}},{key:`getContext`,value:function(){return this.context[this.context.length-1]}},{key:`parsePattern`,value:function(e){if(!e)throw Error(`Pattern is required`);var t=e.match(Pf);if(!t){if(Nf.test(e))throw Error(`Illegal characters found in a pattern: ${e}`);this.getContext().instructions=this.getContext().instructions.concat(e.split(``));return}var n=t[1],r=e.slice(0,t.index),i=e.slice(t.index+n.length);switch(n){case`(?:`:r&&this.parsePattern(r),this.startContext({or:!0,instructions:[],branches:[]});break;case`)`:if(!this.getContext().or)throw Error(`")" operator must be preceded by "(?:" operator`);if(r&&this.parsePattern(r),this.getContext().instructions.length===0)throw Error(`No instructions found after "|" operator in an "or" group`);var a=this.getContext().branches;a.push(Ff(this.getContext().instructions)),this.endContext(),this.getContext().instructions.push({op:`|`,args:a});break;case`|`:if(!this.getContext().or)throw Error(`"|" operator can only be used inside "or" groups`);if(r&&this.parsePattern(r),!this.getContext().branches){if(this.context.length===1)this.getContext().branches=[];else throw Error(`"branches" not found in an "or" group context`)}this.getContext().branches.push(Ff(this.getContext().instructions)),this.getContext().instructions=[];break;case`[`:r&&this.parsePattern(r),this.startContext({oneOfSet:!0});break;case`]`:if(!this.getContext().oneOfSet)throw Error(`"]" operator must be preceded by "[" operator`);this.endContext(),this.getContext().instructions.push({op:`[]`,args:Mf(r)});break;default:throw Error(`Unknown operator: ${n}`)}i&&this.parsePattern(i)}}])}();function Mf(e){for(var t=[],n=0;n<e.length;){if(e[n]===`-`){if(n===0||n===e.length-1)throw Error(`Couldn't parse a one-of set pattern: ${e}`);for(var r=e[n-1].charCodeAt(0)+1,i=e[n+1].charCodeAt(0)-1,a=r;a<=i;)t.push(String.fromCharCode(a)),a++}else t.push(e[n]);n++}return t}var Nf=/[\(\)\[\]\?\:\|]/,Pf=RegExp(`(\\||\\(\\?\\:|\\)|\\[|\\])`);function Ff(e){return e.length===1?e[0]:e}function If(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Lf(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lf(e,t){if(e){if(typeof e==`string`)return Rf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rf(e,t):void 0}}function Rf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},zf(e)}function Bf(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Vf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Uf(r.key),r)}}function Hf(e,t,n){return t&&Vf(e.prototype,t),n&&Vf(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Uf(e){var t=Wf(e,`string`);return zf(t)==`symbol`?t:t+``}function Wf(e,t){if(zf(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(zf(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Gf=function(){function e(t){Bf(this,e),this.matchTree=new jf().parse(t)}return Hf(e,[{key:`match`,value:function(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).allowOverflow;if(!e)throw Error(`String is required`);var n=Kf(e.split(``),this.matchTree,!0);if(n&&n.match&&delete n.matchedChars,!(n&&n.overflow&&!t))return n}}])}();function Kf(e,t,n){if(typeof t==`string`){var r=e.join(``);return t.indexOf(r)===0?e.length===t.length?{match:!0,matchedChars:e}:{partialMatch:!0}:r.indexOf(t)===0?n&&e.length>t.length?{overflow:!0}:{match:!0,matchedChars:e.slice(0,t.length)}:void 0}if(Array.isArray(t)){for(var i=e.slice(),a=0;a<t.length;){var o=t[a],s=Kf(i,o,n&&a===t.length-1);if(!s)return;if(s.overflow)return s;if(s.match){if(i=i.slice(s.matchedChars.length),i.length===0)return a===t.length-1?{match:!0,matchedChars:e}:{partialMatch:!0}}else if(s.partialMatch)return{partialMatch:!0};else throw Error(`Unsupported match result:
11
- ${JSON.stringify(s,null,2)}`);a++}return n?{overflow:!0}:{match:!0,matchedChars:e.slice(0,e.length-i.length)}}switch(t.op){case`|`:for(var c,l=If(t.args),u;!(u=l()).done;){var d=u.value,f=Kf(e,d,n);if(f){if(f.overflow)return f;if(f.match)return{match:!0,matchedChars:f.matchedChars};if(f.partialMatch)c=!0;else throw Error(`Unsupported match result:
12
- ${JSON.stringify(f,null,2)}`)}}return c?{partialMatch:!0}:void 0;case`[]`:for(var p=If(t.args),m;!(m=p()).done;){var h=m.value;if(e[0]===h)return e.length===1?{match:!0,matchedChars:e}:n?{overflow:!0}:{match:!0,matchedChars:[h]}}return;default:throw Error(`Unsupported instruction tree: ${t}`)}}function qf(e){"@babel/helpers - typeof";return qf=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},qf(e)}function Jf(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Yf(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
13
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yf(e,t){if(e){if(typeof e==`string`)return Xf(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xf(e,t):void 0}}function Xf(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Zf(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Qf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ep(r.key),r)}}function $f(e,t,n){return t&&Qf(e.prototype,t),n&&Qf(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ep(e){var t=tp(e,`string`);return qf(t)==`symbol`?t:t+``}function tp(e,t){if(qf(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(qf(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var np=`9`,rp=gf(np,15),ip=/[- ]/,ap=!0,op=ap&&function(){return/\[([^\[\]])*\]/g},sp=ap&&function(){return/\d(?=[^,}][^,}])/g},cp=RegExp(`[`+q+`]*\\$1[`+q+`]*(\\$\\d[`+q+`]*)*$`),lp=3,up=function(){function e(t){t.state;var n=t.metadata;Zf(this,e),this.metadata=n,this.resetFormat()}return $f(e,[{key:`resetFormat`,value:function(){this.chosenFormat=void 0,this.template=void 0,this.nationalNumberTemplate=void 0,this.populatedNationalNumberTemplate=void 0,this.populatedNationalNumberTemplatePosition=-1}},{key:`reset`,value:function(e,t){this.resetFormat(),e?(this.isNANP=e.callingCode()===`1`,this.matchingFormats=e.formats(),t.nationalSignificantNumber&&this.narrowDownMatchingFormats(t)):(this.isNANP=void 0,this.matchingFormats=[])}},{key:`format`,value:function(e,t){var n=this;if(xf(t.nationalSignificantNumber,this.metadata))for(var r=Jf(this.matchingFormats),i;!(i=r()).done;){var a=i.value,o=bf(t,a,{metadata:this.metadata,shouldTryNationalPrefixFormattingRule:function(e){return n.shouldTryNationalPrefixFormattingRule(e,{international:t.international,nationalPrefix:t.nationalPrefix})},getSeparatorAfterNationalPrefix:function(e){return n.getSeparatorAfterNationalPrefix(e)}});if(o)return this.resetFormat(),this.chosenFormat=a,this.setNationalNumberTemplate(o.replace(/\d/g,`x`),t),this.populatedNationalNumberTemplate=o,this.populatedNationalNumberTemplatePosition=this.template.lastIndexOf(`x`),o}return this.formatNationalNumberWithNextDigits(e,t)}},{key:`formatNationalNumberWithNextDigits`,value:function(e,t){var n=this.chosenFormat,r=this.chooseFormat(t);if(r)return r===n?this.formatNextNationalNumberDigits(e):this.formatNextNationalNumberDigits(t.getNationalDigits())}},{key:`narrowDownMatchingFormats`,value:function(e){var t=this,n=e.nationalSignificantNumber,r=e.nationalPrefix,i=e.international,a=n,o=a.length-lp;o<0&&(o=0),this.matchingFormats=this.matchingFormats.filter(function(e){return t.formatSuits(e,i,r)&&t.formatMatches(e,a,o)}),this.chosenFormat&&this.matchingFormats.indexOf(this.chosenFormat)===-1&&this.resetFormat()}},{key:`formatSuits`,value:function(e,t,n){return!(n&&!e.usesNationalPrefix()&&!e.nationalPrefixIsOptionalWhenFormattingInNationalFormat()||!t&&!n&&e.nationalPrefixIsMandatoryWhenFormattingInNationalFormat())}},{key:`formatMatches`,value:function(e,t,n){var r=e.leadingDigitsPatterns().length;if(r===0)return!0;n=Math.min(n,r-1);var i=e.leadingDigitsPatterns()[n];if(t.length<lp)try{return new Gf(i).match(t,{allowOverflow:!0})!==void 0}catch(e){return console.error(e),!0}return RegExp(`^(${i})`).test(t)}},{key:`getFormatFormat`,value:function(e,t){return t?e.internationalFormat():e.format()}},{key:`chooseFormat`,value:function(e){for(var t=this,n=function(){var n=a.value;return t.chosenFormat===n?0:cp.test(t.getFormatFormat(n,e.international))?t.createTemplateForFormat(n,e)?(t.chosenFormat=n,0):(t.matchingFormats=t.matchingFormats.filter(function(e){return e!==n}),1):1},r,i=Jf(this.matchingFormats.slice()),a;!(a=i()).done&&(r=n(),r!==0););return this.chosenFormat||this.resetFormat(),this.chosenFormat}},{key:`createTemplateForFormat`,value:function(e,t){if(!(ap&&e.pattern().indexOf(`|`)>=0)){var n=this.getTemplateForFormat(e,t);if(n)return this.setNationalNumberTemplate(n,t),!0}}},{key:`getSeparatorAfterNationalPrefix`,value:function(e){return this.isNANP||e&&e.nationalPrefixFormattingRule()&&ip.test(e.nationalPrefixFormattingRule())?` `:``}},{key:`getInternationalPrefixBeforeCountryCallingCode`,value:function(e,t){var n=e.IDDPrefix,r=e.missingPlus;return n?t&&t.spacing===!1?n:n+` `:r?``:`+`}},{key:`getTemplate`,value:function(e){if(this.template){for(var t=-1,n=0,r=e.international?this.getInternationalPrefixBeforeCountryCallingCode(e,{spacing:!1}):``;n<r.length+e.getDigitsWithoutInternationalPrefix().length;)t=this.template.indexOf(`x`,t+1),n++;return _f(this.template,t+1)}}},{key:`setNationalNumberTemplate`,value:function(e,t){this.nationalNumberTemplate=e,this.populatedNationalNumberTemplate=e,this.populatedNationalNumberTemplatePosition=-1,this.template=t.international?this.getInternationalPrefixBeforeCountryCallingCode(t).replace(/[\d\+]/g,`x`)+gf(`x`,t.callingCode.length)+` `+e:e}},{key:`getTemplateForFormat`,value:function(e,t){var n=t.nationalSignificantNumber,r=t.international,i=t.nationalPrefix,a=t.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix,o=e.pattern();ap&&(o=o.replace(op(),`\\d`).replace(sp(),`\\d`));var s=rp.match(o)[0];if(!(n.length>s.length)){var c=RegExp(`^`+o+`$`),l=n.replace(/\d/g,np);c.test(l)&&(s=l);var u=this.getFormatFormat(e,r),d;if(this.shouldTryNationalPrefixFormattingRule(e,{international:r,nationalPrefix:i})){var f=u.replace(Kl,e.nationalPrefixFormattingRule());if(Yu(e.nationalPrefixFormattingRule())===(i||``)+Yu(`$1`)&&(u=f,d=!0,i))for(var p=i.length;p>0;)u=u.replace(/\d/,`x`),p--}var m=s.replace(new RegExp(o),u).replace(new RegExp(np,`g`),`x`);return d||(a?m=gf(`x`,a.length)+` `+m:i&&(m=gf(`x`,i.length)+this.getSeparatorAfterNationalPrefix(e)+m)),r&&(m=Gl(m)),m}}},{key:`formatNextNationalNumberDigits`,value:function(e){var t=yf(this.populatedNationalNumberTemplate,this.populatedNationalNumberTemplatePosition,e);if(!t){this.resetFormat();return}return this.populatedNationalNumberTemplate=t[0],this.populatedNationalNumberTemplatePosition=t[1],_f(this.populatedNationalNumberTemplate,this.populatedNationalNumberTemplatePosition+1)}},{key:`shouldTryNationalPrefixFormattingRule`,value:function(e,t){var n=t.international,r=t.nationalPrefix;if(e.nationalPrefixFormattingRule()){var i=e.usesNationalPrefix();if(i&&r||!i&&!n)return!0}}}])}();function dp(e){"@babel/helpers - typeof";return dp=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},dp(e)}function fp(e,t){return _p(e)||gp(e,t)||mp(e,t)||pp()}function pp(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mp(e,t){if(e){if(typeof e==`string`)return hp(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hp(e,t):void 0}}function hp(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function gp(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function _p(e){if(Array.isArray(e))return e}function vp(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function yp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,xp(r.key),r)}}function bp(e,t,n){return t&&yp(e.prototype,t),n&&yp(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function xp(e){var t=Sp(e,`string`);return dp(t)==`symbol`?t:t+``}function Sp(e,t){if(dp(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(dp(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Cp=`[`+q+K+`]+`,wp=RegExp(`^`+Cp+`$`,`i`),Tp=`(?:[`+jl+`][`+q+K+`]*|[`+q+K+`]+)`,Ep=RegExp(`[^`+q+K+`]+.*$`),Dp=/[^\d\[\]]/,Op=function(){function e(t){var n=t.defaultCountry,r=t.defaultCallingCode,i=t.metadata,a=t.onNationalSignificantNumberChange;vp(this,e),this.defaultCountry=n,this.defaultCallingCode=r,this.metadata=i,this.onNationalSignificantNumberChange=a}return bp(e,[{key:`input`,value:function(e,t){var n=fp(jp(e),2),r=n[0],i=n[1],a=Yu(r),o;return i&&(t.digits||(t.startInternationalNumber(void 0,void 0),a||(o=!0))),a&&this.inputDigits(a,t),{digits:a,justLeadingPlus:o}}},{key:`inputDigits`,value:function(e,t){var n=t.digits,r=n.length<3&&n.length+e.length>=3;if(t.appendDigits(e),r&&this.extractIddPrefix(t),this.isWaitingForCountryCallingCode(t)){if(!this.extractCountryCallingCode(t))return}else t.appendNationalSignificantNumberDigits(e);t.international||this.hasExtractedNationalSignificantNumber||this.extractNationalSignificantNumber(t.getNationalDigits(),function(e){return t.update(e)})}},{key:`isWaitingForCountryCallingCode`,value:function(e){var t=e.international,n=e.callingCode;return t&&!n}},{key:`extractCountryCallingCode`,value:function(e){var t=Wl(`+`+e.getDigitsWithoutInternationalPrefix(),e.country,this.defaultCountry,this.defaultCallingCode,this.metadata.metadata),n=t.countryCallingCode,r=t.number;if(n)return e.setCallingCode(n),e.update({nationalSignificantNumber:r}),!0}},{key:`reset`,value:function(e){if(e){this.hasSelectedNumberingPlan=!0;var t=e._nationalPrefixForParsing();this.couldPossiblyExtractAnotherNationalSignificantNumber=t&&Dp.test(t)}else this.hasSelectedNumberingPlan=void 0,this.couldPossiblyExtractAnotherNationalSignificantNumber=void 0}},{key:`extractNationalSignificantNumber`,value:function(e,t){if(this.hasSelectedNumberingPlan){var n=Pl(e,this.metadata),r=n.nationalPrefix,i=n.nationalNumber,a=n.carrierCode;if(i!==e)return this.onExtractedNationalNumber(r,a,i,e,t),!0}}},{key:`extractAnotherNationalSignificantNumber`,value:function(e,t,n){if(!this.hasExtractedNationalSignificantNumber)return this.extractNationalSignificantNumber(e,n);if(this.couldPossiblyExtractAnotherNationalSignificantNumber){var r=Pl(e,this.metadata),i=r.nationalPrefix,a=r.nationalNumber,o=r.carrierCode;if(a!==t)return this.onExtractedNationalNumber(i,o,a,e,n),!0}}},{key:`onExtractedNationalNumber`,value:function(e,t,n,r,i){var a=!1,o,s=r.lastIndexOf(n);if(s<0||s!==r.length-n.length)a=!0;else{var c=r.slice(0,s);c&&c!==e&&(o=c)}i({nationalPrefix:e,carrierCode:t,nationalSignificantNumber:n,nationalSignificantNumberIsModified:a,prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix:o}),this.hasExtractedNationalSignificantNumber=!0,this.onNationalSignificantNumberChange()}},{key:`reExtractNationalSignificantNumber`,value:function(e){if(this.extractAnotherNationalSignificantNumber(e.getNationalDigits(),e.nationalSignificantNumber,function(t){return e.update(t)}))return!0;if(this.extractIddPrefix(e)||this.fixMissingPlus(e))return this.extractCallingCodeAndNationalSignificantNumber(e),!0}},{key:`extractIddPrefix`,value:function(e){var t=e.international,n=e.IDDPrefix,r=e.digits;if(e.nationalSignificantNumber,!(t||n)){var i=Nl(r,this.defaultCountry,this.defaultCallingCode,this.metadata.metadata);if(i!==void 0&&i!==r)return e.update({IDDPrefix:r.slice(0,r.length-i.length)}),this.startInternationalNumber(e,{country:void 0,callingCode:void 0}),!0}}},{key:`fixMissingPlus`,value:function(e){if(!e.international){var t=Ul(e.digits,e.country,this.defaultCountry,this.defaultCallingCode,this.metadata.metadata).countryCallingCode;if(t)return e.update({missingPlus:!0}),this.startInternationalNumber(e,{country:e.country,callingCode:t}),!0}}},{key:`startInternationalNumber`,value:function(e,t){var n=t.country,r=t.callingCode;e.startInternationalNumber(n,r),e.nationalSignificantNumber&&(e.resetNationalSignificantNumber(),this.onNationalSignificantNumberChange(),this.hasExtractedNationalSignificantNumber=void 0)}},{key:`extractCallingCodeAndNationalSignificantNumber`,value:function(e){this.extractCountryCallingCode(e)&&this.extractNationalSignificantNumber(e.getNationalDigits(),function(t){return e.update(t)})}}])}();function kp(e){var t=e.search(Tp);if(!(t<0)){e=e.slice(t);var n;return e[0]===`+`&&(n=!0,e=e.slice(1)),e=e.replace(Ep,``),n&&(e=`+`+e),e}}function Ap(e){var t=kp(e)||``;return t[0]===`+`?[t.slice(1),!0]:[t]}function jp(e){var t=fp(Ap(e),2),n=t[0],r=t[1];return wp.test(n)||(n=``),[n,r]}function Mp(e){"@babel/helpers - typeof";return Mp=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Mp(e)}function Np(e,t){return Rp(e)||Lp(e,t)||Fp(e,t)||Pp()}function Pp(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fp(e,t){if(e){if(typeof e==`string`)return Ip(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ip(e,t):void 0}}function Ip(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Lp(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Rp(e){if(Array.isArray(e))return e}function zp(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function Bp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Hp(r.key),r)}}function Vp(e,t,n){return t&&Bp(e.prototype,t),n&&Bp(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Hp(e){var t=Up(e,`string`);return Mp(t)==`symbol`?t:t+``}function Up(e,t){if(Mp(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Mp(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Wp=function(){function e(t,n){zp(this,e),this.metadata=new W(n);var r=Np(this.getCountryAndCallingCode(t),2),i=r[0],a=r[1];this.defaultCountry=i,this.defaultCallingCode=a,this.reset()}return Vp(e,[{key:`getCountryAndCallingCode`,value:function(e){var t,n;return e&&(Uc(e)?(t=e.defaultCountry,n=e.defaultCallingCode):t=e),t&&!this.metadata.hasCountry(t)&&(t=void 0),[t,n]}},{key:`input`,value:function(e){var t=this.parser.input(e,this.state),n=t.digits;if(t.justLeadingPlus)this.formattedOutput=`+`;else if(n){this.determineTheCountryIfNeeded(),this.state.nationalSignificantNumber&&this.formatter.narrowDownMatchingFormats(this.state);var r;if(this.metadata.hasSelectedNumberingPlan()&&(r=this.formatter.format(n,this.state)),r===void 0&&this.parser.reExtractNationalSignificantNumber(this.state)){this.determineTheCountryIfNeeded();var i=this.state.getNationalDigits();i&&(r=this.formatter.format(i,this.state))}this.formattedOutput=r?this.getFullNumber(r):this.getNonFormattedNumber()}return this.formattedOutput}},{key:`reset`,value:function(){var e=this;return this.state=new df({onCountryChange:function(t){e.country=t},onCallingCodeChange:function(t,n){e.metadata.selectNumberingPlan(n||t),e.formatter.reset(e.metadata.numberingPlan,e.state),e.parser.reset(e.metadata.numberingPlan)}}),this.formatter=new up({state:this.state,metadata:this.metadata}),this.parser=new Op({defaultCountry:this.defaultCountry,defaultCallingCode:this.defaultCallingCode,metadata:this.metadata,state:this.state,onNationalSignificantNumberChange:function(){e.determineTheCountryIfNeeded(),e.formatter.reset(e.metadata.numberingPlan,e.state)}}),this.state.reset({country:this.defaultCountry,callingCode:this.defaultCallingCode}),this.formattedOutput=``,this}},{key:`isInternational`,value:function(){return this.state.international}},{key:`getCallingCode`,value:function(){if(this.isInternational())return this.state.callingCode}},{key:`getCountryCallingCode`,value:function(){return this.getCallingCode()}},{key:`getCountry`,value:function(){if(this.state.digits)return this._getCountry()}},{key:`_getCountry`,value:function(){return this.state.country}},{key:`determineTheCountryIfNeeded`,value:function(){(!this.state.country||this.isCountryCallingCodeAmbiguous())&&this.determineTheCountry()}},{key:`getFullNumber`,value:function(e){var t=this;if(this.isInternational()){var n=function(e){return t.formatter.getInternationalPrefixBeforeCountryCallingCode(t.state,{spacing:!!e})+e},r=this.state.callingCode;return n(r?e?`${r} ${e}`:r:`${this.state.getDigitsWithoutInternationalPrefix()}`)}return e}},{key:`getNonFormattedNationalNumberWithPrefix`,value:function(){var e=this.state,t=e.nationalSignificantNumber,n=e.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix,r=e.nationalPrefix,i=t,a=n||r;return a&&(i=a+i),i}},{key:`getNonFormattedNumber`,value:function(){var e=this.state.nationalSignificantNumberIsModified;return this.getFullNumber(e?this.state.getNationalDigits():this.getNonFormattedNationalNumberWithPrefix())}},{key:`getNonFormattedTemplate`,value:function(){var e=this.getNonFormattedNumber();if(e)return e.replace(/[\+\d]/g,`x`)}},{key:`isCountryCallingCodeAmbiguous`,value:function(){var e=this.state.callingCode,t=this.metadata.getCountryCodesForCallingCode(e);return t&&t.length>1}},{key:`determineTheCountry`,value:function(){var e=zl(this.isInternational()?this.state.callingCode:this.defaultCallingCode,{nationalNumber:this.state.nationalSignificantNumber,metadata:this.metadata});e!==this.state.country&&(this.state.setCountry(e),e&&this.metadata.selectNumberingPlan(e))}},{key:`getNumberValue`,value:function(){var e=this.state,t=e.digits,n=e.callingCode,r=e.country,i=e.nationalSignificantNumber;if(t){if(this.isInternational())return n?`+`+n+i:`+`+t;if(r||n)return`+`+(r?this.metadata.countryCallingCode():n)+i}}},{key:`getNumber`,value:function(){var e=this.state,t=e.nationalSignificantNumber,n=e.carrierCode,r=e.callingCode;if(t){var i=this._getCountry();if(i||r){if(i&&i===this.defaultCountry){var a=Gp(this.metadata.numberingPlan.callingCode(),t,this.metadata);a&&(i=a)}var o=new wu(i||r,t,this.metadata.metadata);return n&&(o.carrierCode=n),o}}}},{key:`isPossible`,value:function(){var e=this.getNumber();return e?e.isPossible():!1}},{key:`isValid`,value:function(){var e=this.getNumber();return e?e.isValid():!1}},{key:`validateLength`,value:function(){var e=this.state,t=e.digits,n=e.nationalSignificantNumber;if(!t)return`NOT_A_NUMBER`;if(!this.metadata.numberingPlan)return`INVALID_COUNTRY`;if(!n)return`TOO_SHORT`;var r=hl(n,void 0,this.metadata);if(r!==`IS_POSSIBLE`)return r}},{key:`getNationalNumber`,value:function(){return this.state.nationalSignificantNumber}},{key:`getChars`,value:function(){return(this.state.international?`+`:``)+this.state.digits}},{key:`getTemplate`,value:function(){return this.formatter.getTemplate(this.state)||this.getNonFormattedTemplate()||``}}])}();function Gp(e,t,n){var r=n.getCountryCodesForCallingCode(e);if(r.length>1)return Rl(t,r,n.metadata)}function Kp(e){return new W(e).getCountries()}function qp(e,t,n){if(t[e])return new wu(e,t[e],n)}function Jp(){return Bc(Xd,arguments)}function Yp(){return Bc(rf,arguments)}function Xp(e){return Wp.call(this,e,zc)}Xp.prototype=Object.create(Wp.prototype,{}),Xp.prototype.constructor=Xp;function Zp(){return Bc(Kp,arguments)}function Qp(){return Bc(cl,arguments)}function $p(){return Bc(qp,arguments)}var em=Object.defineProperty,tm=(e,t)=>{let n={};for(var r in e)em(n,r,{get:e[r],enumerable:!0});return t||em(n,Symbol.toStringTag,{value:`Module`}),n};function nm(e){return{digest:e?.digest??((e,t)=>globalThis.crypto.subtle.digest(e,t)),randomUUID:e?.randomUUID??(()=>globalThis.crypto.randomUUID())}}var rm=e=>/^0x[0-9a-fA-F]*$/.test(e),im=e=>Buffer.from(e,`utf8`),am=e=>`0x${e.toString(`hex`)}`,om=Symbol(`data-suffix-plugin`);function sm(e=[]){return e.find(e=>e.id===om)}function cm(e){let t=e.startsWith(`0x`)?e:`0x${e}`;if(!rm(t))throw Error(`[Privy] dataSuffix: Invalid suffix "${e}" is not valid hex`);let n=t.slice(2);return{id:om,suffix:t,appendDataSuffix:({data:e})=>!e||e===`0x`?t:`${e}${n}`}}var lm=class{_privyInternal;_smartWalletConfig;constructor(e){this._privyInternal=e}getConfig(){return this._privyInternal.config}async getSmartWalletConfig(){return this._smartWalletConfig||=await this._privyInternal.fetch(Qn,{params:{app_id:this.appId}}),this._smartWalletConfig}get appId(){return this._privyInternal.appId}},um=class e{static parse(t){try{return new e(t)}catch{return null}}value;_decoded;constructor(e){this.value=e,this._decoded=Kr(e)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(e=0){return Date.now()>=(this.expiration-e)*1e3}},dm=class e{_storage;_privyInternal;constructor(e,t){this._privyInternal=e,this._storage=t}static providerAccessTokenStorageKey=e=>`privy:cross-app:${e}`;async updateOnCrossAppAuthentication(t,n){let r=n.access_token,i=e.providerAccessTokenStorageKey(t);await this._storage.put(i,r)}async getProviderAccessToken(t){let n=e.providerAccessTokenStorageKey(t),r=await this._storage.get(n);if(typeof r!=`string`)return null;try{if(new um(r).isExpired())throw Error(`JWT is expired`);return r}catch{return await this._storage.del(n),null}}async getCrossAppConnections(){return await this._privyInternal.fetch(Jt,{params:{app_id:this._privyInternal.appId}})}},fm=class{_privyInternal;constructor(e){this._privyInternal=e}async revoke(){await this._privyInternal.fetch(Pr,{})}},pm=class extends Error{name=`PrivyApiError`;error;code;status;constructor({error:e,code:t,status:n}){super(e),this.error=e,this.code=t,this.status=n}},Y=class extends Error{error;code;constructor({error:e,code:t}){super(e),this.code=t,this.error=e}},mm=class extends Error{error;code;response;constructor({error:e,code:t,response:n}){super(e),this.code=t,this.error=e,this.response=n}},X=e=>!!e.id&&e.recovery_method===`privy-v2`,hm=[`error`,`invalid_request_arguments`,`wallet_not_on_device`,`invalid_recovery_pin`,`insufficient_funds`,`mfa_timeout`,`missing_or_invalid_mfa`,`mfa_verification_max_attempts_reached`];(function(e){return e.MISSING_OR_INVALID_PRIVY_APP_ID=`missing_or_invalid_privy_app_id`,e.MISSING_OR_INVALID_PRIVY_ACCOUNT_ID=`missing_or_invalid_privy_account_id`,e.INVALID_DATA=`invalid_data`,e.LINKED_TO_ANOTHER_USER=`linked_to_another_user`,e.ALLOWLIST_REJECTED=`allowlist_rejected`,e.OAUTH_USER_DENIED=`oauth_user_denied`,e.UNKNOWN_AUTH_ERROR=`unknown_auth_error`,e.USER_EXITED_AUTH_FLOW=`exited_auth_flow`,e.MUST_BE_AUTHENTICATED=`must_be_authenticated`,e.UNKNOWN_CONNECT_WALLET_ERROR=`unknown_connect_wallet_error`,e.GENERIC_CONNECT_WALLET_ERROR=`generic_connect_wallet_error`,e.CLIENT_REQUEST_TIMEOUT=`client_request_timeout`,e.INVALID_CREDENTIALS=`invalid_credentials`,e})({});var gm=class extends Error{cause;privyErrorCode;constructor(e,t,n){super(e),t instanceof Error&&(this.cause=t),this.privyErrorCode=n}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:``}: ${this.message}${this.cause?` [cause: ${this.cause}]`:``}`}},_m=class extends Error{type;constructor(e,t){super(t),this.type=e}},vm=class extends gm{type=`connector_error`;constructor(e,t,n){super(e,t,n)}},ym=class extends Error{code;data;constructor(e,t,n){super(e),this.code=t,this.data=n}},bm={UNKNOWN_ERROR:{eipCode:0,message:`Unknown error`,detail:`Unknown error`,retryable:!0},E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:`User Rejected Request`,detail:`The user rejected the request.`,default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:`Unauthorized`,detail:`The requested method and/or account has not been authorized by the user.`,default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:`Unsupported Method`,detail:`The Provider does not support the requested method.`,default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:`Disconnected`,detail:`The Provider is disconnected from all chains.`,default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:`Chain Disconnected`,detail:`The Provider is not connected to the requested chain.`,default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:`Parse error`,detail:`Invalid JSON`,default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:`Invalid request`,detail:`JSON is not a valid request object`,default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:`Method not found`,detail:`Method does not exist`,default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:`Invalid params`,detail:`Invalid method parameters`,default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:`Internal error`,detail:`Internal JSON-RPC error`,default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:`Invalid input`,detail:`Missing or invalid parameters`,default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:`Resource not found`,detail:`Requested resource not found`,default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:`Resource unavailable`,detail:`Requested resource not available`,default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:`Transaction rejected`,detail:`Transaction creation failed`,default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:`Method not supported`,detail:`Method is not implemented`,default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:`Limit exceeded`,detail:`Request exceeds defined limit`,default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:`JSON-RPC version not supported`,detail:`Version of JSON-RPC protocol is not supported`,default:!0,retryable:!1},E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:`Connection request already pending`,detail:`Don’t see your wallet? Check your other browser windows.`,retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:`Resource request already pending`,detail:`Don’t see your wallet? Check your other browser windows.`,retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:`Wallet might be locked`,detail:`Unlock your wallet and try again.`,retryable:!0},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:`Signature rejected`,detail:`Please try signing again.`,retryable:!0}};function xm(e){let t=e.type;return typeof t==`string`&&hm.includes(t)}function Sm(e){return xm(e)&&e.type===`wallet_not_on_device`}async function Cm(e,t){let n;if(t instanceof Uint8Array)n=M.base64.fromBytes(t);else{let e=(0,ri.default)(t);if(e===void 0)throw new Y({error:`Failed to prepare the payload for signing`,code:`invalid_input`});n=M.base64.fromBytes(M.utf8.toBytes(e))}let{signature:r}=await e({message:n});return{signature:r}}var wm=`privy-request-expiry`,Tm=18e5;async function Em(e,t,{wallet_id:n,headers:r,...i}){let a=e.getCompiledPath(Mr,{params:{wallet_id:n}}),o=String(Date.now()+Tm),{signature:s}=await Cm(t,{version:1,url:a,method:Mr.method,headers:{"privy-app-id":e.app.appId,[wm]:o},body:{...i}});if(Date.now()>Number(o))throw new Y({error:`Wallet request expired before it could be sent. Please try again.`,code:`embedded_wallet_request_expired`});return await e.fetchPrivyRoute(Mr,{body:i,params:{wallet_id:n},headers:{"privy-authorization-signature":s,[wm]:o,...r??{}}})}function Dm(e){return ei(e)?km(e):Om(e)}function Om(e){return{from:e.from,to:e.to??void 0,nonce:Z(e.nonce),chain_id:Z(e.chainId),data:Nm(e.data),value:Z(e.value),type:Fm(e.type),gas_limit:Z(e.gasLimit??e.gas),gas_price:Z(e.gasPrice),max_fee_per_gas:Z(e.maxFeePerGas),max_priority_fee_per_gas:Z(e.maxPriorityFeePerGas)}}function km(e){return{type:118,from:e.from,chain_id:Z(e.chainId),nonce:Z(e.nonce),nonce_key:Z(e.nonceKey),gas_limit:Z(e.gasLimit),max_fee_per_gas:Z(e.maxFeePerGas),max_priority_fee_per_gas:Z(e.maxPriorityFeePerGas),fee_token:e.feeToken,valid_after:Z(e.validAfter),valid_before:Z(e.validBefore),fee_payer_signature:jm(e.feePayerSignature),access_list:Am(e.accessList),calls:e.calls.map(e=>({to:e.to,data:e.data,value:Z(e.value)}))}}function Am(e){if(e)return Array.isArray(e)?e.map(e=>`address`in e?{address:e.address,storage_keys:[...e.storageKeys]}:{address:e[0],storage_keys:[...e[1]]}):Object.entries(e).map(([e,t])=>({address:e,storage_keys:[...t]}))}function jm(e){if(!e)return;let t=Mm(e);if(t!==0&&t!==1)throw Error(`Tempo fee payer signatures require a valid yParity value`);return{r:e.r,s:e.s,y_parity:t}}function Mm(e){if(e.yParity!==void 0)return e.yParity;if(e.v!==void 0)return Number(e.v)-27}function Nm(e){if(e!==void 0)return typeof e==`string`?rm(e)?e:am(im(e)):am(Buffer.from(Uint8Array.from(e)))}var Pm=[0,1,2,4];function Fm(e){if(e==null)return;let t=Number(e);if(!Im(t))throw Error(`Invalid transaction type: expected ${Pm.join(`, `)} as a number or hex string, got "${e}".`);return t}function Im(e){return Pm.includes(e)}function Z(e){if(typeof e==`number`||typeof e==`bigint`)return`0x${BigInt(e).toString(16)}`;if(typeof e==`string`){if(rm(e))return e;throw Error(`Invalid quantity string: expected a hex-prefixed value (0x…), got "${e}". Use a number, bigint, or hex string instead.`)}}function Lm(e){return typeof e==`string`&&(e=JSON.parse(e)),{types:e.types,primary_type:String(e.primaryType),domain:e.domain,message:e.message}}async function Rm({context:e,account:t,rpcRequest:n}){switch(n.chainType){case`ethereum`:return zm({context:e,account:t,rpcRequest:n.request});case`solana`:return Bm({context:e,account:t,rpcRequest:n.request})}}async function zm({context:e,account:t,rpcRequest:n}){switch(n.method){case`personal_sign`:{let[r]=n.params,i=await Em(e,e.signRequest,{chain_type:`ethereum`,method:`personal_sign`,wallet_id:t.id,params:r.startsWith(`0x`)?{message:r.slice(2),encoding:`hex`}:{message:r,encoding:`utf-8`}});if(i.method!==`personal_sign`)throw Error(`Unable to sign message`);return{data:i.data.signature}}case`eth_signTransaction`:{let[r]=n.params,i=await Em(e,e.signRequest,{chain_type:`ethereum`,method:`eth_signTransaction`,wallet_id:t.id,params:{transaction:Dm(r)}});if(i.method!==`eth_signTransaction`)throw Error(`Unable to sign transaction`);return{data:i.data.signed_transaction}}case`eth_signTypedData_v4`:{let[,r]=n.params,i=await Em(e,e.signRequest,{chain_type:`ethereum`,method:n.method,wallet_id:t.id,params:{typed_data:Lm(r)}});if(i.method!==`eth_signTypedData_v4`)throw Error(`Unable to sign typed data`);return{data:i.data.signature}}case`eth_sign`:{let[,r]=n.params,i=await Em(e,e.signRequest,{chain_type:`ethereum`,method:`secp256k1_sign`,wallet_id:t.id,params:{hash:rm(r)?r:am(im(r))}});if(i.method!==`secp256k1_sign`)throw Error(`Unable to sign message`);return{data:i.data.signature}}case`secp256k1_sign`:{let[r]=n.params,i=await Em(e,e.signRequest,{chain_type:`ethereum`,method:`secp256k1_sign`,wallet_id:t.id,params:{hash:rm(r)?r:am(im(r))}});if(i.method!==`secp256k1_sign`)throw Error(`Unable to sign message`);return{data:i.data.signature}}case`csw_signUserOperation`:case`eth_sendTransaction`:case`eth_populateTransactionRequest`:throw Error(`This wallet does not support the method: ${n.method}`)}}async function Bm({context:e,account:t,rpcRequest:n}){switch(n.method){case`signMessage`:{let{message:r}=n.params,i=await Em(e,e.signRequest,{chain_type:`solana`,method:`signMessage`,wallet_id:t.id,params:{message:r,encoding:`base64`}});if(i.method!==`signMessage`)throw Error(`Unable to sign message`);return{data:i.data.signature}}case`signTransaction`:{let{transaction:r}=n.params,i=await Em(e,e.signRequest,{chain_type:`solana`,method:`signTransaction`,wallet_id:t.id,params:{transaction:r,encoding:`base64`}});if(i.method!==`signTransaction`)throw Error(`Unable to sign transaction`);return{data:i.data.signed_transaction}}}}var Vm=(e,t,n,r)=>{let i=Number(e),a=t.find(e=>e.id===i);if(!a)throw new vm(`Unsupported chainId ${e}`,4901);let o=Um(a,n,r.appId);if(i===Cc.id||i===wc.id){let e=i===Cc.id?Cc:wc;return c({transport:Ce(o),chain:e})}return c({transport:Ce(o),chain:a})};function Hm(e){return e===Cc.id||e===wc.id}var Um=(e,t,n)=>{let r=e.id,i=Number(e.id),a;if(e.rpcUrls.privyWalletOverride&&e.rpcUrls.privyWalletOverride.http[0])a=e.rpcUrls.privyWalletOverride.http[0];else if(t.rpcUrls&&t.rpcUrls[i])a=t.rpcUrls[i];else if(e.rpcUrls.privy?.http[0]){let t=new URL(e.rpcUrls.privy.http[0]);t.searchParams.append(`privyAppId`,n),a=t.toString()}else a=e.rpcUrls.public?.http[0]?e.rpcUrls.public.http[0]:e.rpcUrls.default?.http[0];if(!a)throw new vm(`No RPC url found for ${r}`);return a};function Wm({currentRecoveryMethod:e,upgradeToRecoveryMethod:t}){switch(e){case`privy`:case`user-passcode`:case`recovery-encryption-key`:return!0;case`icloud`:case`google-drive`:if(e===t)throw Error(`Cannot upgrade to the existing cloud platform`);return!0;default:throw Error(`Unknown recovery method`)}}var Gm=new Set([`eth_sign`,`personal_sign`,`eth_signTypedData_v4`,`csw_signUserOperation`,`secp256k1_sign`]),Km=class extends Jr{_walletProxy;_privyInternal;_account;_entropyId;_entropyIdVerifier;_chainId;_chains;_onNeedsRecovery;_client;_appApi;_dataSuffixPlugin;constructor({walletProxy:e,privyInternal:t,account:n,entropyId:r,entropyIdVerifier:i,chains:a,onNeedsRecovery:o,chainId:s=a[0].id,appApi:c,dataSuffixPlugin:l}){super(),this._walletProxy=e,this._privyInternal=t,this._account=n,this._entropyId=r,this._entropyIdVerifier=i,this._chainId=s,this._chains=a,this._onNeedsRecovery=o,this._client=Vm(s,a,{rpcUrls:[]},{appId:c.appId}),this._appApi=c,this._dataSuffixPlugin=l}async request(e){if(Gm.has(e.method))return this.handleIFrameRpc(e);switch(e.method){case`eth_accounts`:case`eth_requestAccounts`:return this._account.address?[this._account.address]:[];case`eth_chainId`:return`0x${this._chainId.toString(16)}`;case`wallet_switchEthereumChain`:return this.handleSwitchEthereumChain(e);case`eth_estimateGas`:return this.handleEstimateGas(e);case`eth_signTransaction`:{let t=this.applyDataSuffix(e.params?.[0]);return this.handleSignTransaction(t)}case`eth_sendTransaction`:{let t=this.applyDataSuffix(e.params?.[0]);return this.handleSendTransaction(t)}case`eth_populateTransactionRequest`:{let t=e.params?.[0];return this.handlePopulateTransaction(t)}default:return this.handleJsonRpc(e)}}applyDataSuffix(e){if(!this._dataSuffixPlugin||ei(e))return e;let t=typeof e.data==`string`?e.data:`0x`;return{...e,data:this._dataSuffixPlugin.appendDataSuffix({data:t})}}ensureChainId(e){let t={chainId:this._chainId,...e};return this.internalSwitchEthereumChain(t.chainId),t}internalSwitchEthereumChain(e){!e||Number(e)===this._chainId||(this._chainId=Number(e),this._client=Vm(this._chainId,this._chains,{rpcUrls:[]},{appId:this._privyInternal.appId}),this.emit(`chainChanged`,e))}async handlePopulateTransaction(e){let t=this.ensureChainId(e);if(ei(t)){let e=ti(t),n=ni(await this.requireTempoClient().prepareTransactionRequest({account:t.from??this._account.address,...e}),t.gasLimit);return{...t,...n,type:118}}let n=Zr(t),{gas:r,...i}=await this._client.prepareTransactionRequest({account:t.from??this._account.address,...n});return{...i,gasLimit:r,type:Xr[i.type],authorizationList:t.authorizationList}}async handleSignTransaction(e){let t={...e};for(let e of Object.keys(t)){let n=t[e];typeof n==`bigint`&&(t[e]=Te(n))}return ei(t)&&(t.calls=t.calls.map(e=>({...e,value:typeof e.value==`bigint`?Te(e.value):e.value}))),await this.handleIFrameRpc({method:`eth_signTransaction`,params:[t]})}async handleSendTransaction(e){let t=await this.handlePopulateTransaction(e),n=await this.handleSignTransaction(t);return await this.handleJsonRpc({method:`eth_sendRawTransaction`,params:[n]})}async handleEstimateGas(e){if(!e.params||!Array.isArray(e.params))throw Error(`Invalid params for eth_estimateGas`);let t=e.params?.[0],n=this.ensureChainId(t);if(ei(n)){let e=ti(n);return await this.requireTempoClient().estimateGas({account:n.from??this._account.address,...e})}let r=Zr(n);return await this._client.estimateGas({account:n.from??this._account.address,...r})}handleSwitchEthereumChain(e){if(!e.params||!Array.isArray(e.params))throw new ym(`Invalid params for ${e.method}`,4200);let t;if(typeof e.params[0]==`string`)t=e.params[0];else if(`chainId`in e.params[0]&&typeof e.params[0].chainId==`string`)t=e.params[0].chainId;else throw new ym(`Invalid params for ${e.method}`,4200);this.internalSwitchEthereumChain(t)}async handleIFrameRpc(e){try{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw Error(`Missing privy token. User must be logged in`);let n=this._account;if(X(n)){let{data:r}=await Rm({context:{app:this._appApi,fetchPrivyRoute:(...e)=>this._privyInternal.fetch(...e),getCompiledPath:(...e)=>this._privyInternal.getPath(...e),signRequest:({message:e})=>this._walletProxy.signWithUserSigner({accessToken:t,message:e})},account:n,rpcRequest:{chainType:`ethereum`,request:e}});return r}try{await this._walletProxy.connect({entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,accessToken:t})}catch(e){let n=Sm(e);if(n&&this._account.recovery_method===`privy`)await this._walletProxy.recover({entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,accessToken:t});else if(n&&this._onNeedsRecovery){let e;await new Promise(async(t,n)=>{e=setTimeout(()=>n(new Y({code:`embedded_wallet_recovery_error`,error:`User-owned recovery timed out`})),12e4),await this._onNeedsRecovery?.({recoveryMethod:this._account.recovery_method,onRecovered:()=>t(!0)})}).finally(()=>clearTimeout(e))}else throw e}return(await this._walletProxy.rpcWallet({accessToken:t,request:e,entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,hdWalletIndex:this._account.wallet_index,chainType:`ethereum`})).response.data}catch(t){console.error(t);let n=t instanceof Error?t.message:`Unable to make wallet request`;throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_rpc_failed`,{method:e.method,address:this._account.address,error:n}),new Y({code:`embedded_wallet_request_error`,error:n})}}async handleJsonRpc(e){return this._client.request(e)}requireTempoClient(){if(!Hm(this._chainId))throw new ym(`Cannot send a Tempo (type 118) transaction on chain ${this._chainId}`,4901);return this._client}toJSON(){return`PrivyEIP1193Provider { address: '${this._account.address}', chainId: ${this._chainId}, request: [Function] }`}};function qm(e){return`version`in e}function Jm(e,t){let n=(qm(e)?e.message:e.compileMessage()).staticAccountKeys.find(e=>e.toBase58()===t);if(!n)throw Error(`Transaction does not contain public key ${t}`);return n}function Ym({transaction:e,address:t}){let{messageBytes:n,signerAddresses:r}=Zm(e),i=r.indexOf(t);if(i===-1)throw Error(`Transaction does not require a signature from ${t}`);return{messageBytes:new Uint8Array(n),signerIndex:i}}function Xm({transaction:e,signerIndex:t,signature:n}){if(n.length!==64)throw Error(`Solana signatures must be 64 bytes`);let{signaturesOffset:r,signerAddresses:i}=Zm(e);if(!Number.isInteger(t)||t<0||t>=i.length)throw Error(`Invalid signer index ${t}`);let a=new Uint8Array(e);return a.set(n,r+t*64),a}function Zm(e){if(e.length===0)throw Error(`Cannot decode an empty Solana transaction`);return e[0]===129?Qm(e):$m(e)}function Qm(e){let t=eh(e,1),n=e.length-t*64;if(n<=41)throw Error(`Malformed V1 Solana transaction`);let r=e.subarray(0,n);if(eh(r,41)<t)throw Error(`Malformed V1 Solana transaction`);return{messageBytes:r,signaturesOffset:n,signerAddresses:nh(r,42,t)}}function $m(e){let[t,n]=th(e,0),r=n+t*64,i=eh(e,r),a=r;if(i&128){let e=i&-129;if(e!==0)throw Error(`Unsupported Solana transaction version ${e}`);a+=1}let o=eh(e,a);if(o!==t)throw Error(`Solana transaction signature count does not match its message header`);let[s,c]=th(e,a+3);if(s<o)throw Error(`Malformed Solana transaction`);return{messageBytes:e.subarray(r),signaturesOffset:n,signerAddresses:nh(e,c,o)}}function eh(e,t){let n=e[t];if(n===void 0)throw Error(`Malformed Solana transaction`);return n}function th(e,t){let n=0;for(let r=0;r<3;r++){let i=eh(e,t+r);if(n|=(i&127)<<7*r,!(i&128))return[n,t+r+1]}throw Error(`Malformed Solana transaction`)}function nh(e,t,n){if(t+n*32>e.length)throw Error(`Malformed Solana transaction`);return Array.from({length:n},(n,r)=>st.encode(e.subarray(t+r*32,t+(r+1)*32)))}var rh=class{_proxy;_privyInternal;_app;_entropyId;_entropyIdVerifier;_account;_onNeedsRecovery;constructor({proxy:e,privyInternal:t,account:n,entropyId:r,entropyIdVerifier:i,onNeedsRecovery:a,app:o}){this._proxy=e,this._privyInternal=t,this._account=n,this._entropyId=r,this._entropyIdVerifier=i,this._onNeedsRecovery=a,this._app=o}async request(e){if(!await this._privyInternal.getAccessTokenInternal())throw new Y({error:`Missing access token`,code:`attempted_rpc_call_before_logged_in`});switch(e.method){case`signAndSendTransaction`:return await this.handleSignAndSendTransaction(e);case`signTransaction`:return await this.handleSignTransaction(e);default:return await this.handleIFrameRpc(e)}}get _publicKey(){return this._account.address}async connectAndRecover(e){if(this._account.recovery_method!==`privy-v2`)try{await this._proxy.connect({entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,accessToken:e})}catch(t){let n=Sm(t);if(n&&this._account.recovery_method===`privy`)await this._proxy.recover({entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,accessToken:e});else if(n&&this._onNeedsRecovery){let e;await new Promise(async(t,n)=>{e=setTimeout(()=>n(new Y({code:`embedded_wallet_recovery_error`,error:`User-owned recovery timed out`})),12e4),await this._onNeedsRecovery?.({recoveryMethod:this._account.recovery_method,onRecovered:()=>t(!0)})}).finally(()=>clearTimeout(e))}else throw t}}walletRpcContext(e){return{app:this._app,fetchPrivyRoute:(...e)=>this._privyInternal.fetch(...e),getCompiledPath:(...e)=>this._privyInternal.getPath(...e),signRequest:({message:t})=>this._proxy.signWithUserSigner({accessToken:e,message:t})}}async signMessageRpc(e,t){let n=this._account;if(X(n)){let{data:r}=await Rm({context:this.walletRpcContext(t),account:n,rpcRequest:{chainType:`solana`,request:e}});return{signature:r}}return(await this._proxy.rpcWallet({accessToken:t,request:e,chainType:`solana`,hdWalletIndex:this._account.wallet_index,entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier})).response.data}async signSerializedTransaction(e,t){let n=this._account;if(X(n)){let{data:r}=await Rm({context:this.walletRpcContext(t),account:n,rpcRequest:{chainType:`solana`,request:{method:`signTransaction`,params:{transaction:M.base64.fromBytes(e)}}}});return new Uint8Array(M.base64.toBytes(r))}let{messageBytes:r,signerIndex:i}=Ym({transaction:e,address:n.address}),{signature:a}=await this.signMessageRpc({method:`signMessage`,params:{message:M.base64.fromBytes(r)}},t);return Xm({transaction:e,signerIndex:i,signature:M.base64.toBytes(a)})}async signTransactionObject(e,t){if(qm(e)&&e.version===1)throw Error(`V1 transactions cannot be serialized by web3.js. Pass the serialized transaction as a Uint8Array instead.`);let n=Jm(e,this._account.address),r=qm(e)?Buffer.from(e.message.serialize()):e.serializeMessage(),{signature:i}=await this.signMessageRpc({method:`signMessage`,params:{message:r.toString(`base64`)}},t);e.addSignature(n,Buffer.from(i,`base64`))}async handleIFrameRpc(e){try{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw Error(`Missing privy token. User must be logged in`);return await this.connectAndRecover(t),await this.signMessageRpc(e,t)}catch(t){console.error(t);let n=t instanceof Error?t.message:`Unable to make wallet request`;throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_rpc_failed`,{method:e.method,address:this._account.address,error:n}),new Y({code:`embedded_wallet_request_error`,error:n})}}async handleSignAndSendTransaction(e){try{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw Error(`Missing privy token. User must be logged in`);await this.connectAndRecover(t);let{transaction:n,connection:r,options:i}=e.params,a;return n instanceof Uint8Array?a=await this.signSerializedTransaction(n,t):(await this.signTransactionObject(n,t),a=n.serialize()),{signature:await r.sendRawTransaction(a,i)}}catch(t){console.error(t);let n=t instanceof Error?t.message:`Unable to make wallet request`;throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_rpc_failed`,{method:e.method,address:this._account.address,error:n}),new Y({code:`embedded_wallet_request_error`,error:n})}}async handleSignTransaction(e){try{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw Error(`Missing privy token. User must be logged in`);await this.connectAndRecover(t);let{transaction:n}=e.params;return n instanceof Uint8Array?{signedTransaction:await this.signSerializedTransaction(n,t)}:(await this.signTransactionObject(n,t),{signedTransaction:n})}catch(t){console.error(t);let n=t instanceof Error?t.message:`Unable to make wallet request`;throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_rpc_failed`,{method:e.method,address:this._account.wallet_index,error:n}),new Y({code:`embedded_wallet_request_error`,error:n})}}toJSON(){return`PrivyEmbeddedSolanaProvider { address: '${this._account.address}', request: [Function] }`}},ih=class{_proxy;_privyInternal;_account;_entropyId;_entropyIdVerifier;constructor({proxy:e,privyInternal:t,account:n,entropyId:r,entropyIdVerifier:i}){this._proxy=e,this._privyInternal=t,this._account=n,this._entropyId=r,this._entropyIdVerifier=i}async sign({message:e}){return await this.request({method:`sign`,params:{message:new TextDecoder(`utf8`).decode(e)}})}async signTransaction({psbt:e}){return await this.request({method:`signTransaction`,params:{psbt:e}})}async request(e){if(X(this._account))throw new Y({code:`unsupported_wallet_type`,error:`Bitcoin wallet providers are only supported for on-device execution and this app uses TEE execution. Use the useSignRawHash hook from @privy-io/expo/extended-chains to sign over a hash with this wallet. Learn more at https://docs.privy.io/recipes/tee-wallet-migration-guide`});if(!await this._privyInternal.getAccessTokenInternal())throw new Y({error:`Missing access token`,code:`attempted_rpc_call_before_logged_in`});return this.handleIFrameRpc(e)}async handleIFrameRpc(e){try{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw Error(`Missing access token. User must be authenticated.`);return(await this._proxy.rpcWallet({accessToken:t,request:e,entropyId:this._entropyId,entropyIdVerifier:this._entropyIdVerifier,hdWalletIndex:this._account.wallet_index,chainType:this._account.chain_type})).response.data}catch(t){console.error(t);let n=t instanceof Error?t.message:`Unable to make wallet request`;throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_rpc_failed`,{method:e.method,address:this._account.address,error:n}),new Y({code:`embedded_wallet_request_error`,error:n})}}toJSON(){return`PrivyEmbeddedBitcoinProvider { address: '${this._account.address}', request: [Function] }`}},ah=class{callbacks={};enqueue(e,t){this.callbacks[e]=t}flush(e){let t=Object.values(this.callbacks);this.callbacks={};for(let{reject:n}of t)n(e)}dequeue(e,t){let n=this.callbacks[t];if(!n)return console.warn(`[Privy] No callback found for "${e}" (id: ${t})`),null;switch(delete this.callbacks[t],e){case`privy:iframe:ready`:return n;case`privy:wallets:create`:return n;case`privy:user-signer:sign`:return n;case`privy:wallets:add`:return n;case`privy:wallets:set-recovery`:return n;case`privy:wallets:connect`:return n;case`privy:wallets:recover`:return n;case`privy:wallets:rpc`:return n;case`privy:wallets:import`:return n;case`privy:wallet:create`:return n;case`privy:wallet:connect`:return n;case`privy:wallet:recover`:return n;case`privy:wallet:rpc`:return n;case`privy:solana-wallet:create`:return n;case`privy:solana-wallet:create-additional`:return n;case`privy:solana-wallet:connect`:return n;case`privy:solana-wallet:recover`:return n;case`privy:solana-wallet:rpc`:return n;case`privy:delegated-actions:consent`:return n;case`privy:mfa:verify`:return n;case`privy:mfa:init-enrollment`:return n;case`privy:mfa:submit-enrollment`:return n;case`privy:mfa:unenroll`:return n;case`privy:mfa:clear`:return n;case`privy:auth:unlink-passkey`:return n;default:throw Error(`invalid wallet event type ${e}`)}}};async function oh(e,t,n,r,i=!1,a,o){let s=i,c=async a=>s?(a===+!i?r():n.current?.reject(new _m(`missing_or_invalid_mfa`,`MFA verification failed, retry.`)),await e(await new Promise((e,r)=>{t.current={resolve:e,reject:r},setTimeout(()=>{let e=new _m(`mfa_timeout`,`Timed out waiting for MFA code`);n.current?.reject(e),r(e)},o)}))):await e(),l=null;for(let e=0;e<a;e++)try{l=await c(e),n.current?.resolve(void 0);break}catch(e){if(e.type===`missing_or_invalid_mfa`)s=!0;else throw n.current?.resolve(void 0),e}if(l===null){let e=new _m(`mfa_verification_max_attempts_reached`,`Max MFA verification attempts reached`);throw n.current?.reject(e),e}return l}function sh(e){return e.error!==void 0}var ch=(function(e){return()=>`id-${e++}`})(0),lh=(e,t)=>typeof t==`bigint`?t.toString():t,uh=(e,t)=>`${e}${JSON.stringify(t,lh)}`,dh=async(e,{ms:t,msg:n})=>{let r,i=new Promise((e,i)=>{r=setTimeout(()=>{i(Error(n))},t??15e3)});try{return await Promise.race([e,i])}finally{r!==void 0&&clearTimeout(r)}},fh=new ah,ph=class{ready;_waitForReadyPromise=null;cache;_embeddedWalletMessagePoster;mfa;constructor(e,t){this.ready=!1,this.cache=new Map,this._embeddedWalletMessagePoster=e,this.mfa=t}invokeWithMfa(e,t){return dh(oh(n=>dh(this.waitForReady().then(()=>e(n)),{msg:t.timeoutMsg,ms:t.timeoutMs}),this.mfa.rootPromise,this.mfa.submitPromise,()=>this.mfa.emit(`mfaRequired`),t.mfaAlwaysRequired??!1,4,3e5),{msg:`Operation reached timeout: MFA verification`,ms:126e4})}reload(){return this.ready=!1,this._waitForReadyPromise=null,fh.flush(Error(`Embedded wallet WebView was reloaded`)),this.cache.clear(),this._embeddedWalletMessagePoster.reload()}onBackground(){this.ready=!1}ping(e=15e3){return dh(this.invoke(`privy:iframe:ready`,{}),{msg:`Ping reached timeout`,ms:e})}create(e){return dh(this.waitForReady().then(()=>this.invoke(`privy:wallet:create`,e)),{msg:`Operation reached timeout: create`})}rpc(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallet:rpc`,{...t,...e}),{timeoutMsg:`Operation reached timeout: rpc`})}createSolana(e){return this.invokeWithMfa(t=>this.invoke(`privy:solana-wallet:create`,{...t,...e}),{timeoutMsg:`Operation reached timeout: create`,timeoutMs:6e4})}createAdditionalSolana(e){return dh(this.waitForReady().then(()=>this.invoke(`privy:solana-wallet:create-additional`,e)),{msg:`Operation reached timeout: create`})}solanaRpc(e){return this.invokeWithMfa(t=>this.invoke(`privy:solana-wallet:rpc`,{...t,...e}),{timeoutMsg:`Operation reached timeout: solana-rpc`})}delegateWallets(e){return this.invokeWithMfa(t=>this.invoke(`privy:delegated-actions:consent`,{...t,...e}),{timeoutMsg:`Operation reached timeout: delegated-actions:consent`})}verifyMfa(e){return this.invokeWithMfa(t=>this.invoke(`privy:mfa:verify`,{...t,...e}),{timeoutMsg:`Operation reached timeout: mfa:verify`,mfaAlwaysRequired:!0})}initEnrollMfa(e){return this.invokeWithMfa(t=>this.invoke(`privy:mfa:init-enrollment`,{...t,...e}),{timeoutMsg:`Operation reached timeout: mfa:init-enrollment`})}submitEnrollMfa(e){return e.method===`passkey`?this.invokeWithMfa(t=>this.invoke(`privy:mfa:submit-enrollment`,{...t,...e}),{timeoutMsg:`Operation reached timeout: mfa:submit-enrollment`}):dh(this.waitForReady().then(()=>this.invoke(`privy:mfa:submit-enrollment`,e)),{msg:`Operation reached timeout: mfa:submit-enrollment`})}unenrollMfa(e){return this.invokeWithMfa(t=>this.invoke(`privy:mfa:unenroll`,{...t,...e}),{timeoutMsg:`Operation reached timeout: mfa:unenroll`,mfaAlwaysRequired:!0})}unlinkPasskey(e){return this.invokeWithMfa(t=>this.invoke(`privy:auth:unlink-passkey`,{...t,...e}),{timeoutMsg:`Operation reached timeout: auth:unlink-passkey`,mfaAlwaysRequired:!0})}clearMfa(e){return dh(this.waitForReady().then(()=>this.invoke(`privy:mfa:clear`,e)),{msg:`Operation reached timeout: mfa:clear`})}createWallet(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallets:create`,{...t,...e}),{timeoutMsg:`Operation reached timeout: create`,timeoutMs:6e4})}signWithUserSigner(e){return this.invokeWithMfa(t=>this.invoke(`privy:user-signer:sign`,{...t,...e}),{timeoutMsg:`Operation reached timeout: user-signer:sign`})}addWallet(e){return dh(this.waitForReady().then(()=>this.invoke(`privy:wallets:add`,e)),{msg:`Operation reached timeout: wallets:add`})}importWallet(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallets:import`,{...t,...e}),{timeoutMsg:`Operation reached timeout: wallets:import`,timeoutMs:6e4})}setRecovery(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallets:set-recovery`,{...t,...e}),{timeoutMsg:`Operation reached timeout: wallets:set-recovery`,timeoutMs:6e4})}connect(e){return dh(this.waitForReady().then(()=>this.invoke(`privy:wallets:connect`,e)),{msg:`Operation reached timeout: wallets:connect`})}recover(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallets:recover`,{...t,...e}),{timeoutMsg:`Operation reached timeout: wallets:recover`,timeoutMs:6e4})}rpcWallet(e){return this.invokeWithMfa(t=>this.invoke(`privy:wallets:rpc`,{...t,...e}),{timeoutMsg:`Operation reached timeout: wallets:rpc`})}handleEmbeddedWalletMessages(e){if(!e.event.startsWith(`privy:`)){console.warn(`Unsupported event type: ${e.event}`);return}let t=fh.dequeue(e.event,e.id);if(t)return sh(e)?t.reject(new _m(e.error.type,e.error.message)):t.resolve(e.data)}waitForReady(){return this.ready?Promise.resolve():(this._waitForReadyPromise||=new Promise((e,t)=>{(async()=>{for(let t=0;t<100&&!this.ready;t++)this.invoke(`privy:iframe:ready`,{}).then(()=>{this.ready=!0,this._waitForReadyPromise=null,e()}).catch(()=>{}),await new Promise(e=>setTimeout(e,150));this.ready||(this._waitForReadyPromise=null,t(Error(`Embedded wallet WebView failed to become ready`)))})()}),this._waitForReadyPromise)}invoke(e,t){let n=uh(e,t);if(e===`privy:wallet:create`||e===`privy:solana-wallet:create`){let e=this.cache.get(n);if(e)return e}let r=new Promise((n,r)=>{let i=ch();fh.enqueue(i,{resolve:n,reject:r}),this._embeddedWalletMessagePoster.postMessage(JSON.stringify({id:i,event:e,data:t}),`*`)}).finally(()=>{this.cache.delete(n)});return this.cache.set(n,r),r}};async function mh(e,{request:t,headers:n}){return await e.fetchPrivyRoute(Ar,{body:t,headers:n})}async function hh({context:e,chainType:t,idempotencyKey:n}){return{wallet:await mh(e,{request:{chain_type:t,owner_id:void 0},headers:n?{"privy-idempotency-key":n}:void 0})}}var gh=class{_privyInternal;_proxy;_chains=Array.from(xt);_mfa;_mfaPromises;_appApi;_dataSuffixPlugin;constructor(e,t,n,r,i,a,o){if(this._privyInternal=e,t&&(this._proxy=new ph(t,i),r.setProxy(this._proxy)),n){let e=mt(n);this._chains=e}this._mfa=r,this._mfaPromises=i,this._appApi=a,this._dataSuffixPlugin=o}setMessagePoster(e){this._proxy=new ph(e,this._mfaPromises),this._mfa.setProxy(this._proxy)}async signWithUserSigner(e){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw new Y({error:`User must be logged in to sign a message with the user signer`,code:`user_signer_sign_error`});let{signature:n}=await this._proxy.signWithUserSigner({accessToken:t,message:e.message});return{signature:n}}async add(e){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);if(this._privyInternal.config?.embedded_wallet_config.mode===`user-controlled-server-wallets-only`)await hh({context:{app:this._appApi,fetchPrivyRoute:(...e)=>this._privyInternal.fetch(...e),getCompiledPath:(...e)=>this._privyInternal.getPath(...e)},chainType:e.chainType});else{if(!e.entropyId)throw new Y({error:`Missing entropy details for wallet creation`,code:`embedded_wallet_creation_error`});let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw new Y({error:`User must be logged in to create an embedded wallet`,code:`embedded_wallet_creation_error`});await this._proxy.addWallet({accessToken:t,...e})}let{user:t}=await this._privyInternal.refreshSession();return{user:t}}async getBitcoinProvider({wallet:e,entropyId:t,entropyIdVerifier:n,recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:a}){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);if(!await this._privyInternal.getAccessTokenInternal())throw Error(`User must be logged in to create an embedded wallet`);return X(e)||await this._load({entropyId:t,entropyIdVerifier:n,wallet:e,recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:a}),new ih({account:e,privyInternal:this._privyInternal,proxy:this._proxy,entropyId:t,entropyIdVerifier:n})}async create({password:e,recoveryMethod:t,recoveryToken:n,recoveryKey:r,recoverySecretOverride:i,iCloudRecordNameOverride:a,solanaAccount:o,skipCallbacks:s,idempotencyKey:c}){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);if(this._privyInternal.config?.embedded_wallet_config.mode===`user-controlled-server-wallets-only`){if(t&&!t.startsWith(`privy`))throw new Y({error:`User-controlled server wallets do not support custom recovery methods`,code:`embedded_wallet_creation_error`});await hh({context:{app:this._appApi,fetchPrivyRoute:(...e)=>this._privyInternal.fetch(...e),getCompiledPath:(...e)=>this._privyInternal.getPath(...e)},chainType:`ethereum`,idempotencyKey:c})}else{let s;if(s=t||(e?`user-passcode`:`privy`),e&&typeof e!=`string`)throw Error(`Invalid recovery password, must be a string`);if(s===`privy`&&this._privyInternal.config?.embedded_wallet_config.require_user_password_on_create)throw Error(`Password not provided yet is required by App configuration`);let c=await this._privyInternal.getAccessTokenInternal();if(!c)throw Error(`User must be logged in to create an embedded wallet`);let{address:l}=await this._proxy.create({accessToken:c,recoveryMethod:s,recoveryKey:r,recoveryPassword:e,recoveryAccessToken:n,recoverySecretOverride:i,iCloudRecordNameOverride:a,solanaAddress:o?.address});if(!l)throw Error(`Failed to create wallet`)}return await this._privyInternal.refreshSession(s)}async importWallet({privateKey:e,chainType:t,additionalSigners:n}){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);let r=this._privyInternal.config?.embedded_wallet_config.mode===`user-controlled-server-wallets-only`?`tee`:`on-device`;if(n&&r===`on-device`)throw new Y({error:`Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide`,code:`invalid_input`});let i=await this._privyInternal.getAccessTokenInternal();if(!i)throw new Y({error:`User must be logged in to import an embedded wallet`,code:`embedded_wallet_before_logged_in`});let{address:a}=await this._proxy.importWallet({accessToken:i,privateKey:e,chainType:t,mode:r,additionalSigners:n});if(!a)throw new Y({error:`Failed to import wallet`,code:`embedded_wallet_creation_error`});let{session_update_action:o,...s}=await this._privyInternal.refreshSession();return{address:a,user:s}}async createSolana(e){if(!this._proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_creation_error`});if(this._privyInternal.config?.embedded_wallet_config.mode===`user-controlled-server-wallets-only`)await hh({context:{app:this._appApi,fetchPrivyRoute:(...e)=>this._privyInternal.fetch(...e),getCompiledPath:(...e)=>this._privyInternal.getPath(...e)},chainType:`solana`,idempotencyKey:e?.idempotencyKey});else{let t=await this._privyInternal.getAccessTokenInternal();if(!t)throw new Y({error:`User must be logged in to create an embedded wallet`,code:`embedded_wallet_creation_error`});e?.ethereumAccount&&await this.getProvider(e.ethereumAccount);let{publicKey:n}=await this._proxy.createSolana({accessToken:t,ethereumAddress:e?.ethereumAccount?.address});if(!n)throw new Y({error:`Failed to create wallet`,code:`embedded_wallet_creation_error`})}return await this._privyInternal.refreshSession()}async delegateWallets({delegatedWallets:e,rootWallet:t}){if(!this._proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_creation_error`});let n=await this._privyInternal.getAccessTokenInternal();if(!n)throw new Y({error:`User must be logged in to create an embedded wallet`,code:`embedded_wallet_creation_error`});await this._proxy.delegateWallets({accessToken:n,delegatedWallets:e,rootWallet:t})}async getProvider(e,t,n,r,i){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);return X(e)||await this._load({wallet:e,entropyId:e.address,entropyIdVerifier:`ethereum-address-verifier`,recoveryPassword:t,recoveryKey:i,recoveryAccessToken:n,recoverySecretOverride:r}),new Km({account:e,entropyId:e.address,entropyIdVerifier:`ethereum-address-verifier`,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy,appApi:this._appApi,dataSuffixPlugin:this._dataSuffixPlugin})}async getEthereumProvider({wallet:e,entropyId:t,entropyIdVerifier:n,recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:a,recoveryKey:o,onNeedsRecovery:s}){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);if(!await this._privyInternal.getAccessTokenInternal())throw Error(`User must be logged in to create an embedded wallet`);return X(e)||(!s||r||i||a||o)&&await this._load({entropyId:t,entropyIdVerifier:n,wallet:e,recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:a,recoveryKey:o}),new Km({account:e,entropyId:t,entropyIdVerifier:`ethereum-address-verifier`,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy,onNeedsRecovery:s,appApi:this._appApi,dataSuffixPlugin:this._dataSuffixPlugin})}async getSolanaProvider(e,t,n,r,i,a,o){if(!this._proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});return X(e)||(!o||r||i||a)&&await this._load({wallet:e,entropyId:t,entropyIdVerifier:n,recoveryPassword:r,recoveryAccessToken:i,recoverySecretOverride:a}),new rh({account:e,privyInternal:this._privyInternal,proxy:this._proxy,entropyId:t,entropyIdVerifier:n,onNeedsRecovery:o,app:this._appApi})}async setRecovery(e){let{wallet:t,...n}=e;if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);if(X(t))throw new Y({error:`This wallet does not support setting recovery methods`,code:`unsupported_recovery_method`});Wm({currentRecoveryMethod:t.recovery_method,upgradeToRecoveryMethod:n.recoveryMethod===`icloud-native`?`icloud`:n.recoveryMethod}),await this._load(t.chain_type===`solana`?{wallet:t,entropyId:t.address,entropyIdVerifier:`solana-address-verifier`}:{wallet:t,entropyId:t.address,entropyIdVerifier:`ethereum-address-verifier`});let r=await this._privyInternal.getAccessTokenInternal();if(!r)throw Error(`User must be logged in to interact with embedded wallets`);let i=t.recovery_method;this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_set_recovery_started`,{address:t.address,target_recovery_method:n.recoveryMethod,existing_recovery_method:i});try{let e;if(n.recoveryMethod===`user-passcode`)e={recoveryMethod:`user-passcode`,recoveryPassword:n.password};else if(n.recoveryMethod===`google-drive`)e={recoveryMethod:`google-drive`,recoveryAccessToken:n.recoveryAccessToken};else if(n.recoveryMethod===`icloud`)e={recoveryMethod:`icloud`,recoveryAccessToken:n.recoveryAccessToken};else if(n.recoveryMethod===`icloud-native`)e={recoveryMethod:`icloud-native`,iCloudRecordNameOverride:n.iCloudRecordNameOverride,recoverySecretOverride:n.recoverySecretOverride};else if(n.recoveryMethod===`recovery-encryption-key`)e={recoveryMethod:`recovery-encryption-key`,recoveryKey:n.recoveryKey};else if(n.recoveryMethod===`privy`)e={recoveryMethod:`privy`};else throw Error(`Unknown recovery method: ${n.recoveryMethod}`);await this._proxy.setRecovery({accessToken:r,entropyId:t.address,entropyIdVerifier:t.chain_type===`solana`?`solana-address-verifier`:`ethereum-address-verifier`,...e}),this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_set_recovery_completed`,{address:t.address,target_recovery_method:n.recoveryMethod,existing_recovery_method:i});let{user:a}=await this._privyInternal.refreshSession();return{user:a,provider:t.chain_type===`ethereum`?new Km({account:t,entropyId:t.address,entropyIdVerifier:`ethereum-address-verifier`,privyInternal:this._privyInternal,chains:this._chains,walletProxy:this._proxy,appApi:this._appApi,dataSuffixPlugin:this._dataSuffixPlugin}):null}}catch(e){throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_set_recovery_failed`,{address:t.address,recovery_method:t.recovery_method,error:e instanceof Error?e.message:`Unable to recover wallet`}),e}}getURL(){let e=new URL(`${this._privyInternal.baseUrl}/apps/${this._privyInternal.appId}/embedded-wallets`);return this._privyInternal.caid&&e.searchParams.append(`caid`,this._privyInternal.caid),this._privyInternal.appClientId&&e.searchParams.append(`client_id`,this._privyInternal.appClientId),e.href}get chains(){return this._chains}onMessage(e){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);return this._proxy.handleEmbeddedWalletMessages(e)}reload(){if(!this._proxy){this._privyInternal.logger.warn(`Attempted to reload proxy before initialized`);return}this._proxy.reload()}onBackground(){this._proxy?.onBackground()}async ping(e){try{if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);return await this._proxy.ping(e),!0}catch(e){return this._privyInternal.logger.debug(e),!1}}async _load({entropyId:e,entropyIdVerifier:t,wallet:n,recoveryPassword:r,recoveryKey:i,recoveryAccessToken:a,recoverySecretOverride:o}){if(!this._proxy)throw Error(`Embedded wallet proxy not initialized`);let s=await this._privyInternal.getAccessTokenInternal();if(!s)throw Error(`User must be logged in to interact with embedded wallets`);try{return await this._proxy.connect({accessToken:s,entropyId:e,entropyIdVerifier:t}),e}catch(c){if(Sm(c)){try{if(n.recovery_method===`privy`){this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_started`,{address:n.address,recovery_method:n.recovery_method});let r=await this._proxy.recover({accessToken:s,entropyId:e,entropyIdVerifier:t});return this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_completed`,{address:n.address,recovery_method:n.recovery_method}),r.entropyId}if(n.recovery_method===`user-passcode`&&r){this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_started`,{address:n.address,recovery_method:n.recovery_method});let i=await this._proxy.recover({accessToken:s,recoveryPassword:r,entropyId:e,entropyIdVerifier:t});return this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_completed`,{address:n.address,recovery_method:n.recovery_method}),i.entropyId}if([`google-drive`,`icloud`].includes(n.recovery_method)&&a){this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_started`,{address:n.address,recovery_method:n.recovery_method});let r=await this._proxy.recover({accessToken:s,recoveryAccessToken:a,entropyId:e,entropyIdVerifier:t});return this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_completed`,{address:n.address,recovery_method:n.recovery_method}),r.entropyId}if(n.recovery_method===`icloud`&&o){this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_started`,{address:n.address,recovery_method:`icloud-native`});let r=await this._proxy.recover({accessToken:s,recoverySecretOverride:o,entropyId:e,entropyIdVerifier:t});return this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_completed`,{address:n.address,recovery_method:`icloud-native`}),r.entropyId}if(n.recovery_method===`recovery-encryption-key`&&i){this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_started`,{address:n.address,recovery_method:n.recovery_method});let r=await this._proxy.recover({accessToken:s,recoveryKey:i,entropyId:e,entropyIdVerifier:t});return this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_completed`,{address:n.address,recovery_method:n.recovery_method}),r.entropyId}}catch(t){throw this._privyInternal.createAnalyticsEvent(`embedded_wallet_sdk_recovery_failed`,{address:n.address,recovery_method:n.recovery_method,error:t instanceof Error?t.message:`Unable to recover wallet: ${e}`}),t}throw c}throw c}}},_h=class extends Jr{rootPromise;submitPromise;constructor(){super(),this.rootPromise={current:null},this.submitPromise={current:null}}},vh=[`chrome-extension:`,`moz-extension:`,`safari-web-extension:`],yh=!1,bh=()=>{if(yh)return!0;try{let e=globalThis,t=e.chrome?.runtime?.id??e.browser?.runtime?.id,n=e.location?.protocol;yh=typeof t==`string`&&t.length>0||typeof n==`string`&&vh.includes(n)}catch{yh=!0}return yh},Q={get(e){return Ic.get(e)},set(e,t,n){bh()||Ic.set(e,t,n)},remove(e){Ic.remove(e)}},xh=({useServerCookies:e,cookieWriteBehavior:t})=>e||t===`never`?!1:!bh(),Sh=`privy:active-user`,Ch=`privy:saved-users`,wh=e=>e?`privy:${e}:token`:`privy:token`,Th=e=>e?`privy:${e}:pat`:`privy:pat`,Eh=e=>e?`privy:${e}:refresh_token`:`privy:refresh_token`,Dh=e=>e?`privy:${e}:id-token`:`privy:id-token`,Oh=e=>e?`privy-${e}-token`:`privy-token`,kh=e=>e?`privy-${e}-refresh-token`:`privy-refresh-token`,Ah=e=>e?`privy-${e}-id-token`:`privy-id-token`,jh=e=>e?`privy-${e}-session`:`privy-session`,Mh=Promise.allSettled.bind(Promise)??(e=>Promise.all(e.map(e=>e.then(e=>({status:`fulfilled`,value:e})).catch(e=>({status:`rejected`,reason:e}))))),Nh=[`storage_cleared`,`token_cleared`,`refresh_token_cleared`,`identity_token_cleared`,`token_stored`,`refresh_token_stored`,`identity_token_stored`,`oauth_tokens_granted`,`error_storing_tokens`],Ph=class extends Jr{static events=Nh;_storage;_isUsingServerCookies=!1;_cookieWriteBehavior;GUEST_CREDENTIAL_STORAGE_KEY;_setStoredUsers;_hasEmittedStoredUsers=!1;constructor(e){super(),this._storage=e.storage,this._isUsingServerCookies=e.isUsingServerCookies,this._cookieWriteBehavior=e.cookieWriteBehavior,this.GUEST_CREDENTIAL_STORAGE_KEY=`privy:guest:${e.appId}`,this._setStoredUsers=e.setStoredUsers}set isUsingServerCookies(e){this._isUsingServerCookies=e}shouldWriteCookies(){return xh({useServerCookies:this._isUsingServerCookies,cookieWriteBehavior:this._cookieWriteBehavior})}writeCookie(e,t,n){this.shouldWriteCookies()&&Q.set(e,t,n)}setStoredUsersCallback(e){this._setStoredUsers=e,this.getSavedUserIds().then(e=>{this._hasEmittedStoredUsers||this._setStoredUsers?.({users:e.map(e=>({id:e}))})})}async getCustomerAccessToken(){let e=await this.getActiveUserId(),t=await this._storage.get(wh(e));try{return typeof t==`string`?new um(t).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:`getToken_error`}),null}}async getPrivyAccessToken(){let e=await this.getActiveUserId(),t=await this._storage.get(Th(e));try{return typeof t==`string`?new um(t).value:null}catch(e){return console.error(e),await this.destroyLocalState({reason:`getToken_error`}),null}}async getRefreshToken(){let e=await this.getActiveUserId(),t=await this._storage.get(Eh(e));return typeof t==`string`?t:null}async getIdentityToken(){let e=await this.getActiveUserId(),t=await this._storage.get(Dh(e));return typeof t==`string`?t:null}async mightHaveServerCookies(){try{let e=await this.getActiveUserId(),t=Q.get(jh(e));if(t!==void 0&&t.length>0)return!0;let n=Q.get(jh(null));return n!==void 0&&n.length>0}catch(e){console.error(e)}return!1}async hasRefreshCredentials(e,t){return await this.mightHaveServerCookies()||typeof e==`string`&&typeof t==`string`}tokenIsActive(e){if(!e)return!1;let t=um.parse(e);return t!==null&&!t.isExpired(30)}async destroyLocalState(e){let t=await this.getActiveUserId(),n=[this._storage.del(wh(null)),this._storage.del(Th(null)),this._storage.del(Eh(null)),this._storage.del(Dh(null)),this._storage.del(this.GUEST_CREDENTIAL_STORAGE_KEY),this._storage.del(Sh)];t&&n.push(this._storage.del(wh(t)),this._storage.del(Th(t)),this._storage.del(Eh(t)),this._storage.del(Dh(t)),this.removeSavedUserId(t)),await Mh(n),Q.remove(Oh(null)),Q.remove(kh(null)),Q.remove(Ah(null)),Q.remove(jh(null)),t&&(Q.remove(Oh(t)),Q.remove(kh(t)),Q.remove(Ah(t)),Q.remove(jh(t))),e?.reason&&this.emit(`storage_cleared`,{reason:e.reason})}async storeCustomerAccessToken(e){let t=await this.getActiveUserId();await this.storeCustomerAccessTokenForUser(t,e)}async storeCustomerAccessTokenForUser(e,t){let n=wh(e),r=Oh(e);if(typeof t==`string`){let e=await this._storage.get(n);await this._storage.put(n,t);let i=um.parse(t)?.expiration;this.writeCookie(r,t,{sameSite:`Strict`,secure:!0,expires:i?new Date(i*1e3):void 0}),e!==t&&this.emit(`token_stored`,{cookiesEnabled:this._isUsingServerCookies})}else{let e=await this._storage.get(n);await this._storage.del(n),Q.remove(r),e!==null&&this.emit(`token_cleared`,{reason:`set_with_non_string_value`})}}async storePrivyAccessToken(e){let t=await this.getActiveUserId();await this.storePrivyAccessTokenForUser(t,e)}async storePrivyAccessTokenForUser(e,t){let n=Th(e);typeof t==`string`?await this._storage.put(n,t):await this._storage.del(n)}async storeRefreshTokenForUser(e,t){let n=Eh(e),r=kh(e),i=jh(e);typeof t==`string`?(await this._storage.put(n,t),this.writeCookie(i,`t`,{sameSite:`Strict`,secure:!0,expires:30}),this.writeCookie(r,t,{sameSite:`Strict`,secure:!0,expires:30}),this.emit(`refresh_token_stored`,{cookiesEnabled:this._isUsingServerCookies})):(await this._storage.del(n),Q.remove(r),Q.remove(i),this.emit(`refresh_token_cleared`,{reason:`set_with_non_string_value`}))}async updateWithTokensResponse(e){let t=e.user.id,n=(await Mh([this.storeCustomerAccessTokenForUser(t,e.token),this.storePrivyAccessTokenForUser(t,e.privy_access_token),this.storeRefreshTokenForUser(t,e.refresh_token),this.storeIdentityTokenForUser(t,e.identity_token)])).filter(e=>e.status===`rejected`);if(n.length>0){this.emit(`error_storing_tokens`,n.map(e=>String(e.reason)).join(`, `));return}let r=(await Mh([this.storeCustomerAccessTokenForUser(null,e.token),this.storePrivyAccessTokenForUser(null,e.privy_access_token),this.storeRefreshTokenForUser(null,e.refresh_token),this.storeIdentityTokenForUser(null,e.identity_token)])).filter(e=>e.status===`rejected`);if(r.length>0){this.emit(`error_storing_tokens`,r.map(e=>String(e.reason)).join(`, `));return}await this.storeActiveUserId(t);let i=(await Mh([this.processOAuthTokens(e.oauth_tokens)])).filter(e=>e.status===`rejected`);i.length>0&&this.emit(`error_storing_tokens`,i.map(e=>String(e.reason)).join(`, `))}async backfillLegacySession(){if(await this.getActiveUserId())return;let[e,t,n,r]=await Promise.all([this._storage.get(wh(null)),this._storage.get(Th(null)),this._storage.get(Eh(null)),this._storage.get(Dh(null))]);if(typeof e!=`string`||typeof n!=`string`)return;let i=um.parse(e)?.subject;if(typeof i!=`string`||i.length===0)return;let a=[this.storeCustomerAccessTokenForUser(i,e),this.storeRefreshTokenForUser(i,n)];typeof t==`string`&&a.push(this.storePrivyAccessTokenForUser(i,t)),typeof r==`string`&&a.push(this.storeIdentityTokenForUser(i,r));let o=(await Mh(a)).filter(e=>e.status===`rejected`);if(o.length>0){this.emit(`error_storing_tokens`,o.map(e=>String(e.reason)).join(`, `));return}await this.storeActiveUserId(i)}async processOAuthTokens(e){e&&this.emit(`oauth_tokens_granted`,e)}async storeIdentityToken(e){let t=await this.getActiveUserId();await this.storeIdentityTokenForUser(t,e)}async storeIdentityTokenForUser(e,t){let n=Dh(e),r=Ah(e);if(typeof t==`string`){let e=await this._storage.get(n);await this._storage.put(n,t);let i=um.parse(t)?.expiration;this.writeCookie(r,t,{sameSite:`Strict`,secure:!0,expires:i?new Date(i*1e3):void 0}),e!==t&&this.emit(`identity_token_stored`,{cookiesEnabled:this._isUsingServerCookies})}else{let e=await this._storage.get(n);await this._storage.del(n),Q.remove(r),e!==null&&this.emit(`identity_token_cleared`,{reason:`set_with_non_string_value`})}}async getOrCreateGuestCredential(){let e=await this._storage.get(this.GUEST_CREDENTIAL_STORAGE_KEY);if(e&&typeof e==`string`)return e;let t=M.base64urlnopad.fromBytes(crypto.getRandomValues(new Uint8Array(32)));return await this._storage.put(this.GUEST_CREDENTIAL_STORAGE_KEY,t),t}async getActiveUserId(){let e=await this._storage.get(Sh);return typeof e==`string`?e:null}async storeActiveUserId(e){let t=await this.getSavedUserIds();await this.storeSavedUserIds([...t,e]),await this._storage.put(Sh,e)}async getSavedUserIds(){let e=await this._storage.get(Ch);if(typeof e!=`string`)return[];try{let t=JSON.parse(e),n=Array.isArray(t)?t.filter(e=>typeof e==`string`):[];return[...new Set(n)]}catch{return[]}}async storeSavedUserIds(e){let t=[...new Set(e)];t.length>0?await this._storage.put(Ch,JSON.stringify(t)):await this._storage.del(Ch),this._setStoredUsers&&(this._hasEmittedStoredUsers=!0,this._setStoredUsers({users:t.map(e=>({id:e}))}))}async removeSavedUserId(e){let t=await this.getSavedUserIds();await this.storeSavedUserIds(t.filter(t=>t!==e))}async switchActiveUserId(e){if(!(await this.getSavedUserIds()).includes(e))throw new Y({code:`invalid_input`,error:`Cannot switch active user because the user ID is not saved on this device`});await this._storage.put(Sh,e)}},Fh=e=>{let t=new AbortController,n=e.filter(e=>!!e),r=()=>{for(let e of n)e.removeEventListener(`abort`,r);t.abort(n.find(e=>e.aborted)?.reason)};if(n.some(e=>e.aborted))r();else for(let e of n)e.addEventListener(`abort`,r);return t.signal},Ih=e=>{let t=new AbortController;return setTimeout(()=>t.abort(),e),t.signal};function Lh(e){let t=new URLSearchParams;for(let n in e)e[n]!=null&&t.append(n,String(e[n]));return Array.from(t).length?`?`+t.toString():``}var Rh=()=>void 0,zh={NONE:-1/0,ERROR:1,WARN:2,INFO:3,DEBUG:1/0},Bh=({level:e,logger:t})=>({get level(){return e},error:zh[e]>=zh.ERROR?t.error:Rh,warn:zh[e]>=zh.WARN?t.warn:Rh,info:zh[e]>=zh.INFO?t.info:Rh,debug:zh[e]>=zh.DEBUG?t.debug:Rh}),Vh=`privy:caid`,Hh=class{baseUrl;callbacks;appId;appClientId;logger;session;_config;_analyticsId;_storage;_sdkVersion=`js-sdk-core:0.78.0`;_fetch;nativeAppIdentifier;_crypto;isMultiUserModeEnabled;_cache=new Map;constructor(e){this.logger=Bh({level:e.logger?.level??e.logLevel??`ERROR`,logger:e.logger??console}),this._storage=e.storage,this._crypto=e.crypto,this._analyticsId=null,this._getOrGenerateClientAnalyticsId(),this.baseUrl=e.baseUrl??`https://auth.privy.io`,this.appId=e.appId,this.appClientId=e.appClientId,this._sdkVersion=e.sdkVersion??this._sdkVersion,this.callbacks=e.callbacks,this.nativeAppIdentifier=e.nativeAppIdentifier,this.isMultiUserModeEnabled=e.isMultiUserModeEnabled,this.session=new Ph({storage:this._storage,isUsingServerCookies:!1,cookieWriteBehavior:e.cookieWriteBehavior,appId:e.appId,setStoredUsers:e.callbacks?.setStoredUsers}),this._fetch=Mc(globalThis.fetch),this.session.on(`error_storing_tokens`,e=>{this.createAnalyticsEvent(`error_updating_tokens_in_storage`,{reason:e})})}setCallbacks(e){this.callbacks={...this.callbacks,...e},this.session.setStoredUsersCallback(this.callbacks?.setStoredUsers)}get isReady(){return!!this._config}get config(){return this._config}get caid(){return this._analyticsId}async _initialize(){if(this.isReady){this.callbacks?.setIsReady?.(!0);return}if(!await this.isStorageAccessible())throw new Y({code:`storage_error`,error:`Unable to access storage`});this._config=await this.getAppConfig(),this._config?.custom_api_url&&(this.baseUrl=this._config.custom_api_url,this.session.isUsingServerCookies=!0),this.isMultiUserModeEnabled&&await this.session.backfillLegacySession(),this.callbacks?.setIsReady?.(!0),this._sdkVersion.startsWith(`js-sdk-core:`)&&this.createAnalyticsEvent(`sdk_initialize`,{})}getPath(e,{params:t,query:n}){return`${this.baseUrl}${Yn(e.path,t)}${Lh(n)}`}async fetchWithoutAuthentication(e,t){if(!this.isMultiUserModeEnabled)throw new Y({code:`invalid_input`,error:`Unauthenticated requests require sessions.mode to be set to "multi-user"`});return this.fetch(e,{...t,onRequest:this._beforeRequestWithoutAuth.bind(this)})}async fetchForLogin(e,t){return this.isMultiUserModeEnabled?this.fetchWithoutAuthentication(e,t):this.fetch(e,t)}async fetch(e,{body:t,params:n,query:r,headers:i,signal:a,onRequest:o=this._beforeRequest.bind(this)}){let s=new Request(this.getPath(e,{params:n,query:r}),{method:e.method,body:JSON.stringify(t),headers:i}),c=await o(s);a&&(c.signal=Fh([a,c.signal]));let l=await this._fetch(s,c),u=await l.json();if(l.status>299)throw new pm({...u,status:l.status});return u}async fetchRaw(e,{body:t,params:n,query:r,headers:i,onRequest:a=this._beforeRequest.bind(this)}){let o=new Request(this.getPath(e,{params:n,query:r}),{method:e.method,body:JSON.stringify(t),headers:i}),s=await a(o),c=await this._fetch(o,s);if(c.status>299)throw new pm({...await c.json().catch(()=>({})),status:c.status});return c}async _beforeRequestWithoutInitialize(e){let t=await this.session.getPrivyAccessToken()??await this.session.getCustomerAccessToken(),n=new Headers(e.headers);n.set(`privy-app-id`,this.appId),this.appClientId&&n.set(`privy-client-id`,this.appClientId),n.set(`privy-client`,this._sdkVersion),t&&n.set(`Authorization`,`Bearer ${t}`),n.set(`Content-Type`,`application/json`),n.set(`Accept`,`application/json`);let r=await this._getOrGenerateClientAnalyticsId();return r&&n.set(`privy-ca-id`,r),this.nativeAppIdentifier&&n.set(`x-native-app-identifier`,this.nativeAppIdentifier),{signal:Ih(2e4),headers:n,credentials:`include`}}async beforeRequestWithoutRefresh(e){return await this._initialize(),this._beforeRequestWithoutInitialize(e)}async _beforeRequestWithoutAuth(e){await this._initialize();let t=new Headers(e.headers);t.set(`privy-app-id`,this.appId),this.appClientId&&t.set(`privy-client-id`,this.appClientId),t.set(`privy-client`,this._sdkVersion),t.set(`Content-Type`,`application/json`),t.set(`Accept`,`application/json`);let n=await this._getOrGenerateClientAnalyticsId();return n&&t.set(`privy-ca-id`,n),this.nativeAppIdentifier&&t.set(`x-native-app-identifier`,this.nativeAppIdentifier),{signal:Ih(2e4),headers:t}}async _beforeRequest(e){return await this._initialize(),await this.getAccessTokenInternal(),this.beforeRequestWithoutRefresh(e)}async getAppConfig(){return await this.fetch(Gt,{params:{app_id:this.appId},onRequest:this._beforeRequestWithoutInitialize.bind(this)})}async _getOrGenerateClientAnalyticsId(){if(this._analyticsId)return this._analyticsId;try{let e=await this._storage.get(Vh);if(typeof e==`string`&&e.length>0)return this._analyticsId=e,e}catch(e){this.logger.error(`Unable to load clientId`,e)}try{this._analyticsId=this._crypto.randomUUID()}catch(e){this.logger.error(`Unable to generate uuidv4`,e)}if(this._analyticsId){try{await this._storage.put(Vh,this._analyticsId)}catch(e){this.logger.error(`Unable to store clientId: ${this._analyticsId}`,e)}return this._analyticsId}}async destroyClientAnalyticsId(){try{return await this._storage.del(Vh)}catch(e){this.logger.error(`Unable to delete clientId`,e)}}async createAnalyticsEvent(e,t){try{await this.fetch(Wt,{body:{event_name:e,client_id:await this._getOrGenerateClientAnalyticsId(),payload:t},onRequest:this.beforeRequestWithoutRefresh.bind(this)})}catch{}}async refreshSession(e=!1){if(!await this.isStorageAccessible())throw new Y({code:`storage_error`,error:`Unable to access storage`});let t=await this.session.getRefreshToken()??void 0,n=t??`key`,r=this._cache.get(n);if(r)return this.logger.debug(`[privy:refresh] found in-flight session refresh request, deduping`),await r;let i=this._refreshSession(t,e);this._cache.set(n,i);try{return await i}finally{this._cache.delete(n)}}async _refreshSession(e,t){let n=await this.session.getCustomerAccessToken();if(!await this.session.hasRefreshCredentials(n,e??null))throw this.logger.debug(`[privy:refresh] missing tokens, skipping request`),await this._initialize(),new pm({code:Tc.MISSING_OR_INVALID_TOKEN,error:`No tokens found in storage`,status:401});try{this.logger.debug(`[privy:refresh] fetching: ${Xn.path}`);let n=await this.fetch(Xn,{body:{refresh_token:e},onRequest:this.beforeRequestWithoutRefresh.bind(this)}),r=n.session_update_action;return this.logger.debug(`[privy:refresh] response: ${r}`),r===`set`&&(await this.session.updateWithTokensResponse(n),this.logger.debug(`[privy:refresh] tokens stored`)),r===`clear`&&(await this.session.destroyLocalState(),this.logger.debug(`[privy:refresh] tokens cleared`),!t&&this.callbacks?.setUser?.(null)),r===`ignore`&&(n.token&&(await this.session.storeCustomerAccessToken(n.token),this.logger.debug(`[privy:refresh] token stored (CAT)`)),n.privy_access_token&&(await this.session.storePrivyAccessToken(n.privy_access_token),this.logger.debug(`[privy:refresh] token stored (PAT)`)),n.identity_token&&(this.logger.debug(`[privy:refresh] token stored (IDT)`),await this.session.storeIdentityToken(n.identity_token))),this.logger.debug(`[privy:refresh] returning response`),!t&&this.callbacks?.setUser?.(n.user),n}catch(e){throw this.logger.debug(`[privy:refresh] error: ${e.message??`unknown error`}`),e instanceof pm&&e.code===Tc.MISSING_OR_INVALID_TOKEN&&(await this.session.destroyLocalState(),!t&&this.callbacks?.setUser?.(null)),e}}async getAccessToken(){let[e,t]=await Promise.all([this.session.getCustomerAccessToken(),this.session.getRefreshToken()]);if(e&&!this.session.tokenIsActive(e)&&await this.session.hasRefreshCredentials(e,t)){let t=await this.refreshSession(),n=await this.session.getCustomerAccessToken();return t.token||this.logger.debug(`[privy:getAccessToken] expected token received null`),t.token===e&&this.logger.debug(`[privy:getAccessToken] expected new token in response received existing`),n===e&&this.logger.debug(`[privy:getAccessToken] expected new token in storage received existing`),t.token??n}return e&&!this.session.tokenIsActive(e)?(this.logger.debug(`[privy:getAccessToken] unable to refresh inactive token`),this.callbacks?.setUser?.(null),await this.session.destroyLocalState(),null):e}async getAccessTokenInternal(){let e=await this.getAccessToken();return await this.session.getPrivyAccessToken()??e}async getIdentityToken(){return await this.session.getIdentityToken()}async isStorageAccessible(){try{let e=`privy:__storage__test-${this._crypto.randomUUID()}`,t=`blobby`;await this._storage.put(e,t);let n=await this._storage.get(e);return await this._storage.del(e),n===t}catch(e){return this.logger.error(e),!1}}},Uh=class{_privyInternal;_embedded;_isMultiUserModeEnabled;constructor(e,t,n){this._privyInternal=e,this._embedded=t,this._isMultiUserModeEnabled=n}async get(){let{user:e}=await this._privyInternal.refreshSession();return{user:e}}async acceptTerms(){return{user:await this._privyInternal.fetch(cr,{})}}async refreshUser(){let{user:e,identity_token:t}=await this._privyInternal.fetch(kr,{});return await this._privyInternal.session.storeIdentityToken(t),this._privyInternal.callbacks?.setUser?.(e),{user:e}}async switchActiveUser(e){if(!this._isMultiUserModeEnabled)throw new Y({code:`invalid_input`,error:`User switching requires sessions.mode to be set to "multi-user"`});await this._privyInternal.session.switchActiveUserId(e.userId);try{this._embedded.reload();let{user:t}=await this._privyInternal.refreshSession(!0);if(t.id!==e.userId)throw new Y({code:`invalid_input`,error:`Cannot switch active user because the refreshed user did not match the requested user ID`});return this._privyInternal.callbacks?.setUser?.(t),{user:t}}catch(e){throw await this._privyInternal.session.destroyLocalState(),this._privyInternal.callbacks?.setUser?.(null),e}}},Wh=e=>e.type===`wallet`&&e.wallet_client_type===`privy`&&e.connector_type===`embedded`,Gh=e=>e?e.linked_accounts.filter(Wh).filter(e=>e.chain_type===`ethereum`).sort((e,t)=>e.wallet_index-t.wallet_index):[],Kh=e=>Gh(e).find(e=>e.wallet_index===0)??null,qh=e=>e?e.linked_accounts.filter(Wh).filter(e=>e.chain_type===`solana`).sort((e,t)=>e.wallet_index-t.wallet_index):[],Jh=e=>qh(e).find(e=>e.wallet_index===0)??null,Yh=(e,t)=>t===`off`||Gh(e).length>0?!1:e.linked_accounts.filter(e=>e.type===`wallet`&&e.chain_type===`ethereum`).length>0?t===`all-users`:!0,Xh=(e,t)=>t===`off`||qh(e).length>0?!1:e.linked_accounts.filter(e=>e.type===`wallet`&&e.chain_type===`solana`).length>0?t===`all-users`:!0,Zh=(e,t)=>({...e,is_new_user:t.is_new_user,oauth_tokens:t.oauth_tokens}),$=async(e,t,n)=>{let r=Yh(t.user,n?.ethereum?.createOnLogin??`off`),i=Xh(t.user,n?.solana?.createOnLogin??`off`);if(r&&i){let n=await e.create({recoveryMethod:`privy`,skipCallbacks:!0});return Zh(await e.createSolana({ethereumAccount:Kh(n.user)??void 0}),t)}return r?Zh(await e.create({recoveryMethod:`privy`,solanaAccount:Jh(t.user)??void 0}),t):i?Zh(await e.createSolana({ethereumAccount:Kh(t.user)??void 0}),t):t},Qh=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async syncWithToken(e,t,n){let r=await this._privyInternal.fetchForLogin(Yt,{body:{token:e,mode:n}});await this._privyInternal.session.updateWithTokensResponse(r);let i=await $(this._embedded,r,t?.embedded);return this._privyInternal.callbacks?.setUser?.(i.user),i}async linkWithToken(e){await this._privyInternal.fetch(Xt,{body:{token:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}},$h=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async sendCode(e,t){return this._privyInternal.fetch(En,{body:{email:e,token:t}})}async loginWithCode(e,t,n,r){let i=await this._privyInternal.fetchForLogin(Tn,{body:{email:e,code:t,mode:n}});await this._privyInternal.session.updateWithTokensResponse(i);let a=await $(this._embedded,i,r?.embedded);return this._privyInternal.callbacks?.setUser?.(a.user),a}async linkWithCode(e,t){await this._privyInternal.fetch(Dn,{body:{email:e,code:t}});let n=await this._privyInternal.refreshSession();return{user:n.user,identity_token:n.identity_token}}async updateEmail({oldEmailAddress:e,newEmailAddress:t,code:n}){await this._privyInternal.fetch(kn,{body:{oldAddress:e,newAddress:t,code:n}});let r=await this._privyInternal.refreshSession();return{user:r.user,identity_token:r.identity_token}}async unlink(e){await this._privyInternal.fetch(On,{body:{address:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}},eg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async initializeAuth({relyingParty:e,redirectUrl:t,token:n}){return await this._privyInternal.fetch(Zt,{body:{relying_party:e,redirect_url:t,token:n}})}async getFarcasterStatus({channel_token:e}){return await this._privyInternal.fetch(tn,{headers:{"farcaster-channel-token":e}})}async authenticate({channel_token:e,message:t,signature:n,fid:r,mode:i},a){let o=await this._privyInternal.fetchForLogin(Qt,{body:{channel_token:e,message:t,signature:n,fid:r,mode:i}});await this._privyInternal.session.updateWithTokensResponse(o);let s=await $(this._embedded,o,a?.embedded);return this._privyInternal.callbacks?.setUser?.(s.user),s}async link({channel_token:e,message:t,signature:n,fid:r}){await this._privyInternal.fetch($t,{body:{channel_token:e,message:t,signature:n,fid:r}});let i=await this._privyInternal.refreshSession();return{user:i.user,identity_token:i.identity_token}}async unlink({fid:e}){await this._privyInternal.fetch(en,{body:{fid:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}},tg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async initializeAuth(){return await this._privyInternal.fetch(nn,{body:{}})}async authenticate({message:e,signature:t,fid:n},r){let i=await this._privyInternal.fetchForLogin(rn,{body:{message:e,signature:t,fid:n}});await this._privyInternal.session.updateWithTokensResponse(i);let a=await $(this._embedded,i,r?.embedded);return this._privyInternal.callbacks?.setUser?.(a.user),a}},ng=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async create(e){let t=await this._privyInternal.session.getOrCreateGuestCredential(),n=await this._privyInternal.fetch(an,{body:{guest_credential:t}});await this._privyInternal.session.updateWithTokensResponse(n);let r=await $(this._embedded,n,e?.embedded);return this._privyInternal.callbacks?.setUser?.(r.user),r}},rg=`privy:state_code`,ig=`privy:code_verifier`;async function ag(e,t){let n=await t(`SHA-256`,new TextEncoder().encode(e));return new Uint8Array(n)}function og(e){return crypto.getRandomValues(new Uint8Array(e))}function sg(){return M.base64urlnopad.fromBytes(og(36))}function cg(){return sg()}async function lg({codeVerifier:e,method:t=`S256`,digest:n}){if(t==`S256`){let t=await ag(e,n);return M.base64urlnopad.fromBytes(t)}return e}var ug=class{_privyInternal;_storage;_crypto;_embedded;constructor(e,t,n,r){this._privyInternal=e,this._embedded=t,this._storage=n,this._crypto=r}async generateURL(e,t){let n=sg(),r=cg(),i=await lg({codeVerifier:n,digest:this._crypto.digest});return await Promise.all([this._storage.put(ig,n),this._storage.put(rg,r)]),this._privyInternal.fetchForLogin(gn,{body:{redirect_to:t,provider:e,code_challenge:i,state_code:r}})}async loginWithCode(e,t,n,r,i,a){let[o,s]=await Promise.all([this._storage.get(ig),this._storage.get(rg)]);if(s!==t)throw this._privyInternal.createAnalyticsEvent(`possible_phishing_attempt`,{flow:`oauth`,provider:n,storedStateCode:s??``,returnedStateCode:t??``}),new Y({code:`pkce_state_code_mismatch`,error:`Unexpected auth flow. This may be a phishing attempt.`});let c=await this._privyInternal.fetchForLogin(hn,{body:{authorization_code:e,code_type:r,state_code:s,code_verifier:o,mode:i}});await this._privyInternal.session.updateWithTokensResponse(c);let l=await $(this._embedded,c,a?.embedded);return await Promise.all([this._storage.del(ig),this._storage.del(rg)]),this._privyInternal.callbacks?.setUser?.(l.user),l}async linkWithCode(e,t,n,r){let[i,a]=await Promise.all([this._storage.get(ig),this._storage.get(rg)]);if(a!==t)throw this._privyInternal.createAnalyticsEvent(`possible_phishing_attempt`,{flow:`oauth`,provider:n,storedStateCode:a??``,returnedStateCode:t??``}),new Y({code:`pkce_state_code_mismatch`,error:`Unexpected auth flow. This may be a phishing attempt.`});let o=await this._privyInternal.fetch(_n,{body:{authorization_code:e,code_type:r,state_code:a,code_verifier:i}});await this._privyInternal.session.processOAuthTokens(o.oauth_tokens);let s=await this._privyInternal.refreshSession();return await Promise.all([this._storage.del(ig),this._storage.del(rg)]),{user:s.user,identity_token:s.identity_token}}async unlink(e,t){await this._privyInternal.fetch(vn,{body:{provider:e,subject:t}});let n=await this._privyInternal.refreshSession();return{user:n.user,identity_token:n.identity_token}}},dg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async generateRegistrationOptions(e){return await this._privyInternal.fetch(wn,{body:{relying_party:e}})}async generateAuthenticationOptions(e){return await this._privyInternal.fetch(Sn,{body:{relying_party:e}})}async generateSignupOptions(e){return await this._privyInternal.fetch(Cn,{body:{relying_party:e}})}async loginWithPasskey(e,t,n,r){let i=await this._privyInternal.fetchForLogin(bn,{body:{relying_party:n,challenge:t,authenticator_response:this._transformAuthenticationResponseToSnakeCase(e)}});await this._privyInternal.session.updateWithTokensResponse(i);let a=await $(this._embedded,i,r?.embedded);return this._privyInternal.callbacks?.setUser?.(a.user),a}async signupWithPasskey(e,t,n){let r=await this._privyInternal.fetchForLogin(xn,{body:{relying_party:t,authenticator_response:this._transformRegistrationResponseToSnakeCase(e)}});await this._privyInternal.session.updateWithTokensResponse(r);let i=await $(this._embedded,r,n?.embedded);return this._privyInternal.callbacks?.setUser?.(i.user),i}async linkWithPasskey(e,t){await this._privyInternal.fetch(yn,{body:{relying_party:t,authenticator_response:this._transformRegistrationResponseToSnakeCase(e)}});let n=await this._privyInternal.refreshSession();return{user:n.user,identity_token:n.identity_token}}_transformRegistrationResponseToSnakeCase(e){return{type:e.type,id:e.id,raw_id:e.rawId,response:{client_data_json:e.response.clientDataJSON,attestation_object:e.response.attestationObject,authenticator_data:e.response.authenticatorData||void 0,transports:e.response.transports||void 0,public_key:e.response.publicKey||void 0,public_key_algorithm:e.response.publicKeyAlgorithm||void 0},authenticator_attachment:e.authenticatorAttachment||void 0,client_extension_results:{app_id:e.clientExtensionResults.appid||void 0,cred_props:e.clientExtensionResults.credProps||void 0,hmac_create_secret:e.clientExtensionResults.hmacCreateSecret||void 0}}}_transformAuthenticationResponseToSnakeCase(e){return{type:e.type,id:e.id,raw_id:e.rawId,response:{signature:e.response.signature,client_data_json:e.response.clientDataJSON,authenticator_data:e.response.authenticatorData,user_handle:e.response.userHandle||void 0},authenticator_attachment:e.authenticatorAttachment||void 0,client_extension_results:{app_id:e.clientExtensionResults.appid||void 0,cred_props:e.clientExtensionResults.credProps||void 0,hmac_create_secret:e.clientExtensionResults.hmacCreateSecret||void 0}}}},fg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async sendCode(e,t){return this._privyInternal.fetch(jn,{body:{phoneNumber:e,token:t}})}async loginWithCode(e,t,n,r){let i=await this._privyInternal.fetchForLogin(An,{body:{phoneNumber:e,code:t,mode:n}});await this._privyInternal.session.updateWithTokensResponse(i);let a=await $(this._embedded,i,r?.embedded);return this._privyInternal.callbacks?.setUser?.(a.user),a}async linkWithCode(e,t){await this._privyInternal.fetch(Mn,{body:{phoneNumber:e,code:t}});let n=await this._privyInternal.refreshSession();return{user:n.user,identity_token:n.identity_token}}async updatePhone({oldPhoneNumber:e,newPhoneNumber:t,code:n}){await this._privyInternal.fetch(Pn,{body:{old_phone_number:e,new_phone_number:t,code:n}});let r=await this._privyInternal.refreshSession();return{user:r.user,identity_token:r.identity_token}}async unlink(e){await this._privyInternal.fetch(Nn,{body:{phoneNumber:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}},pg=class{_privyInternal;_embedded;_wallet=void 0;_preparedMessage;constructor(e,t){this._privyInternal=e,this._embedded=t}async unlinkWallet(e){await this._privyInternal.fetch(rr,{body:{address:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}async linkWithSiwe(e,t,n){let r=t||this._wallet,i=n||this._preparedMessage;if(!r)throw Error(`A wallet must be provided in the init step or as an argument to linkWithSiwe`);if(!i)throw Error(`A message must be generated and signed before being used to link a wallet to privy`);await this._privyInternal.fetch(tr,{body:{message:i,signature:e,chainId:r.chainId,walletClientType:r.walletClientType??null,connectorType:r.connectorType??null}});let a=await this._privyInternal.refreshSession();return{user:a.user,identity_token:a.identity_token}}async loginWithSiwe(e,t,n,r,i){let a=t||this._wallet,o=n||this._preparedMessage;if(!a)throw Error(`A wallet must be provided in the init step or as an argument to loginWithSiwe`);if(!o)throw Error(`A message must be generated and signed before being used to login to privy with a wallet`);let s=await this._privyInternal.fetchForLogin(er,{body:{signature:e,message:o,chainId:a.chainId,walletClientType:a.walletClientType??null,connectorType:a.connectorType??null,mode:r}});await this._privyInternal.session.updateWithTokensResponse(s);let c=await $(this._embedded,s,i?.embedded);return this._privyInternal.callbacks?.setUser?.(c.user),c}async init(e,t,n){this._wallet=e;let{nonce:r}=await this._privyInternal.fetch($n,{body:{address:e.address}}),i=mg({chainId:e.chainId.toString().replace(`eip155:`,``),address:e.address,issuedAt:new Date().toISOString(),statement:`By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.`,domain:t,nonce:r,uri:n});return this._preparedMessage=i,{nonce:r,message:i}}};function mg(e){return`${e.domain} wants you to sign in with your Ethereum account:
16
- ${e.address}
17
-
18
- ${e.statement}
19
-
20
- URI: ${e.uri}
21
- Version: 1
22
- Chain ID: ${e.chainId}
23
- Nonce: ${e.nonce}
24
- Issued At: ${e.issuedAt}
25
- Resources:
26
- - https://privy.io`}var hg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async unlink({address:e}){await this._privyInternal.fetch(sr,{body:{address:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}async link({message:e,signature:t,walletClientType:n,connectorType:r}){await this._privyInternal.fetch(or,{body:{message:e,signature:t,walletClientType:n??null,connectorType:r??null}});let i=await this._privyInternal.refreshSession();return{user:i.user,identity_token:i.identity_token}}async login({mode:e,message:t,signature:n,walletClientType:r,connectorType:i,opts:a}){let o=await this._privyInternal.fetchForLogin(ar,{body:{signature:n,message:t,walletClientType:r??null,connectorType:i??null,mode:e}});await this._privyInternal.session.updateWithTokensResponse(o);let s=await $(this._embedded,o,a?.embedded);return this._privyInternal.callbacks?.setUser?.(s.user),s}async fetchNonce({address:e}){let{nonce:t}=await this._privyInternal.fetch(ir,{body:{address:e}});return{nonce:t}}},gg=class{_privyInternal;constructor(e){this._privyInternal=e}async link(e,t,n,r){await this._privyInternal.fetch(nr,{body:{message:e,signature:t,smart_wallet_type:n,smart_wallet_version:r}});let i=await this._privyInternal.refreshSession();return{user:i.user,identity_token:i.identity_token}}async init(e){let{nonce:t}=await this._privyInternal.fetch($n,{body:{address:e.address}});return{nonce:t,message:_g({chainId:e.chainId.toString().replace(`eip155:`,``),address:e.address,issuedAt:new Date().toISOString(),statement:`By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.`,domain:`privy.io`,uri:`https://auth.privy.io`,nonce:t})}}};function _g(e){return`${e.domain} wants you to sign in with your Ethereum account:
27
- ${e.address}
28
-
29
- ${e.statement}
30
-
31
- URI: ${e.uri}
32
- Version: 1
33
- Chain ID: ${e.chainId}
34
- Nonce: ${e.nonce}
35
- Issued At: ${e.issuedAt}
36
- Resources:
37
- - https://privy.io`}var vg=class{_privyInternal;_embedded;constructor(e,t){this._privyInternal=e,this._embedded=t}async authenticate({telegramWebAppData:e,telegramAuthResult:t,captchaToken:n,mode:r=`login-or-sign-up`},i){let a=await this._privyInternal.fetchForLogin(lr,{body:{telegram_web_app_data:e,telegram_auth_result:t,captcha_token:n,mode:r}});await this._privyInternal.session.updateWithTokensResponse(a);let o=await $(this._embedded,a,i?.embedded);return this._privyInternal.callbacks?.setUser?.(o.user),o}async link({telegramWebAppData:e,telegramAuthResult:t,captchaToken:n}){await this._privyInternal.fetch(ur,{body:{telegram_web_app_data:e,telegram_auth_result:t,captcha_token:n}});let r=await this._privyInternal.refreshSession();return{user:r.user,identity_token:r.identity_token}}async unlink({telegramUserId:e}){await this._privyInternal.fetch(dr,{body:{telegram_user_id:e}});let t=await this._privyInternal.refreshSession();return{user:t.user,identity_token:t.identity_token}}},yg=class{_privyInternal;_mfa;customProvider;phone;email;oauth;siwe;siws;smartWallet;passkey;farcaster;farcasterV2;guest;telegram;constructor(e,t,n,r,i){this._privyInternal=e,this._mfa=i,this.customProvider=new Qh(this._privyInternal,t),this.phone=new fg(this._privyInternal,t),this.email=new $h(this._privyInternal,t),this.oauth=new ug(this._privyInternal,t,n,r),this.guest=new ng(this._privyInternal,t),this.siwe=new pg(this._privyInternal,t),this.siws=new hg(this._privyInternal,t),this.smartWallet=new gg(this._privyInternal),this.passkey=new dg(this._privyInternal,t),this.farcaster=new eg(this._privyInternal,t),this.farcasterV2=new tg(this._privyInternal,t),this.telegram=new vg(this._privyInternal,t)}async logout(e){let t=await this._prepareSessionRevocation();await Promise.all([this._privyInternal.session.destroyLocalState({reason:`logout`}),this._privyInternal.destroyClientAnalyticsId(),e?.userId&&this._mfa.clearMfa({userId:e.userId})]),this._privyInternal.callbacks?.setUser?.(null),t&&this._privyInternal.fetch(Zn,{body:{refresh_token:t.refresh_token},onRequest:()=>t.init}).catch(()=>{console.warn(`Error destroying session`)})}async _prepareSessionRevocation(){try{let e=await this._privyInternal.beforeRequestWithoutRefresh(new Request(this._privyInternal.baseUrl));return{refresh_token:await this._privyInternal.session.getRefreshToken()??void 0,init:e}}catch{console.warn(`Error preparing session revocation`);return}}},bg=class{_privyInternal;constructor(e){this._privyInternal=e}async initOnRampSession(e){return await this._privyInternal.fetch(Kt,{body:e})}async getStatus(e){return await this._privyInternal.fetch(qt,{query:{partnerUserId:e}})}},xg={prod:{url:`https://api.moonpay.com/v1`,key:`pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL`},sandbox:{url:`https://api.moonpay.com/v1`,key:`pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI`}},Sg=new Set([wt.id,Tt.id,gt.id,bt.id,ht.id,pt.id,_t.id]),Cg=new Set([wt.id,Tt.id,dt.id,gt.id,bt.id,ht.id]);function wg(e,t){switch(t){case`native-currency`:return Sg.has(e);case`USDC`:return Cg.has(e);default:return console.warn(`Unknown asset passed to MoonPay Onramp`),!1}}function Tg(e,t){switch(e){case Tt.id:return t===`native-currency`?`ETH_ARBITRUM`:`USDC_ARBITRUM`;case ht.id:return t===`native-currency`?`AVAX_CCHAIN`:`USDC_CCHAIN`;case gt.id:return t===`native-currency`?`ETH_BASE`:`USDC_BASE`;case pt.id:return`CELO_CELO`;case bt.id:return t===`native-currency`?`MATIC_POLYGON`:`USDC_POLYGON`;case _t.id:return`MON_MON`;case wt.id:return t===`native-currency`?`ETH_ETHEREUM`:`USDC_ETHEREUM`;default:return console.warn(`Chain ${e} not supported by Moonpay, defaulting to Ethereum mainnet`),`ETH_ETHEREUM`}}var Eg=class{_privyInternal;constructor(e){this._privyInternal=e}async sign(e){return await this._privyInternal.fetch(fr,{body:e})}async getTransactionStatus({transactionId:e,useSandbox:t}){let{url:n,key:r}=xg[t?`sandbox`:`prod`],i=await(0,Lc.default)(fetch,{retries:3,retryDelay:500})(`${n}/transactions/ext/${e}?apiKey=${r}`);if(!i.ok)throw new mm({error:`Failed to fetch transaction status for Transaction ${e}`,code:`failed_to_fetch_moonpay_transaction_status`,response:i});let a=await i.json();return Array.isArray(a)?a.at(0):void 0}},Dg=class{moonpay;coinbase;constructor(e){this.moonpay=new Eg(e),this.coinbase=new bg(e)}},Og=class{_privyInternal;constructor(e){this._privyInternal=e}async generateAuthenticationOptions(e){return await this._privyInternal.fetch(on,{body:e})}},kg=class{_privyInternal;constructor(e){this._privyInternal=e}async sendCode(e){return await this._privyInternal.fetch(sn,{body:e})}},Ag=class{privyInternal;proxy;sms;passkey;constructor(e,t){this.proxy=t,this.privyInternal=e,this.sms=new kg(e),this.passkey=new Og(e)}setProxy(e){this.proxy=e}async getAccessTokenInternal(){let e=await this.privyInternal.getAccessTokenInternal();if(!e)throw new Y({error:`Missing access token`,code:`attempted_rpc_call_before_logged_in`});return e}async verifyMfa(){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});return await this.proxy.verifyMfa({accessToken:await this.getAccessTokenInternal()})}async initEnrollMfa(e){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});return await this.proxy.initEnrollMfa({...e,accessToken:await this.getAccessTokenInternal()})}async submitEnrollMfa(e){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});let t=await this.proxy.submitEnrollMfa({...e,accessToken:await this.getAccessTokenInternal()}),n=await this.privyInternal.refreshSession();if(n.user.mfa_methods.length===0)try{await this.proxy.clearMfa({userId:n.user.id})}catch{}return t}async unenrollMfa(e){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});let t=await this.proxy.unenrollMfa({method:e,accessToken:await this.getAccessTokenInternal()}),n=await this.privyInternal.refreshSession();if(n.user.mfa_methods.length===0)try{await this.proxy.clearMfa({userId:n.user.id})}catch{}return t}async unlinkPasskey({credentialId:e,removeAsMfa:t}){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});await this.proxy.unlinkPasskey({credentialId:e,removeAsMfa:t,accessToken:await this.getAccessTokenInternal()});let n=await this.privyInternal.refreshSession();if(n.user.mfa_methods.length===0)try{await this.proxy.clearMfa({userId:n.user.id})}catch{}}async clearMfa(e){if(!this.proxy)throw new Y({error:`Embedded wallet proxy not initialized`,code:`embedded_wallet_webview_not_loaded`});return await this.proxy.clearMfa(e)}},jg=class{_privyInternal;constructor(e){this._privyInternal=e}async init(e){return this._privyInternal.fetch(Rn,{body:{client_type:e}})}async getICloudConfiguration(e){return this._privyInternal.fetch(zn,{body:{client_type:e}})}},Mg=class{_privyInternal;_storage;_crypto;constructor(e,t,n){this._privyInternal=e,this._storage=t,this._crypto=n}async generateURL(e){let t=sg(),n=cg(),r=await lg({codeVerifier:t,digest:this._crypto.digest});return await Promise.all([this._storage.put(ig,t),this._storage.put(rg,n)]),this._privyInternal.fetch(In,{body:{redirect_to:e,code_challenge:r,state_code:n}})}async authorize(e,t){let[n,r]=await Promise.all([this._storage.get(ig),this._storage.get(rg)]);if(r!==t)throw this._privyInternal.createAnalyticsEvent(`possible_phishing_attempt`,{flow:`recovery_oauth`,storedStateCode:r??``,returnedStateCode:t??``}),new Y({code:`pkce_state_code_mismatch`,error:`Unexpected auth flow. This may be a phishing attempt.`});let i=await this._privyInternal.fetch(Ln,{body:{authorization_code:e,state_code:r,code_verifier:n}});return await Promise.all([this._storage.del(ig),this._storage.del(rg)]),i}},Ng=class{_privyInternal;auth;icloudAuth;constructor(e,t,n){this._privyInternal=e,this.auth=new Mg(this._privyInternal,t,n),this.icloudAuth=new jg(this._privyInternal)}async getRecoveryKeyMaterial(e,t){return this._privyInternal.fetch(Fn,{body:{chain_type:t},params:{address:e}})}},Pg=class{plugins;auth;user;embeddedWallet;recovery;mfa;app;mfaPromises;funding;delegated;crossApp;isMultiUserModeEnabled;_privyInternal;constructor({clientId:e,sessions:t,plugins:n=[],...r}){let i=nm(r.crypto);this.isMultiUserModeEnabled=t?.mode===`multi-user`,this.plugins=[...n],this._privyInternal=new Hh({...r,appClientId:e,crypto:i,isMultiUserModeEnabled:this.isMultiUserModeEnabled,cookieWriteBehavior:t?.cookieWriteBehavior}),this.mfa=new Ag(this._privyInternal),this.mfaPromises=new _h,this.app=new lm(this._privyInternal),this.embeddedWallet=new gh(this._privyInternal,r.embeddedWalletMessagePoster,r.supportedChains,this.mfa,this.mfaPromises,this.app,sm(this.plugins)),this.user=new Uh(this._privyInternal,this.embeddedWallet,t?.mode===`multi-user`),this.auth=new yg(this._privyInternal,this.embeddedWallet,r.storage,i,this.mfa),this.recovery=new Ng(this._privyInternal,r.storage,i),this.funding=new Dg(this._privyInternal),this.delegated=new fm(this._privyInternal),this.crossApp=new dm(this._privyInternal,r.storage)}async initialize(){await this._privyInternal._initialize()}setMessagePoster(e){this.embeddedWallet.setMessagePoster(e)}addOAuthTokensListener(e){return this._privyInternal.session.on(`oauth_tokens_granted`,e),{unsubscribe:()=>{this._privyInternal.session.removeListener(`oauth_tokens_granted`,e)}}}setCallbacks(e){this._privyInternal.setCallbacks(e)}getAccessToken(){return this._privyInternal.getAccessToken()}getIdentityToken(){return this._privyInternal.getIdentityToken()}track({name:e,properties:t}){this._privyInternal.createAnalyticsEvent(e,t)}getCompiledPath(e,t){return this._privyInternal.getPath(e,t)}async fetchPrivyRoute(e,t){return this._privyInternal.fetch(e,t)}async fetchPrivyRouteRaw(e,t){return this._privyInternal.fetchRaw(e,t)}get logger(){return this._privyInternal.logger}},Fg=(e,t)=>Yp(String(e),t),Ig=e=>Jp(e,`US`)?.format(`E.164`)??e.replace(/[\s()-]/g,``),Lg=(e,t)=>`+${Qp(t)} ${e}`,Rg=e=>`*${e.replaceAll(`-`,``).slice(-4)}`,zg=e=>new Xp(e),Bg=Zp().map(e=>({code:e,callCode:Qp(e)})),Vg=e=>{let t=$p(e,Rc)?.formatInternational();return t?.substring(t.indexOf(` `)+1)},Hg=e=>{let t=new Xp;t.input(e);let n=t.getCountry()||`US`,r=t.getCallingCode()||`1`;return{countryCode:n,phone:e.replace(`+`+r,``)}},Ug=(e,t=!0)=>e.reduce((e,n)=>({...e,[n]:t}),{}),Wg={[wt.id]:`0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48`,[St.id]:`0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238`,[dt.id]:`0x0b2c639c533813f4aa9d7837caf62653d097ff85`,[vt.id]:`0x5fd84259d66Cd46123540766Be93DFE6D43130D7`,[bt.id]:`0x3c499c542cef5e3811e1192ce70d8cc03d5c3359`,[ft.id]:`0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582`,[gt.id]:`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`,[Et.id]:`0x036CbD53842c5426634e7929541eC2318f3dCF7e`,[ht.id]:`0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E`,[yt.id]:`0x5425890298aed601595a70ab815c96711a31bc65`,[Tt.id]:`0xaf88d065e77c8cC2239327C5EDb3A432268e5831`,[Ct.id]:`0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d`};async function Gg(e,t){let n=`${e}-auto-${t===`ethereum`?`eth`:`sol`}`,r=new TextEncoder().encode(n),i=await crypto.subtle.digest(`SHA-256`,r);return Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Kg=new Set([wt.id,gt.id,dt.id,bt.id,Tt.id,ht.id,_t.id]),qg=new Set([wt.id,gt.id,bt.id,dt.id,Tt.id,ht.id,_t.id]),Jg={buy:`CARD`,send:`CRYPTO_ACCOUNT`},Yg={USDC:`2b92315d-eab7-5bef-84fa-089a131333f5`,ETH:`d85dce9b-5b73-5c3c-8978-522ce1d1c1b4`,BTC:`5b71fc48-3dd3-540c-809b-f8c94d0e68b5`,SOL:`4f039497-3af8-5bb3-951c-6df9afa9be1c`,POL:`026bcc1e-9163-591c-a709-34dd18b2e7a1`,MON:`92aa538f-b005-45cc-a237-71d6466f54d9`};wt.id,gt.id,dt.id,bt.id,Tt.id,ht.id,_t.id;function Xg(e){return e.startsWith(`.`)?`0${e}`:e}function Zg({appId:e,input:t,amount:n,blockchain:r,asset:i,experience:a}){let o=new URL(`https://pay.coinbase.com/buy/select-asset`);return o.searchParams.set(`appId`,t.app_id),o.searchParams.set(`sessionToken`,t.session_token),o.searchParams.set(`endPartnerName`,`privy:${e}`),o.searchParams.set(`defaultExperience`,a),o.searchParams.set(`presetCryptoAmount`,Xg(n)),o.searchParams.set(`defaultNetwork`,r),o.searchParams.set(`defaultPaymentMethod`,Jg[a]),o.searchParams.set(`defaultAsset`,Yg[i]),o.searchParams.set(`partnerUserId`,t.partner_user_id),{url:o}}var Qg=(e,t)=>{switch(t){case`native-currency`:return Kg.has(e);case`USDC`:return qg.has(e);default:return console.warn(`Unknown asset passed to Coinbase Onramp`),!1}};function $g(e,t){return t===`USDC`?`USDC`:e===bt.id?`POL`:e===_t.id?`MON`:`ETH`}var e_=`solana offchain`,t_=1232;function n_(e){let t=M.utf8.toBytes(e),n=new Uint8Array(32);return n.set(t.slice(0,32)),n}function r_({message:e,signerPublicKey:t,domain:n}){let r=M.utf8.toBytes(e);if(t.length!==32)throw Error(`Signer public key must be 32 bytes`);let i=85+r.length;if(i>t_)throw Error(`Combined message length (${i}) exceeds maximum (${t_})`);let a=n_(n),o=new Uint8Array(i),s=0;o[s]=255,s+=1;let c=M.utf8.toBytes(e_);return o.set(c,s),s+=c.length,o[s]=0,s+=1,o.set(a,s),s+=32,o[s]=1,s+=1,o[s]=1,s+=1,o.set(t,s),s+=32,o[s]=r.length&255,o[s+1]=r.length>>8&255,s+=2,o.set(r,s),o}var i_=[`privy`],a_=[`metamask`,`phantom`,`brave_wallet`,`rainbow`],o_=[`coinbase_wallet`],s_=`metamask.trust.safe.rainbow.uniswap.zerion.argent.spot.omni.cryptocom.blockchain.safepal.bitget_wallet.zengo.1inch.binance.exodus.mew_wallet.alphawallet.keyring_pro.mathwallet.unstoppable.obvious.ambire.internet_money_wallet.coin98.abc_wallet.arculus_wallet.haha.cling_wallet.broearn.copiosa.burrito_wallet.enjin_wallet.plasma_wallet.avacus.bee.pitaka.pltwallet.minerva.kryptogo.prema.slingshot.kriptonio.timeless.secux.bitizen.blocto.safemoon`.split(`.`),c_=[`unknown`];[...a_,...o_,...s_,...i_,...c_];function l_(e){return e?`${e.slice(0,5)}…${e.slice(-4)}`:``}function u_({wei:e,precision:t=3}){return parseFloat(Oe(e)).toFixed(t).replace(/0+$/,``).replace(/\.$/,``)}function d_({amount:e,decimals:t}){return o(BigInt(e),t)}var f_=e=>[...Gh(e),...qh(e)],p_=(e,t)=>e.imported?e:Kh(t)??Jh(t),m_=e=>async({address:t,chainType:n})=>{let{user:r}=await e.user.get();if(!r)throw new Y({code:`delegated_actions_before_logged_in`,error:`Must be logged in to delegate wallets`});if(n!==`solana`&&n!==`ethereum`)throw new Y({code:`unsupported_chain_type`,error:`Only Solana and Ethereum embedded wallets are supported for delegation and revocation.`});let i=f_(r).find(e=>e.chain_type===n&&e.address===t);if(!i)throw new Y({code:`delegated_actions_wallet_not_found`,error:`Address to delegate is not associated with current user.`});if(X(i))throw new Y({code:`unsupported_wallet_type`,error:`useDelegatedActions is only supported for on-device execution and this app uses TEE execution. Use the useSessionSigners hook to provision server side access on behalf of your users. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide`});if(i.delegated)return{user:r};let a=p_(i,r);if(!a)throw new Y({code:`delegated_actions_wallet_not_found`,error:`Address to delegate is not associated with current user.`});await e.embeddedWallet.delegateWallets({rootWallet:{address:a.address,chainType:a.chain_type,imported:a.imported},delegatedWallets:[{address:i.address,chainType:i.chain_type,walletIndex:i.wallet_index}]});let{user:o}=await e.user.get();return{user:o}},h_=e=>async()=>{let{user:t}=await e.user.get();if(!t)throw new Y({code:`delegated_actions_before_logged_in`,error:`Must be logged in to revoke delegated wallets`});let n=f_(t);if(n.some(X))throw new Y({code:`unsupported_wallet_type`,error:`revokeWallets is only supported for on-device execution and this app uses TEE execution. Use the useSessionSigners hook to manage server side access on behalf of your users. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide`});if(n.every(e=>!e.delegated))throw new Y({code:`delegated_actions_no_wallet_to_revoke`,error:`User has no delegated wallets to revoke.`});await e.delegated.revoke();let{user:r}=await e.user.get();return{user:r}};tm({delegateWallet:()=>m_,revokeWallets:()=>h_});var g_=({client:e,openAuthSession:t})=>async({providerAppId:n,redirectUrl:r,loginOptions:i})=>{let a=`privy:${n}`,{url:o}=await e.auth.oauth.generateURL(a,r),s=await t(o,r),c=s.privy_oauth_state,l=s.privy_oauth_code;if(!c||!l)throw new Y({code:`login_with_oauth_returned_with_invalid_credentials`,error:`Auth session oauth returned invalid credentials`});let u=await e.auth.oauth.loginWithCode(l,c,a,void 0,void 0,i),d=u.oauth_tokens;return d&&await e.crossApp.updateOnCrossAppAuthentication(n,d),u},__=({client:e,openAuthSession:t})=>async({providerAppId:n,redirectUrl:r})=>{let i=`privy:${n}`,{url:a}=await e.auth.oauth.generateURL(i,r),o=await t(a,r),s=o.privy_oauth_state,c=o.privy_oauth_code;if(!s||!c)throw new Y({code:`login_with_oauth_returned_with_invalid_credentials`,error:`Auth session oauth returned invalid credentials`});let l=e.addOAuthTokensListener(t=>{e.crossApp.updateOnCrossAppAuthentication(n,t)}),{user:u}=await e.auth.oauth.linkWithCode(c,s,i);return l.unsubscribe(),u};function v_(e,t){return e.linked_accounts.filter(e=>e.type===`cross_app`).flatMap(e=>e.smart_wallets).some(e=>e.address===t)}var y_=(e,t)=>e.linked_accounts.filter(e=>e.type===`cross_app`).find(({embedded_wallets:e,smart_wallets:n})=>[...e,...n].some(e=>e.address===t)),b_=({client:e,openAuthSession:t})=>{let n=__({client:e,openAuthSession:t});return async({providerAppId:t,redirectUrl:r})=>await e.crossApp.getProviderAccessToken(t)||(await n({providerAppId:t,redirectUrl:r}),await e.crossApp.getProviderAccessToken(t))},x_=({client:e,openAuthSession:t})=>{let n=b_({client:e,openAuthSession:t});return async({user:r,request:i,redirectUrl:a,address:o})=>{let s=y_(r,o);if(!s)throw new Y({code:`cross_app_invalid_wallet`,error:`Cannot operate with this wallet address`});let c=s.provider_app_id,{connections:l}=await e.crossApp.getCrossAppConnections(),u=l.find(e=>e.provider_app_id===c);if(!u)throw new Y({code:`cross_app_invalid_app`,error:`Invalid connected app`});if(u.read_only)throw new Y({code:`cross_app_read_only`,error:`Cannot transact against a read-only provider app`});let d=await n({providerAppId:c,redirectUrl:a});if(!d)throw new Y({code:`cross_app_request_error`,error:`Wallet operations require a valid token`});let f={content:{request:{request:i}},timestamp:Date.now(),callbackUrl:a},p=new URL(`${u.provider_app_custom_api_url}/oauth/transact`);p.searchParams.set(`communicationMode`,`redirect`),p.searchParams.set(`token`,d),p.searchParams.set(`request`,JSON.stringify(f));let{privy_cross_app_type:m,privy_cross_app_payload:h}=await t(p.href,a);if(!m||!h)throw new Y({code:`cross_app_request_error`,error:`Cross app request returned an invalid result`});if(m===`PRIVY_CROSS_APP_ACTION_ERROR`)throw new Y({code:`cross_app_request_error`,error:h});if(m!==`PRIVY_CROSS_APP_ACTION_RESPONSE`)throw new Y({code:`cross_app_request_error`,error:`Cross app request returned an invalid result`});return{result:h}}};function S_(e){if(!e)throw new Y({code:`attempted_cross_app_request_before_logged_in`,error:`Must be logged in to sign messages with a cross-app wallet`})}var C_=({client:e,openAuthSession:t})=>{let n=x_({client:e,openAuthSession:t});return async({user:e,address:t,message:r,redirectUrl:i})=>{S_(e);let a={method:v_(e,t)?`privy_signSmartWalletMessage`:`personal_sign`,params:[r,t]},{result:o}=await n({user:e,request:a,address:t,redirectUrl:i});return{signature:o}}};function w_(e){let t={name:`string`,version:`string`,chainId:`uint256`,verifyingContract:`address`,salt:`bytes32`},n=e.types.EIP712Domain??Object.entries(e.domain??{}).map(([e,n])=>{if(n!=null&&typeof e==`string`&&e in t)return{name:e,type:t[e]}}).filter(e=>!!e),r={...e.types};return r.EIP712Domain=n,{...e,types:r}}var T_=({client:e,openAuthSession:t})=>{let n=x_({client:e,openAuthSession:t});return async({user:e,typedData:t,address:r,redirectUrl:i})=>{S_(e);let a={method:v_(e,r)?`privy_signSmartWalletTypedData`:`eth_signTypedData_v4`,params:[r,w_(t)]},{result:o}=await n({user:e,request:a,address:r,redirectUrl:i});return{signature:o}}},E_=({client:e,openAuthSession:t})=>{let n=x_({client:e,openAuthSession:t});return async({user:e,transaction:t,address:r,redirectUrl:i})=>{S_(e);let a={method:v_(e,r)?`privy_sendSmartWalletTx`:`eth_sendTransaction`,params:[t]},{result:o}=await n({user:e,request:a,address:r,redirectUrl:i});return{transactionHash:o}}},D_=tm({sendTransaction:()=>E_,signMessage:()=>C_,signTypedData:()=>T_});tm({linkWithCrossAppAuth:()=>__,loginWithCrossAppAuth:()=>g_,wallet:()=>D_});function O_(e){if(e.startsWith(`eip155:`))return`ethereum`;if(e.startsWith(`solana:`))return`solana`;if(e.startsWith(`bip122:`))return`bitcoin-segwit`;if(e.startsWith(`tron:`))return`tron`}function k_(e,t){let n=O_(e);if(!n)return;let r=t.linked_accounts.find(e=>e.type===`wallet`&&e.chain_type===n&&`address`in e&&e.address);return r&&`address`in r?r.address:void 0}async function A_(e){let{user:t}=await e.privy.user.get();if(!t)return{ok:!1,error:`NOT_AUTHENTICATED`};let n=k_(e.caip2,t);if(n)return{ok:!0,address:n};let r=O_(e.caip2);if(!r)return{ok:!1,error:`UNSUPPORTED_CHAIN`};try{let t=await e.privy.fetchPrivyRoute(Ar,{body:{chain_type:r}});return await e.onWalletCreated?.(),{ok:!0,address:t.address}}catch{return{ok:!1,error:`REFUND_WALLET_CREATION_FAILED`}}}async function j_(e){let{user:t}=await e.privy.user.get();if(!t)throw Error(`NOT_AUTHENTICATED`);let n=e.refundAddress;if(!n){let t=await A_({privy:e.privy,caip2:e.sourceChain,onWalletCreated:e.onWalletCreated});if(!t.ok)throw Error(t.error);n=t.address}let r=await e.privy.fetchPrivyRoute(Bn,{body:{source_chain:e.sourceChain,source_currency:e.sourceCurrency,destination_chain:e.destinationChain,destination_currency:e.destinationCurrency,destination_address:e.destinationAddress,refund_address:n,...e.slippageBps==null?{}:{slippage_bps:e.slippageBps}}});return e.privy.track({name:`sdk_deposit_address_headless_quote`,properties:{sourceChain:e.sourceChain,sourceCurrency:e.sourceCurrency,destinationChain:e.destinationChain,destinationCurrency:e.destinationCurrency,depositAddressId:r.id}}),r}function M_(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}var N_=async({operation:e,until:t,delay:n,interval:r,attempts:i,signal:a})=>{n&&await M_(n);let o=0,s,c;for(;o<i;){if(a?.aborted)return{status:`aborted`,result:s,attempts:o,error:c};o++;try{if(c=void 0,s=await e(),t(s))return{status:`success`,result:s,attempts:o};o<i&&await M_(r)}catch(e){e instanceof Error&&(c=e),o<i&&await M_(r)}}return{status:`max_attempts`,result:s,attempts:o,error:c}},P_=2e3,F_=18e5;function I_(e,t){return Math.ceil(t/e)}function L_(e){return e.status===`success`?e.result?{status:`success`,order:e.result}:{status:`timeout`}:e.status===`aborted`?{status:`aborted`,error:e.error}:{status:`timeout`,error:e.error}}async function R_(e){return await e.privy.fetchPrivyRoute(Vn,{params:{order_id:e.orderId}})}async function z_(e){let t=e.pollIntervalMs??P_,n=e.timeoutMs??F_,r=e.signal??new AbortController().signal;return L_(await N_({operation:async()=>{let t=await e.privy.fetchPrivyRoute(Hn,{params:{deposit_address_id:e.depositAddressId},query:{after:e.quoteCreatedAt}});if(t.order)return await e.privy.fetchPrivyRoute(Vn,{params:{order_id:t.order.id}})},until:e=>e!==void 0,delay:t,interval:t,attempts:I_(t,n),signal:r}))}async function B_(e){let t=e.pollIntervalMs??P_,n=e.timeoutMs??F_,r=e.signal??new AbortController().signal;return L_(await N_({operation:()=>e.privy.fetchPrivyRoute(Vn,{params:{order_id:e.orderId}}),until:e=>e.status!==`executing`,delay:t,interval:t,attempts:I_(t,n),signal:r}))}var V_=tm({generateDepositAddress:()=>j_,getConfig:()=>H_,getDeposit:()=>R_,resolveRefundAddress:()=>A_,waitForCompletion:()=>B_,waitForDeposit:()=>z_});async function H_(e){let t=await e.fetchPrivyRoute(Un,{});return{currencies:t.currencies,chains:t.chains}}function U_(e){let t=e.depositAddressStrategy===void 0?{}:{deposit_address_strategy:e.depositAddressStrategy};return e.type===`deposit_config`?{type:`deposit_config`,deposit_config_id:e.depositConfigId,...t}:{type:`inline_route`,source:e.source,destination:e.destination,...t}}async function W_(e,t,n){let{walletId:r}=n,i=U_(n),a=e.getCompiledPath(Wn,{params:{wallet_id:r}}),o=String(Date.now()+Tm),{signature:s}=await Cm(t,{version:1,url:a,method:Wn.method,headers:{"privy-app-id":e.app.appId,[wm]:o},body:i});if(Date.now()>Number(o))throw new Y({error:`Wallet request expired before it could be sent. Please try again.`,code:`embedded_wallet_request_expired`});let c=await e.fetchPrivyRoute(Wn,{body:i,params:{wallet_id:r},headers:{"privy-authorization-signature":s,[wm]:o}});return e.track({name:`sdk_deposit_address_headless_create`,properties:{version:`v3`,action:`create`,walletId:r,type:n.type,...n.type===`inline_route`?{destinationChain:n.destination.chain,destinationCurrency:n.destination.asset}:{depositConfigId:n.depositConfigId}}}),c}async function G_(e,t){let n=await e.fetchPrivyRoute(Kn,{body:{source:t.source,destination:t.destination,...t.inputAmount==null?{}:{input_amount:t.inputAmount},...t.slippageBps==null?{}:{slippage_bps:t.slippageBps}}});return e.track({name:`sdk_deposit_address_headless_quote`,properties:{version:`v3`,action:`quote`,sourceChain:t.source.chain,sourceCurrency:t.source.asset,destinationChain:t.destination.chain,destinationCurrency:t.destination.asset}}),n}function K_(e){let t=Number(e.input_amount),n=Number(e.estimated_output_amount);if(Number.isFinite(t)&&Number.isFinite(n)&&t!==0)return String(n/t)}async function q_(e,t){return e.fetchPrivyRoute(qn,{params:{wallet_id:t.walletId,order_id:t.orderId}})}async function J_(e,t){return e.fetchPrivyRoute(Jn,{params:{wallet_id:t.walletId},query:{after:t.after}})}var Y_={ethereum:`eip155:1`,arbitrum:`eip155:42161`,avalanche:`eip155:43114`,arc:`eip155:5042`,base:`eip155:8453`,tempo:`eip155:4217`,linea:`eip155:59144`,optimism:`eip155:10`,polygon:`eip155:137`,bsc:`eip155:56`,zksync_era:`eip155:324`,solana:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,tron:`tron:mainnet`,robinhood:`eip155:4663`,unichain:`eip155:130`,worldchain:`eip155:480`,ink:`eip155:57073`,soneium:`eip155:1868`,megaeth:`eip155:4326`,hyperevm:`eip155:999`,hypercore:`eip155:1337`,"tempo_zone:00001":`eip155:421700001`,"tempo_zone:00002":`eip155:421700002`,tempo_testnet:`eip155:42431`,"tempo_testnet_zone:00003":`eip155:1424310003`,hoodi:`eip155:560048`,sepolia:`eip155:11155111`,arbitrum_sepolia:`eip155:421614`,avalanche_fuji:`eip155:43113`,base_sepolia:`eip155:84532`,linea_testnet:`eip155:59140`,optimism_sepolia:`eip155:11155420`,polygon_amoy:`eip155:80002`,bsc_testnet:`eip155:97`,solana_devnet:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,solana_testnet:`solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`,tron_nile:`tron:nile`,robinhood_testnet:`eip155:46630`,ink_sepolia:`eip155:763373`},X_=[{id:`eth`,symbol:`ETH`},{id:`sol`,symbol:`SOL`},{id:`pol`,symbol:`POL`},{id:`trx`,symbol:`TRX`},{id:`usdc`,symbol:`USDC`},{id:`usdc_e`,symbol:`USDC.e`},{id:`usdt`,symbol:`USDT`},{id:`usdt0`,symbol:`USDT0`},{id:`usdb`,symbol:`USDB`},{id:`eurc`,symbol:`EURC`},{id:`ousd`,symbol:`OUSD`},{id:`usdg`,symbol:`USDG`},{id:`pathusd`,symbol:`PathUSD`}],Z_=new Set([`native`,`native-token`,`0x0000000000000000000000000000000000000000`,`11111111111111111111111111111111`]);function Q_(e){return Z_.has(e.toLowerCase())}function $_(e){return e.includes(`:`)}function ev(e){return $_(e)?e:Y_[e.toLowerCase()]||(/^\d+$/.test(e)?`eip155:${e}`:e)}function tv(e){return Q_(e)}function nv(e){let t=e.toLowerCase();return X_.find(e=>e.id===t||e.symbol.toLowerCase()===t)}function rv({symbol:e,address:t}){return nv(e)?.id??t}function iv({asset:e,symbol:t,addresses:n}){let r=e.toLowerCase();return t.toLowerCase()===r?!0:tv(e)?n.some(Q_):n.some(e=>e.toLowerCase()===r)}function av({config:e,chain:t,asset:n}){let r=t?ev(t):void 0;for(let t of e.currencies){let e=r?t.chains.filter(e=>ev(e.caip2)===r):t.chains;if(e.length!==0&&iv({asset:n,symbol:t.symbol,addresses:e.map(e=>e.address)}))return t.symbol}return n.toUpperCase()}function ov(e,t,n){return sv(e,n)===sv(t,n)}function sv(e,t){let n=ev(e);if(n!==e||e.includes(`:`))return n;let r=e.toLowerCase();for(let n of Object.values(t.chains))if(n.caip2===e||n.display_name.toLowerCase()===r||String(n.chain_id)===e)return n.caip2;return n}function cv(e,t){return iv({asset:t.asset,symbol:e.symbol,addresses:e.chains.map(e=>e.address)})}function lv({caip2:e,asset:t,config:n}){return!t.chain||ov(t.chain,e,n)}function uv({currency:e,source:t,config:n}){switch(t.mode){case`all`:return e.chains;case`include`:{let r=t.values.filter(t=>cv(e,t));return r.length===0?[]:e.chains.filter(e=>r.some(t=>lv({caip2:e.caip2,asset:t,config:n})))}case`exclude`:{let r=t.values.filter(t=>cv(e,t));return r.length===0?e.chains:e.chains.filter(e=>!r.some(t=>lv({caip2:e.caip2,asset:t,config:n})))}default:return e.chains}}function dv(e,t){return{currencies:e.currencies.map(n=>({...n,chains:uv({currency:n,source:t,config:e})})).filter(e=>e.chains.length>0),chains:e.chains}}function fv(e){return e.startsWith(`0x`)}function pv(e,t){let n=fv(e);switch(t){case`evm`:case`hypevm`:return n;case`svm`:case`bvm`:case`tron`:case`tvm`:return!n;default:return n}}function mv(e,t){let n=ev(t);switch(e.source.mode){case`all`:return!0;case`include`:return e.source.values.some(e=>!e.chain||ev(e.chain)===n);case`exclude`:return!e.source.values.some(e=>!e.chain||ev(e.chain)===n);default:return e.source,!1}}function hv({accounts:e,selectedChain:t}){if(e.length===0)return;let n=e.filter(e=>mv(e,t.caip2)),r=n.length>0?n:e,i=r.find(e=>pv(e.deposit_address,t.vmType));return i?i.deposit_address:r[0]?.deposit_address}var gv=tm({createCryptoDepositAccount:()=>W_,filterDepositConfig:()=>dv,findCatalogSymbol:()=>av,getCryptoDepositAccountNextOrder:()=>J_,getCryptoDepositAccountOrder:()=>q_,getCryptoDepositAccountQuote:()=>G_,indicativeRateFromQuote:()=>K_,isNativeAssetAlias:()=>tv,pickDepositAddressForChain:()=>hv,quoteSourceAsset:()=>rv,resolveChainAlias:()=>ev});async function _v(e,{wallet_id:t}){return await e.fetchPrivyRoute(jr,{params:{wallet_id:t}})}async function vv(e,{wallet_id:t},n,r){let{signature:i}=await Cm(n,{version:1,url:e.getCompiledPath(Nr,{params:{wallet_id:t}}),method:Nr.method,headers:{"privy-app-id":e.app.appId},body:r});return await e.fetchPrivyRoute(Nr,{params:{wallet_id:t},body:r,headers:{"privy-authorization-signature":i}})}async function yv(e,t,{wallet_id:n,...r}){let i=e.getCompiledPath(Fr,{params:{wallet_id:n}}),a=String(Date.now()+Tm),{signature:o}=await Cm(t,{version:1,url:i,method:Fr.method,headers:{"privy-app-id":e.app.appId,[wm]:a},body:{...r}});if(Date.now()>Number(a))throw new Y({error:`Wallet request expired before it could be sent. Please try again.`,code:`embedded_wallet_request_expired`});return await e.fetchPrivyRoute(Fr,{body:r,params:{wallet_id:n},headers:{"privy-authorization-signature":o,[wm]:a}})}async function bv(e,{wallet_id:t,action_id:n}){return await e.fetchPrivyRoute(Ir,{params:{wallet_id:t,action_id:n}})}async function xv(e,{wallet_id:t,...n}){return await e.fetchPrivyRoute(Lr,{params:{wallet_id:t},query:{...n.cursor?{cursor:n.cursor}:{},...n.limit===void 0||n.limit===null?{}:{limit:n.limit},...n.type?{type:n.type}:{}}})}var Sv=class{#e;#t;get standardWallet(){return this.#e}get address(){return this.#t.address}constructor({wallet:e,account:t}){this.#e=e,this.#t=t}async disconnect(){if(!this.#e.features[`standard:disconnect`]?.disconnect)throw Error(`Wallet does not support disconnect`);await this.#e.features[`standard:disconnect`].disconnect()}async signMessage(...e){if(!this.#e.features[`solana:signMessage`]?.signMessage)throw Error(`Wallet does not support signMessage`);let t=await this.#e.features[`solana:signMessage`].signMessage(...e.map(e=>({...e,account:this.#t})));return e.length===1?t[0]:[...t]}async signTransaction(...e){if(!this.#e.features[`solana:signTransaction`]?.signTransaction)throw Error(`Wallet does not support signTransaction`);let t=await this.#e.features[`solana:signTransaction`].signTransaction(...e.map(e=>({...e,account:this.#t})));return e.length===1?t[0]:[...t]}async signAndSendTransaction(...e){if(!this.#e.features[`solana:signAndSendTransaction`]?.signAndSendTransaction)throw Error(`Wallet does not support signAndSendTransaction`);let t=await this.#e.features[`solana:signAndSendTransaction`].signAndSendTransaction(...e.map(e=>({...e,account:this.#t})));return e.length===1?t[0]:[...t]}async signAndSendAllTransactions(e){if(!this.#e.features[`solana:signAndSendTransaction`]?.signAndSendTransaction)throw Error(`Wallet does not support signAndSendTransaction`);return[...await this.#e.features[`solana:signAndSendTransaction`].signAndSendTransaction(...e.map(e=>({...e,account:this.#t})))]}},Cv=Pg;export{mr as $,u_ as A,gv as B,yv as C,gr as Ct,cm as D,om as E,r_ as F,Tc as G,Q as H,d_ as I,ei as J,M as K,wg as L,mh as M,Wg as N,l_ as O,Hg as P,Kr as Q,Lg as R,Rg as S,xr as St,$g as T,Qp as U,Dm as V,Dc as W,Qr as X,Xr as Y,qr as Z,Y as _,Or as _t,_v as a,pr as at,N_ as b,mn as bt,xv as c,dn as ct,Em as d,Tr as dt,Bn as et,Um as f,hr as ft,Sv as g,Cr as gt,Cm as h,Gn as ht,Ig as i,pn as it,Tg as j,xh as k,zg as l,yr as lt,V_ as m,vr as mt,Ug as n,fn as nt,pm as o,un as ot,Qg as p,Er as pt,Zr as q,Cv as r,ln as rt,Bg as s,cn as st,bm as t,Un as tt,bv as u,Sr as ut,Vg as v,br as vt,Zg as w,wr as wt,Fg as x,_r as xt,Gg as y,Dr as yt,vv as z};