@m0-foundation/swap-component 0.0.1
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.
- package/dist/m0-swap-component/ConstantsUtil-btJ3XIXu.js +28 -0
- package/dist/m0-swap-component/ConstantsUtil-btJ3XIXu.js.map +1 -0
- package/dist/m0-swap-component/HelpersUtil-5wkO4kIW.js +142 -0
- package/dist/m0-swap-component/HelpersUtil-5wkO4kIW.js.map +1 -0
- package/dist/m0-swap-component/PhArrowCircleDown-BiDIiYXi.js +76 -0
- package/dist/m0-swap-component/PhArrowCircleDown-BiDIiYXi.js.map +1 -0
- package/dist/m0-swap-component/PhArrowClockwise-BRnlxNUR.js +76 -0
- package/dist/m0-swap-component/PhArrowClockwise-BRnlxNUR.js.map +1 -0
- package/dist/m0-swap-component/PhArrowDown-Co2hyXIs.js +76 -0
- package/dist/m0-swap-component/PhArrowDown-Co2hyXIs.js.map +1 -0
- package/dist/m0-swap-component/PhArrowLeft-Cb8ijwK6.js +76 -0
- package/dist/m0-swap-component/PhArrowLeft-Cb8ijwK6.js.map +1 -0
- package/dist/m0-swap-component/PhArrowRight-B9t--Gmh.js +76 -0
- package/dist/m0-swap-component/PhArrowRight-B9t--Gmh.js.map +1 -0
- package/dist/m0-swap-component/PhArrowSquareOut-eGBMEr5T.js +76 -0
- package/dist/m0-swap-component/PhArrowSquareOut-eGBMEr5T.js.map +1 -0
- package/dist/m0-swap-component/PhArrowUp-CjSpT-xh.js +76 -0
- package/dist/m0-swap-component/PhArrowUp-CjSpT-xh.js.map +1 -0
- package/dist/m0-swap-component/PhArrowUpRight-B8u6wk-A.js +76 -0
- package/dist/m0-swap-component/PhArrowUpRight-B8u6wk-A.js.map +1 -0
- package/dist/m0-swap-component/PhArrowsClockwise-CBcfV6j6.js +76 -0
- package/dist/m0-swap-component/PhArrowsClockwise-CBcfV6j6.js.map +1 -0
- package/dist/m0-swap-component/PhArrowsDownUp-CMVR84b1.js +76 -0
- package/dist/m0-swap-component/PhArrowsDownUp-CMVR84b1.js.map +1 -0
- package/dist/m0-swap-component/PhArrowsLeftRight-CmXk8rs2.js +76 -0
- package/dist/m0-swap-component/PhArrowsLeftRight-CmXk8rs2.js.map +1 -0
- package/dist/m0-swap-component/PhBank-BigtjnS8.js +76 -0
- package/dist/m0-swap-component/PhBank-BigtjnS8.js.map +1 -0
- package/dist/m0-swap-component/PhBrowser-BOulLD8D.js +76 -0
- package/dist/m0-swap-component/PhBrowser-BOulLD8D.js.map +1 -0
- package/dist/m0-swap-component/PhCaretDown-BvvZ65ad.js +76 -0
- package/dist/m0-swap-component/PhCaretDown-BvvZ65ad.js.map +1 -0
- package/dist/m0-swap-component/PhCaretLeft-DtwjZbZ7.js +76 -0
- package/dist/m0-swap-component/PhCaretLeft-DtwjZbZ7.js.map +1 -0
- package/dist/m0-swap-component/PhCaretRight-C8LuSZkO.js +76 -0
- package/dist/m0-swap-component/PhCaretRight-C8LuSZkO.js.map +1 -0
- package/dist/m0-swap-component/PhCaretUp-B2lAObip.js +76 -0
- package/dist/m0-swap-component/PhCaretUp-B2lAObip.js.map +1 -0
- package/dist/m0-swap-component/PhCheck-DQtuVrQf.js +76 -0
- package/dist/m0-swap-component/PhCheck-DQtuVrQf.js.map +1 -0
- package/dist/m0-swap-component/PhCircleHalf-CXfZ0QZv.js +76 -0
- package/dist/m0-swap-component/PhCircleHalf-CXfZ0QZv.js.map +1 -0
- package/dist/m0-swap-component/PhClock-CXsmuc_a.js +76 -0
- package/dist/m0-swap-component/PhClock-CXsmuc_a.js.map +1 -0
- package/dist/m0-swap-component/PhCompass-Cg-qnMon.js +76 -0
- package/dist/m0-swap-component/PhCompass-Cg-qnMon.js.map +1 -0
- package/dist/m0-swap-component/PhCopy-kGRKcvb4.js +76 -0
- package/dist/m0-swap-component/PhCopy-kGRKcvb4.js.map +1 -0
- package/dist/m0-swap-component/PhCreditCard-jYFausLO.js +76 -0
- package/dist/m0-swap-component/PhCreditCard-jYFausLO.js.map +1 -0
- package/dist/m0-swap-component/PhCurrencyDollar-C8vSY3fy.js +76 -0
- package/dist/m0-swap-component/PhCurrencyDollar-C8vSY3fy.js.map +1 -0
- package/dist/m0-swap-component/PhDesktop-AczlBCho.js +76 -0
- package/dist/m0-swap-component/PhDesktop-AczlBCho.js.map +1 -0
- package/dist/m0-swap-component/PhDeviceMobile-3rFbdWLA.js +76 -0
- package/dist/m0-swap-component/PhDeviceMobile-3rFbdWLA.js.map +1 -0
- package/dist/m0-swap-component/PhDotsThree-cJsXXsvY.js +76 -0
- package/dist/m0-swap-component/PhDotsThree-cJsXXsvY.js.map +1 -0
- package/dist/m0-swap-component/PhEnvelope-C1bxHVXw.js +76 -0
- package/dist/m0-swap-component/PhEnvelope-C1bxHVXw.js.map +1 -0
- package/dist/m0-swap-component/PhFunnelSimple-DhqB9fsu.js +76 -0
- package/dist/m0-swap-component/PhFunnelSimple-DhqB9fsu.js.map +1 -0
- package/dist/m0-swap-component/PhGlobe-BFp6kx95.js +76 -0
- package/dist/m0-swap-component/PhGlobe-BFp6kx95.js.map +1 -0
- package/dist/m0-swap-component/PhIdentificationCard-BdYxckWB.js +76 -0
- package/dist/m0-swap-component/PhIdentificationCard-BdYxckWB.js.map +1 -0
- package/dist/m0-swap-component/PhImage-CXxX5oq3.js +76 -0
- package/dist/m0-swap-component/PhImage-CXxX5oq3.js.map +1 -0
- package/dist/m0-swap-component/PhInfo-BcuP36hY.js +76 -0
- package/dist/m0-swap-component/PhInfo-BcuP36hY.js.map +1 -0
- package/dist/m0-swap-component/PhLightbulb-DkWwRl94.js +76 -0
- package/dist/m0-swap-component/PhLightbulb-DkWwRl94.js.map +1 -0
- package/dist/m0-swap-component/PhMagnifyingGlass-B_fFjslY.js +76 -0
- package/dist/m0-swap-component/PhMagnifyingGlass-B_fFjslY.js.map +1 -0
- package/dist/m0-swap-component/PhPaperPlaneRight-BIzGG3QW.js +76 -0
- package/dist/m0-swap-component/PhPaperPlaneRight-BIzGG3QW.js.map +1 -0
- package/dist/m0-swap-component/PhPlus-BGosT2zu.js +76 -0
- package/dist/m0-swap-component/PhPlus-BGosT2zu.js.map +1 -0
- package/dist/m0-swap-component/PhPower-BMqDnP1n.js +76 -0
- package/dist/m0-swap-component/PhPower-BMqDnP1n.js.map +1 -0
- package/dist/m0-swap-component/PhPuzzlePiece-DNMpiJNU.js +76 -0
- package/dist/m0-swap-component/PhPuzzlePiece-DNMpiJNU.js.map +1 -0
- package/dist/m0-swap-component/PhQrCode-DrHkqrU4.js +76 -0
- package/dist/m0-swap-component/PhQrCode-DrHkqrU4.js.map +1 -0
- package/dist/m0-swap-component/PhQuestion-zTfvwqNz.js +76 -0
- package/dist/m0-swap-component/PhQuestion-zTfvwqNz.js.map +1 -0
- package/dist/m0-swap-component/PhQuestionMark-h3Nk1Yf1.js +76 -0
- package/dist/m0-swap-component/PhQuestionMark-h3Nk1Yf1.js.map +1 -0
- package/dist/m0-swap-component/PhSealCheck-DPPqSt6G.js +76 -0
- package/dist/m0-swap-component/PhSealCheck-DPPqSt6G.js.map +1 -0
- package/dist/m0-swap-component/PhSignOut-CJgnrE_v.js +76 -0
- package/dist/m0-swap-component/PhSignOut-CJgnrE_v.js.map +1 -0
- package/dist/m0-swap-component/PhSpinner-CMTEIWbw.js +76 -0
- package/dist/m0-swap-component/PhSpinner-CMTEIWbw.js.map +1 -0
- package/dist/m0-swap-component/PhTrash-CeDVW4am.js +76 -0
- package/dist/m0-swap-component/PhTrash-CeDVW4am.js.map +1 -0
- package/dist/m0-swap-component/PhUser-lQ9WUtAV.js +76 -0
- package/dist/m0-swap-component/PhUser-lQ9WUtAV.js.map +1 -0
- package/dist/m0-swap-component/PhVault-EnLnS_IQ.js +76 -0
- package/dist/m0-swap-component/PhVault-EnLnS_IQ.js.map +1 -0
- package/dist/m0-swap-component/PhWallet-CUeDZydd.js +76 -0
- package/dist/m0-swap-component/PhWallet-CUeDZydd.js.map +1 -0
- package/dist/m0-swap-component/PhWarning-CokeGZs2.js +76 -0
- package/dist/m0-swap-component/PhWarning-CokeGZs2.js.map +1 -0
- package/dist/m0-swap-component/PhWarningCircle-vWtA7S0R.js +76 -0
- package/dist/m0-swap-component/PhWarningCircle-vWtA7S0R.js.map +1 -0
- package/dist/m0-swap-component/PhX-DwCRIvoc.js +76 -0
- package/dist/m0-swap-component/PhX-DwCRIvoc.js.map +1 -0
- package/dist/m0-swap-component/data-capture-BmovBbKV.js +573 -0
- package/dist/m0-swap-component/data-capture-BmovBbKV.js.map +1 -0
- package/dist/m0-swap-component/email-B4niz3Ms.js +445 -0
- package/dist/m0-swap-component/email-B4niz3Ms.js.map +1 -0
- package/dist/m0-swap-component/embedded-wallet-D6bzjX_K.js +988 -0
- package/dist/m0-swap-component/embedded-wallet-D6bzjX_K.js.map +1 -0
- package/dist/m0-swap-component/features-EhJNVE-M.js +355 -0
- package/dist/m0-swap-component/features-EhJNVE-M.js.map +1 -0
- package/dist/m0-swap-component/if-defined-2CMpVr2R.js +12 -0
- package/dist/m0-swap-component/if-defined-2CMpVr2R.js.map +1 -0
- package/dist/m0-swap-component/index-B4xuj7uR.js +965 -0
- package/dist/m0-swap-component/index-B4xuj7uR.js.map +1 -0
- package/dist/m0-swap-component/index-BVZ66GYf.js +206 -0
- package/dist/m0-swap-component/index-BVZ66GYf.js.map +1 -0
- package/dist/m0-swap-component/index-BZXyMieH.js +150 -0
- package/dist/m0-swap-component/index-BZXyMieH.js.map +1 -0
- package/dist/m0-swap-component/index-Bj5sA_Ri.js +252 -0
- package/dist/m0-swap-component/index-Bj5sA_Ri.js.map +1 -0
- package/dist/m0-swap-component/index-Bs-pPJYj.js +129 -0
- package/dist/m0-swap-component/index-Bs-pPJYj.js.map +1 -0
- package/dist/m0-swap-component/index-CMS76VPf.js +474 -0
- package/dist/m0-swap-component/index-CMS76VPf.js.map +1 -0
- package/dist/m0-swap-component/index-CoMTkqee.js +95 -0
- package/dist/m0-swap-component/index-CoMTkqee.js.map +1 -0
- package/dist/m0-swap-component/index-DE0OtbL2.js +3566 -0
- package/dist/m0-swap-component/index-DE0OtbL2.js.map +1 -0
- package/dist/m0-swap-component/index-DEG-YczD.js +231 -0
- package/dist/m0-swap-component/index-DEG-YczD.js.map +1 -0
- package/dist/m0-swap-component/index-DY_Ijq_4.js +4345 -0
- package/dist/m0-swap-component/index-DY_Ijq_4.js.map +1 -0
- package/dist/m0-swap-component/index-IRpGhIhy.js +9394 -0
- package/dist/m0-swap-component/index-IRpGhIhy.js.map +1 -0
- package/dist/m0-swap-component/index-Z70nBYWG.js +113 -0
- package/dist/m0-swap-component/index-Z70nBYWG.js.map +1 -0
- package/dist/m0-swap-component/index-iNFotRMa.js +73 -0
- package/dist/m0-swap-component/index-iNFotRMa.js.map +1 -0
- package/dist/m0-swap-component/index-n1fooC-v.js +37757 -0
- package/dist/m0-swap-component/index-n1fooC-v.js.map +1 -0
- package/dist/m0-swap-component/index.esm.js +2 -0
- package/dist/m0-swap-component/index.esm.js.map +1 -0
- package/dist/m0-swap-component/loader.esm.js.map +1 -0
- package/dist/m0-swap-component/m0-swap-component.esm.js +48 -0
- package/dist/m0-swap-component/m0-swap-component.esm.js.map +1 -0
- package/dist/m0-swap-component/native-CPtqJIn7.js +18 -0
- package/dist/m0-swap-component/native-CPtqJIn7.js.map +1 -0
- package/dist/m0-swap-component/onramp-BppY2eDR.js +1003 -0
- package/dist/m0-swap-component/onramp-BppY2eDR.js.map +1 -0
- package/dist/m0-swap-component/pay-with-exchange-BJYQgTMB.js +639 -0
- package/dist/m0-swap-component/pay-with-exchange-BJYQgTMB.js.map +1 -0
- package/dist/m0-swap-component/property-BN-VaT99.js +625 -0
- package/dist/m0-swap-component/property-BN-VaT99.js.map +1 -0
- package/dist/m0-swap-component/receive-BptRM_5_.js +281 -0
- package/dist/m0-swap-component/receive-BptRM_5_.js.map +1 -0
- package/dist/m0-swap-component/ref-3xALOvo5.js +25 -0
- package/dist/m0-swap-component/ref-3xALOvo5.js.map +1 -0
- package/dist/m0-swap-component/send-BCyHM4Zr.js +1408 -0
- package/dist/m0-swap-component/send-BCyHM4Zr.js.map +1 -0
- package/dist/m0-swap-component/socials-BbajCSWV.js +824 -0
- package/dist/m0-swap-component/socials-BbajCSWV.js.map +1 -0
- package/dist/m0-swap-component/swap-module-5ZLM-vAV.js +140887 -0
- package/dist/m0-swap-component/swap-module-5ZLM-vAV.js.map +1 -0
- package/dist/m0-swap-component/swap-module.entry.esm.js.map +1 -0
- package/dist/m0-swap-component/swap-module.entry.js +15 -0
- package/dist/m0-swap-component/swaps-DyGe65DR.js +2121 -0
- package/dist/m0-swap-component/swaps-DyGe65DR.js.map +1 -0
- package/dist/m0-swap-component/transactions-BZ9l4zt5.js +60 -0
- package/dist/m0-swap-component/transactions-BZ9l4zt5.js.map +1 -0
- package/dist/m0-swap-component/utils-RCeZbvdb.js +95 -0
- package/dist/m0-swap-component/utils-RCeZbvdb.js.map +1 -0
- package/dist/m0-swap-component/w3m-modal-D0HWVPsj.js +2097 -0
- package/dist/m0-swap-component/w3m-modal-D0HWVPsj.js.map +1 -0
- package/dist/m0-swap-component/wui-button-BeTWD3Va.js +223 -0
- package/dist/m0-swap-component/wui-button-BeTWD3Va.js.map +1 -0
- package/dist/m0-swap-component/wui-email-input-CgnfUH0c.js +65 -0
- package/dist/m0-swap-component/wui-email-input-CgnfUH0c.js.map +1 -0
- package/dist/m0-swap-component/wui-icon-B0uTDhW-.js +4 -0
- package/dist/m0-swap-component/wui-icon-B0uTDhW-.js.map +1 -0
- package/dist/m0-swap-component/wui-icon-box-s87lODBB.js +4 -0
- package/dist/m0-swap-component/wui-icon-box-s87lODBB.js.map +1 -0
- package/dist/m0-swap-component/wui-icon-link-BFpV9kPE.js +127 -0
- package/dist/m0-swap-component/wui-icon-link-BFpV9kPE.js.map +1 -0
- package/dist/m0-swap-component/wui-image-BvjxoR51.js +4 -0
- package/dist/m0-swap-component/wui-image-BvjxoR51.js.map +1 -0
- package/dist/m0-swap-component/wui-input-amount-CWQfP3RO.js +182 -0
- package/dist/m0-swap-component/wui-input-amount-CWQfP3RO.js.map +1 -0
- package/dist/m0-swap-component/wui-input-text-g0sN4B2y.js +4 -0
- package/dist/m0-swap-component/wui-input-text-g0sN4B2y.js.map +1 -0
- package/dist/m0-swap-component/wui-link-VqM3wLny.js +123 -0
- package/dist/m0-swap-component/wui-link-VqM3wLny.js.map +1 -0
- package/dist/m0-swap-component/wui-list-item-BIijofqN.js +170 -0
- package/dist/m0-swap-component/wui-list-item-BIijofqN.js.map +1 -0
- package/dist/m0-swap-component/wui-list-social-C7GhkRc8.js +119 -0
- package/dist/m0-swap-component/wui-list-social-C7GhkRc8.js.map +1 -0
- package/dist/m0-swap-component/wui-list-token-C94lmAbT.js +134 -0
- package/dist/m0-swap-component/wui-list-token-C94lmAbT.js.map +1 -0
- package/dist/m0-swap-component/wui-list-wallet-C7fnQvCW.js +622 -0
- package/dist/m0-swap-component/wui-list-wallet-C7fnQvCW.js.map +1 -0
- package/dist/m0-swap-component/wui-loading-spinner-CW2_5SKA.js +4 -0
- package/dist/m0-swap-component/wui-loading-spinner-CW2_5SKA.js.map +1 -0
- package/dist/m0-swap-component/wui-loading-thumbnail-y3sGkT5j.js +337 -0
- package/dist/m0-swap-component/wui-loading-thumbnail-y3sGkT5j.js.map +1 -0
- package/dist/m0-swap-component/wui-qr-code-DekJTDGf.js +3412 -0
- package/dist/m0-swap-component/wui-qr-code-DekJTDGf.js.map +1 -0
- package/dist/m0-swap-component/wui-separator-DMZIL_Av.js +67 -0
- package/dist/m0-swap-component/wui-separator-DMZIL_Av.js.map +1 -0
- package/dist/m0-swap-component/wui-shimmer-CVFC8fMx.js +4 -0
- package/dist/m0-swap-component/wui-shimmer-CVFC8fMx.js.map +1 -0
- package/dist/m0-swap-component/wui-text-BS_lZKY4.js +1127 -0
- package/dist/m0-swap-component/wui-text-BS_lZKY4.js.map +1 -0
- package/dist/m0-swap-component/wui-token-button-CsOFoNJG.js +214 -0
- package/dist/m0-swap-component/wui-token-button-CsOFoNJG.js.map +1 -0
- package/dist/m0-swap-component/wui-visual-hU2Mkyrv.js +565 -0
- package/dist/m0-swap-component/wui-visual-hU2Mkyrv.js.map +1 -0
- package/dist/m0-swap-component/wui-wallet-switch-CWbdtfbN.js +459 -0
- package/dist/m0-swap-component/wui-wallet-switch-CWbdtfbN.js.map +1 -0
- package/dist/types/components/swap-module/balances.d.ts +16 -0
- package/dist/types/components/swap-module/chains.d.ts +16 -0
- package/dist/types/components/swap-module/store.d.ts +34 -0
- package/dist/types/components/swap-module/swap-module.d.ts +113 -0
- package/dist/types/components/swap-module/utils/constants.d.ts +7 -0
- package/dist/types/components/swap-module/utils/formatters.d.ts +23 -0
- package/dist/types/components/swap-module/utils/reown.d.ts +59 -0
- package/dist/types/components/swap-module/utils/wallet.d.ts +83 -0
- package/dist/types/components.d.ts +165 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1732 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-n1fooC-v.js","sources":["../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/constants.js","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.16_react@19.1.1/node_modules/zustand/esm/middleware.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.1.16_react@19.1.1/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/store/store.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/telemetry-content.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/initCCA.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/constants.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/error/constants.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/error/utils.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/error/errors.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/assertPresence.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/checkCrossOriginOpenerPolicy.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/validatePreferences.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/logEvent.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/communicator.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/dialog.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/assets/fontFaceCSS.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/assets/injectFontStyle.js","../../../node_modules/.pnpm/preact@10.24.2/node_modules/preact/dist/preact.module.js","../../../node_modules/.pnpm/preact@10.24.2/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/username/getDisplayableUsername.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/assets/colors.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/assets/BaseLogo.js","../../../node_modules/.pnpm/preact@10.24.2/node_modules/preact/hooks/dist/hooks.module.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/Dialog/Dialog-css.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/Dialog/Dialog.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/ui/Dialog/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/web.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/communicator/Communicator.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/error/serialize.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/provider/interface.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/provider.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/utils.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/type/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/type/util.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/scw-signer.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/scw-sub-account.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/constants/abis.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/constants/address.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7739/actions/signMessage.js","../../../node_modules/.pnpm/@scure+bip32@1.7.0/node_modules/@scure/bip32/lib/esm/index.js","../../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/pbkdf2.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/index.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/generateMnemonic.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/generatePrivateKey.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/toAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/sign.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/signAuthorization.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/signMessage.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/signTransaction.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/signTypedData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/privateKeyToAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/hdKeyToAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/mnemonicToAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/czech.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/english.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/french.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/italian.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/japanese.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/korean.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/portuguese.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/simplified-chinese.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/spanish.js","../../../node_modules/.pnpm/@scure+bip39@1.6.0/node_modules/@scure/bip39/esm/wordlists/traditional-chinese.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/wordlists.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/accounts/index.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7739/utils/wrapTypedDataSignature.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7739/actions/signTypedData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/errors/bundler.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/errors/userOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/actions/index.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/account-abstraction/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/store/chain-clients/store.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/store/chain-clients/utils.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/store/correlation-ids/store.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/assertSubAccount.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/cipher.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/provider.js","../../../node_modules/.pnpm/idb-keyval@6.2.1/node_modules/idb-keyval/dist/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/kms/crypto-key/storage.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/kms/crypto-key/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/SCWKeyManager.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/get.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/util/encoding.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/createSmartAccount.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/createSubAccountSigner.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/findOwnerIndex.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/eip5792/actions/writeContracts.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/eip5792/decorators/eip5792.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7715/actions/grantPermissions.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7715/decorators/erc7715.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7739/decorators/erc7739.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7811/actions/getAssets.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7811/decorators/erc7811.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/constants.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/errors.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/utils/encodeCalls.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/utils/encodeExecuteData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/utils/getExecuteError.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/actions/supportsExecutionMode.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/actions/execute.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/utils/encodeExecuteBatchesData.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/actions/executeBatches.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7821/decorators/erc7821.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7846/actions/connect.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7846/actions/disconnect.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7846/decorators/erc7846.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7895/actions/addSubAccount.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/erc7895/decorators/erc7895.js","../../../node_modules/.pnpm/viem@2.44.4_bufferutil@4.0.9_typescript@5.7.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/experimental/index.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/presentAddOwnerDialog.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/handleAddSubAccountOwner.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/routeThroughGlobalAccount.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/utils/handleInsufficientBalance.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/sign/base-account/Signer.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/builder/core/BaseAccountProvider.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/builder/core/getInjectedProvider.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/builder/core/createBaseAccountSDK.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/constants.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/payment.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/getPaymentStatus.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/spend-permission.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/withTelemetry.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/fetchPermission.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/fetchPermissions.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/getHash.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/utils.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/utils.node.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/getPermissionStatus.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/prepareSpendCallData.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/requestRevoke.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/public-utilities/spend-permission/methods/requestSpendPermission.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/getSubscriptionStatus.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/utils/sdkManager.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/utils/translatePayment.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/utils/validation.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/pay.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/prepareCharge.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/core/telemetry/events/subscription.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/subscribe.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/base.browser.js","../../../node_modules/.pnpm/@base-org+account@2.4.0_@types+react@19.1.16_bufferutil@4.0.9_encoding@0.1.13_fastestsm_7b5ba63be6672bfdff78da6509dc5168/node_modules/@base-org/account/dist/interface/payment/index.js"],"sourcesContent":["import pkg from '../../package.json' with { type: 'json' };\nexport const CB_KEYS_URL = 'https://keys.coinbase.com/connect';\nexport const CB_WALLET_RPC_URL = 'https://rpc.wallet.coinbase.com';\nexport const PACKAGE_NAME = pkg.name;\nexport const PACKAGE_VERSION = pkg.version;\n//# sourceMappingURL=constants.js.map","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === undefined) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === undefined ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === undefined) {\n connection == null ? undefined : connection.send(action, get());\n return r;\n }\n connection == null ? undefined : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? undefined : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? undefined : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : undefined) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === undefined) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === undefined || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === undefined) {\n return connection == null ? undefined : connection.init(api.getState());\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === undefined) {\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? undefined : _a.state;\n if (!lastComputedState) return;\n if (store === undefined) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? undefined : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== undefined) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? undefined : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? undefined : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? undefined : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? undefined : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? undefined : _b.call(options, (_a = get()) != null ? _a : configResult)) || undefined;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, undefined];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(stateFromStorage, undefined);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(undefined, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? undefined : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import { PACKAGE_VERSION } from '../core/constants.js';\nimport { createJSONStorage, persist } from 'zustand/middleware';\nimport { createStore } from 'zustand/vanilla';\nconst createChainSlice = () => {\n return {\n chains: [],\n };\n};\nconst createKeysSlice = () => {\n return {\n keys: {},\n };\n};\nconst createAccountSlice = () => {\n return {\n account: {},\n };\n};\nconst createSubAccountSlice = () => {\n return {\n subAccount: undefined,\n };\n};\nconst createSubAccountConfigSlice = () => {\n return {\n subAccountConfig: {},\n };\n};\nconst createSpendPermissionsSlice = () => {\n return {\n spendPermissions: [],\n };\n};\nconst createConfigSlice = () => {\n return {\n config: {\n version: PACKAGE_VERSION,\n },\n };\n};\nexport const sdkstore = createStore(persist((...args) => ({\n ...createChainSlice(...args),\n ...createKeysSlice(...args),\n ...createAccountSlice(...args),\n ...createSubAccountSlice(...args),\n ...createSpendPermissionsSlice(...args),\n ...createConfigSlice(...args),\n ...createSubAccountConfigSlice(...args),\n}), {\n name: 'base-acc-sdk.store',\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => {\n // Explicitly select only the data properties we want to persist\n // (not the methods)\n return {\n chains: state.chains,\n keys: state.keys,\n account: state.account,\n subAccount: state.subAccount,\n spendPermissions: state.spendPermissions,\n config: state.config,\n };\n },\n}));\n// Non-persisted subaccount configuration\nexport const subAccountsConfig = {\n get: () => sdkstore.getState().subAccountConfig,\n set: (subAccountConfig) => {\n sdkstore.setState((state) => ({\n subAccountConfig: { ...state.subAccountConfig, ...subAccountConfig },\n }));\n },\n clear: () => {\n sdkstore.setState({\n subAccountConfig: {},\n });\n },\n};\nexport const subAccounts = {\n get: () => sdkstore.getState().subAccount,\n set: (subAccount) => {\n sdkstore.setState((state) => ({\n subAccount: state.subAccount\n ? { ...state.subAccount, ...subAccount }\n : { address: subAccount.address, ...subAccount },\n }));\n },\n clear: () => {\n sdkstore.setState({\n subAccount: undefined,\n });\n },\n};\nexport const spendPermissions = {\n get: () => sdkstore.getState().spendPermissions,\n set: (spendPermissions) => {\n sdkstore.setState({ spendPermissions });\n },\n clear: () => {\n sdkstore.setState({\n spendPermissions: [],\n });\n },\n};\nexport const account = {\n get: () => sdkstore.getState().account,\n set: (account) => {\n sdkstore.setState((state) => ({\n account: { ...state.account, ...account },\n }));\n },\n clear: () => {\n sdkstore.setState({\n account: {},\n });\n },\n};\nexport const chains = {\n get: () => sdkstore.getState().chains,\n set: (chains) => {\n sdkstore.setState({ chains });\n },\n clear: () => {\n sdkstore.setState({\n chains: [],\n });\n },\n};\nexport const keys = {\n get: (key) => sdkstore.getState().keys[key],\n set: (key, value) => {\n sdkstore.setState((state) => ({ keys: { ...state.keys, [key]: value } }));\n },\n clear: () => {\n sdkstore.setState({\n keys: {},\n });\n },\n};\nexport const config = {\n get: () => sdkstore.getState().config,\n set: (config) => {\n sdkstore.setState((state) => ({ config: { ...state.config, ...config } }));\n },\n};\nconst actions = {\n subAccounts,\n subAccountsConfig,\n spendPermissions,\n account,\n chains,\n keys,\n config,\n};\nexport const store = {\n ...sdkstore,\n ...actions,\n};\n//# sourceMappingURL=store.js.map","// This file is auto-generated by compile-assets.cjs\n// Do not edit manually - changes will be overwritten\nexport const TELEMETRY_SCRIPT_CONTENT = `!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ClientAnalytics=t():e.ClientAnalytics=t()}(this,(function(){return(()=>{var e={792:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join(\"\")}}};e.exports=t},562:e=>{var t,n;t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=n.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n<e.length;n++,r+=8)t[r>>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join(\"\")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var n=[],r=0;r<e.length;r+=3)for(var i=e[r]<<16|e[r+1]<<8|e[r+2],a=0;a<4;a++)8*r+6*a<=8*e.length?n.push(t.charAt(i>>>6*(3-a)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\\\\/]/gi,\"\");for(var n=[],r=0,i=0;r<e.length;i=++r%4)0!=i&&n.push((t.indexOf(e.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|t.indexOf(e.charAt(r))>>>6-2*i);return n}},e.exports=n},335:e=>{function t(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},762:(e,t,n)=>{var r,i,a,o,s;r=n(562),i=n(792).utf8,a=n(335),o=n(792).bin,(s=function(e,t){e.constructor==String?e=t&&\"binary\"===t.encoding?o.stringToBytes(e):i.stringToBytes(e):a(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),c=8*e.length,u=1732584193,l=-271733879,d=-1732584194,p=271733878,m=0;m<n.length;m++)n[m]=16711935&(n[m]<<8|n[m]>>>24)|4278255360&(n[m]<<24|n[m]>>>8);n[c>>>5]|=128<<c%32,n[14+(c+64>>>9<<4)]=c;var f=s._ff,v=s._gg,g=s._hh,b=s._ii;for(m=0;m<n.length;m+=16){var h=u,w=l,y=d,T=p;u=f(u,l,d,p,n[m+0],7,-680876936),p=f(p,u,l,d,n[m+1],12,-389564586),d=f(d,p,u,l,n[m+2],17,606105819),l=f(l,d,p,u,n[m+3],22,-1044525330),u=f(u,l,d,p,n[m+4],7,-176418897),p=f(p,u,l,d,n[m+5],12,1200080426),d=f(d,p,u,l,n[m+6],17,-1473231341),l=f(l,d,p,u,n[m+7],22,-45705983),u=f(u,l,d,p,n[m+8],7,1770035416),p=f(p,u,l,d,n[m+9],12,-1958414417),d=f(d,p,u,l,n[m+10],17,-42063),l=f(l,d,p,u,n[m+11],22,-1990404162),u=f(u,l,d,p,n[m+12],7,1804603682),p=f(p,u,l,d,n[m+13],12,-40341101),d=f(d,p,u,l,n[m+14],17,-1502002290),u=v(u,l=f(l,d,p,u,n[m+15],22,1236535329),d,p,n[m+1],5,-165796510),p=v(p,u,l,d,n[m+6],9,-1069501632),d=v(d,p,u,l,n[m+11],14,643717713),l=v(l,d,p,u,n[m+0],20,-373897302),u=v(u,l,d,p,n[m+5],5,-701558691),p=v(p,u,l,d,n[m+10],9,38016083),d=v(d,p,u,l,n[m+15],14,-660478335),l=v(l,d,p,u,n[m+4],20,-405537848),u=v(u,l,d,p,n[m+9],5,568446438),p=v(p,u,l,d,n[m+14],9,-1019803690),d=v(d,p,u,l,n[m+3],14,-187363961),l=v(l,d,p,u,n[m+8],20,1163531501),u=v(u,l,d,p,n[m+13],5,-1444681467),p=v(p,u,l,d,n[m+2],9,-51403784),d=v(d,p,u,l,n[m+7],14,1735328473),u=g(u,l=v(l,d,p,u,n[m+12],20,-1926607734),d,p,n[m+5],4,-378558),p=g(p,u,l,d,n[m+8],11,-2022574463),d=g(d,p,u,l,n[m+11],16,1839030562),l=g(l,d,p,u,n[m+14],23,-35309556),u=g(u,l,d,p,n[m+1],4,-1530992060),p=g(p,u,l,d,n[m+4],11,1272893353),d=g(d,p,u,l,n[m+7],16,-155497632),l=g(l,d,p,u,n[m+10],23,-1094730640),u=g(u,l,d,p,n[m+13],4,681279174),p=g(p,u,l,d,n[m+0],11,-358537222),d=g(d,p,u,l,n[m+3],16,-722521979),l=g(l,d,p,u,n[m+6],23,76029189),u=g(u,l,d,p,n[m+9],4,-640364487),p=g(p,u,l,d,n[m+12],11,-421815835),d=g(d,p,u,l,n[m+15],16,530742520),u=b(u,l=g(l,d,p,u,n[m+2],23,-995338651),d,p,n[m+0],6,-198630844),p=b(p,u,l,d,n[m+7],10,1126891415),d=b(d,p,u,l,n[m+14],15,-1416354905),l=b(l,d,p,u,n[m+5],21,-57434055),u=b(u,l,d,p,n[m+12],6,1700485571),p=b(p,u,l,d,n[m+3],10,-1894986606),d=b(d,p,u,l,n[m+10],15,-1051523),l=b(l,d,p,u,n[m+1],21,-2054922799),u=b(u,l,d,p,n[m+8],6,1873313359),p=b(p,u,l,d,n[m+15],10,-30611744),d=b(d,p,u,l,n[m+6],15,-1560198380),l=b(l,d,p,u,n[m+13],21,1309151649),u=b(u,l,d,p,n[m+4],6,-145523070),p=b(p,u,l,d,n[m+11],10,-1120210379),d=b(d,p,u,l,n[m+2],15,718787259),l=b(l,d,p,u,n[m+9],21,-343485551),u=u+h>>>0,l=l+w>>>0,d=d+y>>>0,p=p+T>>>0}return r.endian([u,l,d,p])})._ff=function(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},s._gg=function(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},s._hh=function(e,t,n,r,i,a,o){var s=e+(t^n^r)+(i>>>0)+o;return(s<<a|s>>>32-a)+t},s._ii=function(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+(i>>>0)+o;return(s<<a|s>>>32-a)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error(\"Illegal argument \"+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?o.bytesToString(n):r.bytesToHex(n)}},2:(e,t,n)=>{\"use strict\";n.r(t),n.d(t,{Perfume:()=>ze,incrementUjNavigation:()=>Le,markStep:()=>Re,markStepOnce:()=>qe});var r,i,a={isResourceTiming:!1,isElementTiming:!1,maxTime:3e4,reportOptions:{},enableNavigationTracking:!0},o=window,s=o.console,c=o.navigator,u=o.performance,l=function(){return c.deviceMemory},d=function(){return c.hardwareConcurrency},p=\"mark.\",m=function(){return u&&!!u.getEntriesByType&&!!u.now&&!!u.mark},f=\"4g\",v=!1,g={},b={value:0},h={value:{beacon:0,css:0,fetch:0,img:0,other:0,script:0,total:0,xmlhttprequest:0}},w={value:0},y={value:0},T={},k={isHidden:!1,didChange:!1},_=function(){k.isHidden=!1,document.hidden&&(k.isHidden=document.hidden,k.didChange=!0)},S=function(e,t){try{var n=new PerformanceObserver((function(e){t(e.getEntries())}));return n.observe({type:e,buffered:!0}),n}catch(e){s.warn(\"Perfume.js:\",e)}return null},E=function(){return!!(d()&&d()<=4)||!!(l()&&l()<=4)},x=function(e,t){switch(e){case\"slow-2g\":case\"2g\":case\"3g\":return!0;default:return E()||t}},O=function(e){return parseFloat(e.toFixed(4))},j=function(e){return\"number\"!=typeof e?null:O(e/Math.pow(1024,2))},N=function(e,t,n,r,i){var s,u=function(){a.analyticsTracker&&(k.isHidden&&![\"CLS\",\"INP\"].includes(e)||a.analyticsTracker({attribution:r,metricName:e,data:t,navigatorInformation:c?{deviceMemory:l()||0,hardwareConcurrency:d()||0,serviceWorkerStatus:\"serviceWorker\"in c?c.serviceWorker.controller?\"controlled\":\"supported\":\"unsupported\",isLowEndDevice:E(),isLowEndExperience:x(f,v)}:{},rating:n,navigationType:i}))};[\"CLS\",\"INP\"].includes(e)?u():(s=u,\"requestIdleCallback\"in o?o.requestIdleCallback(s,{timeout:3e3}):s())},I=function(e){e.forEach((function(e){if(!(\"self\"!==e.name||e.startTime<b.value)){var t=e.duration-50;t>0&&(w.value+=t,y.value+=t)}}))};!function(e){e.instant=\"instant\",e.quick=\"quick\",e.moderate=\"moderate\",e.slow=\"slow\",e.unavoidable=\"unavoidable\"}(r||(r={}));var P,M,B,C,D,A=((i={})[r.instant]={vitalsThresholds:[100,200],maxOutlierThreshold:1e4},i[r.quick]={vitalsThresholds:[200,500],maxOutlierThreshold:1e4},i[r.moderate]={vitalsThresholds:[500,1e3],maxOutlierThreshold:1e4},i[r.slow]={vitalsThresholds:[1e3,2e3],maxOutlierThreshold:1e4},i[r.unavoidable]={vitalsThresholds:[2e3,5e3],maxOutlierThreshold:2e4},i),L={RT:[100,200],TBT:[200,600],NTBT:[200,600]},U=function(e,t){return L[e]?t<=L[e][0]?\"good\":t<=L[e][1]?\"needsImprovement\":\"poor\":null},R=function(e,t,n){Object.keys(t).forEach((function(e){\"number\"==typeof t[e]&&(t[e]=O(t[e]))})),N(e,t,null,n||{})},q=function(e){var t=e.attribution,n=e.name,r=e.rating,i=e.value,o=e.navigationType;\"FCP\"===n&&(b.value=i),[\"FCP\",\"LCP\"].includes(n)&&!T[0]&&(T[0]=S(\"longtask\",I)),\"FID\"===n&&setTimeout((function(){k.didChange||(q({attribution:t,name:\"TBT\",rating:U(\"TBT\",w.value),value:w.value,navigationType:o}),R(\"dataConsumption\",h.value))}),1e4);var s=O(i);s<=a.maxTime&&s>=0&&N(n,s,r,t,o)},F=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},z=function(e){if(\"loading\"===document.readyState)return\"loading\";var t=F();if(t){if(e<t.domInteractive)return\"loading\";if(0===t.domContentLoadedEventStart||e<t.domContentLoadedEventStart)return\"dom-interactive\";if(0===t.domComplete||e<t.domComplete)return\"dom-content-loaded\"}return\"complete\"},K=function(e){var t=e.nodeName;return 1===e.nodeType?t.toLowerCase():t.toUpperCase().replace(/^#/,\"\")},$=function(e,t){var n=\"\";try{for(;e&&9!==e.nodeType;){var r=e,i=r.id?\"#\"+r.id:K(r)+(r.className&&r.className.length?\".\"+r.className.replace(/\\\\s+/g,\".\"):\"\");if(n.length+i.length>(t||100)-1)return n||i;if(n=n?i+\">\"+n:i,r.id)break;e=r.parentNode}}catch(e){}return n},Q=-1,W=function(){return Q},H=function(e){addEventListener(\"pageshow\",(function(t){t.persisted&&(Q=t.timeStamp,e(t))}),!0)},V=function(){var e=F();return e&&e.activationStart||0},J=function(e,t){var n=F(),r=\"navigate\";return W()>=0?r=\"back-forward-cache\":n&&(r=document.prerendering||V()>0?\"prerender\":document.wasDiscarded?\"restore\":n.type.replace(/_/g,\"-\")),{name:e,value:void 0===t?-1:t,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},X=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},G=function(e,t){var n=function n(r){\"pagehide\"!==r.type&&\"hidden\"!==document.visibilityState||(e(r),t&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},Z=function(e,t,n,r){var i,a;return function(o){t.value>=0&&(o||r)&&((a=t.value-(i||0))||void 0===i)&&(i=t.value,t.delta=a,t.rating=function(e,t){return e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\"}(t.value,n),e(t))}},Y=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},ee=function(e){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e()}),!0):e()},te=-1,ne=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},re=function(e){\"hidden\"===document.visibilityState&&te>-1&&(te=\"visibilitychange\"===e.type?e.timeStamp:0,ae())},ie=function(){addEventListener(\"visibilitychange\",re,!0),addEventListener(\"prerenderingchange\",re,!0)},ae=function(){removeEventListener(\"visibilitychange\",re,!0),removeEventListener(\"prerenderingchange\",re,!0)},oe=function(){return te<0&&(te=ne(),ie(),H((function(){setTimeout((function(){te=ne(),ie()}),0)}))),{get firstHiddenTime(){return te}}},se=function(e,t){t=t||{},ee((function(){var n,r=[1800,3e3],i=oe(),a=J(\"FCP\"),o=X(\"paint\",(function(e){e.forEach((function(e){\"first-contentful-paint\"===e.name&&(o.disconnect(),e.startTime<i.firstHiddenTime&&(a.value=Math.max(e.startTime-V(),0),a.entries.push(e),n(!0)))}))}));o&&(n=Z(e,a,r,t.reportAllChanges),H((function(i){a=J(\"FCP\"),n=Z(e,a,r,t.reportAllChanges),Y((function(){a.value=performance.now()-i.timeStamp,n(!0)}))})))}))},ce={passive:!0,capture:!0},ue=new Date,le=function(e,t){P||(P=t,M=e,B=new Date,me(removeEventListener),de())},de=function(){if(M>=0&&M<B-ue){var e={entryType:\"first-input\",name:P.type,target:P.target,cancelable:P.cancelable,startTime:P.timeStamp,processingStart:P.timeStamp+M};C.forEach((function(t){t(e)})),C=[]}},pe=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,t){var n=function(){le(e,t),i()},r=function(){i()},i=function(){removeEventListener(\"pointerup\",n,ce),removeEventListener(\"pointercancel\",r,ce)};addEventListener(\"pointerup\",n,ce),addEventListener(\"pointercancel\",r,ce)}(t,e):le(t,e)}},me=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(t){return e(t,pe,ce)}))},fe=0,ve=1/0,ge=0,be=function(e){e.forEach((function(e){e.interactionId&&(ve=Math.min(ve,e.interactionId),ge=Math.max(ge,e.interactionId),fe=ge?(ge-ve)/7+1:0)}))},he=function(){return D?fe:performance.interactionCount||0},we=0,ye=function(){return he()-we},Te=[],ke={},_e=function(e){var t=Te[Te.length-1],n=ke[e.interactionId];if(n||Te.length<10||e.duration>t.latency){if(n)n.entries.push(e),n.latency=Math.max(n.latency,e.duration);else{var r={id:e.interactionId,latency:e.duration,entries:[e]};ke[r.id]=r,Te.push(r)}Te.sort((function(e,t){return t.latency-e.latency})),Te.splice(10).forEach((function(e){delete ke[e.id]}))}},Se={},Ee=function e(t){document.prerendering?ee((function(){return e(t)})):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(t)}),!0):setTimeout(t,0)},xe=function(e,t){t=t||{};var n=[800,1800],r=J(\"TTFB\"),i=Z(e,r,n,t.reportAllChanges);Ee((function(){var a=F();if(a){var o=a.responseStart;if(o<=0||o>performance.now())return;r.value=Math.max(o-V(),0),r.entries=[a],i(!0),H((function(){r=J(\"TTFB\",0),(i=Z(e,r,n,t.reportAllChanges))(!0)}))}}))},Oe=function(e){e.forEach((function(e){e.identifier&&q({attribution:{identifier:e.identifier},name:\"ET\",rating:null,value:e.startTime})}))},je=function(e){e.forEach((function(e){if(a.isResourceTiming&&R(\"resourceTiming\",e),e.decodedBodySize&&e.initiatorType){var t=e.decodedBodySize/1e3;h.value[e.initiatorType]+=t,h.value.total+=t}}))},Ne=function(){!function(e,t){xe((function(e){!function(e){if(e.entries.length){var t=e.entries[0],n=t.activationStart||0,r=Math.max(t.domainLookupStart-n,0),i=Math.max(t.connectStart-n,0),a=Math.max(t.requestStart-n,0);e.attribution={waitingTime:r,dnsTime:i-r,connectionTime:a-i,requestTime:e.value-a,navigationEntry:t}}else e.attribution={waitingTime:0,dnsTime:0,connectionTime:0,requestTime:0}}(e),function(e){e.value>0&&q(e)}(e)}),t)}(0,a.reportOptions.ttfb),function(e,t){!function(e,t){t=t||{},ee((function(){var e,n=[.1,.25],r=J(\"CLS\"),i=-1,a=0,o=[],s=function(e){i>-1&&function(e){!function(e){if(e.entries.length){var t=e.entries.reduce((function(e,t){return e&&e.value>t.value?e:t}));if(t&&t.sources&&t.sources.length){var n=(r=t.sources).find((function(e){return e.node&&1===e.node.nodeType}))||r[0];if(n)return void(e.attribution={largestShiftTarget:$(n.node),largestShiftTime:t.startTime,largestShiftValue:t.value,largestShiftSource:n,largestShiftEntry:t,loadState:z(t.startTime)})}}var r;e.attribution={}}(e),function(e){q(e)}(e)}(e)},c=function(t){t.forEach((function(t){if(!t.hadRecentInput){var n=o[0],i=o[o.length-1];a&&t.startTime-i.startTime<1e3&&t.startTime-n.startTime<5e3?(a+=t.value,o.push(t)):(a=t.value,o=[t]),a>r.value&&(r.value=a,r.entries=o,e())}}))},u=X(\"layout-shift\",c);u&&(e=Z(s,r,n,t.reportAllChanges),se((function(t){i=t.value,r.value<0&&(r.value=0,e())})),G((function(){c(u.takeRecords()),e(!0)})),H((function(){a=0,i=-1,r=J(\"CLS\",0),e=Z(s,r,n,t.reportAllChanges),Y((function(){return e()}))})))}))}(0,t)}(0,a.reportOptions.cls),function(e,t){se((function(e){!function(e){if(e.entries.length){var t=F(),n=e.entries[e.entries.length-1];if(t){var r=t.activationStart||0,i=Math.max(0,t.responseStart-r);return void(e.attribution={timeToFirstByte:i,firstByteToFCP:e.value-i,loadState:z(e.entries[0].startTime),navigationEntry:t,fcpEntry:n})}}e.attribution={timeToFirstByte:0,firstByteToFCP:e.value,loadState:z(W())}}(e),function(e){q(e)}(e)}),t)}(0,a.reportOptions.fcp),function(e,t){!function(e,t){t=t||{},ee((function(){var n,r=[100,300],i=oe(),a=J(\"FID\"),o=function(e){e.startTime<i.firstHiddenTime&&(a.value=e.processingStart-e.startTime,a.entries.push(e),n(!0))},s=function(e){e.forEach(o)},c=X(\"first-input\",s);n=Z(e,a,r,t.reportAllChanges),c&&G((function(){s(c.takeRecords()),c.disconnect()}),!0),c&&H((function(){var i;a=J(\"FID\"),n=Z(e,a,r,t.reportAllChanges),C=[],M=-1,P=null,me(addEventListener),i=o,C.push(i),de()}))}))}((function(e){!function(e){var t=e.entries[0];e.attribution={eventTarget:$(t.target),eventType:t.name,eventTime:t.startTime,eventEntry:t,loadState:z(t.startTime)}}(e),function(e){q(e)}(e)}),t)}(0,a.reportOptions.fid),function(e,t){!function(e,t){t=t||{},ee((function(){var n,r=[2500,4e3],i=oe(),a=J(\"LCP\"),o=function(e){var t=e[e.length-1];if(t){var r=Math.max(t.startTime-V(),0);r<i.firstHiddenTime&&(a.value=r,a.entries=[t],n())}},s=X(\"largest-contentful-paint\",o);if(s){n=Z(e,a,r,t.reportAllChanges);var c=function(){Se[a.id]||(o(s.takeRecords()),s.disconnect(),Se[a.id]=!0,n(!0))};[\"keydown\",\"click\"].forEach((function(e){addEventListener(e,c,{once:!0,capture:!0})})),G(c,!0),H((function(i){a=J(\"LCP\"),n=Z(e,a,r,t.reportAllChanges),Y((function(){a.value=performance.now()-i.timeStamp,Se[a.id]=!0,n(!0)}))}))}}))}((function(e){!function(e){if(e.entries.length){var t=F();if(t){var n=t.activationStart||0,r=e.entries[e.entries.length-1],i=r.url&&performance.getEntriesByType(\"resource\").filter((function(e){return e.name===r.url}))[0],a=Math.max(0,t.responseStart-n),o=Math.max(a,i?(i.requestStart||i.startTime)-n:0),s=Math.max(o,i?i.responseEnd-n:0),c=Math.max(s,r?r.startTime-n:0),u={element:$(r.element),timeToFirstByte:a,resourceLoadDelay:o-a,resourceLoadTime:s-o,elementRenderDelay:c-s,navigationEntry:t,lcpEntry:r};return r.url&&(u.url=r.url),i&&(u.lcpResourceEntry=i),void(e.attribution=u)}}e.attribution={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadTime:0,elementRenderDelay:e.value}}(e),function(e){q(e)}(e)}),t)}(0,a.reportOptions.lcp),function(e,t){!function(e,t){t=t||{},ee((function(){var n=[200,500];\"interactionCount\"in performance||D||(D=X(\"event\",be,{type:\"event\",buffered:!0,durationThreshold:0}));var r,i=J(\"INP\"),a=function(e){e.forEach((function(e){e.interactionId&&_e(e),\"first-input\"===e.entryType&&!Te.some((function(t){return t.entries.some((function(t){return e.duration===t.duration&&e.startTime===t.startTime}))}))&&_e(e)}));var t,n=(t=Math.min(Te.length-1,Math.floor(ye()/50)),Te[t]);n&&n.latency!==i.value&&(i.value=n.latency,i.entries=n.entries,r())},o=X(\"event\",a,{durationThreshold:t.durationThreshold||40});r=Z(e,i,n,t.reportAllChanges),o&&(o.observe({type:\"first-input\",buffered:!0}),G((function(){a(o.takeRecords()),i.value<0&&ye()>0&&(i.value=0,i.entries=[]),r(!0)})),H((function(){Te=[],we=he(),i=J(\"INP\"),r=Z(e,i,n,t.reportAllChanges)})))}))}((function(t){!function(e){if(e.entries.length){var t=e.entries.sort((function(e,t){return t.duration-e.duration||t.processingEnd-t.processingStart-(e.processingEnd-e.processingStart)}))[0];e.attribution={eventTarget:$(t.target),eventType:t.name,eventTime:t.startTime,eventEntry:t,loadState:z(t.startTime)}}else e.attribution={}}(t),e(t)}),t)}((function(e){return q(e)}),a.reportOptions.inp),a.isResourceTiming&&S(\"resource\",je),a.isElementTiming&&S(\"element\",Oe)},Ie=function(e){var t=\"usageDetails\"in e?e.usageDetails:{};R(\"storageEstimate\",{quota:j(e.quota),usage:j(e.usage),caches:j(t.caches),indexedDB:j(t.indexedDB),serviceWorker:j(t.serviceWorkerRegistrations)})},Pe={finalMarkToStepsMap:{},startMarkToStepsMap:{},active:{},navigationSteps:{}},Me=function(e){delete Pe.active[e]},Be=function(){return Pe.navigationSteps},Ce=function(e){var t;return null!==(t=Be()[e])&&void 0!==t?t:{}},De=function(e,t,n){var r=\"step.\"+e,i=u.getEntriesByName(p+t).length>0;if(u.getEntriesByName(p+n).length>0&&a.steps){var o=A[a.steps[e].threshold],s=o.maxOutlierThreshold,c=o.vitalsThresholds;if(i){var l=u.measure(r,p+t,p+n),d=l.duration;if(d<=s){var m=function(e,t){return e<=t[0]?\"good\":e<=t[1]?\"needsImprovement\":\"poor\"}(d,c);d>=0&&(N(\"userJourneyStep\",d,m,{stepName:e},void 0),u.measure(\"step.\".concat(e,\"_vitals_\").concat(m),{start:l.startTime+l.duration,end:l.startTime+l.duration,detail:{type:\"stepVital\",duration:d}}))}}}},Ae=function(){var e=Be(),t=Pe.startMarkToStepsMap,n=Object.keys(e).length;if(0===n)return{};var r={},i=n-1,a=Ce(i);if(Object.keys(a).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))})),n>1){var o=Ce(i-1);Object.keys(o).forEach((function(e){var n,i=null!==(n=t[e])&&void 0!==n?n:[];Object.keys(i).forEach((function(e){r[e]=!0}))}))}return r},Le=function(){var e,t=Object.keys(Pe.navigationSteps).length;Pe.navigationSteps[t]={};var n=Ae();null===(e=a.onMarkStep)||void 0===e||e.call(a,\"\",Object.keys(n))},Ue=function(e){var t,n,r,i,o,s,c;if(Pe.finalMarkToStepsMap[e]){!function(e){var t=Pe.navigationSteps,n=Pe.finalMarkToStepsMap,r=Object.keys(t).length;if(0!==r){var i=r-1,a=Ce(i);if(a&&n[e]){var o=n[e];o&&Object.keys(o).forEach((function(e){if(a[e]){var n=Ce(i)||{};n[e]=!1,t[i]=n}if(r>1){var o=i-1,s=Ce(o);s[e]&&(s[e]=!1,t[o]=s)}}))}}}(e);var u=Pe.finalMarkToStepsMap[e];Object.keys(u).forEach((function(t){var n=u[t];n.forEach(Me),Promise.all(n.map((function(n){return function(e,t,n,r){return new(n||(n=Promise))((function(e,t){function i(e){try{o(r.next(e))}catch(e){t(e)}}function a(e){try{o(r.throw(e))}catch(e){t(e)}}function o(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(i,a)}o((r=r.apply(undefined,[])).next())}))}(0,0,void 0,(function(){return function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError(\"Generator is already executing.\");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}(this,(function(r){switch(r.label){case 0:return[4,De(n,t,e)];case 1:return r.sent(),[2]}}))}))}))).catch((function(){}))}))}else r=e,i=Pe.navigationSteps,o=Object.keys(i).length,(c=Ce(s=(o>0?o:1)-1)||[])[r]=!0,i[s]=c,function(e){var t,n=null!==(t=Pe.startMarkToStepsMap[e])&&void 0!==t?t:[];Object.keys(n).forEach((function(e){Pe.active[e]||(Pe.active[e]=!0)}))}(e);if(a.enableNavigationTracking){var l=Ae();null===(t=a.onMarkStep)||void 0===t||t.call(a,e,Object.keys(l))}else null===(n=a.onMarkStep)||void 0===n||n.call(a,e,Object.keys(Pe.active))},Re=function(e){u.mark(p+e),Ue(e)},qe=function(e){0===u.getEntriesByName(p+e).length&&(u.mark(p+e),Ue(e))},Fe=0,ze=function(){function e(e){if(void 0===e&&(e={}),this.v=\"9.0.0-rc.3\",a.analyticsTracker=e.analyticsTracker,a.isResourceTiming=!!e.resourceTiming,a.isElementTiming=!!e.elementTiming,a.maxTime=e.maxMeasureTime||a.maxTime,a.reportOptions=e.reportOptions||a.reportOptions,a.steps=e.steps,a.onMarkStep=e.onMarkStep,a.enableNavigationTracking=e.enableNavigationTracking,m()){\"PerformanceObserver\"in o&&Ne(),void 0!==document.hidden&&document.addEventListener(\"visibilitychange\",_);var t=function(){if(!m())return{};var e=u.getEntriesByType(\"navigation\")[0];if(!e)return{};var t=e.responseStart,n=e.responseEnd;return{fetchTime:n-e.fetchStart,workerTime:e.workerStart>0?n-e.workerStart:0,totalTime:n-e.requestStart,downloadTime:n-t,timeToFirstByte:t-e.requestStart,headerSize:e.transferSize-e.encodedBodySize||0,dnsLookupTime:e.domainLookupEnd-e.domainLookupStart,redirectTime:e.redirectEnd-e.redirectStart}}();R(\"navigationTiming\",t),t.redirectTime&&q({attribution:{},name:\"RT\",rating:U(\"RT\",t.redirectTime),value:t.redirectTime}),R(\"networkInformation\",function(){if(\"connection\"in c){var e=c.connection;return\"object\"!=typeof e?{}:(f=e.effectiveType,v=!!e.saveData,{downlink:e.downlink,effectiveType:e.effectiveType,rtt:e.rtt,saveData:!!e.saveData})}return{}}()),c&&c.storage&&\"function\"==typeof c.storage.estimate&&c.storage.estimate().then(Ie),a.steps&&a.steps&&(Pe.startMarkToStepsMap={},Pe.finalMarkToStepsMap={},Pe.active={},Pe.navigationSteps={},Object.entries(a.steps).forEach((function(e){var t,n,r=e[0],i=e[1].marks,a=i[0],o=i[1],s=null!==(n=Pe.startMarkToStepsMap[a])&&void 0!==n?n:{};if(s[r]=!0,Pe.startMarkToStepsMap[a]=s,Pe.finalMarkToStepsMap[o]){var c=Pe.finalMarkToStepsMap[o][a]||[];c.push(r),Pe.finalMarkToStepsMap[o][a]=c}else Pe.finalMarkToStepsMap[o]=((t={})[a]=[r],t)})))}}return e.prototype.start=function(e){m()&&!g[e]&&(g[e]=!0,u.mark(\"mark_\".concat(e,\"_start\")))},e.prototype.end=function(e,t,n){if(void 0===t&&(t={}),void 0===n&&(n=!0),m()&&g[e]){u.mark(\"mark_\".concat(e,\"_end\")),delete g[e];var r=function(e){u.measure(e,\"mark_\".concat(e,\"_start\"),\"mark_\".concat(e,\"_end\"));var t=u.getEntriesByName(e).pop();return t&&\"measure\"===t.entryType?t.duration:-1}(e);n&&R(e,O(r),t)}},e.prototype.endPaint=function(e,t){var n=this;setTimeout((function(){n.end(e,t)}))},e.prototype.clear=function(e){delete g[e],u.clearMarks&&(u.clearMarks(\"mark_\".concat(e,\"_start\")),u.clearMarks(\"mark_\".concat(e,\"_end\")))},e.prototype.markNTBT=function(){var e=this;this.start(\"ntbt\"),y.value=0,clearTimeout(Fe),Fe=setTimeout((function(){e.end(\"ntbt\",{},!1),q({attribution:{},name:\"NTBT\",rating:U(\"NTBT\",y.value),value:y.value}),y.value=0}),2e3)},e}()},426:(e,t)=>{\"use strict\";Symbol.for(\"react.element\"),Symbol.for(\"react.portal\"),Symbol.for(\"react.fragment\"),Symbol.for(\"react.strict_mode\"),Symbol.for(\"react.profiler\"),Symbol.for(\"react.provider\"),Symbol.for(\"react.context\"),Symbol.for(\"react.forward_ref\"),Symbol.for(\"react.suspense\"),Symbol.for(\"react.memo\"),Symbol.for(\"react.lazy\"),Symbol.iterator;var n={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},r=Object.assign,i={};function a(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}function o(){}function s(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},o.prototype=a.prototype;var c=s.prototype=new o;c.constructor=s,r(c,a.prototype),c.isPureReactComponent=!0;Array.isArray,Object.prototype.hasOwnProperty;var u={current:null};t.useCallback=function(e,t){return u.current.useCallback(e,t)},t.useEffect=function(e,t){return u.current.useEffect(e,t)},t.useRef=function(e){return u.current.useRef(e)}},784:(e,t,n)=>{\"use strict\";e.exports=n(426)},353:function(e,t,n){var r;!function(i,a){\"use strict\";var o=\"function\",s=\"undefined\",c=\"object\",u=\"string\",l=\"major\",d=\"model\",p=\"name\",m=\"type\",f=\"vendor\",v=\"version\",g=\"architecture\",b=\"console\",h=\"mobile\",w=\"tablet\",y=\"smarttv\",T=\"wearable\",k=\"embedded\",_=\"Amazon\",S=\"Apple\",E=\"ASUS\",x=\"BlackBerry\",O=\"Browser\",j=\"Chrome\",N=\"Firefox\",I=\"Google\",P=\"Huawei\",M=\"LG\",B=\"Microsoft\",C=\"Motorola\",D=\"Opera\",A=\"Samsung\",L=\"Sharp\",U=\"Sony\",R=\"Xiaomi\",q=\"Zebra\",F=\"Facebook\",z=\"Chromium OS\",K=\"Mac OS\",$=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},Q=function(e,t){return typeof e===u&&-1!==W(t).indexOf(W(e))},W=function(e){return e.toLowerCase()},H=function(e,t){if(typeof e===u)return e=e.replace(/^\\\\s\\\\s*/,\"\"),typeof t===s?e:e.substring(0,350)},V=function(e,t){for(var n,r,i,s,u,l,d=0;d<t.length&&!u;){var p=t[d],m=t[d+1];for(n=r=0;n<p.length&&!u&&p[n];)if(u=p[n++].exec(e))for(i=0;i<m.length;i++)l=u[++r],typeof(s=m[i])===c&&s.length>0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,l):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=l?l.replace(s[1],s[2]):a:this[s[0]]=l?s[1].call(this,l,s[2]):a:4===s.length&&(this[s[0]]=l?s[3].call(this,l.replace(s[1],s[2])):a):this[s]=l||a;d+=2}},J=function(e,t){for(var n in t)if(typeof t[n]===c&&t[n].length>0){for(var r=0;r<t[n].length;r++)if(Q(t[n][r],e))return\"?\"===n?a:n}else if(Q(t[n],e))return\"?\"===n?a:n;return e},X={ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2e3:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"},G={browser:[[/\\\\b(?:crmo|crios)\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Chrome\"]],[/edg(?:e|ios|a)?\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Edge\"]],[/(opera mini)\\\\/([-\\\\w\\\\.]+)/i,/(opera [mobiletab]{3,6})\\\\b.+version\\\\/([-\\\\w\\\\.]+)/i,/(opera)(?:.+version\\\\/|[\\\\/ ]+)([\\\\w\\\\.]+)/i],[p,v],[/opios[\\\\/ ]+([\\\\w\\\\.]+)/i],[v,[p,D+\" Mini\"]],[/\\\\bopr\\\\/([\\\\w\\\\.]+)/i],[v,[p,D]],[/(kindle)\\\\/([\\\\w\\\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\\\/ ]?([\\\\w\\\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\\\/ ]?([\\\\w\\\\.]*)/i,/(ba?idubrowser)[\\\\/ ]?([\\\\w\\\\.]+)/i,/(?:ms|\\\\()(ie) ([\\\\w\\\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\\\/([-\\\\w\\\\.]+)/i,/(heytap|ovi)browser\\\\/([\\\\d\\\\.]+)/i,/(weibo)__([\\\\d\\\\.]+)/i],[p,v],[/(?:\\\\buc? ?browser|(?:juc.+)ucweb)[\\\\/ ]?([\\\\w\\\\.]+)/i],[v,[p,\"UC\"+O]],[/microm.+\\\\bqbcore\\\\/([\\\\w\\\\.]+)/i,/\\\\bqbcore\\\\/([\\\\w\\\\.]+).+microm/i],[v,[p,\"WeChat(Win) Desktop\"]],[/micromessenger\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"WeChat\"]],[/konqueror\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Konqueror\"]],[/trident.+rv[: ]([\\\\w\\\\.]{1,9})\\\\b.+like gecko/i],[v,[p,\"IE\"]],[/ya(?:search)?browser\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Yandex\"]],[/(avast|avg)\\\\/([\\\\w\\\\.]+)/i],[[p,/(.+)/,\"$1 Secure \"+O],v],[/\\\\bfocus\\\\/([\\\\w\\\\.]+)/i],[v,[p,N+\" Focus\"]],[/\\\\bopt\\\\/([\\\\w\\\\.]+)/i],[v,[p,D+\" Touch\"]],[/coc_coc\\\\w+\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Coc Coc\"]],[/dolfin\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"Dolphin\"]],[/coast\\\\/([\\\\w\\\\.]+)/i],[v,[p,D+\" Coast\"]],[/miuibrowser\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"MIUI \"+O]],[/fxios\\\\/([-\\\\w\\\\.]+)/i],[v,[p,N]],[/\\\\bqihu|(qi?ho?o?|360)browser/i],[[p,\"360 \"+O]],[/(oculus|samsung|sailfish|huawei)browser\\\\/([\\\\w\\\\.]+)/i],[[p,/(.+)/,\"$1 \"+O],v],[/(comodo_dragon)\\\\/([\\\\w\\\\.]+)/i],[[p,/_/g,\" \"],v],[/(electron)\\\\/([\\\\w\\\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\\\/(20\\\\d\\\\d\\\\.[-\\\\w\\\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\\\/ ]?([\\\\w\\\\.]+)/i],[p,v],[/(metasr)[\\\\/ ]?([\\\\w\\\\.]+)/i,/(lbbrowser)/i,/\\\\[(linkedin)app\\\\]/i],[p],[/((?:fban\\\\/fbios|fb_iab\\\\/fb4a)(?!.+fbav)|;fbav\\\\/([\\\\w\\\\.]+);)/i],[[p,F],v],[/(kakao(?:talk|story))[\\\\/ ]([\\\\w\\\\.]+)/i,/(naver)\\\\(.*?(\\\\d+\\\\.[\\\\w\\\\.]+).*\\\\)/i,/safari (line)\\\\/([\\\\w\\\\.]+)/i,/\\\\b(line)\\\\/([\\\\w\\\\.]+)\\\\/iab/i,/(chromium|instagram)[\\\\/ ]([-\\\\w\\\\.]+)/i],[p,v],[/\\\\bgsa\\\\/([\\\\w\\\\.]+) .*safari\\\\//i],[v,[p,\"GSA\"]],[/musical_ly(?:.+app_?version\\\\/|_)([\\\\w\\\\.]+)/i],[v,[p,\"TikTok\"]],[/headlesschrome(?:\\\\/([\\\\w\\\\.]+)| )/i],[v,[p,j+\" Headless\"]],[/ wv\\\\).+(chrome)\\\\/([\\\\w\\\\.]+)/i],[[p,j+\" WebView\"],v],[/droid.+ version\\\\/([\\\\w\\\\.]+)\\\\b.+(?:mobile safari|safari)/i],[v,[p,\"Android \"+O]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\\\/v?([\\\\w\\\\.]+)/i],[p,v],[/version\\\\/([\\\\w\\\\.\\\\,]+) .*mobile\\\\/\\\\w+ (safari)/i],[v,[p,\"Mobile Safari\"]],[/version\\\\/([\\\\w(\\\\.|\\\\,)]+) .*(mobile ?safari|safari)/i],[v,p],[/webkit.+?(mobile ?safari|safari)(\\\\/[\\\\w\\\\.]+)/i],[p,[v,J,{\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"}]],[/(webkit|khtml)\\\\/([\\\\w\\\\.]+)/i],[p,v],[/(navigator|netscape\\\\d?)\\\\/([-\\\\w\\\\.]+)/i],[[p,\"Netscape\"],v],[/mobile vr; rv:([\\\\w\\\\.]+)\\\\).+firefox/i],[v,[p,N+\" Reality\"]],[/ekiohf.+(flow)\\\\/([\\\\w\\\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\\\/ ]?([\\\\w\\\\.\\\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\\\/([-\\\\w\\\\.]+)$/i,/(firefox)\\\\/([\\\\w\\\\.]+)/i,/(mozilla)\\\\/([\\\\w\\\\.]+) .+rv\\\\:.+gecko\\\\/\\\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\\\. ]?browser)[-\\\\/ ]?v?([\\\\w\\\\.]+)/i,/(links) \\\\(([\\\\w\\\\.]+)/i,/panasonic;(viera)/i],[p,v],[/(cobalt)\\\\/([\\\\w\\\\.]+)/i],[p,[v,/master.|lts./,\"\"]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\\\)]/i],[[g,\"amd64\"]],[/(ia32(?=;))/i],[[g,W]],[/((?:i[346]|x)86)[;\\\\)]/i],[[g,\"ia32\"]],[/\\\\b(aarch64|arm(v?8e?l?|_?64))\\\\b/i],[[g,\"arm64\"]],[/\\\\b(arm(?:v[67])?ht?n?[fl]p?)\\\\b/i],[[g,\"armhf\"]],[/windows (ce|mobile); ppc;/i],[[g,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\\\))/i],[[g,/ower/,\"\",W]],[/(sun4\\\\w)[;\\\\)]/i],[[g,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\\\))|\\\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\\\b|pa-risc)/i],[[g,W]]],device:[[/\\\\b(sch-i[89]0\\\\d|shw-m380s|sm-[ptx]\\\\w{2,4}|gt-[pn]\\\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[d,[f,A],[m,w]],[/\\\\b((?:s[cgp]h|gt|sm)-\\\\w+|sc[g-]?[\\\\d]+a?|galaxy nexus)/i,/samsung[- ]([-\\\\w]+)/i,/sec-(sgh\\\\w+)/i],[d,[f,A],[m,h]],[/(?:\\\\/|\\\\()(ip(?:hone|od)[\\\\w, ]*)(?:\\\\/|;)/i],[d,[f,S],[m,h]],[/\\\\((ipad);[-\\\\w\\\\),; ]+apple/i,/applecoremedia\\\\/[\\\\w\\\\.]+ \\\\((ipad)/i,/\\\\b(ipad)\\\\d\\\\d?,\\\\d\\\\d?[;\\\\]].+ios/i],[d,[f,S],[m,w]],[/(macintosh);/i],[d,[f,S]],[/\\\\b(sh-?[altvz]?\\\\d\\\\d[a-ekm]?)/i],[d,[f,L],[m,h]],[/\\\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\\\d{2})\\\\b(?!.+d\\\\/s)/i],[d,[f,P],[m,w]],[/(?:huawei|honor)([-\\\\w ]+)[;\\\\)]/i,/\\\\b(nexus 6p|\\\\w{2,4}e?-[atu]?[ln][\\\\dx][012359c][adn]?)\\\\b(?!.+d\\\\/s)/i],[d,[f,P],[m,h]],[/\\\\b(poco[\\\\w ]+)(?: bui|\\\\))/i,/\\\\b; (\\\\w+) build\\\\/hm\\\\1/i,/\\\\b(hm[-_ ]?note?[_ ]?(?:\\\\d\\\\w)?) bui/i,/\\\\b(redmi[\\\\-_ ]?(?:note|k)?[\\\\w_ ]+)(?: bui|\\\\))/i,/\\\\b(mi[-_ ]?(?:a\\\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\\\d?\\\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\\\))/i],[[d,/_/g,\" \"],[f,R],[m,h]],[/\\\\b(mi[-_ ]?(?:pad)(?:[\\\\w_ ]+))(?: bui|\\\\))/i],[[d,/_/g,\" \"],[f,R],[m,w]],[/; (\\\\w+) bui.+ oppo/i,/\\\\b(cph[12]\\\\d{3}|p(?:af|c[al]|d\\\\w|e[ar])[mt]\\\\d0|x9007|a101op)\\\\b/i],[d,[f,\"OPPO\"],[m,h]],[/vivo (\\\\w+)(?: bui|\\\\))/i,/\\\\b(v[12]\\\\d{3}\\\\w?[at])(?: bui|;)/i],[d,[f,\"Vivo\"],[m,h]],[/\\\\b(rmx[12]\\\\d{3})(?: bui|;|\\\\))/i],[d,[f,\"Realme\"],[m,h]],[/\\\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\\\b[\\\\w ]+build\\\\//i,/\\\\bmot(?:orola)?[- ](\\\\w*)/i,/((?:moto[\\\\w\\\\(\\\\) ]+|xt\\\\d{3,4}|nexus 6)(?= bui|\\\\)))/i],[d,[f,C],[m,h]],[/\\\\b(mz60\\\\d|xoom[2 ]{0,2}) build\\\\//i],[d,[f,C],[m,w]],[/((?=lg)?[vl]k\\\\-?\\\\d{3}) bui| 3\\\\.[-\\\\w; ]{10}lg?-([06cv9]{3,4})/i],[d,[f,M],[m,w]],[/(lm(?:-?f100[nv]?|-[\\\\w\\\\.]+)(?= bui|\\\\))|nexus [45])/i,/\\\\blg[-e;\\\\/ ]+((?!browser|netcast|android tv)\\\\w+)/i,/\\\\blg-?([\\\\d\\\\w]+) bui/i],[d,[f,M],[m,h]],[/(ideatab[-\\\\w ]+)/i,/lenovo ?(s[56]000[-\\\\w]+|tab(?:[\\\\w ]+)|yt[-\\\\d\\\\w]{6}|tb[-\\\\d\\\\w]{6})/i],[d,[f,\"Lenovo\"],[m,w]],[/(?:maemo|nokia).*(n900|lumia \\\\d+)/i,/nokia[-_ ]?([-\\\\w\\\\.]*)/i],[[d,/_/g,\" \"],[f,\"Nokia\"],[m,h]],[/(pixel c)\\\\b/i],[d,[f,I],[m,w]],[/droid.+; (pixel[\\\\daxl ]{0,6})(?: bui|\\\\))/i],[d,[f,I],[m,h]],[/droid.+ (a?\\\\d[0-2]{2}so|[c-g]\\\\d{4}|so[-gl]\\\\w+|xq-a\\\\w[4-7][12])(?= bui|\\\\).+chrome\\\\/(?![1-6]{0,1}\\\\d\\\\.))/i],[d,[f,U],[m,h]],[/sony tablet [ps]/i,/\\\\b(?:sony)?sgp\\\\w+(?: bui|\\\\))/i],[[d,\"Xperia Tablet\"],[f,U],[m,w]],[/ (kb2005|in20[12]5|be20[12][59])\\\\b/i,/(?:one)?(?:plus)? (a\\\\d0\\\\d\\\\d)(?: b|\\\\))/i],[d,[f,\"OnePlus\"],[m,h]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\\\))/i,/(kf[a-z]+)( bui|\\\\)).+silk\\\\//i],[d,[f,_],[m,w]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\\\)).+silk\\\\//i],[[d,/(.+)/g,\"Fire Phone $1\"],[f,_],[m,h]],[/(playbook);[-\\\\w\\\\),; ]+(rim)/i],[d,f,[m,w]],[/\\\\b((?:bb[a-f]|st[hv])100-\\\\d)/i,/\\\\(bb10; (\\\\w+)/i],[d,[f,x],[m,h]],[/(?:\\\\b|asus_)(transfo[prime ]{4,10} \\\\w+|eeepc|slider \\\\w+|nexus 7|padfone|p00[cj])/i],[d,[f,E],[m,w]],[/ (z[bes]6[027][012][km][ls]|zenfone \\\\d\\\\w?)\\\\b/i],[d,[f,E],[m,h]],[/(nexus 9)/i],[d,[f,\"HTC\"],[m,w]],[/(htc)[-;_ ]{1,2}([\\\\w ]+(?=\\\\)| bui)|\\\\w+)/i,/(zte)[- ]([\\\\w ]+?)(?: bui|\\\\/|\\\\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\\\.))|sony(?!-bra))[-_ ]?([-\\\\w]*)/i],[f,[d,/_/g,\" \"],[m,h]],[/droid.+; ([ab][1-7]-?[0178a]\\\\d\\\\d?)/i],[d,[f,\"Acer\"],[m,w]],[/droid.+; (m[1-5] note) bui/i,/\\\\bmz-([-\\\\w]{2,})/i],[d,[f,\"Meizu\"],[m,h]],[/(blackberry|benq|palm(?=\\\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\\\w]*)/i,/(hp) ([\\\\w ]+\\\\w)/i,/(asus)-?(\\\\w+)/i,/(microsoft); (lumia[\\\\w ]+)/i,/(lenovo)[-_ ]?([-\\\\w]+)/i,/(jolla)/i,/(oppo) ?([\\\\w ]+) bui/i],[f,d,[m,h]],[/(kobo)\\\\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\\\/([\\\\w\\\\.]+)/i,/(nook)[\\\\w ]+build\\\\/(\\\\w+)/i,/(dell) (strea[kpr\\\\d ]*[\\\\dko])/i,/(le[- ]+pan)[- ]+(\\\\w{1,9}) bui/i,/(trinity)[- ]*(t\\\\d{3}) bui/i,/(gigaset)[- ]+(q\\\\w{1,9}) bui/i,/(vodafone) ([\\\\w ]+)(?:\\\\)| bui)/i],[f,d,[m,w]],[/(surface duo)/i],[d,[f,B],[m,w]],[/droid [\\\\d\\\\.]+; (fp\\\\du?)(?: b|\\\\))/i],[d,[f,\"Fairphone\"],[m,h]],[/(u304aa)/i],[d,[f,\"AT&T\"],[m,h]],[/\\\\bsie-(\\\\w*)/i],[d,[f,\"Siemens\"],[m,h]],[/\\\\b(rct\\\\w+) b/i],[d,[f,\"RCA\"],[m,w]],[/\\\\b(venue[\\\\d ]{2,7}) b/i],[d,[f,\"Dell\"],[m,w]],[/\\\\b(q(?:mv|ta)\\\\w+) b/i],[d,[f,\"Verizon\"],[m,w]],[/\\\\b(?:barnes[& ]+noble |bn[rt])([\\\\w\\\\+ ]*) b/i],[d,[f,\"Barnes & Noble\"],[m,w]],[/\\\\b(tm\\\\d{3}\\\\w+) b/i],[d,[f,\"NuVision\"],[m,w]],[/\\\\b(k88) b/i],[d,[f,\"ZTE\"],[m,w]],[/\\\\b(nx\\\\d{3}j) b/i],[d,[f,\"ZTE\"],[m,h]],[/\\\\b(gen\\\\d{3}) b.+49h/i],[d,[f,\"Swiss\"],[m,h]],[/\\\\b(zur\\\\d{3}) b/i],[d,[f,\"Swiss\"],[m,w]],[/\\\\b((zeki)?tb.*\\\\b) b/i],[d,[f,\"Zeki\"],[m,w]],[/\\\\b([yr]\\\\d{2}) b/i,/\\\\b(dragon[- ]+touch |dt)(\\\\w{5}) b/i],[[f,\"Dragon Touch\"],d,[m,w]],[/\\\\b(ns-?\\\\w{0,9}) b/i],[d,[f,\"Insignia\"],[m,w]],[/\\\\b((nxa|next)-?\\\\w{0,9}) b/i],[d,[f,\"NextBook\"],[m,w]],[/\\\\b(xtreme\\\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,\"Voice\"],d,[m,h]],[/\\\\b(lvtel\\\\-)?(v1[12]) b/i],[[f,\"LvTel\"],d,[m,h]],[/\\\\b(ph-1) /i],[d,[f,\"Essential\"],[m,h]],[/\\\\b(v(100md|700na|7011|917g).*\\\\b) b/i],[d,[f,\"Envizen\"],[m,w]],[/\\\\b(trio[-\\\\w\\\\. ]+) b/i],[d,[f,\"MachSpeed\"],[m,w]],[/\\\\btu_(1491) b/i],[d,[f,\"Rotor\"],[m,w]],[/(shield[\\\\w ]+) b/i],[d,[f,\"Nvidia\"],[m,w]],[/(sprint) (\\\\w+)/i],[f,d,[m,h]],[/(kin\\\\.[onetw]{3})/i],[[d,/\\\\./g,\" \"],[f,B],[m,h]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\\\)/i],[d,[f,q],[m,w]],[/droid.+; (ec30|ps20|tc[2-8]\\\\d[kx])\\\\)/i],[d,[f,q],[m,h]],[/smart-tv.+(samsung)/i],[f,[m,y]],[/hbbtv.+maple;(\\\\d+)/i],[[d,/^/,\"SmartTV\"],[f,A],[m,y]],[/(nux; netcast.+smarttv|lg (netcast\\\\.tv-201\\\\d|android tv))/i],[[f,M],[m,y]],[/(apple) ?tv/i],[f,[d,S+\" TV\"],[m,y]],[/crkey/i],[[d,j+\"cast\"],[f,I],[m,y]],[/droid.+aft(\\\\w)( bui|\\\\))/i],[d,[f,_],[m,y]],[/\\\\(dtv[\\\\);].+(aquos)/i,/(aquos-tv[\\\\w ]+)\\\\)/i],[d,[f,L],[m,y]],[/(bravia[\\\\w ]+)( bui|\\\\))/i],[d,[f,U],[m,y]],[/(mitv-\\\\w{5}) bui/i],[d,[f,R],[m,y]],[/Hbbtv.*(technisat) (.*);/i],[f,d,[m,y]],[/\\\\b(roku)[\\\\dx]*[\\\\)\\\\/]((?:dvp-)?[\\\\d\\\\.]*)/i,/hbbtv\\\\/\\\\d+\\\\.\\\\d+\\\\.\\\\d+ +\\\\([\\\\w\\\\+ ]*; *([\\\\w\\\\d][^;]*);([^;]*)/i],[[f,H],[d,H],[m,y]],[/\\\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\\\b/i],[[m,y]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,d,[m,b]],[/droid.+; (shield) bui/i],[d,[f,\"Nvidia\"],[m,b]],[/(playstation [345portablevi]+)/i],[d,[f,U],[m,b]],[/\\\\b(xbox(?: one)?(?!; xbox))[\\\\); ]/i],[d,[f,B],[m,b]],[/((pebble))app/i],[f,d,[m,T]],[/(watch)(?: ?os[,\\\\/]|\\\\d,\\\\d\\\\/)[\\\\d\\\\.]+/i],[d,[f,S],[m,T]],[/droid.+; (glass) \\\\d/i],[d,[f,I],[m,T]],[/droid.+; (wt63?0{2,3})\\\\)/i],[d,[f,q],[m,T]],[/(quest( 2| pro)?)/i],[d,[f,F],[m,T]],[/(tesla)(?: qtcarbrowser|\\\\/[-\\\\w\\\\.]+)/i],[f,[m,k]],[/(aeobc)\\\\b/i],[d,[f,_],[m,k]],[/droid .+?; ([^;]+?)(?: bui|\\\\) applew).+? mobile safari/i],[d,[m,h]],[/droid .+?; ([^;]+?)(?: bui|\\\\) applew).+?(?! mobile) safari/i],[d,[m,w]],[/\\\\b((tablet|tab)[;\\\\/]|focus\\\\/\\\\d(?!.+mobile))/i],[[m,w]],[/(phone|mobile(?:[;\\\\/]| [ \\\\w\\\\/\\\\.]*safari)|pda(?=.+windows ce))/i],[[m,h]],[/(android[-\\\\w\\\\. ]{0,9});.+buil/i],[d,[f,\"Generic\"]]],engine:[[/windows.+ edge\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"EdgeHTML\"]],[/webkit\\\\/537\\\\.36.+chrome\\\\/(?!27)([\\\\w\\\\.]+)/i],[v,[p,\"Blink\"]],[/(presto)\\\\/([\\\\w\\\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\\\/([\\\\w\\\\.]+)/i,/ekioh(flow)\\\\/([\\\\w\\\\.]+)/i,/(khtml|tasman|links)[\\\\/ ]\\\\(?([\\\\w\\\\.]+)/i,/(icab)[\\\\/ ]([23]\\\\.[\\\\d\\\\.]+)/i,/\\\\b(libweb)/i],[p,v],[/rv\\\\:([\\\\w\\\\.]{1,9})\\\\b.+(gecko)/i],[v,p]],os:[[/microsoft (windows) (vista|xp)/i],[p,v],[/(windows) nt 6\\\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\\\/ ]?([\\\\d\\\\.\\\\w ]*)/i,/(windows)[\\\\/ ]?([ntce\\\\d\\\\. ]+\\\\w)(?!.+xbox)/i],[p,[v,J,X]],[/(win(?=3|9|n)|win 9x )([nt\\\\d\\\\.]+)/i],[[p,\"Windows\"],[v,J,X]],[/ip[honead]{2,4}\\\\b(?:.*os ([\\\\w]+) like mac|; opera)/i,/ios;fbsv\\\\/([\\\\d\\\\.]+)/i,/cfnetwork\\\\/.+darwin/i],[[v,/_/g,\".\"],[p,\"iOS\"]],[/(mac os x) ?([\\\\w\\\\. ]*)/i,/(macintosh|mac_powerpc\\\\b)(?!.+haiku)/i],[[p,K],[v,/_/g,\".\"]],[/droid ([\\\\w\\\\.]+)\\\\b.+(android[- ]x86|harmonyos)/i],[v,p],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\\\/ ]?([\\\\w\\\\.]*)/i,/(blackberry)\\\\w*\\\\/([\\\\w\\\\.]*)/i,/(tizen|kaios)[\\\\/ ]([\\\\w\\\\.]+)/i,/\\\\((series40);/i],[p,v],[/\\\\(bb(10);/i],[v,[p,x]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\\\/ ]?([\\\\w\\\\.]*)/i],[v,[p,\"Symbian\"]],[/mozilla\\\\/[\\\\d\\\\.]+ \\\\((?:mobile|tablet|tv|mobile; [\\\\w ]+); rv:.+ gecko\\\\/([\\\\w\\\\.]+)/i],[v,[p,N+\" OS\"]],[/web0s;.+rt(tv)/i,/\\\\b(?:hp)?wos(?:browser)?\\\\/([\\\\w\\\\.]+)/i],[v,[p,\"webOS\"]],[/watch(?: ?os[,\\\\/]|\\\\d,\\\\d\\\\/)([\\\\d\\\\.]+)/i],[v,[p,\"watchOS\"]],[/crkey\\\\/([\\\\d\\\\.]+)/i],[v,[p,j+\"cast\"]],[/(cros) [\\\\w]+(?:\\\\)| ([\\\\w\\\\.]+)\\\\b)/i],[[p,z],v],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\\\\/(\\\\d+\\\\.[\\\\w\\\\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\\\);]+)/i,/\\\\b(joli|palm)\\\\b ?(?:os)?\\\\/?([\\\\w\\\\.]*)/i,/(mint)[\\\\/\\\\(\\\\) ]?(\\\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\\\/ ]?(?!chrom|package)([-\\\\w\\\\.]*)/i,/(hurd|linux) ?([\\\\w\\\\.]*)/i,/(gnu) ?([\\\\w\\\\.]*)/i,/\\\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\\\/ ]?(?!amd|[ix346]{1,2}86)([\\\\w\\\\.]*)/i,/(haiku) (\\\\w+)/i],[p,v],[/(sunos) ?([\\\\w\\\\.\\\\d]*)/i],[[p,\"Solaris\"],v],[/((?:open)?solaris)[-\\\\/ ]?([\\\\w\\\\.]*)/i,/(aix) ((\\\\d)(?=\\\\.|\\\\)| )[\\\\w\\\\.])*/i,/\\\\b(beos|os\\\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\\\\w\\\\.]*)/i],[p,v]]},Z=function(e,t){if(typeof e===c&&(t=e,e=a),!(this instanceof Z))return new Z(e,t).getResult();var n=typeof i!==s&&i.navigator?i.navigator:a,r=e||(n&&n.userAgent?n.userAgent:\"\"),b=n&&n.userAgentData?n.userAgentData:a,y=t?function(e,t){var n={};for(var r in e)t[r]&&t[r].length%2==0?n[r]=t[r].concat(e[r]):n[r]=e[r];return n}(G,t):G,T=n&&n.userAgent==r;return this.getBrowser=function(){var e,t={};return t[p]=a,t[v]=a,V.call(t,r,y.browser),t[l]=typeof(e=t[v])===u?e.replace(/[^\\\\d\\\\.]/g,\"\").split(\".\")[0]:a,T&&n&&n.brave&&typeof n.brave.isBrave==o&&(t[p]=\"Brave\"),t},this.getCPU=function(){var e={};return e[g]=a,V.call(e,r,y.cpu),e},this.getDevice=function(){var e={};return e[f]=a,e[d]=a,e[m]=a,V.call(e,r,y.device),T&&!e[m]&&b&&b.mobile&&(e[m]=h),T&&\"Macintosh\"==e[d]&&n&&typeof n.standalone!==s&&n.maxTouchPoints&&n.maxTouchPoints>2&&(e[d]=\"iPad\",e[m]=w),e},this.getEngine=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.engine),e},this.getOS=function(){var e={};return e[p]=a,e[v]=a,V.call(e,r,y.os),T&&!e[p]&&b&&\"Unknown\"!=b.platform&&(e[p]=b.platform.replace(/chrome os/i,z).replace(/macos/i,K)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===u&&e.length>350?H(e,350):e,this},this.setUA(r),this};Z.VERSION=\"1.0.35\",Z.BROWSER=$([p,v,l]),Z.CPU=$([g]),Z.DEVICE=$([d,f,m,b,h,y,w,T,k]),Z.ENGINE=Z.OS=$([p,v]),typeof t!==s?(e.exports&&(t=e.exports=Z),t.UAParser=Z):n.amdO?(r=function(){return Z}.call(t,n,t,e))===a||(e.exports=r):typeof i!==s&&(i.UAParser=Z);var Y=typeof i!==s&&(i.jQuery||i.Zepto);if(Y&&!Y.ua){var ee=new Z;Y.ua=ee.getResult(),Y.ua.get=function(){return ee.getUA()},Y.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var n in t)Y.ua[n]=t[n]}}}(\"object\"==typeof window?window:this)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}n.amdO={},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{ActionType:()=>f,AmplitudePlatformName:()=>g,AnalyticsEventImportance:()=>l,AnalyticsQueries:()=>e,AuthStatus:()=>b,ComponentType:()=>m,IThresholdTier:()=>Jt,MetricType:()=>d,PlatformName:()=>v,SessionActions:()=>h,SessionAutomatedEvents:()=>w,SessionRank:()=>y,SubjectType:()=>p,UserTypeCommerce:()=>c,UserTypeInsto:()=>i,UserTypeRetail:()=>t,UserTypeRetailBusinessBanking:()=>s,UserTypeRetailEmployeeInternal:()=>a,UserTypeRetailEmployeePersonal:()=>o,UserTypeWallet:()=>u,automatedEvents:()=>xn,automatedMappingConfig:()=>In,clearMarkEntry:()=>Vn,clearPerformanceMarkEntries:()=>Xn,config:()=>A,createEventConfig:()=>On,createNewSpan:()=>Ln,createNewTrace:()=>Un,device:()=>W,endPerfMark:()=>Jn,exposeExperiment:()=>wn,flushQueue:()=>or,generateUUID:()=>V,getAnalyticsHeaders:()=>sr,getReferrerData:()=>le,getTracingHeaders:()=>An,getTracingId:()=>Dn,getUrlHostname:()=>pe,getUrlParams:()=>me,getUrlPathname:()=>fe,getUserContext:()=>ar,identify:()=>Tn,identifyFlow:()=>xe,identity:()=>H,identityFlow:()=>Se,incrementUjNavigation:()=>an,init:()=>yn,initNextJsTrackPageview:()=>_n,initTrackPageview:()=>kn,isEventKeyFormatValid:()=>we,isSessionEnded:()=>pt,location:()=>re,logEvent:()=>$t,logMetric:()=>Ht,logPageView:()=>on,logTrace:()=>Rn,markNTBT:()=>tn,markStep:()=>nn,markStepOnce:()=>rn,onVisibilityChange:()=>ln,optIn:()=>En,optOut:()=>Sn,perfMark:()=>Wn,persistentData:()=>oe,postMessage:()=>K,recordSessionDuration:()=>pn,removeFromIdentifyFlow:()=>Ee,savePersistentData:()=>st,sendScheduledEvents:()=>Bt,setBreadcrumbs:()=>ie,setConfig:()=>U,setLocation:()=>ae,setPagePath:()=>ve,setPageview:()=>Kt,setPersistentData:()=>se,setSessionStart:()=>dt,setTime:()=>Ue,startPerfMark:()=>Hn,timeStone:()=>Le,useEventLogger:()=>Yn,useLogEventOnMount:()=>tr,usePerformanceMarks:()=>rr});let e=function(e){return e.fbclid=\"fbclid\",e.gclid=\"gclid\",e.msclkid=\"msclkid\",e.ptclid=\"ptclid\",e.ttclid=\"ttclid\",e.utm_source=\"utm_source\",e.utm_medium=\"utm_medium\",e.utm_campaign=\"utm_campaign\",e.utm_term=\"utm_term\",e.utm_content=\"utm_content\",e}({});const t=0,i=1,a=2,o=3,s=4,c=5,u=6;let l=function(e){return e.low=\"low\",e.high=\"high\",e}({}),d=function(e){return e.count=\"count\",e.rate=\"rate\",e.gauge=\"gauge\",e.distribution=\"distribution\",e.histogram=\"histogram\",e}({}),p=function(e){return e.commerce_merchant=\"commerce_merchant\",e.device=\"device\",e.edp_fingerprint_id=\"edp_fingerprint_id\",e.nft_user=\"nft_user\",e.user=\"user\",e.wallet_user=\"wallet_user\",e.uuid=\"user_uuid\",e}({}),m=function(e){return e.unknown=\"unknown\",e.banner=\"banner\",e.button=\"button\",e.card=\"card\",e.chart=\"chart\",e.content_script=\"content_script\",e.dropdown=\"dropdown\",e.link=\"link\",e.page=\"page\",e.modal=\"modal\",e.table=\"table\",e.search_bar=\"search_bar\",e.service_worker=\"service_worker\",e.text=\"text\",e.text_input=\"text_input\",e.tray=\"tray\",e.checkbox=\"checkbox\",e.icon=\"icon\",e}({}),f=function(e){return e.unknown=\"unknown\",e.blur=\"blur\",e.click=\"click\",e.change=\"change\",e.dismiss=\"dismiss\",e.focus=\"focus\",e.hover=\"hover\",e.select=\"select\",e.measurement=\"measurement\",e.move=\"move\",e.process=\"process\",e.render=\"render\",e.scroll=\"scroll\",e.view=\"view\",e.search=\"search\",e.keyPress=\"keyPress\",e}({}),v=function(e){return e.unknown=\"unknown\",e.web=\"web\",e.android=\"android\",e.ios=\"ios\",e.mobile_web=\"mobile_web\",e.tablet_web=\"tablet_web\",e.server=\"server\",e.windows=\"windows\",e.macos=\"macos\",e.extension=\"extension\",e}({}),g=function(e){return e.web=\"Web\",e.ios=\"iOS\",e.android=\"Android\",e}({}),b=function(e){return e[e.notLoggedIn=0]=\"notLoggedIn\",e[e.loggedIn=1]=\"loggedIn\",e}({}),h=function(e){return e.ac=\"ac\",e.af=\"af\",e.ah=\"ah\",e.al=\"al\",e.am=\"am\",e.ar=\"ar\",e.as=\"as\",e}({}),w=function(e){return e.pv=\"pv\",e}({}),y=function(e){return e.xs=\"xs\",e.s=\"s\",e.m=\"m\",e.l=\"l\",e.xl=\"xl\",e.xxl=\"xxl\",e}({});const T=\"https://analytics-service-dev.cbhq.net\",k=3e5,_=5e3,S=\"analytics-db\",E=\"experiment-exposure-db\",x=\"Analytics SDK:\",O=Object.values(e),j=\"pageview\",N=\"session_duration\",I={navigationTiming:{eventName:\"perf_navigation_timing\"},redirectTime:{eventName:\"perf_redirect_time\"},RT:{eventName:\"perf_redirect_time\"},TTFB:{eventName:\"perf_time_to_first_byte\"},networkInformation:{eventName:\"perf_network_information\"},storageEstimate:{eventName:\"perf_storage_estimate\"},FCP:{eventName:\"perf_first_contentful_paint\"},FID:{eventName:\"perf_first_input_delay\"},LCP:{eventName:\"perf_largest_contentful_paint\"},CLS:{eventName:\"perf_cumulative_layout_shift\"},TBT:{eventName:\"perf_total_blocking_time\"},NTBT:{eventName:\"perf_navigation_total_blocking_time\"},INP:{eventName:\"perf_interact_to_next_paint\"},ET:{eventName:\"perf_element_timing\"},userJourneyStep:{eventName:\"perf_user_journey_step\"}},P=\"1\",M=\"web\";function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},B.apply(this,arguments)}const C=/^(https?:\\\\/\\\\/)/;function D(e){return{eventsEndpoint:e+\"/amp\",metricsEndPoint:e+\"/metrics\",exposureEndpoint:e+\"/track-exposures\",tracesEndpoint:e+\"/traces\"}}const A=B({authCookie:\"logged_in\",amplitudeApiKey:\"\",batchEventsPeriod:_,batchEventsThreshold:30,batchMetricsPeriod:_,batchMetricsThreshold:30,batchTracesPeriod:_,batchTracesThreshold:30,headers:{},interactionManager:null,isAlwaysAuthed:!1,isProd:!1,isInternalApplication:!1,onError:(e,t)=>{console.error(x,e,t)},platform:v.unknown,projectName:\"\",ricTimeoutScheduleEvent:1e3,ricTimeoutSetDevice:500,showDebugLogging:!1,trackUserId:!1,version:null,apiEndpoint:T},D(T),{steps:{}}),L=[].reduce(((e,t)=>n=>e(t(n))),(e=>{if(!e.isProd)return e.isInternalApplication?(e.apiEndpoint=\"https://analytics-service-internal-dev.cbhq.net\",B({},e,D(e.apiEndpoint))):e;const t=(e=>e.apiEndpoint?C.test(e.apiEndpoint)?e.apiEndpoint:\\`https://\\${e.apiEndpoint}\\`:e.isInternalApplication?\"https://analytics-service-internal.cbhq.net\":\"https://as.coinbase.com\")(e);return B({},e,{apiEndpoint:t},D(t))})),U=e=>{const{batchEventsThreshold:t,batchMetricsThreshold:n,batchTracesThreshold:r}=e,i=[t,n,r];for(const e of i)if((e||0)>30){console.warn(\"You are setting the threshhold for the batch limit to be greater than 30. This may cause request overload.\");break}Object.assign(A,L(e))},R=[v.web,v.mobile_web,v.tablet_web];function q(){return\"android\"===A.platform}function F(){return\"ios\"===A.platform}function z(){return R.includes(A.platform)}function K(e){if(z()&&navigator&&\"serviceWorker\"in navigator&&navigator.serviceWorker.controller)try{navigator.serviceWorker.controller.postMessage(e)}catch(e){e instanceof Error&&A.onError(e)}}var $=n(353),Q=n.n($);const W={amplitudeOSName:null,amplitudeOSVersion:null,amplitudeDeviceModel:null,amplitudePlatform:null,browserName:null,browserMajor:null,osName:null,userAgent:null,width:null,height:null},H={countryCode:null,deviceId:null,device_os:null,isOptOut:!1,languageCode:null,locale:null,jwt:null,session_lcc_id:null,userAgent:null,userId:null},V=e=>e?(e^16*Math.random()>>e/4).toString(16):\"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,V),J=()=>A.isAlwaysAuthed||!!H.userId,X=()=>{const e={};return H.countryCode&&(e.country_code=H.countryCode),e},G=()=>{const{platform:e}=A;if(e===v.web)switch(!0){case window.matchMedia(\"(max-width: 560px)\").matches:return v.mobile_web;case window.matchMedia(\"(max-width: 1024px, min-width: 561px)\").matches:return v.tablet_web}return e},Z=()=>{var e,t,n,r,i;z()?(\"requestIdleCallback\"in window?window.requestIdleCallback(ne,{timeout:A.ricTimeoutSetDevice}):ne(),W.amplitudePlatform=g.web,W.userAgent=(null==(e=window)||null==(e=e.navigator)?void 0:e.userAgent)||null,ee({height:null!=(t=null==(n=window)?void 0:n.innerHeight)?t:null,width:null!=(r=null==(i=window)?void 0:i.innerWidth)?r:null})):F()?(W.amplitudePlatform=g.ios,W.userAgent=H.userAgent,W.userAgent&&ne()):q()&&(W.userAgent=H.userAgent,W.amplitudePlatform=g.android,W.userAgent&&ne())},Y=e=>{Object.assign(H,e),z()&&K({identity:{isAuthed:!!H.userId,locale:H.locale||null}})},ee=e=>{W.height=e.height,W.width=e.width},te=()=>{U({platform:G()}),z()&&K({config:{platform:A.platform}})},ne=()=>{var e;performance.mark&&performance.mark(\"ua_parser_start\");const t=new(Q())(null!=(e=W.userAgent)?e:\"\").getResult();W.browserName=t.browser.name||null,W.browserMajor=t.browser.major||null,W.osName=t.os.name||null,W.amplitudeOSName=W.browserName,W.amplitudeOSVersion=W.browserMajor,W.amplitudeDeviceModel=W.osName,K({device:{browserName:W.browserName,osName:W.osName}}),performance.mark&&(performance.mark(\"ua_parser_end\"),performance.measure(\"ua_parser\",\"ua_parser_start\",\"ua_parser_end\"))},re={breadcrumbs:[],initialUAAData:{},pageKey:\"\",pageKeyRegex:{},pagePath:\"\",prevPageKey:\"\",prevPagePath:\"\"};function ie(e){Object.assign(re,{breadcrumbs:e})}function ae(e){Object.assign(re,e)}const oe={eventId:0,sequenceNumber:0,sessionId:0,lastEventTime:0,sessionStart:0,sessionUUID:null,userId:null,ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0};function se(e){Object.assign(oe,e)}function ce(){var e,t;return null!=(e=null==(t=document)?void 0:t.referrer)?e:\"\"}function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ue.apply(this,arguments)}const le=()=>{const e=ce();if(!e)return{};const t=new URL(e);return t.hostname===pe()?{}:{referrer:e,referring_domain:t.hostname}},de=()=>{const e=new URLSearchParams(me()),t={};return O.forEach((n=>{e.has(n)&&(t[n]=(e.get(n)||\"\").toLowerCase())})),t},pe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.hostname)||\"\"},me=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.search)||\"\"},fe=()=>{var e;return(null==(e=window)||null==(e=e.location)?void 0:e.pathname)||\"\"},ve=()=>{const e=A.overrideWindowLocation?re.pagePath:fe()+me();e&&e!==re.pagePath&&(e!==re.pagePath&&ge(),re.pagePath=e,re.pageKeyRegex&&Object.keys(re.pageKeyRegex).some((e=>{if(re.pageKeyRegex[e].test(re.pagePath))return re.pageKey=e,!0})))},ge=()=>{if(z()){const e=ce();if(!re.prevPagePath&&e){const t=new URL(e);if(t.hostname===pe())return void(re.prevPagePath=t.pathname)}}re.prevPagePath=re.pagePath,re.prevPageKey=re.pageKey},be=e=>{z()&&Object.assign(e,z()?(Object.keys(re.initialUAAData).length>0||(new URLSearchParams(me()),re.initialUAAData=ue({},(()=>{const e={};return O.forEach((t=>{oe[t]&&(e[t]=oe[t])})),e})(),de(),le())),re.initialUAAData):re.initialUAAData)},he=/^[a-zd]+(_[a-zd]+)*$/;function we(e){return he.test(e)}function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ye.apply(this,arguments)}const Te=[\"action\",\"component_type\",\"component_name\",\"context\",\"logging_id\"],ke=[\"num_non_hardware_accounts\",\"ujs\"],_e=\"ujs_\",Se={};function Ee(e){e.forEach((e=>{ke.includes(e)&&delete Se[e]}))}function xe(e){var t;const n=Object.entries(e).reduce(((e,t)=>{const[n,r]=t;return!Te.includes(n)&&ke.includes(n)?we(n)?ye({},e,{[n]:r}):(A.onError(new Error(\"IdentityFlow property names must have snake case format\"),{[n]:r}),e):e}),{});null!=(t=n.ujs)&&t.length&&(n.ujs=n.ujs.map((e=>\\`\\${_e}\\${e}\\`))),Object.assign(Se,n)}function Oe(){return A.platform!==v.unknown||(A.onError(new Error(\"SDK platform not initialized\")),!1)}const je={eventsQueue:[],eventsScheduled:!1,metricsQueue:[],metricsScheduled:!1,tracesQueue:[],tracesScheduled:!1};function Ne(e){Object.assign(je,e)}const Ie={ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0},Pe={ac:20,af:5,ah:1,al:1,am:0,ar:10,as:20},Me={pv:25},Be={xs:0,s:1,m:1,l:2,xl:2,xxl:2},Ce=e=>e<15?y.xs:e<60?y.s:e<240?y.m:e<960?y.l:e<3840?y.xl:y.xxl,De=e=>{Object.assign(Ie,e)};function Ae(){return(new Date).getTime()}const Le={timeStart:Ae(),timeOnPagePath:0,timeOnPageKey:0,prevTimeOnPagePath:0,prevTimeOnPageKey:0,sessionDuration:0,sessionEnd:0,sessionStart:0,prevSessionDuration:0};function Ue(e){Object.assign(Le,e)}const Re=(e,t)=>t.some((t=>e instanceof t));let qe,Fe;const ze=new WeakMap,Ke=new WeakMap,$e=new WeakMap,Qe=new WeakMap,We=new WeakMap;let He={get(e,t,n){if(e instanceof IDBTransaction){if(\"done\"===t)return Ke.get(e);if(\"objectStoreNames\"===t)return e.objectStoreNames||$e.get(e);if(\"store\"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Je(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&(\"done\"===t||\"store\"===t)||t in e};function Ve(e){return\"function\"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||\"objectStoreNames\"in IDBTransaction.prototype?(Fe||(Fe=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Xe(this),e),Je(ze.get(this))}:function(...e){return Je(t.apply(Xe(this),e))}:function(e,...n){const r=t.call(Xe(this),e,...n);return $e.set(r,e.sort?e.sort():[e]),Je(r)}:(e instanceof IDBTransaction&&function(e){if(Ke.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener(\"complete\",i),e.removeEventListener(\"error\",a),e.removeEventListener(\"abort\",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException(\"AbortError\",\"AbortError\")),r()};e.addEventListener(\"complete\",i),e.addEventListener(\"error\",a),e.addEventListener(\"abort\",a)}));Ke.set(e,t)}(e),Re(e,qe||(qe=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,He):e);var t}function Je(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener(\"success\",i),e.removeEventListener(\"error\",a)},i=()=>{t(Je(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener(\"success\",i),e.addEventListener(\"error\",a)}));return t.then((t=>{t instanceof IDBCursor&&ze.set(t,e)})).catch((()=>{})),We.set(t,e),t}(e);if(Qe.has(e))return Qe.get(e);const t=Ve(e);return t!==e&&(Qe.set(e,t),We.set(t,e)),t}const Xe=e=>We.get(e),Ge=[\"get\",\"getKey\",\"getAll\",\"getAllKeys\",\"count\"],Ze=[\"put\",\"add\",\"delete\",\"clear\"],Ye=new Map;function et(e,t){if(!(e instanceof IDBDatabase)||t in e||\"string\"!=typeof t)return;if(Ye.get(t))return Ye.get(t);const n=t.replace(/FromIndex$/,\"\"),r=t!==n,i=Ze.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!Ge.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,i?\"readwrite\":\"readonly\");let o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return Ye.set(t,a),a}var tt;tt=He,He={...tt,get:(e,t,n)=>et(e,t)||tt.get(e,t,n),has:(e,t)=>!!et(e,t)||tt.has(e,t)};const nt={isReady:!1,idbKeyval:null};function rt(e){Object.assign(nt,e)}const it={},at=async e=>{if(!nt.idbKeyval)return Promise.resolve(null);try{return await nt.idbKeyval.get(e)}catch(e){return A.onError(new Error(\"IndexedDB:Get:InternalError\")),Promise.resolve(null)}},ot=async(e,t)=>{if(nt.idbKeyval)try{await nt.idbKeyval.set(e,t)}catch(e){A.onError(new Error(\"IndexedDB:Set:InternalError\"))}},st=()=>{\"server\"!==A.platform&&(se({sessionStart:Le.sessionStart,ac:Ie.ac,af:Ie.af,ah:Ie.ah,al:Ie.al,am:Ie.am,ar:Ie.ar,as:Ie.as,pv:Ie.pv}),H.userId&&se({userId:H.userId}),ot(S,oe))},ct=\"rgb(5,177,105)\",ut=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=\\`%c \\${x}\\`,a=\\`color:\\${ct};font-size:11px;\\`,o=\\`Importance: \\${r}\\`;console.group(i,a,t,o),n.forEach((e=>{e.event_type?console.log(e.event_type,e):console.log(e)})),console.groupEnd()},lt=e=>{const{metricName:t,data:n}=e,r=e.importance||l.low;if(!A.showDebugLogging||!console)return;const i=\\`color:\\${ct};font-size:11px;\\`,a=\\`%c \\${x}\\`,o=\\`Importance: \\${r}\\`;console.log(a,i,t,n,o)},dt=()=>{const e=Ae();oe.sessionId&&oe.lastEventTime&&oe.sessionUUID&&!pt(e)||(oe.sessionId=e,oe.sessionUUID=V(),Ue({sessionStart:e}),lt({metricName:\"Started new session:\",data:{persistentData:oe,timeStone:Le}})),oe.lastEventTime=e},pt=e=>e-oe.lastEventTime>18e5;function mt(){return mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mt.apply(this,arguments)}const ft=e=>{var t;(e=>{switch(e.action){case f.click:Ie.ac+=1;break;case f.focus:Ie.af+=1;break;case f.hover:Ie.ah+=1;break;case f.move:Ie.am+=1;break;case f.scroll:Ie.al+=1;break;case f.search:Ie.ar+=1;break;case f.select:Ie.as+=1}})(t=e),t.event_type!==j?t.event_type===N&&((e=>{if(!e.session_rank)return;const t=e.session_rank;Object.values(h).forEach((e=>{Ie.sqs+=Ie[e]*Pe[e]})),Object.values(w).forEach((e=>{Ie.sqs+=Ie[e]*Me[e]})),Ie.sqs*=Be[t]})(t),Object.assign(t,Ie),De({ac:0,af:0,ah:0,al:0,am:0,ar:0,as:0,pv:0,sqs:0})):Ie.pv+=1;const n=e.event_type;delete e.event_type;const r=e.deviceId?e.deviceId:null,i=e.timestamp;return delete e.timestamp,se({eventId:oe.eventId+1}),se({sequenceNumber:oe.sequenceNumber+1}),dt(),st(),{device_id:H.deviceId||r||null,user_id:H.userId,timestamp:i,event_id:oe.eventId,session_id:oe.sessionId||-1,event_type:n,version_name:A.version||null,platform:W.amplitudePlatform,os_name:W.amplitudeOSName,os_version:W.amplitudeOSVersion,device_model:W.amplitudeDeviceModel,language:H.languageCode,event_properties:mt({},e,{session_uuid:oe.sessionUUID,height:W.height,width:W.width}),user_properties:X(),uuid:V(),library:{name:\"@cbhq/client-analytics\",version:\"10.6.0\"},sequence_number:oe.sequenceNumber,user_agent:W.userAgent||H.userAgent}},vt=e=>e.map((e=>ft(e)));function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gt.apply(this,arguments)}const bt=e=>e.map((e=>(e=>{const t=e.tags||{},n=gt({authed:J()?\"true\":\"false\",platform:A.platform},t,{project_name:A.projectName,version_name:A.version||null});return{metric_name:e.metricName,page_path:e.pagePath||null,value:e.value,tags:n,type:e.metricType}})(e))),ht=e=>0!==je.metricsQueue.length&&(je.metricsQueue.length>=A.batchMetricsThreshold||(je.metricsScheduled||(je.metricsScheduled=!0,setTimeout((()=>{je.metricsScheduled=!1,e(bt(je.metricsQueue)),je.metricsQueue=[]}),A.batchMetricsPeriod)),!1)),wt=e=>0!==je.tracesQueue.length&&(je.tracesQueue.length>=A.batchTracesThreshold||(je.tracesScheduled||(je.tracesScheduled=!0,setTimeout((()=>{je.tracesScheduled=!1,e(je.tracesQueue),je.tracesQueue=[]}),A.batchTracesPeriod)),!1)),yt=e=>{var t;z()&&null!=(t=window)&&t.requestIdleCallback?window.requestIdleCallback(e,{timeout:A.ricTimeoutScheduleEvent}):(q()||F())&&A.interactionManager?A.interactionManager.runAfterInteractions(e):e()};function Tt(){return Tt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Tt.apply(this,arguments)}const kt=\"application/x-www-form-urlencoded; charset=UTF-8\",_t=e=>{const{data:t,importance:n,isJSON:r,onError:i,url:a}=e,o=r?\"application/json\":kt,s=n||l.low,c=r?JSON.stringify(t):new URLSearchParams(t).toString();function u(){const e=new XMLHttpRequest;e.open(\"POST\",a,!0),Object.keys(A.headers||{}).forEach((t=>{e.setRequestHeader(t,A.headers[t])})),e.setRequestHeader(\"Content-Type\",kt),H.jwt&&e.setRequestHeader(\"authorization\",\\`Bearer \\${H.jwt}\\`),e.send(c)}if(!z()||r||!(\"sendBeacon\"in navigator)||s!==l.low||A.headers&&0!==Object.keys(A.headers).length)if(z()&&!r)u();else{const e=Tt({},A.headers,{\"Content-Type\":o});H.jwt&&(e.Authorization=\\`Bearer \\${H.jwt}\\`),fetch(a,{method:\"POST\",mode:\"no-cors\",headers:e,body:c}).catch((e=>{i(e,{context:\"AnalyticsSDKApiError\"})}))}else{const e=new Blob([c],{type:kt});try{navigator.sendBeacon.bind(navigator)(a,e)||u()}catch(e){console.error(e),u()}}};var St=n(762),Et=n.n(St);const xt=(e,t,n)=>{const r=e||\"\";return Et()(\"2\"+r+t+n)};function Ot(){return Ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ot.apply(this,arguments)}class jt extends Error{constructor(e){super(e),this.name=\"CircularJsonReference\",this.message=e,\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}class Nt extends jt{constructor(...e){super(...e),this.name=\"DomReferenceInAnalyticsEvent\"}}function It(){return It=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},It.apply(this,arguments)}const Pt=(e,t=l.low)=>{var n;e&&je.eventsQueue.push(e),nt.isReady&&(!A.trackUserId||H.userId?(t===l.high||(n=Mt,0!==je.eventsQueue.length&&(je.eventsQueue.length>=A.batchEventsThreshold||(je.eventsScheduled||(je.eventsScheduled=!0,setTimeout((()=>{je.eventsScheduled=!1,n(vt(je.eventsQueue)),je.eventsQueue=[]}),A.batchEventsPeriod)),0))))&&Bt():je.eventsQueue.length>10&&(A.trackUserId=!1,A.onError(new Error(\"userId not set in Logged-in\"))))},Mt=(e,t=l.low)=>{if(H.isOptOut||0===e.length)return;let n;try{n=JSON.stringify(e)}catch(t){const r=e.map((e=>e.event_type)).join(\", \"),[i,a]=(e=>{try{const n=[];for(const r of e){const e=Ot({},r);r.event_properties&&(e.event_properties=Ot({},e.event_properties,{currentTarget:null,target:null,relatedTarget:null,_dispatchInstances:null,_targetInst:null,view:(t=r.event_properties.view,[\"string\",\"number\",\"boolean\"].includes(typeof t)?r.event_properties.view:null)})),n.push(e)}return[!0,JSON.stringify(n)]}catch(e){return[!1,\"\"]}var t})(e);if(!i)return void A.onError(new jt(t instanceof Error?t.message:\"unknown\"),{listEventType:r});n=a,A.onError(new Nt(\"Found DOM element reference\"),{listEventType:r,stringifiedEventData:n})}const r=Ae().toString(),i=It({},{e:n,v:\"2\",upload_time:r},{client:A.amplitudeApiKey,checksum:xt(A.amplitudeApiKey,n,r)});_t({url:A.eventsEndpoint,data:i,importance:t,onError:A.onError}),ut({metricName:\"Batch Events\",data:e,importance:t})},Bt=()=>{Mt(vt(je.eventsQueue)),Ne({eventsQueue:[]})};function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ct.apply(this,arguments)}const Dt=Object.values(f),At=Object.values(m),Lt=e=>Dt.includes(e)?e:f.unknown,Ut=e=>At.includes(e)?e:m.unknown,Rt=(e,t,n)=>{const r={auth:J()?b.loggedIn:b.notLoggedIn,action:Lt(e),component_type:Ut(t),logging_id:n,platform:A.platform,project_name:A.projectName};return\"number\"==typeof H.userTypeEnum&&(r.user_type_enum=H.userTypeEnum),r},qt=e=>{const t=Ae();if(!e)return A.onError(new Error(\"missing logData\")),Ct({},Rt(f.unknown,m.unknown),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});const n=Ct({},e,Rt(e.action,e.componentType,e.loggingId),{locale:H.locale,session_lcc_id:H.session_lcc_id,timestamp:t,time_start:Le.timeStart});return delete n.componentType,delete n.loggingId,n},Ft={blacklistRegex:[],isEnabled:!1};function zt(){return{page_key:re.pageKey,page_path:re.pagePath,prev_page_key:re.prevPageKey,prev_page_path:re.prevPagePath}}function Kt(e){Object.assign(Ft,e)}function $t(e,t,n=l.low){if(H.isOptOut)return;if(!Oe())return;const r=qt(t);!function(e){Ft.isEnabled&&(ve(),Object.assign(e,zt()))}(r),be(r),function(e){Object.keys(Se).length>0&&Object.assign(e,Se)}(r),r.has_double_fired=!1,r.event_type=e,n===l.high?Pt(r,n):yt((()=>{Pt(r)}))}function Qt(e,t=!1){t?_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.metricsEndPoint,data:{metrics:e},isJSON:!0,onError:A.onError})})),ut({metricName:\"Batch Metrics\",data:e})}function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wt.apply(this,arguments)}function Ht(e){if(!Oe())return;v.server!==A.platform&&!e.pagePath&&re.pagePath&&(e.pagePath=re.pagePath);const t=Object.keys(Se).length?Wt({},e.tags,Se):e.tags;t&&Object.assign(e,{tags:t}),je.metricsQueue.push(e),ht(Qt)&&(Qt(bt(je.metricsQueue)),je.metricsQueue=[])}function Vt(){return Vt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vt.apply(this,arguments)}let Jt=function(e){return e.instant=\"instant\",e.quick=\"quick\",e.moderate=\"moderate\",e.slow=\"slow\",e.unavoidable=\"unavoidable\",e}({});function Xt(e){return e.toLowerCase()}let Gt={};const Zt=(e,t)=>{null!=A&&A.onMarkStep&&A.onMarkStep(e,t),xe({ujs:t})};let Yt;const en={Perfume:()=>{},markStep:e=>{},markStepOnce:e=>{},incrementUjNavigation:()=>{}},tn=()=>{z()&&Yt&&Yt.markNTBT&&Yt.markNTBT()},nn=e=>{z()&&Yt&&en.markStep&&en.markStep(e)},rn=e=>{z()&&Yt&&en.markStepOnce&&en.markStepOnce(e)},an=()=>{z()&&Yt&&en.incrementUjNavigation&&en.incrementUjNavigation()};function on(e={callMarkNTBT:!0}){\"unknown\"!==A.platform&&(Ft.blacklistRegex.some((e=>e.test(fe())))||($t(j,{action:f.render,componentType:m.page}),e.callMarkNTBT&&tn()))}let sn=!1,cn=!1;const un=e=>{sn=!e.persisted},ln=(e,t=\"hidden\",n=!1)=>{cn||(addEventListener(\"pagehide\",un),addEventListener(\"beforeunload\",(()=>{})),cn=!0),addEventListener(\"visibilitychange\",(({timeStamp:n})=>{document.visibilityState===t&&e({timeStamp:n,isUnloading:sn})}),{capture:!0,once:n})},dn=36e3;function pn(){const e=pt(Ae());if(e&&(O.forEach((e=>{oe[e]&&delete oe[e]})),st()),!oe.lastEventTime||!Le.sessionStart||!e)return;const t=Math.round((oe.lastEventTime-Le.sessionStart)/1e3);if(t<1||t>dn)return;const n=Ce(t);$t(N,{action:f.measurement,componentType:m.page,session_duration:t,session_end:oe.lastEventTime,session_start:Le.sessionStart,session_rank:n})}function mn(){return mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mn.apply(this,arguments)}const fn=[],vn=[],gn=()=>{const e=fn.shift();e&&e()},bn=()=>{const e=vn.shift();e&&e()};let hn={};function wn(e){const t=function(e){return{test_name:e.testName,group_name:e.group,subject_id:e.subjectId,exposed_at:Ae(),subject_type:e.subjectType,platform:A.platform}}(e);hn[e.testName]=hn[e.testName]||0,hn[e.testName]+k>Ae()?lt({metricName:\\`Event: exposeExperiment \\${e.testName} not sent\\`,data:t}):(hn[e.testName]=Ae(),ot(E,hn),lt({metricName:\\`Event: exposeExperiment \\${e.testName} sent\\`,data:t}),_t({url:A.exposureEndpoint,data:[t],onError:(t,n)=>{hn[e.testName]=0,ot(E,hn),A.onError(t,n)},isJSON:!0,importance:l.high}))}const yn=e=>{var t,r,i;U(e),z()&&(H.languageCode=(null==(t=navigator)?void 0:t.languages[0])||(null==(r=navigator)?void 0:r.language)||\"\"),te(),(()=>{var e;if(z()&&null!=(e=window)&&e.indexedDB){const e=function(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){const o=indexedDB.open(e,t),s=Je(o);return r&&o.addEventListener(\"upgradeneeded\",(e=>{r(Je(o.result),e.oldVersion,e.newVersion,Je(o.transaction),e)})),n&&o.addEventListener(\"blocked\",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener(\"close\",(()=>a())),i&&e.addEventListener(\"versionchange\",(e=>i(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}(\"keyval-store\",1,{upgrade(e){e.createObjectStore(\"keyval\")}});rt({idbKeyval:{get:async t=>(await e).get(\"keyval\",t),set:async(t,n)=>(await e).put(\"keyval\",n,t),delete:async t=>(await e).delete(\"keyval\",t),keys:async()=>(await e).getAllKeys(\"keyval\")}})}else rt({idbKeyval:{get:async e=>new Promise((t=>{t(it[e])})),set:async(e,t)=>new Promise((n=>{it[e]=t,n(e)})),delete:async e=>new Promise((()=>{delete it[e]})),keys:async()=>new Promise((e=>{e(Object.keys(it))}))}})})(),lt({metricName:\"Initialized Analytics:\",data:{deviceId:H.deviceId}}),fn.push((()=>{Pt()})),(async()=>{const e=await at(S);rt({isReady:!0}),gn(),e&&(bn(),se({eventId:e.eventId||oe.eventId,sequenceNumber:e.sequenceNumber||oe.sequenceNumber,sessionId:e.sessionId||oe.sessionId,lastEventTime:e.lastEventTime||oe.lastEventTime,sessionUUID:e.sessionUUID||oe.sessionUUID}),function(e){se(mn({},function(e){const t={};return O.forEach((n=>{e[n]&&(t[n]=e[n])})),t}(e),de()))}(e),Ue({sessionStart:e.sessionStart||oe.sessionStart}),De({ac:e.ac||Ie.ac,af:e.af||Ie.af,ah:e.ah||Ie.ah,al:e.al||Ie.al,am:e.am||Ie.am,ar:e.ar||Ie.ar,as:e.as||Ie.as,pv:e.pv||Ie.pv}),A.trackUserId&&Y({userId:e.userId||H.userId}),pn(),lt({metricName:\"Initialized Analytics IndexedDB:\",data:e}))})(),async function(){at(E).then((e=>{hn=null!=e?e:{}})).catch((e=>{e instanceof Error&&A.onError(e)}))}(),Z(),z()&&(ln((()=>{se({lastEventTime:Ae()}),st(),Bt()}),\"hidden\"),ln((()=>{pn()}),\"visible\")),z()&&(i=()=>{var e,t,n,r;te(),ee({width:null!=(e=null==(t=window)?void 0:t.innerWidth)?e:null,height:null!=(n=null==(r=window)?void 0:r.innerHeight)?n:null})},addEventListener(\"resize\",(()=>{requestAnimationFrame((()=>{i()}))}))),(()=>{if(z())try{const e=n(2);en.markStep=e.markStep,en.markStepOnce=e.markStepOnce,en.incrementUjNavigation=e.incrementUjNavigation,Yt=new e.Perfume({analyticsTracker:e=>{const{data:t,attribution:n,metricName:r,navigatorInformation:i,rating:a}=e,o=I[r],s=(null==n?void 0:n.category)||null;if(!o&&!s)return;const c=(null==i?void 0:i.deviceMemory)||0,u=(null==i?void 0:i.hardwareConcurrency)||0,l=(null==i?void 0:i.isLowEndDevice)||!1,p=(null==i?void 0:i.isLowEndExperience)||!1,v=(null==i?void 0:i.serviceWorkerStatus)||\"unsupported\",g=Vt({deviceMemory:c,hardwareConcurrency:u,isLowEndDevice:l,isLowEndExperience:p,serviceWorkerStatus:v},Gt),b={is_low_end_device:l,is_low_end_experience:p,page_key:re.pageKey||\"\",save_data:t.saveData||!1,service_worker:v,is_perf_metric:!0};if(\"navigationTiming\"===r)t&&\"number\"==typeof t.redirectTime&&Ht({metricName:I.redirectTime.eventName,metricType:d.histogram,tags:b,value:t.redirectTime||0});else if(\"TTFB\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),Ht({metricName:I.TTFB.eventName,metricType:d.histogram,tags:Vt({},b),value:t}),a&&Ht({metricName:\\`perf_web_vitals_ttfb_\\${a}\\`,metricType:d.count,tags:b,value:1});else if(\"networkInformation\"===r)null!=t&&t.effectiveType&&(Gt=t,$t(o.eventName,{action:f.measurement,componentType:m.page,networkInformationDownlink:t.downlink,networkInformationEffectiveType:t.effectiveType,networkInformationRtt:t.rtt,networkInformationSaveData:t.saveData,navigatorDeviceMemory:c,navigatorHardwareConcurrency:u}));else if(\"storageEstimate\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page},t,g)),Ht({metricName:\"perf_storage_estimate_caches\",metricType:d.histogram,tags:b,value:t.caches}),Ht({metricName:\"perf_storage_estimate_indexed_db\",metricType:d.histogram,tags:b,value:t.indexedDB});else if(\"CLS\"===r)$t(o.eventName,Vt({action:f.measurement,componentType:m.page,score:100*t||null,vitalsScore:a||null},g)),a&&Ht({metricName:\\`perf_web_vitals_cls_\\${a}\\`,metricType:d.count,tags:b,value:1});else if(\"FID\"===r){const e=(null==n?void 0:n.performanceEntry)||null,r=parseInt((null==e?void 0:e.processingStart)||\"\");$t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,processingStart:null!=e&&e.processingStart?r:null,startTime:null!=e&&e.startTime?parseInt(e.startTime):null,vitalsScore:a||null},g)),a&&Ht({metricName:\\`perf_web_vitals_fidVitals_\\${a}\\`,metricType:d.count,tags:b,value:1})}else\"userJourneyStep\"===r?($t(\"perf_user_journey_step\",Vt({action:f.measurement,componentType:m.page,duration:t||null,rating:null!=a?a:null,step_name:(null==n?void 0:n.stepName)||\"\"},g)),Ht({metricName:\\`user_journey_step.\\${A.projectName}.\\${A.platform}.\\${(null==n?void 0:n.stepName)||\"\"}_vitals_\\${a}\\`,metricType:d.count,tags:b,value:1}),Ht({metricName:\\`user_journey_step.\\${A.projectName}.\\${A.platform}.\\${(null==n?void 0:n.stepName)||\"\"}\\`,metricType:d.distribution,tags:b,value:t||null})):I[r]&&t&&($t(o.eventName,Vt({action:f.measurement,componentType:m.page,duration:t||null,vitalsScore:a||null},g)),a&&(Ht({metricName:\\`perf_web_vitals_\\${Xt(r)}_\\${a}\\`,metricType:d.count,tags:b,value:1}),\"LCP\"===r&&Ht({metricName:\\`perf_web_vitals_\\${Xt(r)}\\`,metricType:d.distribution,tags:b,value:t})))},maxMeasureTime:3e4,steps:A.steps,onMarkStep:Zt})}catch(e){e instanceof Error&&A.onError(e)}})()},Tn=e=>{Y(e),e.userAgent&&Z(),lt({metricName:\"Identify:\",data:{countryCode:H.countryCode,deviceId:H.deviceId,userId:H.userId}})},kn=({blacklistRegex:e,pageKeyRegex:t,browserHistory:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.listen((()=>{on()}))},_n=({blacklistRegex:e,pageKeyRegex:t,nextJsRouter:n})=>{Kt({blacklistRegex:e||[],isEnabled:!0}),ae({pageKeyRegex:t}),on({callMarkNTBT:!1}),n.events.on(\"routeChangeComplete\",(()=>{on()}))},Sn=()=>{Y({isOptOut:!0}),ot(S,{})},En=()=>{Y({isOptOut:!1})},xn={Button:{label:\"cb_button\",uuid:\"e921a074-40e6-4371-8700-134d5cd633e6\",componentType:m.button}};function On(e,t,n){return{componentName:e,actions:t,data:n}}function jn(){return jn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jn.apply(this,arguments)}function Nn(e,t,n){const{componentName:r,data:i}=n;$t(e.label,jn({componentType:e.componentType,action:t,loggingId:e.uuid,component_name:r},i))}const In={actionMapping:{onPress:f.click,onHover:f.hover},handlers:{Button:{[f.click]:e=>Nn(xn.Button,f.click,e),[f.hover]:e=>Nn(xn.Button,f.hover,e)}}};function Pn(e,t=!1){t?_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError}):yt((()=>{_t({url:A.tracesEndpoint,data:{traces:e},isJSON:!0,onError:A.onError})})),ut({metricName:\"Batch Traces\",data:e})}function Mn(){return Mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mn.apply(this,arguments)}const Bn=1e6;function Cn(e){return e*Bn}function Dn(e=function(){var e;return null==(e=window)?void 0:e.crypto}()){const t=new Uint32Array(2);return null==e||e.getRandomValues(t),((BigInt(t[0])<<BigInt(32))+BigInt(t[1])).toString()}function An(e,t){return{\"x-datadog-origin\":\"rum\",\"x-datadog-parent-id\":t,\"x-datadog-sampling-priority\":\"1\",\"x-datadog-trace-id\":e}}function Ln(e){var t;const{name:n,traceId:r,spanId:i,start:a,duration:o,resource:s,meta:c}=e;return{duration:o?Cn(o):0,name:n,resource:s,service:A.projectName,span_id:null!=i?i:Dn(),start:a?Cn(a):0,trace_id:null!=r?r:Dn(),parent_id:P,type:M,meta:Mn({platform:A.platform},re.pageKey?{page_key:re.pageKey}:{},null!=(t=Se.ujs)&&t.length?{last_ujs:Se.ujs[Se.ujs.length-1]}:{},null!=c?c:{})}}function Un(e){return[Ln(e)]}function Rn(e,t){Oe()&&function(e){return e.length>0}(e)&&(t&&function(e,t){e.forEach((e=>function(e,t){const n=Mn({},e.meta,t.meta),r={start:t.start?Cn(t.start):e.start,duration:t.duration?Cn(t.duration):e.duration};Object.assign(e,t,Mn({meta:n},r))}(e,t)))}(e,t),je.tracesQueue.push(e),wt(Pn)&&(Pn(je.tracesQueue),je.tracesQueue=[]))}function qn(e){var t=function(e,t){if(\"object\"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,\"string\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}function Fn(){return Fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fn.apply(this,arguments)}function zn(){return void 0!==typeof window&&\"performance\"in window&&\"mark\"in performance&&\"getEntriesByName\"in performance}function Kn(e,t){return\\`perf_\\${e}\\${null!=t&&t.label?\\`_\\${t.label}\\`:\"\"}\\`}function $n(e,t,n){return\\`\\${Kn(e,n)}__\\${t}\\`}let Qn={};function Wn(e,t,n){if(!zn())return;const r=$n(e,t,n);if(performance.mark(r),\"end\"===t){const t=Kn(e,n);!function(e,t,n){try{performance.measure(e,t,n)}catch(e){A.onError(e)}}(t,$n(e,\"start\",n),r);const i=performance.getEntriesByName(t).pop();i&&Ht(Fn({metricName:e,metricType:d.distribution,value:i.duration},null!=n&&n.tags?{tags:n.tags}:{}))}}function Hn(e,t){if(!zn())return;const n=$n(e,\"start\",t);Qn[n]||(Wn(e,\"start\",t),Qn[n]=!0)}function Vn(e,t){const n=$n(e,\"start\",t),r=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(Qn,[n].map(qn));Qn=r}function Jn(e,t){if(!zn())return;const n=$n(e,\"start\",t);Qn[n]&&(Wn(e,\"end\",t),Vn(e,t))}function Xn(){zn()&&(performance.clearMarks(),Qn={})}var Gn=n(784);function Zn(){return Zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zn.apply(this,arguments)}function Yn(e,t,n=l.low){const r=(0,Gn.useRef)(t);return(0,Gn.useEffect)((()=>{r.current=t}),[t]),(0,Gn.useCallback)((t=>{$t(e,Zn({},r.current,t),n)}),[e,n])}function er(){return er=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},er.apply(this,arguments)}function tr(e,t,n=l.low){(0,Gn.useEffect)((()=>{const r=er({},t,{action:f.render});$t(e,r,n)}),[])}function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nr.apply(this,arguments)}const rr=function(e,t){return{markStartPerf:(0,Gn.useCallback)((()=>Hn(e,t)),[e,t]),markEndPerf:(0,Gn.useCallback)((n=>Jn(e,nr({},t,n))),[e,t])}};function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ir.apply(this,arguments)}function ar(){return Object.entries(ir({},Se,zt(),{sessionUUID:oe.sessionUUID,userId:oe.userId})).reduce(((e,t)=>{return null!=(n=t[1])&&\"\"!==n?ir({},e,{[t[0]]:t[1]}):e;var n}),{})}async function or(){return new Promise((e=>{Mt(vt(je.eventsQueue)),Qt(bt(je.metricsQueue),!0),Pn(je.tracesQueue,!0),Ne({eventsQueue:[],metricsQueue:[],tracesQueue:[]}),e()}))}function sr(){return{\"X-CB-Device-ID\":H.deviceId||\"unknown\",\"X-CB-Is-Logged-In\":H.userId?\"true\":\"false\",\"X-CB-Pagekey\":re.pageKey||\"unknown\",\"X-CB-UJS\":(e=Se.ujs,void 0===e||0===e.length?\"\":e.join(\",\")),\"X-CB-Platform\":A.platform||\"unknown\",\"X-CB-Project-Name\":A.projectName||\"unknown\",\"X-CB-Session-UUID\":oe.sessionUUID||\"unknown\",\"X-CB-Version-Name\":A.version?String(A.version):\"unknown\"};var e}})(),r})()}));`;\n//# sourceMappingURL=telemetry-content.js.map","import { store } from '../../store/store.js';\nimport { TELEMETRY_SCRIPT_CONTENT } from './telemetry-content.js';\nexport const loadTelemetryScript = () => {\n return new Promise((resolve, reject) => {\n if (typeof window === 'undefined') {\n reject(new Error('Telemetry is not supported in non-browser environments'));\n return;\n }\n if (window.ClientAnalytics) {\n return resolve();\n }\n try {\n const script = document.createElement('script');\n script.textContent = TELEMETRY_SCRIPT_CONTENT;\n script.type = 'text/javascript';\n document.head.appendChild(script);\n initCCA();\n document.head.removeChild(script);\n resolve();\n }\n catch {\n console.error('Failed to execute inlined telemetry script');\n reject();\n }\n });\n};\nconst initCCA = () => {\n if (typeof window !== 'undefined') {\n const deviceId = store.config.get().deviceId ?? crypto?.randomUUID() ?? '';\n if (window.ClientAnalytics) {\n const { init, identify, PlatformName } = window.ClientAnalytics;\n init({\n isProd: true,\n amplitudeApiKey: 'c66737ad47ec354ced777935b0af822e',\n platform: PlatformName.web,\n projectName: 'base_account_sdk',\n showDebugLogging: false,\n version: '1.0.0',\n apiEndpoint: 'https://cca-lite.coinbase.com',\n });\n identify({ deviceId });\n store.config.set({ deviceId });\n }\n }\n};\n//# sourceMappingURL=initCCA.js.map","/**********************************************************************\n * Constants\n **********************************************************************/\nexport const factoryAddress = '0xba5ed110efdba3d005bfc882d75358acbbb85842';\nexport const spendPermissionManagerAddress = '0xf85210B21cC50302F477BA56686d2019dC9b67Ad';\nexport const abi = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'AlreadyOwner',\n type: 'error',\n },\n { inputs: [], name: 'Initialized', type: 'error' },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'InvalidEthereumAddressOwner',\n type: 'error',\n },\n {\n inputs: [{ name: 'key', type: 'uint256' }],\n name: 'InvalidNonceKey',\n type: 'error',\n },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'InvalidOwnerBytesLength',\n type: 'error',\n },\n { inputs: [], name: 'LastOwner', type: 'error' },\n {\n inputs: [{ name: 'index', type: 'uint256' }],\n name: 'NoOwnerAtIndex',\n type: 'error',\n },\n {\n inputs: [{ name: 'ownersRemaining', type: 'uint256' }],\n name: 'NotLastOwner',\n type: 'error',\n },\n {\n inputs: [{ name: 'selector', type: 'bytes4' }],\n name: 'SelectorNotAllowed',\n type: 'error',\n },\n { inputs: [], name: 'Unauthorized', type: 'error' },\n { inputs: [], name: 'UnauthorizedCallContext', type: 'error' },\n { inputs: [], name: 'UpgradeFailed', type: 'error' },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'expectedOwner', type: 'bytes' },\n { name: 'actualOwner', type: 'bytes' },\n ],\n name: 'WrongOwnerAtIndex',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'index',\n type: 'uint256',\n },\n { indexed: false, name: 'owner', type: 'bytes' },\n ],\n name: 'AddOwner',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'index',\n type: 'uint256',\n },\n { indexed: false, name: 'owner', type: 'bytes' },\n ],\n name: 'RemoveOwner',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'implementation',\n type: 'address',\n },\n ],\n name: 'Upgraded',\n type: 'event',\n },\n { stateMutability: 'payable', type: 'fallback' },\n {\n inputs: [],\n name: 'REPLAYABLE_NONCE_KEY',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'owner', type: 'address' }],\n name: 'addOwnerAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'x', type: 'bytes32' },\n { name: 'y', type: 'bytes32' },\n ],\n name: 'addOwnerPublicKey',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ name: 'functionSelector', type: 'bytes4' }],\n name: 'canSkipChainIdValidation',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [],\n name: 'domainSeparator',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', type: 'bytes1' },\n { name: 'name', type: 'string' },\n { name: 'version', type: 'string' },\n { name: 'chainId', type: 'uint256' },\n { name: 'verifyingContract', type: 'address' },\n { name: 'salt', type: 'bytes32' },\n { name: 'extensions', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'entryPoint',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'target', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'execute',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'target', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'executeBatch',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'calls', type: 'bytes[]' }],\n name: 'executeWithoutChainIdValidation',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHashWithoutChainId',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '$', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'owners', type: 'bytes[]' }],\n name: 'initialize',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'isOwnerAddress',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'bytes' }],\n name: 'isOwnerBytes',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'x', type: 'bytes32' },\n { name: 'y', type: 'bytes32' },\n ],\n name: 'isOwnerPublicKey',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'hash', type: 'bytes32' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'isValidSignature',\n outputs: [{ name: 'result', type: 'bytes4' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'nextOwnerIndex',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'index', type: 'uint256' }],\n name: 'ownerAtIndex',\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'ownerCount',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'owner', type: 'bytes' },\n ],\n name: 'removeLastOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'owner', type: 'bytes' },\n ],\n name: 'removeOwnerAtIndex',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'removedOwnersCount',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'hash', type: 'bytes32' }],\n name: 'replaySafeHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'newImplementation', type: 'address' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n { name: 'userOpHash', type: 'bytes32' },\n { name: 'missingAccountFunds', type: 'uint256' },\n ],\n name: 'validateUserOp',\n outputs: [{ name: 'validationData', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\nexport const factoryAbi = [\n {\n inputs: [{ name: 'implementation_', type: 'address' }],\n stateMutability: 'payable',\n type: 'constructor',\n },\n { inputs: [], name: 'OwnerRequired', type: 'error' },\n {\n inputs: [\n { name: 'owners', type: 'bytes[]' },\n { name: 'nonce', type: 'uint256' },\n ],\n name: 'createAccount',\n outputs: [\n {\n name: 'account',\n type: 'address',\n },\n ],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'owners', type: 'bytes[]' },\n { name: 'nonce', type: 'uint256' },\n ],\n name: 'getAddress',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'initCodeHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\nexport const spendPermissionManagerAbi = [\n {\n type: 'constructor',\n inputs: [\n {\n name: 'publicERC6492Validator',\n type: 'address',\n internalType: 'contract PublicERC6492Validator',\n },\n { name: 'magicSpend', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n name: 'MAGIC_SPEND',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'NATIVE_TOKEN',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'PERMISSION_DETAILS_TYPEHASH',\n inputs: [],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'PUBLIC_ERC6492_VALIDATOR',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'address',\n internalType: 'contract PublicERC6492Validator',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'SPEND_PERMISSION_BATCH_TYPEHASH',\n inputs: [],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'SPEND_PERMISSION_TYPEHASH',\n inputs: [],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'approve',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'approveBatchWithSignature',\n inputs: [\n {\n name: 'spendPermissionBatch',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermissionBatch',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n {\n name: 'permissions',\n type: 'tuple[]',\n internalType: 'struct SpendPermissionManager.PermissionDetails[]',\n components: [\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'token',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n {\n name: 'salt',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'extraData',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n },\n ],\n },\n { name: 'signature', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'approveWithRevoke',\n inputs: [\n {\n name: 'permissionToApprove',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n {\n name: 'permissionToRevoke',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n {\n name: 'expectedLastUpdatedPeriod',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'approveWithSignature',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n { name: 'signature', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'eip712Domain',\n inputs: [],\n outputs: [\n { name: 'fields', type: 'bytes1', internalType: 'bytes1' },\n { name: 'name', type: 'string', internalType: 'string' },\n { name: 'version', type: 'string', internalType: 'string' },\n { name: 'chainId', type: 'uint256', internalType: 'uint256' },\n {\n name: 'verifyingContract',\n type: 'address',\n internalType: 'address',\n },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n {\n name: 'extensions',\n type: 'uint256[]',\n internalType: 'uint256[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getBatchHash',\n inputs: [\n {\n name: 'spendPermissionBatch',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermissionBatch',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n {\n name: 'permissions',\n type: 'tuple[]',\n internalType: 'struct SpendPermissionManager.PermissionDetails[]',\n components: [\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'token',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n {\n name: 'salt',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'extraData',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getCurrentPeriod',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getHash',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getLastUpdatedPeriod',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'isApproved',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'isRevoked',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'isValid',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'revoke',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'revokeAsSpender',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'spend',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n { name: 'value', type: 'uint160', internalType: 'uint160' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'spendWithWithdraw',\n inputs: [\n {\n name: 'spendPermission',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n { name: 'value', type: 'uint160', internalType: 'uint160' },\n {\n name: 'withdrawRequest',\n type: 'tuple',\n internalType: 'struct MagicSpend.WithdrawRequest',\n components: [\n { name: 'signature', type: 'bytes', internalType: 'bytes' },\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'nonce', type: 'uint256', internalType: 'uint256' },\n { name: 'expiry', type: 'uint48', internalType: 'uint48' },\n ],\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n name: 'SpendPermissionApproved',\n inputs: [\n {\n name: 'hash',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n {\n name: 'spendPermission',\n type: 'tuple',\n indexed: false,\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'SpendPermissionRevoked',\n inputs: [\n {\n name: 'hash',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n {\n name: 'spendPermission',\n type: 'tuple',\n indexed: false,\n internalType: 'struct SpendPermissionManager.SpendPermission',\n components: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n {\n name: 'allowance',\n type: 'uint160',\n internalType: 'uint160',\n },\n { name: 'period', type: 'uint48', internalType: 'uint48' },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'salt', type: 'uint256', internalType: 'uint256' },\n { name: 'extraData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'SpendPermissionUsed',\n inputs: [\n {\n name: 'hash',\n type: 'bytes32',\n indexed: true,\n internalType: 'bytes32',\n },\n {\n name: 'account',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'spender',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'token',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'periodSpend',\n type: 'tuple',\n indexed: false,\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'AfterSpendPermissionEnd',\n inputs: [\n {\n name: 'currentTimestamp',\n type: 'uint48',\n internalType: 'uint48',\n },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n ],\n },\n {\n type: 'error',\n name: 'BeforeSpendPermissionStart',\n inputs: [\n {\n name: 'currentTimestamp',\n type: 'uint48',\n internalType: 'uint48',\n },\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n ],\n },\n {\n type: 'error',\n name: 'ERC721TokenNotSupported',\n inputs: [{ name: 'token', type: 'address', internalType: 'address' }],\n },\n { type: 'error', name: 'EmptySpendPermissionBatch', inputs: [] },\n {\n type: 'error',\n name: 'ExceededSpendPermission',\n inputs: [\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n { name: 'allowance', type: 'uint256', internalType: 'uint256' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidLastUpdatedPeriod',\n inputs: [\n {\n name: 'actualLastUpdatedPeriod',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n {\n name: 'expectedLastUpdatedPeriod',\n type: 'tuple',\n internalType: 'struct SpendPermissionManager.PeriodSpend',\n components: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n { name: 'spend', type: 'uint160', internalType: 'uint160' },\n ],\n },\n ],\n },\n {\n type: 'error',\n name: 'InvalidSender',\n inputs: [\n { name: 'sender', type: 'address', internalType: 'address' },\n { name: 'expected', type: 'address', internalType: 'address' },\n ],\n },\n { type: 'error', name: 'InvalidSignature', inputs: [] },\n {\n type: 'error',\n name: 'InvalidStartEnd',\n inputs: [\n { name: 'start', type: 'uint48', internalType: 'uint48' },\n { name: 'end', type: 'uint48', internalType: 'uint48' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidWithdrawRequestNonce',\n inputs: [\n {\n name: 'noncePostfix',\n type: 'uint128',\n internalType: 'uint128',\n },\n {\n name: 'permissionHashPostfix',\n type: 'uint128',\n internalType: 'uint128',\n },\n ],\n },\n {\n type: 'error',\n name: 'MismatchedAccounts',\n inputs: [\n {\n name: 'firstAccount',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'secondAccount',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'SafeERC20FailedOperation',\n inputs: [{ name: 'token', type: 'address', internalType: 'address' }],\n },\n {\n type: 'error',\n name: 'SpendTokenWithdrawAssetMismatch',\n inputs: [\n { name: 'spendToken', type: 'address', internalType: 'address' },\n {\n name: 'withdrawAsset',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'SpendValueOverflow',\n inputs: [{ name: 'value', type: 'uint256', internalType: 'uint256' }],\n },\n {\n type: 'error',\n name: 'SpendValueWithdrawAmountMismatch',\n inputs: [\n { name: 'spendValue', type: 'uint256', internalType: 'uint256' },\n {\n name: 'withdrawAmount',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n },\n { type: 'error', name: 'UnauthorizedSpendPermission', inputs: [] },\n {\n type: 'error',\n name: 'UnexpectedReceiveAmount',\n inputs: [\n { name: 'received', type: 'uint256', internalType: 'uint256' },\n { name: 'expected', type: 'uint256', internalType: 'uint256' },\n ],\n },\n { type: 'error', name: 'ZeroAllowance', inputs: [] },\n { type: 'error', name: 'ZeroPeriod', inputs: [] },\n { type: 'error', name: 'ZeroSpender', inputs: [] },\n { type: 'error', name: 'ZeroToken', inputs: [] },\n { type: 'error', name: 'ZeroValue', inputs: [] },\n];\n//# sourceMappingURL=constants.js.map","export const standardErrorCodes = {\n rpc: {\n invalidInput: -32000,\n resourceNotFound: -32001,\n resourceUnavailable: -32002,\n transactionRejected: -32003,\n methodNotSupported: -32004,\n limitExceeded: -32005,\n parse: -32700,\n invalidRequest: -32600,\n methodNotFound: -32601,\n invalidParams: -32602,\n internal: -32603,\n },\n provider: {\n userRejectedRequest: 4001,\n unauthorized: 4100,\n unsupportedMethod: 4200,\n disconnected: 4900,\n chainDisconnected: 4901,\n unsupportedChain: 4902,\n },\n};\nexport const errorValues = {\n '-32700': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n },\n '-32600': {\n standard: 'JSON RPC 2.0',\n message: 'The JSON sent is not a valid Request object.',\n },\n '-32601': {\n standard: 'JSON RPC 2.0',\n message: 'The method does not exist / is not available.',\n },\n '-32602': {\n standard: 'JSON RPC 2.0',\n message: 'Invalid method parameter(s).',\n },\n '-32603': {\n standard: 'JSON RPC 2.0',\n message: 'Internal JSON-RPC error.',\n },\n '-32000': {\n standard: 'EIP-1474',\n message: 'Invalid input.',\n },\n '-32001': {\n standard: 'EIP-1474',\n message: 'Resource not found.',\n },\n '-32002': {\n standard: 'EIP-1474',\n message: 'Resource unavailable.',\n },\n '-32003': {\n standard: 'EIP-1474',\n message: 'Transaction rejected.',\n },\n '-32004': {\n standard: 'EIP-1474',\n message: 'Method not supported.',\n },\n '-32005': {\n standard: 'EIP-1474',\n message: 'Request limit exceeded.',\n },\n '4001': {\n standard: 'EIP-1193',\n message: 'User rejected the request.',\n },\n '4100': {\n standard: 'EIP-1193',\n message: 'The requested account and/or method has not been authorized by the user.',\n },\n '4200': {\n standard: 'EIP-1193',\n message: 'The requested method is not supported by this Ethereum provider.',\n },\n '4900': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from all chains.',\n },\n '4901': {\n standard: 'EIP-1193',\n message: 'The provider is disconnected from the specified chain.',\n },\n '4902': {\n standard: 'EIP-3085',\n message: 'Unrecognized chain ID.',\n },\n};\n//# sourceMappingURL=constants.js.map","import { errorValues, standardErrorCodes } from './constants.js';\nconst FALLBACK_MESSAGE = 'Unspecified error message.';\nexport const JSON_RPC_SERVER_ERROR_MESSAGE = 'Unspecified server error.';\n/**\n * Gets the message for a given code, or a fallback message if the code has\n * no corresponding message.\n */\nexport function getMessageFromCode(code, fallbackMessage = FALLBACK_MESSAGE) {\n if (code && Number.isInteger(code)) {\n const codeString = code.toString();\n if (hasKey(errorValues, codeString)) {\n return errorValues[codeString].message;\n }\n if (isJsonRpcServerError(code)) {\n return JSON_RPC_SERVER_ERROR_MESSAGE;\n }\n }\n return fallbackMessage;\n}\n/**\n * Returns whether the given code is valid.\n * A code is only valid if it has a message.\n */\nexport function isValidCode(code) {\n if (!Number.isInteger(code)) {\n return false;\n }\n const codeString = code.toString();\n if (errorValues[codeString]) {\n return true;\n }\n if (isJsonRpcServerError(code)) {\n return true;\n }\n return false;\n}\n/**\n * Returns the error code from an error object.\n */\nexport function getErrorCode(error) {\n if (typeof error === 'number') {\n return error;\n }\n if (isErrorWithCode(error)) {\n return error.code ?? error.errorCode;\n }\n return undefined;\n}\nfunction isErrorWithCode(error) {\n return (typeof error === 'object' &&\n error !== null &&\n (typeof error.code === 'number' ||\n typeof error.errorCode === 'number'));\n}\nexport function serialize(error, { shouldIncludeStack = false } = {}) {\n const serialized = {};\n if (error &&\n typeof error === 'object' &&\n !Array.isArray(error) &&\n hasKey(error, 'code') &&\n isValidCode(error.code)) {\n const _error = error;\n serialized.code = _error.code;\n if (_error.message && typeof _error.message === 'string') {\n serialized.message = _error.message;\n if (hasKey(_error, 'data')) {\n serialized.data = _error.data;\n }\n }\n else {\n serialized.message = getMessageFromCode(serialized.code);\n serialized.data = { originalError: assignOriginalError(error) };\n }\n }\n else {\n serialized.code = standardErrorCodes.rpc.internal;\n serialized.message = hasStringProperty(error, 'message') ? error.message : FALLBACK_MESSAGE;\n serialized.data = { originalError: assignOriginalError(error) };\n }\n if (shouldIncludeStack) {\n serialized.stack = hasStringProperty(error, 'stack') ? error.stack : undefined;\n }\n return serialized;\n}\n// Internal\nfunction isJsonRpcServerError(code) {\n return code >= -32099 && code <= -32000;\n}\nfunction assignOriginalError(error) {\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return Object.assign({}, error);\n }\n return error;\n}\nfunction hasKey(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nfunction hasStringProperty(obj, prop) {\n return (typeof obj === 'object' && obj !== null && prop in obj && typeof obj[prop] === 'string');\n}\n//# sourceMappingURL=utils.js.map","import { standardErrorCodes } from './constants.js';\nimport { getMessageFromCode } from './utils.js';\nexport const standardErrors = {\n rpc: {\n parse: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.parse, arg),\n invalidRequest: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidRequest, arg),\n invalidParams: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidParams, arg),\n methodNotFound: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.methodNotFound, arg),\n internal: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.internal, arg),\n server: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum RPC Server errors must provide single object argument.');\n }\n const { code } = opts;\n if (!Number.isInteger(code) || code > -32005 || code < -32099) {\n throw new Error('\"code\" must be an integer such that: -32099 <= code <= -32005');\n }\n return getEthJsonRpcError(code, opts);\n },\n invalidInput: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidInput, arg),\n resourceNotFound: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.resourceNotFound, arg),\n resourceUnavailable: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.resourceUnavailable, arg),\n transactionRejected: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.transactionRejected, arg),\n methodNotSupported: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.methodNotSupported, arg),\n limitExceeded: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.limitExceeded, arg),\n },\n provider: {\n userRejectedRequest: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.userRejectedRequest, arg);\n },\n unauthorized: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.unauthorized, arg);\n },\n unsupportedMethod: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.unsupportedMethod, arg);\n },\n disconnected: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.disconnected, arg);\n },\n chainDisconnected: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.chainDisconnected, arg);\n },\n unsupportedChain: (arg) => {\n return getEthProviderError(standardErrorCodes.provider.unsupportedChain, arg);\n },\n custom: (opts) => {\n if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {\n throw new Error('Ethereum Provider custom errors must provide single object argument.');\n }\n const { code, message, data } = opts;\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string');\n }\n return new EthereumProviderError(code, message, data);\n },\n },\n};\n// Internal\nfunction getEthJsonRpcError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumRpcError(code, message || getMessageFromCode(code), data);\n}\nfunction getEthProviderError(code, arg) {\n const [message, data] = parseOpts(arg);\n return new EthereumProviderError(code, message || getMessageFromCode(code), data);\n}\nfunction parseOpts(arg) {\n if (arg) {\n if (typeof arg === 'string') {\n return [arg];\n }\n if (typeof arg === 'object' && !Array.isArray(arg)) {\n const { message, data } = arg;\n if (message && typeof message !== 'string') {\n throw new Error('Must specify string message.');\n }\n return [message || undefined, data];\n }\n }\n return [];\n}\nclass EthereumRpcError extends Error {\n code;\n data;\n constructor(code, message, data) {\n if (!Number.isInteger(code)) {\n throw new Error('\"code\" must be an integer.');\n }\n if (!message || typeof message !== 'string') {\n throw new Error('\"message\" must be a nonempty string.');\n }\n super(message);\n this.code = code;\n if (data !== undefined) {\n this.data = data;\n }\n }\n}\nclass EthereumProviderError extends EthereumRpcError {\n /**\n * Create an Ethereum Provider JSON-RPC error.\n * `code` must be an integer in the 1000 <= 4999 range.\n */\n constructor(code, message, data) {\n if (!isValidEthProviderCode(code)) {\n throw new Error('\"code\" must be an integer such that: 1000 <= code <= 4999');\n }\n super(code, message, data);\n }\n}\nclass ActionableInsufficientBalanceError extends EthereumRpcError {\n}\nfunction isValidEthProviderCode(code) {\n return Number.isInteger(code) && code >= 1000 && code <= 4999;\n}\nexport function isActionableHttpRequestError(errorObject) {\n return (typeof errorObject === 'object' &&\n errorObject !== null &&\n 'code' in errorObject &&\n 'data' in errorObject &&\n errorObject.code === -32090 &&\n typeof errorObject.data === 'object' &&\n errorObject.data !== null &&\n 'type' in errorObject.data &&\n errorObject.data.type === 'INSUFFICIENT_FUNDS');\n}\nexport function isViemError(error) {\n // Check if object and has code, message, and details\n return typeof error === 'object' && error !== null && 'details' in error;\n}\nexport function viemHttpErrorToProviderError(error) {\n try {\n const details = JSON.parse(error.details);\n return new EthereumRpcError(details.code, details.message, details.data);\n }\n catch (_) {\n return null;\n }\n}\n//# sourceMappingURL=errors.js.map","import { standardErrors } from '../core/error/errors.js';\nexport function assertPresence(value, error, message) {\n if (value === null || value === undefined) {\n throw (error ??\n standardErrors.rpc.invalidParams({\n message: message ?? 'value must be present',\n data: value,\n }));\n }\n}\nexport function assertArrayPresence(value, message) {\n if (!Array.isArray(value)) {\n throw standardErrors.rpc.invalidParams({\n message: message ?? 'value must be an array',\n data: value,\n });\n }\n}\n//# sourceMappingURL=assertPresence.js.map","const COOP_ERROR_MESSAGE = `Base Account SDK requires the Cross-Origin-Opener-Policy header to not be set to 'same-origin'. This is to ensure that the SDK can communicate with the Base Account app.\n\nPlease see https://docs.base.org/smart-wallet/quickstart#cross-origin-opener-policy for more information.`;\n/**\n * Creates a checker for the Cross-Origin-Opener-Policy (COOP).\n *\n * @returns An object with methods to get and check the Cross-Origin-Opener-Policy.\n *\n * @method getCrossOriginOpenerPolicy\n * Retrieves current Cross-Origin-Opener-Policy.\n * @throws Will throw an error if the policy has not been checked yet.\n *\n * @method checkCrossOriginOpenerPolicy\n * Checks the Cross-Origin-Opener-Policy of the current environment.\n * If in a non-browser environment, sets the policy to 'non-browser-env'.\n * If in a browser environment, fetches the policy from the current origin.\n * Logs an error if the policy is 'same-origin'.\n */\nconst createCoopChecker = () => {\n let crossOriginOpenerPolicy;\n return {\n getCrossOriginOpenerPolicy: () => {\n if (crossOriginOpenerPolicy === undefined) {\n return 'undefined';\n }\n return crossOriginOpenerPolicy;\n },\n checkCrossOriginOpenerPolicy: async () => {\n if (typeof window === 'undefined') {\n // Non-browser environment\n crossOriginOpenerPolicy = 'non-browser-env';\n return;\n }\n try {\n const url = `${window.location.origin}${window.location.pathname}`;\n const response = await fetch(url, {\n method: 'HEAD',\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const result = response.headers.get('Cross-Origin-Opener-Policy');\n crossOriginOpenerPolicy = result ?? 'null';\n if (crossOriginOpenerPolicy === 'same-origin') {\n console.error(COOP_ERROR_MESSAGE);\n }\n }\n catch (error) {\n console.error('Error checking Cross-Origin-Opener-Policy:', error.message);\n crossOriginOpenerPolicy = 'error';\n }\n },\n };\n};\nexport const { checkCrossOriginOpenerPolicy, getCrossOriginOpenerPolicy } = createCoopChecker();\n//# sourceMappingURL=checkCrossOriginOpenerPolicy.js.map","/**\n * Validates user supplied preferences. Throws if keys are not valid.\n * @param preference\n */\nexport function validatePreferences(preference) {\n if (!preference) {\n return;\n }\n if (preference.attribution) {\n if (preference.attribution.auto !== undefined &&\n preference.attribution.dataSuffix !== undefined) {\n throw new Error(`Attribution cannot contain both auto and dataSuffix properties`);\n }\n }\n if (preference.telemetry) {\n if (typeof preference.telemetry !== 'boolean') {\n throw new Error(`Telemetry must be a boolean`);\n }\n }\n}\n/**\n * Validates user supplied toSubAccountSigner function. Throws if keys are not valid.\n * @param toAccount\n */\nexport function validateSubAccount(toAccount) {\n if (typeof toAccount !== 'function') {\n throw new Error(`toAccount is not a function`);\n }\n}\n//# sourceMappingURL=validatePreferences.js.map","import { PACKAGE_NAME, PACKAGE_VERSION } from '../constants.js';\nimport { store } from '../../store/store.js';\nvar ComponentType;\n(function (ComponentType) {\n ComponentType[\"unknown\"] = \"unknown\";\n ComponentType[\"banner\"] = \"banner\";\n ComponentType[\"button\"] = \"button\";\n ComponentType[\"card\"] = \"card\";\n ComponentType[\"chart\"] = \"chart\";\n ComponentType[\"content_script\"] = \"content_script\";\n ComponentType[\"dropdown\"] = \"dropdown\";\n ComponentType[\"link\"] = \"link\";\n ComponentType[\"page\"] = \"page\";\n ComponentType[\"modal\"] = \"modal\";\n ComponentType[\"table\"] = \"table\";\n ComponentType[\"search_bar\"] = \"search_bar\";\n ComponentType[\"service_worker\"] = \"service_worker\";\n ComponentType[\"text\"] = \"text\";\n ComponentType[\"text_input\"] = \"text_input\";\n ComponentType[\"tray\"] = \"tray\";\n ComponentType[\"checkbox\"] = \"checkbox\";\n ComponentType[\"icon\"] = \"icon\";\n})(ComponentType || (ComponentType = {}));\nvar ActionType;\n(function (ActionType) {\n ActionType[\"unknown\"] = \"unknown\";\n ActionType[\"blur\"] = \"blur\";\n ActionType[\"click\"] = \"click\";\n ActionType[\"change\"] = \"change\";\n ActionType[\"dismiss\"] = \"dismiss\";\n ActionType[\"focus\"] = \"focus\";\n ActionType[\"hover\"] = \"hover\";\n ActionType[\"select\"] = \"select\";\n ActionType[\"measurement\"] = \"measurement\";\n ActionType[\"move\"] = \"move\";\n ActionType[\"process\"] = \"process\";\n ActionType[\"render\"] = \"render\";\n ActionType[\"scroll\"] = \"scroll\";\n ActionType[\"view\"] = \"view\";\n ActionType[\"search\"] = \"search\";\n ActionType[\"keyPress\"] = \"keyPress\";\n ActionType[\"error\"] = \"error\";\n})(ActionType || (ActionType = {}));\nvar AnalyticsEventImportance;\n(function (AnalyticsEventImportance) {\n AnalyticsEventImportance[\"low\"] = \"low\";\n AnalyticsEventImportance[\"high\"] = \"high\";\n})(AnalyticsEventImportance || (AnalyticsEventImportance = {}));\nexport function logEvent(name, event, importance) {\n // ClientAnalytics only works in the browser environment\n if (typeof window !== 'undefined' && window.ClientAnalytics) {\n window.ClientAnalytics?.logEvent(name, {\n ...event,\n sdkVersion: PACKAGE_VERSION,\n sdkName: PACKAGE_NAME,\n appName: store.config.get().metadata?.appName ?? '',\n appOrigin: window.location.origin,\n }, importance);\n }\n}\nexport function identify(event) {\n if (window.ClientAnalytics) {\n window.ClientAnalytics?.identify(event);\n }\n}\nexport { ActionType, AnalyticsEventImportance, ComponentType };\n//# sourceMappingURL=logEvent.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logPopupSetupStarted = () => {\n logEvent('communicator.popup_setup.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n }, AnalyticsEventImportance.high);\n};\nexport const logPopupSetupCompleted = () => {\n logEvent('communicator.popup_setup.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n }, AnalyticsEventImportance.high);\n};\nexport const logPopupUnloadReceived = () => {\n logEvent('communicator.popup_unload.received', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=communicator.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logDialogShown = ({ dialogContext }) => {\n logEvent(`dialog.${dialogContext}.shown`, {\n action: ActionType.render,\n componentType: ComponentType.modal,\n dialogContext,\n }, AnalyticsEventImportance.high);\n};\nexport const logDialogDismissed = ({ dialogContext }) => {\n logEvent(`dialog.${dialogContext}.dismissed`, {\n action: ActionType.dismiss,\n componentType: ComponentType.modal,\n dialogContext,\n }, AnalyticsEventImportance.high);\n};\nexport const logDialogActionClicked = ({ dialogContext, dialogAction, }) => {\n logEvent(`dialog.${dialogContext}.action_clicked`, {\n action: ActionType.click,\n componentType: ComponentType.button,\n dialogContext,\n dialogAction,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=dialog.js.map","export const FONT_FACE_CSS = `\n@font-face {\n font-family: \"BaseSans-Regular\";\n src: url(\"data:font/woff2;charset=utf-8;base64,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\")\n format(\"woff2\");\n font-weight: normal;\n font-style: normal;\n font-display: swap;\n}\n`;\n//# sourceMappingURL=fontFaceCSS.js.map","import { FONT_FACE_CSS } from './fontFaceCSS.js';\nconst FONT_NAME = 'BaseSans-Regular';\nexport function injectFontStyle() {\n const existing = document.head.querySelector(`style[base-sdk-font=\"${FONT_NAME}\"]`);\n if (existing)\n return;\n const style = document.createElement('style');\n style.setAttribute('base-sdk-font', FONT_NAME);\n style.textContent = FONT_FACE_CSS;\n document.head.appendChild(style);\n}\n//# sourceMappingURL=injectFontStyle.js.map","var n,l,u,t,i,o,r,f,e,c,s,a,h={},v=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function _(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function m(){return{current:null}}function b(n){return n.children}function k(n,l){this.props=n,this.context=l}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?x(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!P.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(P)}function P(){var n,u,t,o,r,e,c,s;for(i.sort(f);n=i.shift();)n.__d&&(u=i.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(o),O(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j(c,o,s),o.__e!=e&&C(o)),i.length>u&&i.sort(f));P.__r=0}function S(n,l,u,t,i,o,r,f,e,c,s){var a,p,y,d,w,_=t&&t.__k||v,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&(p=-1===y.__i?h:_[y.__i]||h,y.__i=a,O(n,y,p,i,o,r,f,e,c,s),d=y.__e,y.ref&&p.ref!=y.ref&&(p.ref&&N(p.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||p.__k===y.__k?e=I(y,e,n):\"function\"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w}function $(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)null!=(i=l[t])&&\"boolean\"!=typeof i&&\"function\"!=typeof i?(r=t+a,(i=n.__k[t]=\"string\"==typeof i||\"number\"==typeof i||\"bigint\"==typeof i||i.constructor==String?g(null,i,null,null,null):y(i)?g(b,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i).__=n,i.__b=n.__b+1,o=null,-1!==(f=i.__i=L(i,u,r,s))&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,\"function\"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:(f>r?a--:a++,i.__u|=65536))):i=n.__k[t]=null;if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V(o,o))}function I(n,l,u){var t,i;if(\"function\"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8===l.nodeType);return l}function H(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(y(n)?n.some(function(n){H(n,l)}):l.push(n)),l}function L(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++}}return-1}function T(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||p.test(l)?u:u+\"px\"}function A(n,l,u,t,i){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||T(n.style,l,\"\");if(u)for(l in u)t&&u[l]===t[l]||T(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,\"$1\")),l=l.toLowerCase()in n||\"onFocusOut\"===l||\"onFocusIn\"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e,n.addEventListener(l,o?s:c,o)):n.removeEventListener(l,o?s:c,o);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,o,r,f,e,c,s){var a,h,v,p,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l.__b)&&a(u);n:if(\"function\"==typeof T)try{if(m=u.props,x=\"prototype\"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new k(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,v=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),p=h.props,w=h.state,h.__v=u,v)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&m!==p&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(p,w,_)})}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=l.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[]}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!v&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(p,w)),S(n,y(L=null!=a&&a.type===b&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e}else u.__e=t.__e,u.__k=t.__k;l.__e(n,u,t)}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z(t.__e,u,t,i,o,r,f,c,s);(a=l.diffed)&&a(u)}function j(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function z(u,t,i,o,r,f,e,c,s){var a,v,p,d,_,g,m,b=i.props,k=t.props,C=t.type;if(\"svg\"===C?r=\"http://www.w3.org/2000/svg\":\"math\"===C?r=\"http://www.w3.org/1998/Math/MathML\":r||(r=\"http://www.w3.org/1999/xhtml\"),null!=f)for(a=0;a<f.length;a++)if((_=f[a])&&\"setAttribute\"in _==!!C&&(C?_.localName===C:3===_.nodeType)){u=_,f[a]=null;break}if(null==u){if(null===C)return document.createTextNode(k);u=document.createElementNS(r,C,k.is&&k),c&&(l.__m&&l.__m(t,f),c=!1),f=null}if(null===C)b===k||c&&u.data===k||(u.data=k);else{if(f=f&&n.call(u.childNodes),b=i.props||h,!c&&null!=f)for(b={},a=0;a<u.attributes.length;a++)b[(_=u.attributes[a]).name]=_.value;for(a in b)if(_=b[a],\"children\"==a);else if(\"dangerouslySetInnerHTML\"==a)p=_;else if(!(a in k)){if(\"value\"==a&&\"defaultValue\"in k||\"checked\"==a&&\"defaultChecked\"in k)continue;A(u,a,null,_,r)}for(a in k)_=k[a],\"children\"==a?d=_:\"dangerouslySetInnerHTML\"==a?v=_:\"value\"==a?g=_:\"checked\"==a?m=_:c&&\"function\"!=typeof _||b[a]===_||A(u,a,_,b[a],r);if(v)c||p&&(v.__html===p.__html||v.__html===u.innerHTML)||(u.innerHTML=v.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),S(u,y(d)?d:[d],t,i,o,\"foreignObject\"===C?\"http://www.w3.org/1999/xhtml\":r,f,e,f?f[0]:i.__k&&x(i,0),c,s),null!=f)for(a=f.length;a--;)w(f[a]);c||(a=\"value\",\"progress\"===C&&null==g?u.removeAttribute(\"value\"):void 0!==g&&(g!==u[a]||\"progress\"===C&&!g||\"option\"===C&&g!==b[a])&&A(u,a,g,b[a],r),a=\"checked\",void 0!==m&&m!==u[a]&&A(u,a,m,b[a],r))}return u}function N(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function V(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V(i[o],u,t||\"function\"!=typeof n.type);t||w(n.__e),n.__c=n.__=n.__e=n.__d=void 0}function q(n,l,u){return this.constructor(n,u)}function B(u,t,i){var o,r,f,e;l.__&&l.__(u,t),r=(o=\"function\"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O(t,u=(!o&&i||t).__k=_(b,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j(f,u,e)}function D(n,l){B(n,l,D)}function E(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+a++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},k.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),\"function\"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},k.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},k.prototype.render=b,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),a=0;export{k as Component,b as Fragment,E as cloneElement,G as createContext,_ as createElement,m as createRef,_ as h,D as hydrate,t as isValidElement,l as options,B as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\""\";break;case 38:f=\"&\";break;case 60:f=\"<\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,l=t;\"ref\"in t&&(a=t.ref,delete t.ref);var p={type:e,props:l,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===l[c]&&(l[c]=a[c]);return r.vnode&&r.vnode(p),p}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},l=/[A-Z]/g;function p(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var p=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(l,\"-$&\").toLowerCase()),_=\";\";\"number\"!=typeof a||p.startsWith(\"--\")||o.test(p)||(_=\"px;\"),i=i+p+\":\"+a+_}}return e+'=\"'+i+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(t)+'\"'}function _(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=_(r[e]);return r}}return n(\"\"+r)}export{u as jsx,p as jsxAttr,u as jsxDEV,_ as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","export async function getDisplayableUsername(address) {\n return truncateAddress(address);\n}\nfunction truncateAddress(address, length = 4) {\n return `${address.slice(0, 2 + length)}...${address.slice(-length)}`;\n}\n//# sourceMappingURL=getDisplayableUsername.js.map","export const WHITE = '#FFF';\nexport const BLACK = '#000';\nexport const BRAND_BLUE = '#0000FF';\nexport const LIGHT_MODE_BOARDER = '#1E2025';\nexport const DARK_MODE_BOARDER = '#282B31';\n// Button hover and active colors\nexport const BUTTON_HOVER_LIGHT_SOLID = '#2A2A2A';\nexport const BUTTON_HOVER_DARK_SOLID = '#F5F5F5';\nexport const BUTTON_HOVER_LIGHT_TRANSPARENT = 'rgba(0, 0, 0, 0.02)';\nexport const BUTTON_HOVER_DARK_TRANSPARENT = 'rgba(255, 255, 255, 0.05)';\nexport const BUTTON_ACTIVE_LIGHT_SOLID = '#3A3A3A';\nexport const BUTTON_ACTIVE_DARK_SOLID = '#EEEEEE';\nexport const BUTTON_ACTIVE_LIGHT_TRANSPARENT = 'rgba(0, 0, 0, 0.04)';\nexport const BUTTON_ACTIVE_DARK_TRANSPARENT = 'rgba(255, 255, 255, 0.08)';\nexport const BUTTON_HOVER_BORDER_LIGHT = '#1A1A1A';\nexport const BUTTON_HOVER_BORDER_DARK = '#FFFFFF';\nexport const BUTTON_ACTIVE_BORDER_LIGHT = '#2A2A2A';\nexport const BUTTON_ACTIVE_BORDER_DARK = '#FFFFFF';\n//# sourceMappingURL=colors.js.map","import { jsx as _jsx } from \"preact/jsx-runtime\";\nimport { BRAND_BLUE, WHITE } from './colors.js';\nexport const BaseLogo = ({ fill }) => {\n const fillColor = fill === 'blue' ? BRAND_BLUE : WHITE;\n return (_jsx(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: _jsx(\"path\", { d: \"M0 2.014C0 1.58105 0 1.36457 0.0815779 1.19805C0.159686 1.03861 0.288611 0.909686 0.448049 0.831578C0.61457 0.75 0.831047 0.75 1.264 0.75H14.736C15.169 0.75 15.3854 0.75 15.552 0.831578C15.7114 0.909686 15.8403 1.03861 15.9184 1.19805C16 1.36457 16 1.58105 16 2.014V15.486C16 15.919 16 16.1354 15.9184 16.302C15.8403 16.4614 15.7114 16.5903 15.552 16.6684C15.3854 16.75 15.169 16.75 14.736 16.75H1.264C0.831047 16.75 0.61457 16.75 0.448049 16.6684C0.288611 16.5903 0.159686 16.4614 0.0815779 16.302C0 16.1354 0 15.919 0 15.486V2.014Z\", fill: fillColor }) }));\n};\n//# sourceMappingURL=BaseLogo.js.map","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","export default (() => `.-base-acc-sdk-css-reset{-webkit-font-smoothing:antialiased;pointer-events:auto !important}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483647}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-container *{user-select:none;box-sizing:border-box}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-backdrop{align-items:flex-end;justify-content:stretch;padding:0}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{position:relative;z-index:2147483648}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog{width:100%}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);width:380px;max-height:90vh;overflow:hidden;transform:scale(0.95);opacity:0;transition:all .2s ease-in-out}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{touch-action:pan-y;user-select:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:scale(0.9);opacity:0}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%)}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:scale(1);opacity:1}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0)}}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance{width:100%;max-width:100%;border-radius:20px 20px 0 0;box-shadow:0 -10px 25px rgba(0,0,0,.15);max-height:80vh;transform:translateY(0)}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-hidden{transform:translateY(100%);opacity:1}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance:not(.-base-acc-sdk-dialog-instance-hidden){transform:translateY(0);opacity:1}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0 20px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header{padding:16px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title{display:flex;align-items:center;gap:8px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-icon-and-title-title{font-family:\"BaseSans-Regular\",sans-serif;font-size:14px;font-weight:400;color:#5b616e}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-cblogo{width:32px;height:32px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;border-radius:6px;transition:background-color .2s}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close:hover{background-color:#f5f7f8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{width:14px;height:14px}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-header-close-icon{display:none}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:20px 20px 16px 20px;font-family:\"BaseSans-Regular\",sans-serif}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content{padding:8px 20px 12px 20px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-title{font-size:20px;font-weight:600;line-height:28px;color:#0a0b0d;margin-bottom:10px}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-content-message{font-size:16px;font-weight:400;line-height:24px;color:#5b616e;margin-bottom:0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{display:flex;padding:16px 20px 20px 20px;flex-direction:column}@media(max-width: 600px)and (orientation: portrait){.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-actions{padding:16px 20px calc(20px + env(safe-area-inset-bottom)) 20px;gap:6px}}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button{font-family:\"BaseSans-Regular\",sans-serif;font-size:16px;font-weight:500;line-height:24px;border:none;border-radius:12px;padding:16px 24px;cursor:pointer;transition:all .2s ease-in-out;width:100%;margin:4px 0}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button:disabled{opacity:.5;cursor:not-allowed}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary{background-color:#0a0b0d;color:#fff}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:hover:not(:disabled){background-color:#1c1e20}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-primary:active:not(:disabled){background-color:#2a2d31}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary{background-color:#eef0f3;color:#0a0b0d}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:hover:not(:disabled){background-color:#e1e4e8}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-instance-button-secondary:active:not(:disabled){background-color:#d4d8dd}.-base-acc-sdk-css-reset .-base-acc-sdk-dialog-handle-bar{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:64px;height:4px;background-color:#d1d5db;border-radius:2px;opacity:0;animation:handleBarFadeIn .2s ease-in-out .2s forwards}@keyframes handleBarFadeIn{from{opacity:0}to{opacity:1}}`)();\n//# sourceMappingURL=Dialog-css.js.map","import { createElement as _createElement } from \"preact\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"preact/jsx-runtime\";\n// Copyright (c) 2018-2025 Coinbase, Inc. <https://www.coinbase.com/>\nimport { clsx } from 'clsx';\nimport { render } from 'preact';\nimport { getDisplayableUsername } from '../../core/username/getDisplayableUsername.js';\nimport { store } from '../../store/store.js';\nimport { BaseLogo } from '../assets/BaseLogo.js';\nimport { useEffect, useMemo, useState } from 'preact/hooks';\nimport css from './Dialog-css.js';\nconst closeIcon = `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzIDFMMSAxM20wLTEyTDEzIDEzIiBzdHJva2U9IiM5Q0EzQUYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+`;\n// Helper function to detect phone portrait mode\nfunction isPhonePortrait() {\n return window.innerWidth <= 600 && window.innerHeight > window.innerWidth;\n}\n// Handle bar component for mobile bottom sheet\nconst DialogHandleBar = () => {\n const [showHandleBar, setShowHandleBar] = useState(false);\n useEffect(() => {\n // Only show handle bar on phone portrait mode\n const checkOrientation = () => {\n setShowHandleBar(isPhonePortrait());\n };\n // Initial check\n checkOrientation();\n // Listen for orientation/resize changes\n window.addEventListener('resize', checkOrientation);\n window.addEventListener('orientationchange', checkOrientation);\n return () => {\n window.removeEventListener('resize', checkOrientation);\n window.removeEventListener('orientationchange', checkOrientation);\n };\n }, []);\n if (!showHandleBar) {\n return null;\n }\n return _jsx(\"div\", { class: \"-base-acc-sdk-dialog-handle-bar\" });\n};\nexport class Dialog {\n items = new Map();\n nextItemKey = 0;\n root = null;\n constructor() { }\n attach(el) {\n this.root = document.createElement('div');\n this.root.className = '-base-acc-sdk-dialog-root';\n el.appendChild(this.root);\n this.render();\n }\n presentItem(itemProps) {\n const key = this.nextItemKey++;\n this.items.set(key, itemProps);\n this.render();\n }\n clear() {\n this.items.clear();\n if (this.root) {\n render(null, this.root);\n }\n }\n render() {\n if (this.root) {\n render(_jsx(\"div\", { children: _jsx(DialogContainer, { children: Array.from(this.items.entries()).map(([key, itemProps]) => (_createElement(DialogInstance, { ...itemProps, key: key, handleClose: () => {\n this.clear();\n itemProps.onClose?.();\n } }))) }) }), this.root);\n }\n }\n}\nexport const DialogContainer = (props) => {\n const [dragY, setDragY] = useState(0);\n const [isDragging, setIsDragging] = useState(false);\n const [startY, setStartY] = useState(0);\n // Touch event handlers for drag-to-dismiss (entire dialog area)\n const handleTouchStart = (e) => {\n // Only enable drag on mobile portrait mode\n if (!isPhonePortrait())\n return;\n const touch = e.touches[0];\n setStartY(touch.clientY);\n setIsDragging(true);\n };\n const handleTouchMove = (e) => {\n if (!isDragging)\n return;\n const touch = e.touches[0];\n const deltaY = touch.clientY - startY;\n // Only allow dragging down (positive deltaY)\n if (deltaY > 0) {\n setDragY(deltaY);\n e.preventDefault(); // Prevent scrolling\n }\n };\n const handleTouchEnd = () => {\n if (!isDragging)\n return;\n setIsDragging(false);\n // Dismiss if dragged down more than 100px\n if (dragY > 100) {\n // Find the dialog instance and trigger its close handler\n const closeButton = document.querySelector('.-base-acc-sdk-dialog-instance-header-close');\n if (closeButton) {\n closeButton.click();\n }\n }\n else {\n // Animate back to original position\n setDragY(0);\n }\n };\n return (_jsxs(\"div\", { class: clsx('-base-acc-sdk-dialog-container'), children: [_jsx(\"style\", { children: css }), _jsx(\"div\", { class: \"-base-acc-sdk-dialog-backdrop\", onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, children: _jsxs(\"div\", { class: \"-base-acc-sdk-dialog\", style: {\n transform: `translateY(${dragY}px)`,\n transition: isDragging ? 'none' : 'transform 0.2s ease-out',\n }, children: [_jsx(DialogHandleBar, {}), props.children] }) })] }));\n};\nexport const DialogInstance = ({ title, message, actionItems, handleClose, }) => {\n const [hidden, setHidden] = useState(true);\n const [isLoadingUsername, setIsLoadingUsername] = useState(true);\n const [username, setUsername] = useState(null);\n useEffect(() => {\n const timer = window.setTimeout(() => {\n setHidden(false);\n }, 1);\n return () => {\n window.clearTimeout(timer);\n };\n }, []);\n useEffect(() => {\n const fetchEnsName = async () => {\n const address = store.account.get().accounts?.[0];\n if (address) {\n const username = await getDisplayableUsername(address);\n setUsername(username);\n }\n setIsLoadingUsername(false);\n };\n fetchEnsName();\n }, []);\n const headerTitle = useMemo(() => {\n return username ? `Signed in as ${username}` : 'Base Account';\n }, [username]);\n const shouldShowHeaderTitle = !isLoadingUsername;\n return (_jsxs(\"div\", { class: clsx('-base-acc-sdk-dialog-instance', hidden && '-base-acc-sdk-dialog-instance-hidden'), children: [_jsxs(\"div\", { class: \"-base-acc-sdk-dialog-instance-header\", children: [_jsxs(\"div\", { class: \"-base-acc-sdk-dialog-instance-header-icon-and-title\", children: [_jsx(BaseLogo, { fill: \"blue\" }), shouldShowHeaderTitle && (_jsx(\"div\", { class: \"-base-acc-sdk-dialog-instance-header-icon-and-title-title\", children: headerTitle }))] }), _jsx(\"div\", { class: \"-base-acc-sdk-dialog-instance-header-close\", onClick: handleClose, children: _jsx(\"img\", { src: closeIcon, class: \"-base-acc-sdk-dialog-instance-header-close-icon\" }) })] }), _jsxs(\"div\", { class: \"-base-acc-sdk-dialog-instance-content\", children: [_jsx(\"div\", { class: \"-base-acc-sdk-dialog-instance-content-title\", children: title }), _jsx(\"div\", { class: \"-base-acc-sdk-dialog-instance-content-message\", children: message })] }), actionItems && actionItems.length > 0 && (_jsx(\"div\", { class: \"-base-acc-sdk-dialog-instance-actions\", children: actionItems.map((action, i) => (_jsx(\"button\", { class: clsx('-base-acc-sdk-dialog-instance-button', action.variant === 'primary' && '-base-acc-sdk-dialog-instance-button-primary', action.variant === 'secondary' && '-base-acc-sdk-dialog-instance-button-secondary'), onClick: action.onClick, children: action.text }, i))) }))] }));\n};\n//# sourceMappingURL=Dialog.js.map","import { injectFontStyle } from '../assets/injectFontStyle.js';\nimport { Dialog } from './Dialog.js';\nlet dialog = null;\nexport function initDialog() {\n if (!dialog) {\n const root = document.createElement('div');\n root.className = '-base-acc-sdk-css-reset';\n document.body.appendChild(root);\n dialog = new Dialog();\n dialog.attach(root);\n }\n injectFontStyle();\n return dialog;\n}\n//# sourceMappingURL=index.js.map","import { PACKAGE_NAME, PACKAGE_VERSION } from '../core/constants.js';\nimport { standardErrors } from '../core/error/errors.js';\nimport { logDialogActionClicked, logDialogShown } from '../core/telemetry/events/dialog.js';\nimport { store } from '../store/store.js';\nimport { initDialog } from '../ui/Dialog/index.js';\nimport { getCrossOriginOpenerPolicy } from './checkCrossOriginOpenerPolicy.js';\nconst POPUP_WIDTH = 420;\nconst POPUP_HEIGHT = 700;\nconst POPUP_BLOCKED_TITLE = '{app} wants to continue in Base Account';\nconst POPUP_BLOCKED_MESSAGE = 'This action requires your permission to open a new window.';\nexport function openPopup(url) {\n const left = (window.innerWidth - POPUP_WIDTH) / 2 + window.screenX;\n const top = (window.innerHeight - POPUP_HEIGHT) / 2 + window.screenY;\n appendAppInfoQueryParams(url);\n function tryOpenPopup() {\n const popupId = `wallet_${crypto.randomUUID()}`;\n const popup = window.open(url, popupId, `width=${POPUP_WIDTH}, height=${POPUP_HEIGHT}, left=${left}, top=${top}`);\n popup?.focus();\n if (!popup) {\n return null;\n }\n return popup;\n }\n const popup = tryOpenPopup();\n // If the popup was blocked, show a snackbar with a retry button\n if (!popup) {\n return openPopupWithDialog(tryOpenPopup);\n }\n return Promise.resolve(popup);\n}\nexport function closePopup(popup) {\n if (popup && !popup.closed) {\n popup.close();\n }\n}\nfunction appendAppInfoQueryParams(url) {\n const params = {\n sdkName: PACKAGE_NAME,\n sdkVersion: PACKAGE_VERSION,\n origin: window.location.origin,\n coop: getCrossOriginOpenerPolicy(),\n };\n for (const [key, value] of Object.entries(params)) {\n if (!url.searchParams.has(key)) {\n url.searchParams.append(key, value.toString());\n }\n }\n}\nfunction openPopupWithDialog(tryOpenPopup) {\n const dappName = store.config.get().metadata?.appName ?? 'App';\n const dialog = initDialog();\n return new Promise((resolve, reject) => {\n logDialogShown({ dialogContext: 'popup_blocked' });\n dialog.presentItem({\n title: POPUP_BLOCKED_TITLE.replace('{app}', dappName),\n message: POPUP_BLOCKED_MESSAGE,\n onClose: () => {\n logDialogActionClicked({\n dialogContext: 'popup_blocked',\n dialogAction: 'cancel',\n });\n reject(standardErrors.rpc.internal('Popup window was blocked'));\n },\n actionItems: [\n {\n text: 'Try again',\n variant: 'primary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'popup_blocked',\n dialogAction: 'confirm',\n });\n const popup = tryOpenPopup();\n if (popup) {\n resolve(popup);\n }\n else {\n reject(standardErrors.rpc.internal('Popup window was blocked'));\n }\n dialog.clear();\n },\n },\n {\n text: 'Cancel',\n variant: 'secondary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'popup_blocked',\n dialogAction: 'cancel',\n });\n reject(standardErrors.rpc.internal('Popup window was blocked'));\n dialog.clear();\n },\n },\n ],\n });\n });\n}\n//# sourceMappingURL=web.js.map","import { CB_KEYS_URL, PACKAGE_NAME, PACKAGE_VERSION } from '../constants.js';\nimport { standardErrors } from '../error/errors.js';\nimport { logPopupSetupCompleted, logPopupSetupStarted, logPopupUnloadReceived, } from '../telemetry/events/communicator.js';\nimport { closePopup, openPopup } from '../../util/web.js';\n/**\n * Communicates with a popup window for specific Base Account environment\n * to send and receive messages.\n *\n * This class is responsible for opening a popup window, posting messages to it,\n * and listening for responses.\n *\n * It also handles cleanup of event listeners and the popup window itself when necessary.\n */\nexport class Communicator {\n metadata;\n preference;\n url;\n popup = null;\n listeners = new Map();\n constructor({ url = CB_KEYS_URL, metadata, preference }) {\n this.url = new URL(url);\n this.metadata = metadata;\n this.preference = preference;\n }\n /**\n * Posts a message to the popup window\n */\n postMessage = async (message) => {\n const popup = await this.waitForPopupLoaded();\n popup.postMessage(message, this.url.origin);\n };\n /**\n * Posts a request to the popup window and waits for a response\n */\n postRequestAndWaitForResponse = async (request) => {\n const responsePromise = this.onMessage(({ requestId }) => requestId === request.id);\n this.postMessage(request);\n return await responsePromise;\n };\n /**\n * Listens for messages from the popup window that match a given predicate.\n */\n onMessage = async (predicate) => {\n return new Promise((resolve, reject) => {\n const listener = (event) => {\n if (event.origin !== this.url.origin)\n return; // origin validation\n const message = event.data;\n if (predicate(message)) {\n resolve(message);\n window.removeEventListener('message', listener);\n this.listeners.delete(listener);\n }\n };\n window.addEventListener('message', listener);\n this.listeners.set(listener, { reject });\n });\n };\n /**\n * Closes the popup, rejects all requests and clears the listeners\n */\n disconnect = () => {\n // Note: keys popup handles closing itself. this is a fallback.\n closePopup(this.popup);\n this.popup = null;\n this.listeners.forEach(({ reject }, listener) => {\n reject(standardErrors.provider.userRejectedRequest('Request rejected'));\n window.removeEventListener('message', listener);\n });\n this.listeners.clear();\n };\n /**\n * Waits for the popup window to fully load and then sends a version message.\n */\n waitForPopupLoaded = async () => {\n if (this.popup && !this.popup.closed) {\n // In case the user un-focused the popup between requests, focus it again\n this.popup.focus();\n return this.popup;\n }\n logPopupSetupStarted();\n this.popup = await openPopup(this.url);\n this.onMessage(({ event }) => event === 'PopupUnload')\n .then(() => {\n this.disconnect();\n logPopupUnloadReceived();\n })\n .catch(() => { });\n return this.onMessage(({ event }) => event === 'PopupLoaded')\n .then((message) => {\n this.postMessage({\n requestId: message.id,\n data: {\n version: PACKAGE_VERSION,\n sdkName: PACKAGE_NAME,\n metadata: this.metadata,\n preference: this.preference,\n location: window.location.toString(),\n },\n });\n })\n .then(() => {\n if (!this.popup)\n throw standardErrors.rpc.internal();\n logPopupSetupCompleted();\n return this.popup;\n });\n };\n}\n//# sourceMappingURL=Communicator.js.map","import { PACKAGE_VERSION } from '../constants.js';\nimport { standardErrorCodes } from './constants.js';\nimport { serialize } from './utils.js';\n/**\n * Serializes an error to a format that is compatible with the Ethereum JSON RPC error format.\n * See https://docs.cloud.coinbase.com/wallet-sdk/docs/errors\n * for more information.\n */\nexport function serializeError(error) {\n const serialized = serialize(getErrorObject(error), {\n shouldIncludeStack: true,\n });\n const docUrl = new URL('https://docs.cloud.coinbase.com/wallet-sdk/docs/errors');\n docUrl.searchParams.set('version', PACKAGE_VERSION);\n docUrl.searchParams.set('code', serialized.code.toString());\n docUrl.searchParams.set('message', serialized.message);\n return {\n ...serialized,\n docUrl: docUrl.href,\n };\n}\nfunction isErrorResponse(response) {\n return response.errorMessage !== undefined;\n}\n/**\n * Converts an error to a serializable object.\n */\nfunction getErrorObject(error) {\n if (typeof error === 'string') {\n return {\n message: error,\n code: standardErrorCodes.rpc.internal,\n };\n }\n if (isErrorResponse(error)) {\n const message = error.errorMessage;\n const code = error.errorCode ??\n (message.match(/(denied|rejected)/i)\n ? standardErrorCodes.provider.userRejectedRequest\n : undefined);\n return {\n ...error,\n message,\n code,\n data: { method: error.method },\n };\n }\n return error;\n}\n//# sourceMappingURL=serialize.js.map","import { EventEmitter } from 'eventemitter3';\nexport class ProviderEventEmitter extends EventEmitter {\n}\n//# sourceMappingURL=interface.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logRequestStarted = ({ method, correlationId, }) => {\n logEvent('provider.request.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n signerType: 'base-account',\n correlationId,\n }, AnalyticsEventImportance.high);\n};\nexport const logRequestError = ({ method, correlationId, errorMessage, }) => {\n logEvent('provider.request.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n signerType: 'base-account',\n correlationId,\n errorMessage,\n }, AnalyticsEventImportance.high);\n};\nexport const logRequestResponded = ({ method, correlationId, }) => {\n logEvent('provider.request.responded', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n signerType: 'base-account',\n correlationId,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=provider.js.map","// biome-ignore lint/suspicious/noExplicitAny: this is used in a catch block\nexport const parseErrorMessageFromAny = (errorOrAny) => {\n return 'message' in errorOrAny && typeof errorOrAny.message === 'string'\n ? errorOrAny.message\n : '';\n};\n//# sourceMappingURL=utils.js.map","export function OpaqueType() {\n return (value) => value;\n}\nexport const HexString = OpaqueType();\nexport const BigIntString = OpaqueType();\nexport function IntNumber(num) {\n return Math.floor(num);\n}\nexport const RegExpString = OpaqueType();\n//# sourceMappingURL=index.js.map","// Copyright (c) 2018-2023 Coinbase, Inc. <https://www.coinbase.com/>\nimport { standardErrors } from '../error/errors.js';\nimport { BigIntString, HexString, IntNumber, RegExpString } from './index.js';\nconst INT_STRING_REGEX = /^[0-9]*$/;\nconst HEXADECIMAL_STRING_REGEX = /^[a-f0-9]*$/;\n/**\n * @param length number of bytes\n */\nexport function randomBytesHex(length) {\n return uint8ArrayToHex(crypto.getRandomValues(new Uint8Array(length)));\n}\nexport function uint8ArrayToHex(value) {\n return [...value].map((b) => b.toString(16).padStart(2, '0')).join('');\n}\nexport function hexStringToUint8Array(hexString) {\n return new Uint8Array(hexString.match(/.{1,2}/g).map((byte) => Number.parseInt(byte, 16)));\n}\nexport function hexStringFromBuffer(buf, includePrefix = false) {\n const hex = buf.toString('hex');\n return HexString(includePrefix ? `0x${hex}` : hex);\n}\nexport function encodeToHexString(str) {\n return hexStringFromBuffer(ensureBuffer(str), true);\n}\nexport function bigIntStringFromBigInt(bi) {\n return BigIntString(bi.toString(10));\n}\nexport function intNumberFromHexString(hex) {\n return IntNumber(Number(BigInt(ensureEvenLengthHexString(hex, true))));\n}\nexport function hexStringFromNumber(num) {\n return HexString(`0x${BigInt(num).toString(16)}`);\n}\nexport function has0xPrefix(str) {\n return str.startsWith('0x') || str.startsWith('0X');\n}\nexport function strip0x(hex) {\n if (has0xPrefix(hex)) {\n return hex.slice(2);\n }\n return hex;\n}\nexport function prepend0x(hex) {\n if (has0xPrefix(hex)) {\n return `0x${hex.slice(2)}`;\n }\n return `0x${hex}`;\n}\nexport function isHexString(hex) {\n if (typeof hex !== 'string') {\n return false;\n }\n const s = strip0x(hex).toLowerCase();\n return HEXADECIMAL_STRING_REGEX.test(s);\n}\nexport function ensureHexString(hex, includePrefix = false) {\n if (typeof hex === 'string') {\n const s = strip0x(hex).toLowerCase();\n if (HEXADECIMAL_STRING_REGEX.test(s)) {\n return HexString(includePrefix ? `0x${s}` : s);\n }\n }\n throw standardErrors.rpc.invalidParams(`\"${String(hex)}\" is not a hexadecimal string`);\n}\nexport function ensureEvenLengthHexString(hex, includePrefix = false) {\n let h = ensureHexString(hex, false);\n if (h.length % 2 === 1) {\n h = HexString(`0${h}`);\n }\n return includePrefix ? HexString(`0x${h}`) : h;\n}\nexport function ensureAddressString(str) {\n if (typeof str === 'string') {\n const s = strip0x(str).toLowerCase();\n if (isHexString(s) && s.length === 40) {\n return prepend0x(s);\n }\n }\n throw standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(str)}`);\n}\nexport function ensureBuffer(str) {\n if (Buffer.isBuffer(str)) {\n return str;\n }\n if (typeof str === 'string') {\n if (isHexString(str)) {\n const s = ensureEvenLengthHexString(str, false);\n return Buffer.from(s, 'hex');\n }\n return Buffer.from(str, 'utf8');\n }\n throw standardErrors.rpc.invalidParams(`Not binary data: ${String(str)}`);\n}\nexport function ensureIntNumber(num) {\n if (typeof num === 'number' && Number.isInteger(num)) {\n return IntNumber(num);\n }\n if (typeof num === 'string') {\n if (INT_STRING_REGEX.test(num)) {\n return IntNumber(Number(num));\n }\n if (isHexString(num)) {\n return IntNumber(Number(BigInt(ensureEvenLengthHexString(num, true))));\n }\n }\n throw standardErrors.rpc.invalidParams(`Not an integer: ${String(num)}`);\n}\nexport function ensureRegExpString(regExp) {\n if (regExp instanceof RegExp) {\n return RegExpString(regExp.toString());\n }\n throw standardErrors.rpc.invalidParams(`Not a RegExp: ${String(regExp)}`);\n}\nexport function ensureBigInt(val) {\n if (val !== null && (typeof val === 'bigint' || isBigNumber(val))) {\n // biome-ignore lint/suspicious/noExplicitAny: force cast to any to avoid type error\n return BigInt(val.toString(10));\n }\n if (typeof val === 'number') {\n return BigInt(ensureIntNumber(val));\n }\n if (typeof val === 'string') {\n if (INT_STRING_REGEX.test(val)) {\n return BigInt(val);\n }\n if (isHexString(val)) {\n return BigInt(ensureEvenLengthHexString(val, true));\n }\n }\n throw standardErrors.rpc.invalidParams(`Not an integer: ${String(val)}`);\n}\nexport function ensureParsedJSONObject(val) {\n if (typeof val === 'string') {\n return JSON.parse(val);\n }\n if (typeof val === 'object') {\n return val;\n }\n throw standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(val)}`);\n}\nexport function isBigNumber(val) {\n // biome-ignore lint/suspicious/noExplicitAny: force cast to any to avoid type error\n if (val == null || typeof val.constructor !== 'function') {\n return false;\n }\n // biome-ignore lint/suspicious/noExplicitAny: force cast to any to avoid type error\n const { constructor: constructor_ } = val;\n return typeof constructor_.config === 'function' && typeof constructor_.EUCLID === 'number';\n}\nexport function range(start, stop) {\n return Array.from({ length: stop - start }, (_, i) => start + i);\n}\nexport function areAddressArraysEqual(arr1, arr2) {\n return arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);\n}\n//# sourceMappingURL=util.js.map","import { store } from '../../../store/store.js';\nimport { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logHandshakeStarted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.handshake.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logHandshakeError = ({ method, correlationId, errorMessage, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.handshake.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n errorMessage,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logHandshakeCompleted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.handshake.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logRequestStarted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.request.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logRequestError = ({ method, correlationId, errorMessage, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.request.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n errorMessage,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logRequestCompleted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_signer.request.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=scw-signer.js.map","import { store } from '../../../store/store.js';\nimport { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logSubAccountRequestStarted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.request.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logSubAccountRequestCompleted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.request.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logSubAccountRequestError = ({ method, correlationId, errorMessage, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.request.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n errorMessage,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logAddOwnerStarted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.add_owner.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logAddOwnerCompleted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.add_owner.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logAddOwnerError = ({ method, correlationId, errorMessage, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.add_owner.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n errorMessage,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logInsufficientBalanceErrorHandlingStarted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.insufficient_balance.error_handling.started', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logInsufficientBalanceErrorHandlingCompleted = ({ method, correlationId, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.insufficient_balance.error_handling.completed', {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\nexport const logInsufficientBalanceErrorHandlingError = ({ method, correlationId, errorMessage, }) => {\n const config = store.subAccountsConfig.get();\n logEvent('scw_sub_account.insufficient_balance.error_handling.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method,\n correlationId,\n errorMessage,\n subAccountCreation: config?.creation,\n subAccountDefaultAccount: config?.defaultAccount,\n subAccountFunding: config?.funding,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=scw-sub-account.js.map","// TODO(v3): Remove this in favor of `ox/WebAuthnP256` entirely.\nimport * as PublicKey from 'ox/PublicKey';\nimport * as WebAuthnP256 from 'ox/WebAuthnP256';\nexport async function createWebAuthnCredential(parameters) {\n const credential = await WebAuthnP256.createCredential(parameters);\n return {\n id: credential.id,\n publicKey: PublicKey.toHex(credential.publicKey, { includePrefix: false }),\n raw: credential.raw,\n };\n}\n//# sourceMappingURL=createWebAuthnCredential.js.map","export const entryPoint06Abi = [\n {\n inputs: [\n { name: 'preOpGas', type: 'uint256' },\n { name: 'paid', type: 'uint256' },\n { name: 'validAfter', type: 'uint48' },\n { name: 'validUntil', type: 'uint48' },\n { name: 'targetSuccess', type: 'bool' },\n { name: 'targetResult', type: 'bytes' },\n ],\n name: 'ExecutionResult',\n type: 'error',\n },\n {\n inputs: [\n { name: 'opIndex', type: 'uint256' },\n { name: 'reason', type: 'string' },\n ],\n name: 'FailedOp',\n type: 'error',\n },\n {\n inputs: [{ name: 'sender', type: 'address' }],\n name: 'SenderAddressResult',\n type: 'error',\n },\n {\n inputs: [{ name: 'aggregator', type: 'address' }],\n name: 'SignatureValidationFailed',\n type: 'error',\n },\n {\n inputs: [\n {\n components: [\n { name: 'preOpGas', type: 'uint256' },\n { name: 'prefund', type: 'uint256' },\n { name: 'sigFailed', type: 'bool' },\n { name: 'validAfter', type: 'uint48' },\n { name: 'validUntil', type: 'uint48' },\n { name: 'paymasterContext', type: 'bytes' },\n ],\n name: 'returnInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'senderInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'factoryInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'paymasterInfo',\n type: 'tuple',\n },\n ],\n name: 'ValidationResult',\n type: 'error',\n },\n {\n inputs: [\n {\n components: [\n { name: 'preOpGas', type: 'uint256' },\n { name: 'prefund', type: 'uint256' },\n { name: 'sigFailed', type: 'bool' },\n { name: 'validAfter', type: 'uint48' },\n { name: 'validUntil', type: 'uint48' },\n { name: 'paymasterContext', type: 'bytes' },\n ],\n name: 'returnInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'senderInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'factoryInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n { name: 'unstakeDelaySec', type: 'uint256' },\n ],\n name: 'paymasterInfo',\n type: 'tuple',\n },\n {\n components: [\n { name: 'aggregator', type: 'address' },\n {\n components: [\n { name: 'stake', type: 'uint256' },\n {\n name: 'unstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'stakeInfo',\n type: 'tuple',\n },\n ],\n name: 'aggregatorInfo',\n type: 'tuple',\n },\n ],\n name: 'ValidationResultWithAggregation',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'factory',\n type: 'address',\n },\n {\n indexed: false,\n name: 'paymaster',\n type: 'address',\n },\n ],\n name: 'AccountDeployed',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'totalDeposit',\n type: 'uint256',\n },\n ],\n name: 'Deposited',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'aggregator',\n type: 'address',\n },\n ],\n name: 'SignatureAggregatorChanged',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'totalStaked',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'unstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'StakeLocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawTime',\n type: 'uint256',\n },\n ],\n name: 'StakeUnlocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'StakeWithdrawn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: true,\n name: 'paymaster',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n { indexed: false, name: 'success', type: 'bool' },\n {\n indexed: false,\n name: 'actualGasCost',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'actualGasUsed',\n type: 'uint256',\n },\n ],\n name: 'UserOperationEvent',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'UserOperationRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'Withdrawn',\n type: 'event',\n },\n {\n inputs: [],\n name: 'SIG_VALIDATION_FAILED',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'initCode', type: 'bytes' },\n { name: 'sender', type: 'address' },\n { name: 'paymasterAndData', type: 'bytes' },\n ],\n name: '_validateSenderAndPaymaster',\n outputs: [],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'unstakeDelaySec', type: 'uint32' }],\n name: 'addStake',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'depositTo',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: '', type: 'address' }],\n name: 'deposits',\n outputs: [\n { name: 'deposit', type: 'uint112' },\n { name: 'staked', type: 'bool' },\n { name: 'stake', type: 'uint112' },\n { name: 'unstakeDelaySec', type: 'uint32' },\n { name: 'withdrawTime', type: 'uint48' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'getDepositInfo',\n outputs: [\n {\n components: [\n { name: 'deposit', type: 'uint112' },\n { name: 'staked', type: 'bool' },\n { name: 'stake', type: 'uint112' },\n { name: 'unstakeDelaySec', type: 'uint32' },\n { name: 'withdrawTime', type: 'uint48' },\n ],\n name: 'info',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'sender', type: 'address' },\n { name: 'key', type: 'uint192' },\n ],\n name: 'getNonce',\n outputs: [{ name: 'nonce', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'initCode', type: 'bytes' }],\n name: 'getSenderAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n {\n name: 'callGasLimit',\n type: 'uint256',\n },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n {\n name: 'maxFeePerGas',\n type: 'uint256',\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n {\n name: 'paymasterAndData',\n type: 'bytes',\n },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOps',\n type: 'tuple[]',\n },\n {\n name: 'aggregator',\n type: 'address',\n },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'opsPerAggregator',\n type: 'tuple[]',\n },\n { name: 'beneficiary', type: 'address' },\n ],\n name: 'handleAggregatedOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'ops',\n type: 'tuple[]',\n },\n { name: 'beneficiary', type: 'address' },\n ],\n name: 'handleOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ name: 'key', type: 'uint192' }],\n name: 'incrementNonce',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'callData', type: 'bytes' },\n {\n components: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n {\n name: 'callGasLimit',\n type: 'uint256',\n },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'paymaster', type: 'address' },\n {\n name: 'maxFeePerGas',\n type: 'uint256',\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n ],\n name: 'mUserOp',\n type: 'tuple',\n },\n { name: 'userOpHash', type: 'bytes32' },\n { name: 'prefund', type: 'uint256' },\n { name: 'contextOffset', type: 'uint256' },\n { name: 'preOpGas', type: 'uint256' },\n ],\n name: 'opInfo',\n type: 'tuple',\n },\n { name: 'context', type: 'bytes' },\n ],\n name: 'innerHandleOp',\n outputs: [{ name: 'actualGasCost', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: '', type: 'address' },\n { name: '', type: 'uint192' },\n ],\n name: 'nonceSequenceNumber',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'op',\n type: 'tuple',\n },\n { name: 'target', type: 'address' },\n { name: 'targetCallData', type: 'bytes' },\n ],\n name: 'simulateHandleOp',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'simulateValidation',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unlockStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'withdrawAddress',\n type: 'address',\n },\n ],\n name: 'withdrawStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'withdrawAddress',\n type: 'address',\n },\n { name: 'withdrawAmount', type: 'uint256' },\n ],\n name: 'withdrawTo',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\nexport const entryPoint07Abi = [\n {\n inputs: [\n { name: 'success', type: 'bool' },\n { name: 'ret', type: 'bytes' },\n ],\n name: 'DelegateAndRevert',\n type: 'error',\n },\n {\n inputs: [\n { name: 'opIndex', type: 'uint256' },\n { name: 'reason', type: 'string' },\n ],\n name: 'FailedOp',\n type: 'error',\n },\n {\n inputs: [\n { name: 'opIndex', type: 'uint256' },\n { name: 'reason', type: 'string' },\n { name: 'inner', type: 'bytes' },\n ],\n name: 'FailedOpWithRevert',\n type: 'error',\n },\n {\n inputs: [{ name: 'returnData', type: 'bytes' }],\n name: 'PostOpReverted',\n type: 'error',\n },\n { inputs: [], name: 'ReentrancyGuardReentrantCall', type: 'error' },\n {\n inputs: [{ name: 'sender', type: 'address' }],\n name: 'SenderAddressResult',\n type: 'error',\n },\n {\n inputs: [{ name: 'aggregator', type: 'address' }],\n name: 'SignatureValidationFailed',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'factory',\n type: 'address',\n },\n {\n indexed: false,\n name: 'paymaster',\n type: 'address',\n },\n ],\n name: 'AccountDeployed',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'totalDeposit',\n type: 'uint256',\n },\n ],\n name: 'Deposited',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'PostOpRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'aggregator',\n type: 'address',\n },\n ],\n name: 'SignatureAggregatorChanged',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'totalStaked',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'unstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'StakeLocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawTime',\n type: 'uint256',\n },\n ],\n name: 'StakeUnlocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'StakeWithdrawn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: true,\n name: 'paymaster',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n { indexed: false, name: 'success', type: 'bool' },\n {\n indexed: false,\n name: 'actualGasCost',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'actualGasUsed',\n type: 'uint256',\n },\n ],\n name: 'UserOperationEvent',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n ],\n name: 'UserOperationPrefundTooLow',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'UserOperationRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'Withdrawn',\n type: 'event',\n },\n {\n inputs: [{ name: 'unstakeDelaySec', type: 'uint32' }],\n name: 'addStake',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'target', type: 'address' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'delegateAndRevert',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'depositTo',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: '', type: 'address' }],\n name: 'deposits',\n outputs: [\n { name: 'deposit', type: 'uint256' },\n { name: 'staked', type: 'bool' },\n { name: 'stake', type: 'uint112' },\n { name: 'unstakeDelaySec', type: 'uint32' },\n { name: 'withdrawTime', type: 'uint48' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'getDepositInfo',\n outputs: [\n {\n components: [\n { name: 'deposit', type: 'uint256' },\n { name: 'staked', type: 'bool' },\n { name: 'stake', type: 'uint112' },\n { name: 'unstakeDelaySec', type: 'uint32' },\n { name: 'withdrawTime', type: 'uint48' },\n ],\n name: 'info',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'sender', type: 'address' },\n { name: 'key', type: 'uint192' },\n ],\n name: 'getNonce',\n outputs: [{ name: 'nonce', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'initCode', type: 'bytes' }],\n name: 'getSenderAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n {\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'gasFees', type: 'bytes32' },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n {\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'gasFees', type: 'bytes32' },\n {\n name: 'paymasterAndData',\n type: 'bytes',\n },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOps',\n type: 'tuple[]',\n },\n {\n name: 'aggregator',\n type: 'address',\n },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'opsPerAggregator',\n type: 'tuple[]',\n },\n { name: 'beneficiary', type: 'address' },\n ],\n name: 'handleAggregatedOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n {\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'gasFees', type: 'bytes32' },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'ops',\n type: 'tuple[]',\n },\n { name: 'beneficiary', type: 'address' },\n ],\n name: 'handleOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ name: 'key', type: 'uint192' }],\n name: 'incrementNonce',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'callData', type: 'bytes' },\n {\n components: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'callGasLimit',\n type: 'uint256',\n },\n {\n name: 'paymasterVerificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'paymasterPostOpGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'paymaster', type: 'address' },\n {\n name: 'maxFeePerGas',\n type: 'uint256',\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n ],\n name: 'mUserOp',\n type: 'tuple',\n },\n { name: 'userOpHash', type: 'bytes32' },\n { name: 'prefund', type: 'uint256' },\n { name: 'contextOffset', type: 'uint256' },\n { name: 'preOpGas', type: 'uint256' },\n ],\n name: 'opInfo',\n type: 'tuple',\n },\n { name: 'context', type: 'bytes' },\n ],\n name: 'innerHandleOp',\n outputs: [{ name: 'actualGasCost', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: '', type: 'address' },\n { name: '', type: 'uint192' },\n ],\n name: 'nonceSequenceNumber',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'interfaceId', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unlockStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'withdrawAddress',\n type: 'address',\n },\n ],\n name: 'withdrawStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n name: 'withdrawAddress',\n type: 'address',\n },\n { name: 'withdrawAmount', type: 'uint256' },\n ],\n name: 'withdrawTo',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\nexport const entryPoint08Abi = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n inputs: [\n { internalType: 'bool', name: 'success', type: 'bool' },\n { internalType: 'bytes', name: 'ret', type: 'bytes' },\n ],\n name: 'DelegateAndRevert',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'opIndex', type: 'uint256' },\n { internalType: 'string', name: 'reason', type: 'string' },\n ],\n name: 'FailedOp',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'opIndex', type: 'uint256' },\n { internalType: 'string', name: 'reason', type: 'string' },\n { internalType: 'bytes', name: 'inner', type: 'bytes' },\n ],\n name: 'FailedOpWithRevert',\n type: 'error',\n },\n { inputs: [], name: 'InvalidShortString', type: 'error' },\n {\n inputs: [{ internalType: 'bytes', name: 'returnData', type: 'bytes' }],\n name: 'PostOpReverted',\n type: 'error',\n },\n { inputs: [], name: 'ReentrancyGuardReentrantCall', type: 'error' },\n {\n inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],\n name: 'SenderAddressResult',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'aggregator', type: 'address' }],\n name: 'SignatureValidationFailed',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'string', name: 'str', type: 'string' }],\n name: 'StringTooLong',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'factory',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'paymaster',\n type: 'address',\n },\n ],\n name: 'AccountDeployed',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'totalDeposit',\n type: 'uint256',\n },\n ],\n name: 'Deposited',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'EIP712DomainChanged', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bytes',\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'PostOpRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'aggregator',\n type: 'address',\n },\n ],\n name: 'SignatureAggregatorChanged',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'totalStaked',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'unstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'StakeLocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'withdrawTime',\n type: 'uint256',\n },\n ],\n name: 'StakeUnlocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'StakeWithdrawn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'paymaster',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n { indexed: false, internalType: 'bool', name: 'success', type: 'bool' },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'actualGasCost',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'actualGasUsed',\n type: 'uint256',\n },\n ],\n name: 'UserOperationEvent',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n ],\n name: 'UserOperationPrefundTooLow',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bytes',\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'UserOperationRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'Withdrawn',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },\n ],\n name: 'addStake',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'target', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n name: 'delegateAndRevert',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'depositTo',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { internalType: 'bytes1', name: 'fields', type: 'bytes1' },\n { internalType: 'string', name: 'name', type: 'string' },\n { internalType: 'string', name: 'version', type: 'string' },\n { internalType: 'uint256', name: 'chainId', type: 'uint256' },\n { internalType: 'address', name: 'verifyingContract', type: 'address' },\n { internalType: 'bytes32', name: 'salt', type: 'bytes32' },\n { internalType: 'uint256[]', name: 'extensions', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'getDepositInfo',\n outputs: [\n {\n components: [\n { internalType: 'uint256', name: 'deposit', type: 'uint256' },\n { internalType: 'bool', name: 'staked', type: 'bool' },\n { internalType: 'uint112', name: 'stake', type: 'uint112' },\n { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },\n { internalType: 'uint48', name: 'withdrawTime', type: 'uint48' },\n ],\n internalType: 'struct IStakeManager.DepositInfo',\n name: 'info',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getDomainSeparatorV4',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint192', name: 'key', type: 'uint192' },\n ],\n name: 'getNonce',\n outputs: [{ internalType: 'uint256', name: 'nonce', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPackedUserOpTypeHash',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'bytes', name: 'initCode', type: 'bytes' }],\n name: 'getSenderAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation',\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHash',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n {\n internalType: 'bytes',\n name: 'paymasterAndData',\n type: 'bytes',\n },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation[]',\n name: 'userOps',\n type: 'tuple[]',\n },\n {\n internalType: 'contract IAggregator',\n name: 'aggregator',\n type: 'address',\n },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct IEntryPoint.UserOpsPerAggregator[]',\n name: 'opsPerAggregator',\n type: 'tuple[]',\n },\n { internalType: 'address payable', name: 'beneficiary', type: 'address' },\n ],\n name: 'handleAggregatedOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation[]',\n name: 'ops',\n type: 'tuple[]',\n },\n { internalType: 'address payable', name: 'beneficiary', type: 'address' },\n ],\n name: 'handleOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint192', name: 'key', type: 'uint192' }],\n name: 'incrementNonce',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n components: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n {\n internalType: 'uint256',\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'callGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'paymasterVerificationGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'paymasterPostOpGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'address', name: 'paymaster', type: 'address' },\n {\n internalType: 'uint256',\n name: 'maxFeePerGas',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n ],\n internalType: 'struct EntryPoint.MemoryUserOp',\n name: 'mUserOp',\n type: 'tuple',\n },\n { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' },\n { internalType: 'uint256', name: 'prefund', type: 'uint256' },\n { internalType: 'uint256', name: 'contextOffset', type: 'uint256' },\n { internalType: 'uint256', name: 'preOpGas', type: 'uint256' },\n ],\n internalType: 'struct EntryPoint.UserOpInfo',\n name: 'opInfo',\n type: 'tuple',\n },\n { internalType: 'bytes', name: 'context', type: 'bytes' },\n ],\n name: 'innerHandleOp',\n outputs: [\n { internalType: 'uint256', name: 'actualGasCost', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'uint192', name: '', type: 'uint192' },\n ],\n name: 'nonceSequenceNumber',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'senderCreator',\n outputs: [\n { internalType: 'contract ISenderCreator', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unlockStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address payable',\n name: 'withdrawAddress',\n type: 'address',\n },\n ],\n name: 'withdrawStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address payable',\n name: 'withdrawAddress',\n type: 'address',\n },\n { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' },\n ],\n name: 'withdrawTo',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\nexport const entryPoint09Abi = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n inputs: [\n { internalType: 'bool', name: 'success', type: 'bool' },\n { internalType: 'bytes', name: 'ret', type: 'bytes' },\n ],\n name: 'DelegateAndRevert',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'address', name: 'account', type: 'address' },\n { internalType: 'address', name: 'withdrawAddress', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'bytes', name: 'revertReason', type: 'bytes' },\n ],\n name: 'DepositWithdrawalFailed',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],\n name: 'Eip7702SenderNotDelegate',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],\n name: 'Eip7702SenderWithoutCode',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'opIndex', type: 'uint256' },\n { internalType: 'string', name: 'reason', type: 'string' },\n ],\n name: 'FailedOp',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'opIndex', type: 'uint256' },\n { internalType: 'string', name: 'reason', type: 'string' },\n { internalType: 'bytes', name: 'inner', type: 'bytes' },\n ],\n name: 'FailedOpWithRevert',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'address', name: 'beneficiary', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'bytes', name: 'revertData', type: 'bytes' },\n ],\n name: 'FailedSendToBeneficiary',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'currentDeposit', type: 'uint256' },\n { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' },\n ],\n name: 'InsufficientDeposit',\n type: 'error',\n },\n { inputs: [], name: 'InternalFunction', type: 'error' },\n {\n inputs: [{ internalType: 'address', name: 'beneficiary', type: 'address' }],\n name: 'InvalidBeneficiary',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'paymaster', type: 'address' }],\n name: 'InvalidPaymaster',\n type: 'error',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: 'paymasterAndDataLength',\n type: 'uint256',\n },\n ],\n name: 'InvalidPaymasterData',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'dataLength', type: 'uint256' },\n { internalType: 'uint256', name: 'pmSignatureLength', type: 'uint256' },\n ],\n name: 'InvalidPaymasterSignatureLength',\n type: 'error',\n },\n { inputs: [], name: 'InvalidShortString', type: 'error' },\n {\n inputs: [\n { internalType: 'uint256', name: 'msgValue', type: 'uint256' },\n { internalType: 'uint256', name: 'currentStake', type: 'uint256' },\n ],\n name: 'InvalidStake',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'newUnstakeDelaySec', type: 'uint256' },\n {\n internalType: 'uint256',\n name: 'currentUnstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'InvalidUnstakeDelay',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'currentStake', type: 'uint256' },\n { internalType: 'uint256', name: 'unstakeDelaySec', type: 'uint256' },\n { internalType: 'bool', name: 'staked', type: 'bool' },\n ],\n name: 'NotStaked',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'bytes', name: 'returnData', type: 'bytes' }],\n name: 'PostOpReverted',\n type: 'error',\n },\n { inputs: [], name: 'Reentrancy', type: 'error' },\n {\n inputs: [{ internalType: 'address', name: 'sender', type: 'address' }],\n name: 'SenderAddressResult',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'aggregator', type: 'address' }],\n name: 'SignatureValidationFailed',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' },\n { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' },\n ],\n name: 'StakeNotUnlocked',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'address', name: 'account', type: 'address' },\n { internalType: 'address', name: 'withdrawAddress', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'bytes', name: 'revertReason', type: 'bytes' },\n ],\n name: 'StakeWithdrawalFailed',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'string', name: 'str', type: 'string' }],\n name: 'StringTooLong',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' },\n { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' },\n ],\n name: 'WithdrawalNotDue',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'factory',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'paymaster',\n type: 'address',\n },\n ],\n name: 'AccountDeployed',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'totalDeposit',\n type: 'uint256',\n },\n ],\n name: 'Deposited',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'EIP712DomainChanged', type: 'event' },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'delegate',\n type: 'address',\n },\n ],\n name: 'EIP7702AccountInitialized',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'unusedFactory',\n type: 'address',\n },\n ],\n name: 'IgnoredInitCode',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bytes',\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'PostOpRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'aggregator',\n type: 'address',\n },\n ],\n name: 'SignatureAggregatorChanged',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'totalStaked',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'unstakeDelaySec',\n type: 'uint256',\n },\n ],\n name: 'StakeLocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'withdrawTime',\n type: 'uint256',\n },\n ],\n name: 'StakeUnlocked',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'StakeWithdrawn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'paymaster',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n { indexed: false, internalType: 'bool', name: 'success', type: 'bool' },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'actualGasCost',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'actualGasUsed',\n type: 'uint256',\n },\n ],\n name: 'UserOperationEvent',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n ],\n name: 'UserOperationPrefundTooLow',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'bytes32',\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'sender',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bytes',\n name: 'revertReason',\n type: 'bytes',\n },\n ],\n name: 'UserOperationRevertReason',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'account',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'withdrawAddress',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n ],\n name: 'Withdrawn',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },\n ],\n name: 'addStake',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'target', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n name: 'delegateAndRevert',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'depositTo',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { internalType: 'bytes1', name: 'fields', type: 'bytes1' },\n { internalType: 'string', name: 'name', type: 'string' },\n { internalType: 'string', name: 'version', type: 'string' },\n { internalType: 'uint256', name: 'chainId', type: 'uint256' },\n { internalType: 'address', name: 'verifyingContract', type: 'address' },\n { internalType: 'bytes32', name: 'salt', type: 'bytes32' },\n { internalType: 'uint256[]', name: 'extensions', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getCurrentUserOpHash',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'getDepositInfo',\n outputs: [\n {\n components: [\n { internalType: 'uint256', name: 'deposit', type: 'uint256' },\n { internalType: 'bool', name: 'staked', type: 'bool' },\n { internalType: 'uint112', name: 'stake', type: 'uint112' },\n { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' },\n { internalType: 'uint48', name: 'withdrawTime', type: 'uint48' },\n ],\n internalType: 'struct IStakeManager.DepositInfo',\n name: 'info',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getDomainSeparatorV4',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint192', name: 'key', type: 'uint192' },\n ],\n name: 'getNonce',\n outputs: [{ internalType: 'uint256', name: 'nonce', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPackedUserOpTypeHash',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'bytes', name: 'initCode', type: 'bytes' }],\n name: 'getSenderAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation',\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHash',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n {\n internalType: 'bytes',\n name: 'paymasterAndData',\n type: 'bytes',\n },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation[]',\n name: 'userOps',\n type: 'tuple[]',\n },\n {\n internalType: 'contract IAggregator',\n name: 'aggregator',\n type: 'address',\n },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct IEntryPoint.UserOpsPerAggregator[]',\n name: 'opsPerAggregator',\n type: 'tuple[]',\n },\n { internalType: 'address payable', name: 'beneficiary', type: 'address' },\n ],\n name: 'handleAggregatedOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation[]',\n name: 'ops',\n type: 'tuple[]',\n },\n { internalType: 'address payable', name: 'beneficiary', type: 'address' },\n ],\n name: 'handleOps',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint192', name: 'key', type: 'uint192' }],\n name: 'incrementNonce',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n components: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n {\n internalType: 'uint256',\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'callGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'paymasterVerificationGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'paymasterPostOpGasLimit',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'address', name: 'paymaster', type: 'address' },\n {\n internalType: 'uint256',\n name: 'maxFeePerGas',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n ],\n internalType: 'struct EntryPoint.MemoryUserOp',\n name: 'mUserOp',\n type: 'tuple',\n },\n { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' },\n { internalType: 'uint256', name: 'prefund', type: 'uint256' },\n { internalType: 'uint256', name: 'contextOffset', type: 'uint256' },\n { internalType: 'uint256', name: 'preOpGas', type: 'uint256' },\n ],\n internalType: 'struct EntryPoint.UserOpInfo',\n name: 'opInfo',\n type: 'tuple',\n },\n { internalType: 'bytes', name: 'context', type: 'bytes' },\n ],\n name: 'innerHandleOp',\n outputs: [\n { internalType: 'uint256', name: 'actualGasCost', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'uint192', name: '', type: 'uint192' },\n ],\n name: 'nonceSequenceNumber',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'senderCreator',\n outputs: [\n { internalType: 'contract ISenderCreator', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unlockStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address payable',\n name: 'withdrawAddress',\n type: 'address',\n },\n ],\n name: 'withdrawStake',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address payable',\n name: 'withdrawAddress',\n type: 'address',\n },\n { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' },\n ],\n name: 'withdrawTo',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n//# sourceMappingURL=abis.js.map","export const entryPoint06Address = '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789';\nexport const entryPoint07Address = '0x0000000071727De22E5E9d8BAf0edAc6f37da032';\nexport const entryPoint08Address = '0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108';\nexport const entryPoint09Address = '0x433709009B8330FDa32311DF1C2AFA402eD8D009';\n//# sourceMappingURL=address.js.map","import { concat } from '../../../utils/data/concat.js';\nexport function getInitCode(userOperation, options = {}) {\n const { forHash } = options;\n const { authorization, factory, factoryData } = userOperation;\n if (forHash &&\n (factory === '0x7702' ||\n factory === '0x7702000000000000000000000000000000000000')) {\n if (!authorization)\n return '0x7702000000000000000000000000000000000000';\n return concat([authorization.address, factoryData ?? '0x']);\n }\n if (!factory)\n return '0x';\n return concat([factory, factoryData ?? '0x']);\n}\n//# sourceMappingURL=getInitCode.js.map","import { concat } from '../../../utils/data/concat.js';\nimport { pad } from '../../../utils/data/pad.js';\nimport { size } from '../../../utils/data/size.js';\nimport { numberToHex } from '../../../utils/index.js';\nimport { getInitCode } from './getInitCode.js';\n/** Magic suffix for paymaster signature encoding (keccak256(\"PaymasterSignature\")[:8]) */\nconst paymasterSignatureMagic = '0x22e325a297439656';\nexport function toPackedUserOperation(userOperation, options = {}) {\n const { callGasLimit, callData, maxPriorityFeePerGas, maxFeePerGas, paymaster, paymasterData, paymasterPostOpGasLimit, paymasterSignature, paymasterVerificationGasLimit, sender, signature = '0x', verificationGasLimit, } = userOperation;\n const accountGasLimits = concat([\n pad(numberToHex(verificationGasLimit || 0n), { size: 16 }),\n pad(numberToHex(callGasLimit || 0n), { size: 16 }),\n ]);\n const initCode = getInitCode(userOperation, options);\n const gasFees = concat([\n pad(numberToHex(maxPriorityFeePerGas || 0n), { size: 16 }),\n pad(numberToHex(maxFeePerGas || 0n), { size: 16 }),\n ]);\n const nonce = userOperation.nonce ?? 0n;\n // For v0.9, paymasterSignature can be provided separately and appended after paymasterData.\n // The encoding uses a magic suffix and length prefix as per ERC-4337 spec:\n // - forHash: just append the magic (signature is not part of hash)\n // - !forHash: append signature + length (2 bytes) + magic\n const paymasterAndData = paymaster\n ? concat([\n paymaster,\n pad(numberToHex(paymasterVerificationGasLimit || 0n), {\n size: 16,\n }),\n pad(numberToHex(paymasterPostOpGasLimit || 0n), {\n size: 16,\n }),\n paymasterData || '0x',\n ...(paymasterSignature\n ? options.forHash\n ? [paymasterSignatureMagic]\n : [\n paymasterSignature,\n pad(numberToHex(size(paymasterSignature)), { size: 2 }),\n paymasterSignatureMagic,\n ]\n : []),\n ])\n : '0x';\n const preVerificationGas = userOperation.preVerificationGas ?? 0n;\n return {\n accountGasLimits,\n callData,\n initCode,\n gasFees,\n nonce,\n paymasterAndData,\n preVerificationGas,\n sender,\n signature,\n };\n}\n//# sourceMappingURL=toPackedUserOperation.js.map","import { toPackedUserOperation } from './toPackedUserOperation.js';\nconst types = {\n PackedUserOperation: [\n { type: 'address', name: 'sender' },\n { type: 'uint256', name: 'nonce' },\n { type: 'bytes', name: 'initCode' },\n { type: 'bytes', name: 'callData' },\n { type: 'bytes32', name: 'accountGasLimits' },\n { type: 'uint256', name: 'preVerificationGas' },\n { type: 'bytes32', name: 'gasFees' },\n { type: 'bytes', name: 'paymasterAndData' },\n ],\n};\nexport function getUserOperationTypedData(parameters) {\n const { chainId, entryPointAddress, userOperation } = parameters;\n const packedUserOp = toPackedUserOperation(userOperation, { forHash: true });\n return {\n types,\n primaryType: 'PackedUserOperation',\n domain: {\n name: 'ERC4337',\n version: '1',\n chainId,\n verifyingContract: entryPointAddress,\n },\n message: packedUserOp,\n };\n}\n//# sourceMappingURL=getUserOperationTypedData.js.map","import { encodeAbiParameters } from '../../../utils/abi/encodeAbiParameters.js';\nimport { keccak256 } from '../../../utils/hash/keccak256.js';\nimport { hashTypedData } from '../../../utils/signature/hashTypedData.js';\nimport { getInitCode } from './getInitCode.js';\nimport { getUserOperationTypedData } from './getUserOperationTypedData.js';\nimport { toPackedUserOperation } from './toPackedUserOperation.js';\nexport function getUserOperationHash(parameters) {\n const { chainId, entryPointAddress, entryPointVersion } = parameters;\n const userOperation = parameters.userOperation;\n const { authorization, callData = '0x', callGasLimit, maxFeePerGas, maxPriorityFeePerGas, nonce, paymasterAndData = '0x', preVerificationGas, sender, verificationGasLimit, } = userOperation;\n if (entryPointVersion === '0.8' || entryPointVersion === '0.9')\n return hashTypedData(getUserOperationTypedData({\n chainId,\n entryPointAddress,\n userOperation,\n }));\n const packedUserOp = (() => {\n if (entryPointVersion === '0.6') {\n const factory = userOperation.initCode?.slice(0, 42);\n const factoryData = userOperation.initCode?.slice(42);\n const initCode = getInitCode({\n authorization,\n factory,\n factoryData,\n }, { forHash: true });\n return encodeAbiParameters([\n { type: 'address' },\n { type: 'uint256' },\n { type: 'bytes32' },\n { type: 'bytes32' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'bytes32' },\n ], [\n sender,\n nonce,\n keccak256(initCode),\n keccak256(callData),\n callGasLimit,\n verificationGasLimit,\n preVerificationGas,\n maxFeePerGas,\n maxPriorityFeePerGas,\n keccak256(paymasterAndData),\n ]);\n }\n if (entryPointVersion === '0.7') {\n const packedUserOp = toPackedUserOperation(userOperation, {\n forHash: true,\n });\n return encodeAbiParameters([\n { type: 'address' },\n { type: 'uint256' },\n { type: 'bytes32' },\n { type: 'bytes32' },\n { type: 'bytes32' },\n { type: 'uint256' },\n { type: 'bytes32' },\n { type: 'bytes32' },\n ], [\n packedUserOp.sender,\n packedUserOp.nonce,\n keccak256(packedUserOp.initCode),\n keccak256(packedUserOp.callData),\n packedUserOp.accountGasLimits,\n packedUserOp.preVerificationGas,\n packedUserOp.gasFees,\n keccak256(packedUserOp.paymasterAndData),\n ]);\n }\n throw new Error(`entryPointVersion \"${entryPointVersion}\" not supported.`);\n })();\n return keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'address' }, { type: 'uint256' }], [keccak256(packedUserOp), entryPointAddress, BigInt(chainId)]));\n}\n//# sourceMappingURL=getUserOperationHash.js.map","import { parseAbi } from 'abitype';\nimport { getCode } from '../../actions/public/getCode.js';\nimport { readContract } from '../../actions/public/readContract.js';\nimport { getAction } from '../../utils/getAction.js';\nimport { createNonceManager } from '../../utils/nonceManager.js';\nimport { serializeErc6492Signature } from '../../utils/signature/serializeErc6492Signature.js';\n/**\n * @description Creates a Smart Account with a provided account implementation.\n *\n * @param parameters - {@link ToSmartAccountParameters}\n * @returns A Smart Account. {@link ToSmartAccountReturnType}\n */\nexport async function toSmartAccount(implementation) {\n const { extend, nonceKeyManager = createNonceManager({\n source: {\n get() {\n return Date.now();\n },\n set() { },\n },\n }), ...rest } = implementation;\n let deployed = false;\n const address = await implementation.getAddress();\n return {\n ...extend,\n ...rest,\n address,\n async getFactoryArgs() {\n if ('isDeployed' in this && (await this.isDeployed()))\n return { factory: undefined, factoryData: undefined };\n return implementation.getFactoryArgs();\n },\n async getNonce(parameters) {\n const key = parameters?.key ??\n BigInt(await nonceKeyManager.consume({\n address,\n chainId: implementation.client.chain.id,\n client: implementation.client,\n }));\n if (implementation.getNonce)\n return await implementation.getNonce({ ...parameters, key });\n const nonce = await readContract(implementation.client, {\n abi: parseAbi([\n 'function getNonce(address, uint192) pure returns (uint256)',\n ]),\n address: implementation.entryPoint.address,\n functionName: 'getNonce',\n args: [address, key],\n });\n return nonce;\n },\n async isDeployed() {\n if (deployed)\n return true;\n const code = await getAction(implementation.client, getCode, 'getCode')({\n address,\n });\n deployed = Boolean(code);\n return deployed;\n },\n ...(implementation.sign\n ? {\n async sign(parameters) {\n const [{ factory, factoryData }, signature] = await Promise.all([\n this.getFactoryArgs(),\n implementation.sign(parameters),\n ]);\n if (factory && factoryData)\n return serializeErc6492Signature({\n address: factory,\n data: factoryData,\n signature,\n });\n return signature;\n },\n }\n : {}),\n async signMessage(parameters) {\n const [{ factory, factoryData }, signature] = await Promise.all([\n this.getFactoryArgs(),\n implementation.signMessage(parameters),\n ]);\n if (factory && factoryData && factory !== '0x7702')\n return serializeErc6492Signature({\n address: factory,\n data: factoryData,\n signature,\n });\n return signature;\n },\n async signTypedData(parameters) {\n const [{ factory, factoryData }, signature] = await Promise.all([\n this.getFactoryArgs(),\n implementation.signTypedData(parameters),\n ]);\n if (factory && factoryData && factory !== '0x7702')\n return serializeErc6492Signature({\n address: factory,\n data: factoryData,\n signature,\n });\n return signature;\n },\n type: 'smart',\n };\n}\n//# sourceMappingURL=toSmartAccount.js.map","import * as Signature from 'ox/Signature';\nimport { readContract } from '../../../actions/public/readContract.js';\nimport { BaseError } from '../../../errors/base.js';\nimport { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js';\nimport { encodeAbiParameters } from '../../../utils/abi/encodeAbiParameters.js';\nimport { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js';\nimport { encodePacked } from '../../../utils/abi/encodePacked.js';\nimport { pad } from '../../../utils/data/pad.js';\nimport { size } from '../../../utils/data/size.js';\nimport { stringToHex } from '../../../utils/encoding/toHex.js';\nimport { hashMessage } from '../../../utils/signature/hashMessage.js';\nimport { hashTypedData } from '../../../utils/signature/hashTypedData.js';\nimport { parseSignature } from '../../../utils/signature/parseSignature.js';\nimport { entryPoint06Abi } from '../../constants/abis.js';\nimport { entryPoint06Address } from '../../constants/address.js';\nimport { getUserOperationHash } from '../../utils/userOperation/getUserOperationHash.js';\nimport { toSmartAccount } from '../toSmartAccount.js';\nconst factoryAddress = {\n '1.1': '0xba5ed110efdba3d005bfc882d75358acbbb85842',\n '1': '0x0ba5ed0c6aa8c49038f819e587e2633c4a9f428a',\n};\n/**\n * @description Create a Coinbase Smart Account.\n *\n * @param parameters - {@link ToCoinbaseSmartAccountParameters}\n * @returns Coinbase Smart Account. {@link ToCoinbaseSmartAccountReturnType}\n *\n * @example\n * import { toCoinbaseSmartAccount } from 'viem/account-abstraction'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { client } from './client.js'\n *\n * const account = toCoinbaseSmartAccount({\n * client,\n * owners: [privateKeyToAccount('0x...')],\n * version: '1.1',\n * })\n */\nexport async function toCoinbaseSmartAccount(parameters) {\n const { client, ownerIndex = 0, owners, nonce = 0n, version = '1', } = parameters;\n let address = parameters.address;\n const entryPoint = {\n abi: entryPoint06Abi,\n address: entryPoint06Address,\n version: '0.6',\n };\n const factory = {\n abi: factoryAbi,\n address: factoryAddress[version],\n };\n const owners_bytes = owners.map((owner) => {\n if (typeof owner === 'string')\n return pad(owner);\n if (owner.type === 'webAuthn')\n return owner.publicKey;\n if (owner.type === 'local')\n return pad(owner.address);\n throw new BaseError('invalid owner type');\n });\n const owner = (() => {\n const owner = owners[ownerIndex] ?? owners[0];\n if (typeof owner === 'string')\n return { address: owner, type: 'address' };\n return owner;\n })();\n return toSmartAccount({\n client,\n entryPoint,\n extend: { abi, factory },\n async decodeCalls(data) {\n const result = decodeFunctionData({\n abi,\n data,\n });\n if (result.functionName === 'execute')\n return [\n { to: result.args[0], value: result.args[1], data: result.args[2] },\n ];\n if (result.functionName === 'executeBatch')\n return result.args[0].map((arg) => ({\n to: arg.target,\n value: arg.value,\n data: arg.data,\n }));\n throw new BaseError(`unable to decode calls for \"${result.functionName}\"`);\n },\n async encodeCalls(calls) {\n if (calls.length === 1)\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'],\n });\n return encodeFunctionData({\n abi,\n functionName: 'executeBatch',\n args: [\n calls.map((call) => ({\n data: call.data ?? '0x',\n target: call.to,\n value: call.value ?? 0n,\n })),\n ],\n });\n },\n async getAddress() {\n address ??= await readContract(client, {\n ...factory,\n functionName: 'getAddress',\n args: [owners_bytes, nonce],\n });\n return address;\n },\n async getFactoryArgs() {\n const factoryData = encodeFunctionData({\n abi: factory.abi,\n functionName: 'createAccount',\n args: [owners_bytes, nonce],\n });\n return { factory: factory.address, factoryData };\n },\n async getStubSignature() {\n if (owner.type === 'webAuthn')\n return '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000';\n return wrapSignature({\n ownerIndex,\n signature: '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c',\n });\n },\n async sign(parameters) {\n const address = await this.getAddress();\n const typedData = toReplaySafeTypedData({\n address,\n chainId: client.chain.id,\n hash: parameters.hash,\n });\n if (owner.type === 'address')\n throw new Error('owner cannot sign');\n const signature = await signTypedData({ owner, typedData });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signMessage(parameters) {\n const { message } = parameters;\n const address = await this.getAddress();\n const typedData = toReplaySafeTypedData({\n address,\n chainId: client.chain.id,\n hash: hashMessage(message),\n });\n if (owner.type === 'address')\n throw new Error('owner cannot sign');\n const signature = await signTypedData({ owner, typedData });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signTypedData(parameters) {\n const { domain, types, primaryType, message } = parameters;\n const address = await this.getAddress();\n const typedData = toReplaySafeTypedData({\n address,\n chainId: client.chain.id,\n hash: hashTypedData({\n domain,\n message,\n primaryType,\n types,\n }),\n });\n if (owner.type === 'address')\n throw new Error('owner cannot sign');\n const signature = await signTypedData({ owner, typedData });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signUserOperation(parameters) {\n const { chainId = client.chain.id, ...userOperation } = parameters;\n const address = await this.getAddress();\n const hash = getUserOperationHash({\n chainId,\n entryPointAddress: entryPoint.address,\n entryPointVersion: entryPoint.version,\n userOperation: {\n ...userOperation,\n sender: address,\n },\n });\n if (owner.type === 'address')\n throw new Error('owner cannot sign');\n const signature = await sign({ hash, owner });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n userOperation: {\n async estimateGas(userOperation) {\n if (owner.type !== 'webAuthn')\n return;\n // Accounts with WebAuthn owner require a minimum verification gas limit of 800,000.\n return {\n verificationGasLimit: BigInt(Math.max(Number(userOperation.verificationGasLimit ?? 0n), 800_000)),\n };\n },\n },\n });\n}\n/////////////////////////////////////////////////////////////////////////////////////////////\n// Utilities\n/////////////////////////////////////////////////////////////////////////////////////////////\n/** @internal */\nexport async function signTypedData({ typedData, owner, }) {\n if (owner.type === 'local' && owner.signTypedData)\n return owner.signTypedData(typedData);\n const hash = hashTypedData(typedData);\n return sign({ hash, owner });\n}\n/** @internal */\nexport async function sign({ hash, owner, }) {\n // WebAuthn Account (Passkey)\n if (owner.type === 'webAuthn') {\n const { signature, webauthn } = await owner.sign({\n hash,\n });\n return toWebAuthnSignature({ signature, webauthn });\n }\n if (owner.sign)\n return owner.sign({ hash });\n throw new BaseError('`owner` does not support raw sign.');\n}\n/** @internal */\nexport function toReplaySafeTypedData({ address, chainId, hash, }) {\n return {\n domain: {\n chainId,\n name: 'Coinbase Smart Wallet',\n verifyingContract: address,\n version: '1',\n },\n types: {\n CoinbaseSmartWalletMessage: [\n {\n name: 'hash',\n type: 'bytes32',\n },\n ],\n },\n primaryType: 'CoinbaseSmartWalletMessage',\n message: {\n hash,\n },\n };\n}\n/** @internal */\nexport function toWebAuthnSignature({ webauthn, signature, }) {\n const { r, s } = Signature.fromHex(signature);\n return encodeAbiParameters([\n {\n components: [\n {\n name: 'authenticatorData',\n type: 'bytes',\n },\n { name: 'clientDataJSON', type: 'bytes' },\n { name: 'challengeIndex', type: 'uint256' },\n { name: 'typeIndex', type: 'uint256' },\n {\n name: 'r',\n type: 'uint256',\n },\n {\n name: 's',\n type: 'uint256',\n },\n ],\n type: 'tuple',\n },\n ], [\n {\n authenticatorData: webauthn.authenticatorData,\n clientDataJSON: stringToHex(webauthn.clientDataJSON),\n challengeIndex: BigInt(webauthn.challengeIndex ?? 0n),\n typeIndex: BigInt(webauthn.typeIndex ?? 0n),\n r,\n s,\n },\n ]);\n}\n/** @internal */\nexport function wrapSignature(parameters) {\n const { ownerIndex = 0 } = parameters;\n const signatureData = (() => {\n if (size(parameters.signature) !== 65)\n return parameters.signature;\n const signature = parseSignature(parameters.signature);\n return encodePacked(['bytes32', 'bytes32', 'uint8'], [signature.r, signature.s, signature.yParity === 0 ? 27 : 28]);\n })();\n return encodeAbiParameters([\n {\n components: [\n {\n name: 'ownerIndex',\n type: 'uint8',\n },\n {\n name: 'signatureData',\n type: 'bytes',\n },\n ],\n type: 'tuple',\n },\n ], [\n {\n ownerIndex,\n signatureData,\n },\n ]);\n}\n/////////////////////////////////////////////////////////////////////////////////////////////\n// Constants\n/////////////////////////////////////////////////////////////////////////////////////////////\nconst abi = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'AlreadyOwner',\n type: 'error',\n },\n { inputs: [], name: 'Initialized', type: 'error' },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'InvalidEthereumAddressOwner',\n type: 'error',\n },\n {\n inputs: [{ name: 'key', type: 'uint256' }],\n name: 'InvalidNonceKey',\n type: 'error',\n },\n {\n inputs: [{ name: 'owner', type: 'bytes' }],\n name: 'InvalidOwnerBytesLength',\n type: 'error',\n },\n { inputs: [], name: 'LastOwner', type: 'error' },\n {\n inputs: [{ name: 'index', type: 'uint256' }],\n name: 'NoOwnerAtIndex',\n type: 'error',\n },\n {\n inputs: [{ name: 'ownersRemaining', type: 'uint256' }],\n name: 'NotLastOwner',\n type: 'error',\n },\n {\n inputs: [{ name: 'selector', type: 'bytes4' }],\n name: 'SelectorNotAllowed',\n type: 'error',\n },\n { inputs: [], name: 'Unauthorized', type: 'error' },\n { inputs: [], name: 'UnauthorizedCallContext', type: 'error' },\n { inputs: [], name: 'UpgradeFailed', type: 'error' },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'expectedOwner', type: 'bytes' },\n { name: 'actualOwner', type: 'bytes' },\n ],\n name: 'WrongOwnerAtIndex',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'index',\n type: 'uint256',\n },\n { indexed: false, name: 'owner', type: 'bytes' },\n ],\n name: 'AddOwner',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'index',\n type: 'uint256',\n },\n { indexed: false, name: 'owner', type: 'bytes' },\n ],\n name: 'RemoveOwner',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: 'implementation',\n type: 'address',\n },\n ],\n name: 'Upgraded',\n type: 'event',\n },\n { stateMutability: 'payable', type: 'fallback' },\n {\n inputs: [],\n name: 'REPLAYABLE_NONCE_KEY',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'owner', type: 'address' }],\n name: 'addOwnerAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'x', type: 'bytes32' },\n { name: 'y', type: 'bytes32' },\n ],\n name: 'addOwnerPublicKey',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ name: 'functionSelector', type: 'bytes4' }],\n name: 'canSkipChainIdValidation',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [],\n name: 'domainSeparator',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', type: 'bytes1' },\n { name: 'name', type: 'string' },\n { name: 'version', type: 'string' },\n { name: 'chainId', type: 'uint256' },\n { name: 'verifyingContract', type: 'address' },\n { name: 'salt', type: 'bytes32' },\n { name: 'extensions', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'entryPoint',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'target', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'execute',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'target', type: 'address' },\n { name: 'value', type: 'uint256' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'executeBatch',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'calls', type: 'bytes[]' }],\n name: 'executeWithoutChainIdValidation',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n ],\n name: 'getUserOpHashWithoutChainId',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '$', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'owners', type: 'bytes[]' }],\n name: 'initialize',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'address' }],\n name: 'isOwnerAddress',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'account', type: 'bytes' }],\n name: 'isOwnerBytes',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'x', type: 'bytes32' },\n { name: 'y', type: 'bytes32' },\n ],\n name: 'isOwnerPublicKey',\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'hash', type: 'bytes32' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'isValidSignature',\n outputs: [{ name: 'result', type: 'bytes4' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'nextOwnerIndex',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'index', type: 'uint256' }],\n name: 'ownerAtIndex',\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'ownerCount',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'owner', type: 'bytes' },\n ],\n name: 'removeLastOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'index', type: 'uint256' },\n { name: 'owner', type: 'bytes' },\n ],\n name: 'removeOwnerAtIndex',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'removedOwnersCount',\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ name: 'hash', type: 'bytes32' }],\n name: 'replaySafeHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { name: 'newImplementation', type: 'address' },\n { name: 'data', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'callGasLimit', type: 'uint256' },\n {\n name: 'verificationGasLimit',\n type: 'uint256',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { name: 'maxFeePerGas', type: 'uint256' },\n {\n name: 'maxPriorityFeePerGas',\n type: 'uint256',\n },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'signature', type: 'bytes' },\n ],\n name: 'userOp',\n type: 'tuple',\n },\n { name: 'userOpHash', type: 'bytes32' },\n { name: 'missingAccountFunds', type: 'uint256' },\n ],\n name: 'validateUserOp',\n outputs: [{ name: 'validationData', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\nconst factoryAbi = [\n {\n inputs: [{ name: 'implementation_', type: 'address' }],\n stateMutability: 'payable',\n type: 'constructor',\n },\n { inputs: [], name: 'OwnerRequired', type: 'error' },\n {\n inputs: [\n { name: 'owners', type: 'bytes[]' },\n { name: 'nonce', type: 'uint256' },\n ],\n name: 'createAccount',\n outputs: [\n {\n name: 'account',\n type: 'address',\n },\n ],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { name: 'owners', type: 'bytes[]' },\n { name: 'nonce', type: 'uint256' },\n ],\n name: 'getAddress',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'initCodeHash',\n outputs: [{ name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n//# sourceMappingURL=toCoinbaseSmartAccount.js.map","import { BaseError } from '../../../errors/base.js';\nimport { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js';\nimport { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js';\nimport { entryPoint08Abi, entryPoint09Abi } from '../../constants/abis.js';\nimport { entryPoint08Address, entryPoint09Address, } from '../../constants/address.js';\nimport { getUserOperationTypedData } from '../../utils/userOperation/getUserOperationTypedData.js';\nimport { toSmartAccount } from '../toSmartAccount.js';\n/**\n * @description Create a Simple7702 Smart Account – based off [eth-infinitism's `Simple7702Account.sol`](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol).\n *\n * @param parameters - {@link ToSimple7702SmartAccountParameters}\n * @returns Simple7702 Smart Account. {@link ToSimple7702SmartAccountReturnType}\n *\n * @example\n * import { toSimple7702SmartAccount } from 'viem/account-abstraction'\n * import { client } from './client.js'\n *\n * const implementation = toSimple7702SmartAccount({\n * client,\n * owner: '0x...',\n * })\n */\nexport async function toSimple7702SmartAccount(parameters) {\n const { client, getNonce, owner } = parameters;\n const entryPoint = (() => {\n if (parameters.entryPoint === '0.9')\n return {\n abi: entryPoint09Abi,\n address: entryPoint09Address,\n version: '0.9',\n };\n if (typeof parameters.entryPoint === 'object')\n return parameters.entryPoint;\n return {\n abi: entryPoint08Abi,\n address: entryPoint08Address,\n version: '0.8',\n };\n })();\n const implementation = (() => {\n if (parameters.implementation)\n return parameters.implementation;\n if (parameters.entryPoint === '0.9')\n return '0xa46cc63eBF4Bd77888AA327837d20b23A63a56B5';\n return '0xe6Cae83BdE06E4c305530e199D7217f42808555B';\n })();\n return toSmartAccount({\n authorization: { account: owner, address: implementation },\n abi,\n client,\n extend: { abi, owner }, // not removing abi from here as this will be a breaking change\n entryPoint,\n getNonce,\n async decodeCalls(data) {\n const result = decodeFunctionData({\n abi,\n data,\n });\n if (result.functionName === 'execute')\n return [\n { to: result.args[0], value: result.args[1], data: result.args[2] },\n ];\n if (result.functionName === 'executeBatch')\n return result.args[0].map((arg) => ({\n to: arg.target,\n value: arg.value,\n data: arg.data,\n }));\n throw new BaseError(`unable to decode calls for \"${result.functionName}\"`);\n },\n async encodeCalls(calls) {\n if (calls.length === 1)\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'],\n });\n return encodeFunctionData({\n abi,\n functionName: 'executeBatch',\n args: [\n calls.map((call) => ({\n data: call.data ?? '0x',\n target: call.to,\n value: call.value ?? 0n,\n })),\n ],\n });\n },\n async getAddress() {\n return owner.address;\n },\n async getFactoryArgs() {\n return { factory: '0x7702', factoryData: '0x' };\n },\n async getStubSignature() {\n return '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c';\n },\n async signMessage(parameters) {\n const { message } = parameters;\n return await owner.signMessage({ message });\n },\n async signTypedData(parameters) {\n const { domain, types, primaryType, message } = parameters;\n return await owner.signTypedData({\n domain,\n message,\n primaryType,\n types,\n });\n },\n async signUserOperation(parameters) {\n const { chainId = client.chain.id, ...userOperation } = parameters;\n const address = await this.getAddress();\n const typedData = getUserOperationTypedData({\n chainId,\n entryPointAddress: entryPoint.address,\n userOperation: {\n ...userOperation,\n sender: address,\n },\n });\n return await owner.signTypedData(typedData);\n },\n });\n}\n/////////////////////////////////////////////////////////////////////////////////////////////\n// Constants\nconst abi = [\n { inputs: [], name: 'ECDSAInvalidSignature', type: 'error' },\n {\n inputs: [{ internalType: 'uint256', name: 'length', type: 'uint256' }],\n name: 'ECDSAInvalidSignatureLength',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'bytes32', name: 's', type: 'bytes32' }],\n name: 'ECDSAInvalidSignatureS',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'index', type: 'uint256' },\n { internalType: 'bytes', name: 'error', type: 'bytes' },\n ],\n name: 'ExecuteError',\n type: 'error',\n },\n { stateMutability: 'payable', type: 'fallback' },\n {\n inputs: [],\n name: 'entryPoint',\n outputs: [\n { internalType: 'contract IEntryPoint', name: '', type: 'address' },\n ],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'target', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n name: 'execute',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'target', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n internalType: 'struct BaseAccount.Call[]',\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'executeBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getNonce',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bytes32', name: 'hash', type: 'bytes32' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n name: 'isValidSignature',\n outputs: [{ internalType: 'bytes4', name: 'magicValue', type: 'bytes4' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'uint256[]', name: '', type: 'uint256[]' },\n { internalType: 'uint256[]', name: '', type: 'uint256[]' },\n { internalType: 'bytes', name: '', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'uint256', name: '', type: 'uint256' },\n { internalType: 'uint256', name: '', type: 'uint256' },\n { internalType: 'bytes', name: '', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'uint256', name: '', type: 'uint256' },\n { internalType: 'bytes', name: '', type: 'bytes' },\n ],\n name: 'onERC721Received',\n outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'bytes4', name: 'id', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'sender', type: 'address' },\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'bytes', name: 'initCode', type: 'bytes' },\n { internalType: 'bytes', name: 'callData', type: 'bytes' },\n {\n internalType: 'bytes32',\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n internalType: 'uint256',\n name: 'preVerificationGas',\n type: 'uint256',\n },\n { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' },\n { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' },\n { internalType: 'bytes', name: 'signature', type: 'bytes' },\n ],\n internalType: 'struct PackedUserOperation',\n name: 'userOp',\n type: 'tuple',\n },\n { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' },\n { internalType: 'uint256', name: 'missingAccountFunds', type: 'uint256' },\n ],\n name: 'validateUserOp',\n outputs: [\n { internalType: 'uint256', name: 'validationData', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n//# sourceMappingURL=toSimple7702SmartAccount.js.map","import { parseAccount } from '../../../accounts/utils/parseAccount.js';\nimport { getEip712Domain, } from '../../../actions/public/getEip712Domain.js';\nimport { signTypedData } from '../../../actions/wallet/signTypedData.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { toPrefixedMessage } from '../../../utils/signature/toPrefixedMessage.js';\n/**\n * Signs a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) personal sign message via [ERC-7739 `PersonalSign` format](https://eips.ethereum.org/EIPS/eip-7702).\n *\n * This Action is suitable to sign messages for Smart Accounts that implement (or conform to) [ERC-7739](https://eips.ethereum.org/EIPS/eip-7702) (e.g. Solady's [ERC1271.sol](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC1271.sol)).\n *\n * - Docs: https://viem.sh/experimental/erc7739/signMessage\n *\n * With the calculated signature, you can:\n * - use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature,\n *\n * @param client - Client to use\n * @param parameters - {@link SignMessageParameters}\n * @returns The signed message. {@link SignMessageReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/experimental/erc7739'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * const signature = await signMessage(client, {\n * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',\n * message: 'hello world',\n * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, custom } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/experimental/erc7739'\n *\n * const client = createWalletClient({\n * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * const signature = await signMessage(client, {\n * message: 'hello world',\n * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function signMessage(client, parameters) {\n const { account: account_ = client.account, factory, factoryData, message, verifier, } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/experimental/erc7739/signMessage',\n });\n const account = parseAccount(account_);\n const { salt: _, ...domain } = await (async () => {\n if (parameters.verifierDomain)\n return parameters.verifierDomain;\n const { domain } = await getAction(client, getEip712Domain, 'getEip712Domain')({\n address: verifier,\n factory,\n factoryData,\n });\n return domain;\n })();\n return getAction(client, signTypedData, 'signTypedData')({\n account,\n domain,\n types: {\n PersonalSign: [{ name: 'prefixed', type: 'bytes' }],\n },\n primaryType: 'PersonalSign',\n message: {\n prefixed: toPrefixedMessage(message),\n },\n });\n}\n//# sourceMappingURL=signMessage.js.map","/**\n * @module BIP32 hierarchical deterministic (HD) wallets over secp256k1.\n * @example\n * ```js\n * import { HDKey } from \"@scure/bip32\";\n * const hdkey1 = HDKey.fromMasterSeed(seed);\n * const hdkey2 = HDKey.fromExtendedKey(base58key);\n * const hdkey3 = HDKey.fromJSON({ xpriv: string });\n *\n * // props\n * [hdkey1.depth, hdkey1.index, hdkey1.chainCode];\n * console.log(hdkey2.privateKey, hdkey2.publicKey);\n * console.log(hdkey3.derive(\"m/0/2147483647'/1\"));\n * const sig = hdkey3.sign(hash);\n * hdkey3.verify(hash, sig);\n * ```\n */\n/*! scure-bip32 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */\nimport { mod } from '@noble/curves/abstract/modular';\nimport { secp256k1 as secp } from '@noble/curves/secp256k1';\nimport { hmac } from '@noble/hashes/hmac';\nimport { ripemd160 } from '@noble/hashes/legacy';\nimport { sha256, sha512 } from '@noble/hashes/sha2';\nimport { abytes, bytesToHex, concatBytes, createView, hexToBytes, utf8ToBytes, } from '@noble/hashes/utils';\nimport { createBase58check } from '@scure/base';\nconst Point = secp.ProjectivePoint;\nconst base58check = createBase58check(sha256);\nfunction bytesToNumber(bytes) {\n abytes(bytes);\n const h = bytes.length === 0 ? '0' : bytesToHex(bytes);\n return BigInt('0x' + h);\n}\nfunction numberToBytes(num) {\n if (typeof num !== 'bigint')\n throw new Error('bigint expected');\n return hexToBytes(num.toString(16).padStart(64, '0'));\n}\nconst MASTER_SECRET = utf8ToBytes('Bitcoin seed');\n// Bitcoin hardcoded by default\nconst BITCOIN_VERSIONS = { private: 0x0488ade4, public: 0x0488b21e };\nexport const HARDENED_OFFSET = 0x80000000;\nconst hash160 = (data) => ripemd160(sha256(data));\nconst fromU32 = (data) => createView(data).getUint32(0, false);\nconst toU32 = (n) => {\n if (!Number.isSafeInteger(n) || n < 0 || n > 2 ** 32 - 1) {\n throw new Error('invalid number, should be from 0 to 2**32-1, got ' + n);\n }\n const buf = new Uint8Array(4);\n createView(buf).setUint32(0, n, false);\n return buf;\n};\nexport class HDKey {\n get fingerprint() {\n if (!this.pubHash) {\n throw new Error('No publicKey set!');\n }\n return fromU32(this.pubHash);\n }\n get identifier() {\n return this.pubHash;\n }\n get pubKeyHash() {\n return this.pubHash;\n }\n get privateKey() {\n return this.privKeyBytes || null;\n }\n get publicKey() {\n return this.pubKey || null;\n }\n get privateExtendedKey() {\n const priv = this.privateKey;\n if (!priv) {\n throw new Error('No private key');\n }\n return base58check.encode(this.serialize(this.versions.private, concatBytes(new Uint8Array([0]), priv)));\n }\n get publicExtendedKey() {\n if (!this.pubKey) {\n throw new Error('No public key');\n }\n return base58check.encode(this.serialize(this.versions.public, this.pubKey));\n }\n static fromMasterSeed(seed, versions = BITCOIN_VERSIONS) {\n abytes(seed);\n if (8 * seed.length < 128 || 8 * seed.length > 512) {\n throw new Error('HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got ' +\n seed.length);\n }\n const I = hmac(sha512, MASTER_SECRET, seed);\n return new HDKey({\n versions,\n chainCode: I.slice(32),\n privateKey: I.slice(0, 32),\n });\n }\n static fromExtendedKey(base58key, versions = BITCOIN_VERSIONS) {\n // => version(4) || depth(1) || fingerprint(4) || index(4) || chain(32) || key(33)\n const keyBuffer = base58check.decode(base58key);\n const keyView = createView(keyBuffer);\n const version = keyView.getUint32(0, false);\n const opt = {\n versions,\n depth: keyBuffer[4],\n parentFingerprint: keyView.getUint32(5, false),\n index: keyView.getUint32(9, false),\n chainCode: keyBuffer.slice(13, 45),\n };\n const key = keyBuffer.slice(45);\n const isPriv = key[0] === 0;\n if (version !== versions[isPriv ? 'private' : 'public']) {\n throw new Error('Version mismatch');\n }\n if (isPriv) {\n return new HDKey({ ...opt, privateKey: key.slice(1) });\n }\n else {\n return new HDKey({ ...opt, publicKey: key });\n }\n }\n static fromJSON(json) {\n return HDKey.fromExtendedKey(json.xpriv);\n }\n constructor(opt) {\n this.depth = 0;\n this.index = 0;\n this.chainCode = null;\n this.parentFingerprint = 0;\n if (!opt || typeof opt !== 'object') {\n throw new Error('HDKey.constructor must not be called directly');\n }\n this.versions = opt.versions || BITCOIN_VERSIONS;\n this.depth = opt.depth || 0;\n this.chainCode = opt.chainCode || null;\n this.index = opt.index || 0;\n this.parentFingerprint = opt.parentFingerprint || 0;\n if (!this.depth) {\n if (this.parentFingerprint || this.index) {\n throw new Error('HDKey: zero depth with non-zero index/parent fingerprint');\n }\n }\n if (opt.publicKey && opt.privateKey) {\n throw new Error('HDKey: publicKey and privateKey at same time.');\n }\n if (opt.privateKey) {\n if (!secp.utils.isValidPrivateKey(opt.privateKey)) {\n throw new Error('Invalid private key');\n }\n this.privKey =\n typeof opt.privateKey === 'bigint' ? opt.privateKey : bytesToNumber(opt.privateKey);\n this.privKeyBytes = numberToBytes(this.privKey);\n this.pubKey = secp.getPublicKey(opt.privateKey, true);\n }\n else if (opt.publicKey) {\n this.pubKey = Point.fromHex(opt.publicKey).toRawBytes(true); // force compressed point\n }\n else {\n throw new Error('HDKey: no public or private key provided');\n }\n this.pubHash = hash160(this.pubKey);\n }\n derive(path) {\n if (!/^[mM]'?/.test(path)) {\n throw new Error('Path must start with \"m\" or \"M\"');\n }\n if (/^[mM]'?$/.test(path)) {\n return this;\n }\n const parts = path.replace(/^[mM]'?\\//, '').split('/');\n // tslint:disable-next-line\n let child = this;\n for (const c of parts) {\n const m = /^(\\d+)('?)$/.exec(c);\n const m1 = m && m[1];\n if (!m || m.length !== 3 || typeof m1 !== 'string')\n throw new Error('invalid child index: ' + c);\n let idx = +m1;\n if (!Number.isSafeInteger(idx) || idx >= HARDENED_OFFSET) {\n throw new Error('Invalid index');\n }\n // hardened key\n if (m[2] === \"'\") {\n idx += HARDENED_OFFSET;\n }\n child = child.deriveChild(idx);\n }\n return child;\n }\n deriveChild(index) {\n if (!this.pubKey || !this.chainCode) {\n throw new Error('No publicKey or chainCode set');\n }\n let data = toU32(index);\n if (index >= HARDENED_OFFSET) {\n // Hardened\n const priv = this.privateKey;\n if (!priv) {\n throw new Error('Could not derive hardened child key');\n }\n // Hardened child: 0x00 || ser256(kpar) || ser32(index)\n data = concatBytes(new Uint8Array([0]), priv, data);\n }\n else {\n // Normal child: serP(point(kpar)) || ser32(index)\n data = concatBytes(this.pubKey, data);\n }\n const I = hmac(sha512, this.chainCode, data);\n const childTweak = bytesToNumber(I.slice(0, 32));\n const chainCode = I.slice(32);\n if (!secp.utils.isValidPrivateKey(childTweak)) {\n throw new Error('Tweak bigger than curve order');\n }\n const opt = {\n versions: this.versions,\n chainCode,\n depth: this.depth + 1,\n parentFingerprint: this.fingerprint,\n index,\n };\n try {\n // Private parent key -> private child key\n if (this.privateKey) {\n const added = mod(this.privKey + childTweak, secp.CURVE.n);\n if (!secp.utils.isValidPrivateKey(added)) {\n throw new Error('The tweak was out of range or the resulted private key is invalid');\n }\n opt.privateKey = added;\n }\n else {\n const added = Point.fromHex(this.pubKey).add(Point.fromPrivateKey(childTweak));\n // Cryptographically impossible: hmac-sha512 preimage would need to be found\n if (added.equals(Point.ZERO)) {\n throw new Error('The tweak was equal to negative P, which made the result key invalid');\n }\n opt.publicKey = added.toRawBytes(true);\n }\n return new HDKey(opt);\n }\n catch (err) {\n return this.deriveChild(index + 1);\n }\n }\n sign(hash) {\n if (!this.privateKey) {\n throw new Error('No privateKey set!');\n }\n abytes(hash, 32);\n return secp.sign(hash, this.privKey).toCompactRawBytes();\n }\n verify(hash, signature) {\n abytes(hash, 32);\n abytes(signature, 64);\n if (!this.publicKey) {\n throw new Error('No publicKey set!');\n }\n let sig;\n try {\n sig = secp.Signature.fromCompact(signature);\n }\n catch (error) {\n return false;\n }\n return secp.verify(sig, hash, this.publicKey);\n }\n wipePrivateData() {\n this.privKey = undefined;\n if (this.privKeyBytes) {\n this.privKeyBytes.fill(0);\n this.privKeyBytes = undefined;\n }\n return this;\n }\n toJSON() {\n return {\n xpriv: this.privateExtendedKey,\n xpub: this.publicExtendedKey,\n };\n }\n serialize(version, key) {\n if (!this.chainCode) {\n throw new Error('No chainCode set');\n }\n abytes(key, 33);\n // version(4) || depth(1) || fingerprint(4) || index(4) || chain(32) || key(33)\n return concatBytes(toU32(version), new Uint8Array([this.depth]), toU32(this.parentFingerprint), toU32(this.index), this.chainCode, key);\n }\n}\n//# sourceMappingURL=index.js.map","/**\n * PBKDF (RFC 2898). Can be used to create a key from password and salt.\n * @module\n */\nimport { hmac } from \"./hmac.js\";\n// prettier-ignore\nimport { ahash, anumber, asyncLoop, checkOpts, clean, createView, Hash, kdfInputToBytes } from \"./utils.js\";\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash, _password, _salt, _opts) {\n ahash(hash);\n const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n const { c, dkLen, asyncTick } = opts;\n anumber(c);\n anumber(dkLen);\n anumber(asyncTick);\n if (c < 1)\n throw new Error('iterations (c) should be >= 1');\n const password = kdfInputToBytes(_password);\n const salt = kdfInputToBytes(_salt);\n // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n const DK = new Uint8Array(dkLen);\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n const PRF = hmac.create(hash, password);\n const PRFSalt = PRF._cloneInto().update(salt);\n return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\nfunction pbkdf2Output(PRF, PRFSalt, DK, prfW, u) {\n PRF.destroy();\n PRFSalt.destroy();\n if (prfW)\n prfW.destroy();\n clean(u);\n return DK;\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n * @example\n * const key = pbkdf2(sha256, 'password', 'salt', { dkLen: 32, c: Math.pow(2, 18) });\n */\nexport function pbkdf2(hash, password, salt, opts) {\n const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n for (let ui = 1; ui < c; ui++) {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n }\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function. Async version.\n * @example\n * await pbkdf2Async(sha256, 'password', 'salt', { dkLen: 32, c: 500_000 });\n */\nexport async function pbkdf2Async(hash, password, salt, opts) {\n const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n let prfW; // Working copy\n const arr = new Uint8Array(4);\n const view = createView(arr);\n const u = new Uint8Array(PRF.outputLen);\n // DK = T1 + T2 + ⋯ + Tdklen/hlen\n for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n // Ti = F(Password, Salt, c, i)\n const Ti = DK.subarray(pos, pos + PRF.outputLen);\n view.setInt32(0, ti, false);\n // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n // U1 = PRF(Password, Salt + INT_32_BE(i))\n (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n Ti.set(u.subarray(0, Ti.length));\n await asyncLoop(c - 1, asyncTick, () => {\n // Uc = PRF(Password, Uc−1)\n PRF._cloneInto(prfW).update(u).digestInto(u);\n for (let i = 0; i < Ti.length; i++)\n Ti[i] ^= u[i];\n });\n }\n return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n//# sourceMappingURL=pbkdf2.js.map","/**\n * Audited & minimal JS implementation of\n * [BIP39 mnemonic phrases](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).\n * @module\n * @example\n```js\nimport * as bip39 from '@scure/bip39';\nimport { wordlist } from '@scure/bip39/wordlists/english';\nconst mn = bip39.generateMnemonic(wordlist);\nconsole.log(mn);\nconst ent = bip39.mnemonicToEntropy(mn, wordlist)\nbip39.entropyToMnemonic(ent, wordlist);\nbip39.validateMnemonic(mn, wordlist);\nawait bip39.mnemonicToSeed(mn, 'password');\nbip39.mnemonicToSeedSync(mn, 'password');\n\n// Wordlists\nimport { wordlist as czech } from '@scure/bip39/wordlists/czech';\nimport { wordlist as english } from '@scure/bip39/wordlists/english';\nimport { wordlist as french } from '@scure/bip39/wordlists/french';\nimport { wordlist as italian } from '@scure/bip39/wordlists/italian';\nimport { wordlist as japanese } from '@scure/bip39/wordlists/japanese';\nimport { wordlist as korean } from '@scure/bip39/wordlists/korean';\nimport { wordlist as portuguese } from '@scure/bip39/wordlists/portuguese';\nimport { wordlist as simplifiedChinese } from '@scure/bip39/wordlists/simplified-chinese';\nimport { wordlist as spanish } from '@scure/bip39/wordlists/spanish';\nimport { wordlist as traditionalChinese } from '@scure/bip39/wordlists/traditional-chinese';\n```\n */\n/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */\nimport { pbkdf2, pbkdf2Async } from '@noble/hashes/pbkdf2';\nimport { sha256, sha512 } from '@noble/hashes/sha2';\nimport { abytes, anumber, randomBytes } from '@noble/hashes/utils';\nimport { utils as baseUtils } from '@scure/base';\n// Japanese wordlist\nconst isJapanese = (wordlist) => wordlist[0] === '\\u3042\\u3044\\u3053\\u304f\\u3057\\u3093';\n// Normalization replaces equivalent sequences of characters\n// so that any two texts that are equivalent will be reduced\n// to the same sequence of code points, called the normal form of the original text.\n// https://tonsky.me/blog/unicode/#why-is-a----\nfunction nfkd(str) {\n if (typeof str !== 'string')\n throw new TypeError('invalid mnemonic type: ' + typeof str);\n return str.normalize('NFKD');\n}\nfunction normalize(str) {\n const norm = nfkd(str);\n const words = norm.split(' ');\n if (![12, 15, 18, 21, 24].includes(words.length))\n throw new Error('Invalid mnemonic');\n return { nfkd: norm, words };\n}\nfunction aentropy(ent) {\n abytes(ent, 16, 20, 24, 28, 32);\n}\n/**\n * Generate x random words. Uses Cryptographically-Secure Random Number Generator.\n * @param wordlist imported wordlist for specific language\n * @param strength mnemonic strength 128-256 bits\n * @example\n * generateMnemonic(wordlist, 128)\n * // 'legal winner thank year wave sausage worth useful legal winner thank yellow'\n */\nexport function generateMnemonic(wordlist, strength = 128) {\n anumber(strength);\n if (strength % 32 !== 0 || strength > 256)\n throw new TypeError('Invalid entropy');\n return entropyToMnemonic(randomBytes(strength / 8), wordlist);\n}\nconst calcChecksum = (entropy) => {\n // Checksum is ent.length/4 bits long\n const bitsLeft = 8 - entropy.length / 4;\n // Zero rightmost \"bitsLeft\" bits in byte\n // For example: bitsLeft=4 val=10111101 -> 10110000\n return new Uint8Array([(sha256(entropy)[0] >> bitsLeft) << bitsLeft]);\n};\nfunction getCoder(wordlist) {\n if (!Array.isArray(wordlist) || wordlist.length !== 2048 || typeof wordlist[0] !== 'string')\n throw new Error('Wordlist: expected array of 2048 strings');\n wordlist.forEach((i) => {\n if (typeof i !== 'string')\n throw new Error('wordlist: non-string element: ' + i);\n });\n return baseUtils.chain(baseUtils.checksum(1, calcChecksum), baseUtils.radix2(11, true), baseUtils.alphabet(wordlist));\n}\n/**\n * Reversible: Converts mnemonic string to raw entropy in form of byte array.\n * @param mnemonic 12-24 words\n * @param wordlist imported wordlist for specific language\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * mnemonicToEntropy(mnem, wordlist)\n * // Produces\n * new Uint8Array([\n * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,\n * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f\n * ])\n */\nexport function mnemonicToEntropy(mnemonic, wordlist) {\n const { words } = normalize(mnemonic);\n const entropy = getCoder(wordlist).decode(words);\n aentropy(entropy);\n return entropy;\n}\n/**\n * Reversible: Converts raw entropy in form of byte array to mnemonic string.\n * @param entropy byte array\n * @param wordlist imported wordlist for specific language\n * @returns 12-24 words\n * @example\n * const ent = new Uint8Array([\n * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,\n * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f\n * ]);\n * entropyToMnemonic(ent, wordlist);\n * // 'legal winner thank year wave sausage worth useful legal winner thank yellow'\n */\nexport function entropyToMnemonic(entropy, wordlist) {\n aentropy(entropy);\n const words = getCoder(wordlist).encode(entropy);\n return words.join(isJapanese(wordlist) ? '\\u3000' : ' ');\n}\n/**\n * Validates mnemonic for being 12-24 words contained in `wordlist`.\n */\nexport function validateMnemonic(mnemonic, wordlist) {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n }\n catch (e) {\n return false;\n }\n return true;\n}\nconst psalt = (passphrase) => nfkd('mnemonic' + passphrase);\n/**\n * Irreversible: Uses KDF to derive 64 bytes of key data from mnemonic + optional password.\n * @param mnemonic 12-24 words\n * @param passphrase string that will additionally protect the key\n * @returns 64 bytes of key data\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * await mnemonicToSeed(mnem, 'password');\n * // new Uint8Array([...64 bytes])\n */\nexport function mnemonicToSeed(mnemonic, passphrase = '') {\n return pbkdf2Async(sha512, normalize(mnemonic).nfkd, psalt(passphrase), { c: 2048, dkLen: 64 });\n}\n/**\n * Irreversible: Uses KDF to derive 64 bytes of key data from mnemonic + optional password.\n * @param mnemonic 12-24 words\n * @param passphrase string that will additionally protect the key\n * @returns 64 bytes of key data\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * mnemonicToSeedSync(mnem, 'password');\n * // new Uint8Array([...64 bytes])\n */\nexport function mnemonicToSeedSync(mnemonic, passphrase = '') {\n return pbkdf2(sha512, normalize(mnemonic).nfkd, psalt(passphrase), { c: 2048, dkLen: 64 });\n}\n","import { generateMnemonic as generateMnemonic_ } from '@scure/bip39';\n/**\n * @description Generates a random mnemonic phrase with a given wordlist.\n *\n * @param wordlist The wordlist to use for generating the mnemonic phrase.\n * @param strength mnemonic strength 128-256 bits\n *\n * @returns A randomly generated mnemonic phrase.\n */\nexport function generateMnemonic(wordlist, strength) {\n return generateMnemonic_(wordlist, strength);\n}\n//# sourceMappingURL=generateMnemonic.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { toHex } from '../utils/encoding/toHex.js';\n/**\n * @description Generates a random private key.\n *\n * @returns A randomly generated private key.\n */\nexport function generatePrivateKey() {\n return toHex(secp256k1.utils.randomPrivateKey());\n}\n//# sourceMappingURL=generatePrivateKey.js.map","// TODO(v3): Rename to `toLocalAccount` + add `source` property to define source (privateKey, mnemonic, hdKey, etc).\nimport { InvalidAddressError, } from '../errors/address.js';\nimport { isAddress, } from '../utils/address/isAddress.js';\n/**\n * @description Creates an Account from a custom signing implementation.\n *\n * @returns A Local Account.\n */\nexport function toAccount(source) {\n if (typeof source === 'string') {\n if (!isAddress(source, { strict: false }))\n throw new InvalidAddressError({ address: source });\n return {\n address: source,\n type: 'json-rpc',\n };\n }\n if (!isAddress(source.address, { strict: false }))\n throw new InvalidAddressError({ address: source.address });\n return {\n address: source.address,\n nonceManager: source.nonceManager,\n sign: source.sign,\n signAuthorization: source.signAuthorization,\n signMessage: source.signMessage,\n signTransaction: source.signTransaction,\n signTypedData: source.signTypedData,\n source: 'custom',\n type: 'local',\n };\n}\n//# sourceMappingURL=toAccount.js.map","// TODO(v3): Convert to sync.\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport { isHex } from '../../utils/data/isHex.js';\nimport { hexToBytes, } from '../../utils/encoding/toBytes.js';\nimport { numberToHex, } from '../../utils/encoding/toHex.js';\nimport { serializeSignature } from '../../utils/signature/serializeSignature.js';\nlet extraEntropy = false;\n/**\n * Sets extra entropy for signing functions.\n */\nexport function setSignEntropy(entropy) {\n if (!entropy)\n throw new Error('must be a `true` or a hex value.');\n extraEntropy = entropy;\n}\n/**\n * @description Signs a hash with a given private key.\n *\n * @param hash The hash to sign.\n * @param privateKey The private key to sign with.\n *\n * @returns The signature.\n */\nexport async function sign({ hash, privateKey, to = 'object', }) {\n const { r, s, recovery } = secp256k1.sign(hash.slice(2), privateKey.slice(2), {\n lowS: true,\n extraEntropy: isHex(extraEntropy, { strict: false })\n ? hexToBytes(extraEntropy)\n : extraEntropy,\n });\n const signature = {\n r: numberToHex(r, { size: 32 }),\n s: numberToHex(s, { size: 32 }),\n v: recovery ? 28n : 27n,\n yParity: recovery,\n };\n return (() => {\n if (to === 'bytes' || to === 'hex')\n return serializeSignature({ ...signature, to });\n return signature;\n })();\n}\n//# sourceMappingURL=sign.js.map","import { hashAuthorization, } from '../../utils/authorization/hashAuthorization.js';\nimport { sign, } from './sign.js';\n/**\n * Signs an Authorization hash in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`.\n */\nexport async function signAuthorization(parameters) {\n const { chainId, nonce, privateKey, to = 'object' } = parameters;\n const address = parameters.contractAddress ?? parameters.address;\n const signature = await sign({\n hash: hashAuthorization({ address, chainId, nonce }),\n privateKey,\n to,\n });\n if (to === 'object')\n return {\n address,\n chainId,\n nonce,\n ...signature,\n };\n return signature;\n}\n//# sourceMappingURL=signAuthorization.js.map","import { hashMessage, } from '../../utils/signature/hashMessage.js';\nimport { sign } from './sign.js';\n/**\n * @description Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191):\n * `keccak256(\"\\x19Ethereum Signed Message:\\n\" + len(message) + message))`.\n *\n * @returns The signature.\n */\nexport async function signMessage({ message, privateKey, }) {\n return await sign({ hash: hashMessage(message), privateKey, to: 'hex' });\n}\n//# sourceMappingURL=signMessage.js.map","import { keccak256, } from '../../utils/hash/keccak256.js';\nimport { serializeTransaction, } from '../../utils/transaction/serializeTransaction.js';\nimport { sign } from './sign.js';\nexport async function signTransaction(parameters) {\n const { privateKey, transaction, serializer = serializeTransaction, } = parameters;\n const signableTransaction = (() => {\n // For EIP-4844 Transactions, we want to sign the transaction payload body (tx_payload_body) without the sidecars (ie. without the network wrapper).\n // See: https://github.com/ethereum/EIPs/blob/e00f4daa66bd56e2dbd5f1d36d09fd613811a48b/EIPS/eip-4844.md#networking\n if (transaction.type === 'eip4844')\n return {\n ...transaction,\n sidecars: false,\n };\n return transaction;\n })();\n const signature = await sign({\n hash: keccak256(await serializer(signableTransaction)),\n privateKey,\n });\n return (await serializer(transaction, signature));\n}\n//# sourceMappingURL=signTransaction.js.map","import { hashTypedData, } from '../../utils/signature/hashTypedData.js';\nimport { sign } from './sign.js';\n/**\n * @description Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712):\n * `sign(keccak256(\"\\x19\\x01\" ‖ domainSeparator ‖ hashStruct(message)))`.\n *\n * @returns The signature.\n */\nexport async function signTypedData(parameters) {\n const { privateKey, ...typedData } = parameters;\n return await sign({\n hash: hashTypedData(typedData),\n privateKey,\n to: 'hex',\n });\n}\n//# sourceMappingURL=signTypedData.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { toHex } from '../utils/encoding/toHex.js';\nimport { toAccount } from './toAccount.js';\nimport { publicKeyToAddress, } from './utils/publicKeyToAddress.js';\nimport { sign } from './utils/sign.js';\nimport { signAuthorization } from './utils/signAuthorization.js';\nimport { signMessage } from './utils/signMessage.js';\nimport { signTransaction, } from './utils/signTransaction.js';\nimport { signTypedData, } from './utils/signTypedData.js';\n/**\n * @description Creates an Account from a private key.\n *\n * @returns A Private Key Account.\n */\nexport function privateKeyToAccount(privateKey, options = {}) {\n const { nonceManager } = options;\n const publicKey = toHex(secp256k1.getPublicKey(privateKey.slice(2), false));\n const address = publicKeyToAddress(publicKey);\n const account = toAccount({\n address,\n nonceManager,\n async sign({ hash }) {\n return sign({ hash, privateKey, to: 'hex' });\n },\n async signAuthorization(authorization) {\n return signAuthorization({ ...authorization, privateKey });\n },\n async signMessage({ message }) {\n return signMessage({ message, privateKey });\n },\n async signTransaction(transaction, { serializer } = {}) {\n return signTransaction({ privateKey, transaction, serializer });\n },\n async signTypedData(typedData) {\n return signTypedData({ ...typedData, privateKey });\n },\n });\n return {\n ...account,\n publicKey,\n source: 'privateKey',\n };\n}\n//# sourceMappingURL=privateKeyToAccount.js.map","import { toHex } from '../utils/encoding/toHex.js';\nimport { privateKeyToAccount, } from './privateKeyToAccount.js';\n/**\n * @description Creates an Account from a HD Key.\n *\n * @returns A HD Account.\n */\nexport function hdKeyToAccount(hdKey_, { accountIndex = 0, addressIndex = 0, changeIndex = 0, path, ...options } = {}) {\n const hdKey = hdKey_.derive(path || `m/44'/60'/${accountIndex}'/${changeIndex}/${addressIndex}`);\n const account = privateKeyToAccount(toHex(hdKey.privateKey), options);\n return {\n ...account,\n getHdKey: () => hdKey,\n source: 'hd',\n };\n}\n//# sourceMappingURL=hdKeyToAccount.js.map","import { HDKey } from '@scure/bip32';\nimport { mnemonicToSeedSync } from '@scure/bip39';\nimport { hdKeyToAccount, } from './hdKeyToAccount.js';\n/**\n * @description Creates an Account from a mnemonic phrase.\n *\n * @returns A HD Account.\n */\nexport function mnemonicToAccount(mnemonic, { passphrase, ...hdKeyOpts } = {}) {\n const seed = mnemonicToSeedSync(mnemonic, passphrase);\n return hdKeyToAccount(HDKey.fromMasterSeed(seed), hdKeyOpts);\n}\n//# sourceMappingURL=mnemonicToAccount.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { bytesToHex, } from '../../utils/encoding/toHex.js';\nimport { publicKeyToAddress, } from './publicKeyToAddress.js';\n/**\n * @description Converts an ECDSA private key to an address.\n *\n * @param privateKey The private key to convert.\n *\n * @returns The address.\n */\nexport function privateKeyToAddress(privateKey) {\n const publicKey = bytesToHex(secp256k1.getPublicKey(privateKey.slice(2), false));\n return publicKeyToAddress(publicKey);\n}\n//# sourceMappingURL=privateKeyToAddress.js.map","export const wordlist = `abdikace\nabeceda\nadresa\nagrese\nakce\naktovka\nalej\nalkohol\namputace\nananas\nandulka\nanekdota\nanketa\nantika\nanulovat\narcha\narogance\nasfalt\nasistent\naspirace\nastma\nastronom\natlas\natletika\natol\nautobus\nazyl\nbabka\nbachor\nbacil\nbaculka\nbadatel\nbageta\nbagr\nbahno\nbakterie\nbalada\nbaletka\nbalkon\nbalonek\nbalvan\nbalza\nbambus\nbankomat\nbarbar\nbaret\nbarman\nbaroko\nbarva\nbaterka\nbatoh\nbavlna\nbazalka\nbazilika\nbazuka\nbedna\nberan\nbeseda\nbestie\nbeton\nbezinka\nbezmoc\nbeztak\nbicykl\nbidlo\nbiftek\nbikiny\nbilance\nbiograf\nbiolog\nbitva\nbizon\nblahobyt\nblatouch\nblecha\nbledule\nblesk\nblikat\nblizna\nblokovat\nbloudit\nblud\nbobek\nbobr\nbodlina\nbodnout\nbohatost\nbojkot\nbojovat\nbokorys\nbolest\nborec\nborovice\nbota\nboubel\nbouchat\nbouda\nboule\nbourat\nboxer\nbradavka\nbrambora\nbranka\nbratr\nbrepta\nbriketa\nbrko\nbrloh\nbronz\nbroskev\nbrunetka\nbrusinka\nbrzda\nbrzy\nbublina\nbubnovat\nbuchta\nbuditel\nbudka\nbudova\nbufet\nbujarost\nbukvice\nbuldok\nbulva\nbunda\nbunkr\nburza\nbutik\nbuvol\nbuzola\nbydlet\nbylina\nbytovka\nbzukot\ncapart\ncarevna\ncedr\ncedule\ncejch\ncejn\ncela\nceler\ncelkem\ncelnice\ncenina\ncennost\ncenovka\ncentrum\ncenzor\ncestopis\ncetka\nchalupa\nchapadlo\ncharita\nchata\nchechtat\nchemie\nchichot\nchirurg\nchlad\nchleba\nchlubit\nchmel\nchmura\nchobot\nchochol\nchodba\ncholera\nchomout\nchopit\nchoroba\nchov\nchrapot\nchrlit\nchrt\nchrup\nchtivost\nchudina\nchutnat\nchvat\nchvilka\nchvost\nchyba\nchystat\nchytit\ncibule\ncigareta\ncihelna\ncihla\ncinkot\ncirkus\ncisterna\ncitace\ncitrus\ncizinec\ncizost\nclona\ncokoliv\ncouvat\nctitel\nctnost\ncudnost\ncuketa\ncukr\ncupot\ncvaknout\ncval\ncvik\ncvrkot\ncyklista\ndaleko\ndareba\ndatel\ndatum\ndcera\ndebata\ndechovka\ndecibel\ndeficit\ndeflace\ndekl\ndekret\ndemokrat\ndeprese\nderby\ndeska\ndetektiv\ndikobraz\ndiktovat\ndioda\ndiplom\ndisk\ndisplej\ndivadlo\ndivoch\ndlaha\ndlouho\ndluhopis\ndnes\ndobro\ndobytek\ndocent\ndochutit\ndodnes\ndohled\ndohoda\ndohra\ndojem\ndojnice\ndoklad\ndokola\ndoktor\ndokument\ndolar\ndoleva\ndolina\ndoma\ndominant\ndomluvit\ndomov\ndonutit\ndopad\ndopis\ndoplnit\ndoposud\ndoprovod\ndopustit\ndorazit\ndorost\ndort\ndosah\ndoslov\ndostatek\ndosud\ndosyta\ndotaz\ndotek\ndotknout\ndoufat\ndoutnat\ndovozce\ndozadu\ndoznat\ndozorce\ndrahota\ndrak\ndramatik\ndravec\ndraze\ndrdol\ndrobnost\ndrogerie\ndrozd\ndrsnost\ndrtit\ndrzost\nduben\nduchovno\ndudek\nduha\nduhovka\ndusit\ndusno\ndutost\ndvojice\ndvorec\ndynamit\nekolog\nekonomie\nelektron\nelipsa\nemail\nemise\nemoce\nempatie\nepizoda\nepocha\nepopej\nepos\nesej\nesence\neskorta\neskymo\netiketa\neuforie\nevoluce\nexekuce\nexkurze\nexpedice\nexploze\nexport\nextrakt\nfacka\nfajfka\nfakulta\nfanatik\nfantazie\nfarmacie\nfavorit\nfazole\nfederace\nfejeton\nfenka\nfialka\nfigurant\nfilozof\nfiltr\nfinance\nfinta\nfixace\nfjord\nflanel\nflirt\nflotila\nfond\nfosfor\nfotbal\nfotka\nfoton\nfrakce\nfreska\nfronta\nfukar\nfunkce\nfyzika\ngaleje\ngarant\ngenetika\ngeolog\ngilotina\nglazura\nglejt\ngolem\ngolfista\ngotika\ngraf\ngramofon\ngranule\ngrep\ngril\ngrog\ngroteska\nguma\nhadice\nhadr\nhala\nhalenka\nhanba\nhanopis\nharfa\nharpuna\nhavran\nhebkost\nhejkal\nhejno\nhejtman\nhektar\nhelma\nhematom\nherec\nherna\nheslo\nhezky\nhistorik\nhladovka\nhlasivky\nhlava\nhledat\nhlen\nhlodavec\nhloh\nhloupost\nhltat\nhlubina\nhluchota\nhmat\nhmota\nhmyz\nhnis\nhnojivo\nhnout\nhoblina\nhoboj\nhoch\nhodiny\nhodlat\nhodnota\nhodovat\nhojnost\nhokej\nholinka\nholka\nholub\nhomole\nhonitba\nhonorace\nhoral\nhorda\nhorizont\nhorko\nhorlivec\nhormon\nhornina\nhoroskop\nhorstvo\nhospoda\nhostina\nhotovost\nhouba\nhouf\nhoupat\nhouska\nhovor\nhradba\nhranice\nhravost\nhrazda\nhrbolek\nhrdina\nhrdlo\nhrdost\nhrnek\nhrobka\nhromada\nhrot\nhrouda\nhrozen\nhrstka\nhrubost\nhryzat\nhubenost\nhubnout\nhudba\nhukot\nhumr\nhusita\nhustota\nhvozd\nhybnost\nhydrant\nhygiena\nhymna\nhysterik\nidylka\nihned\nikona\niluze\nimunita\ninfekce\ninflace\ninkaso\ninovace\ninspekce\ninternet\ninvalida\ninvestor\ninzerce\nironie\njablko\njachta\njahoda\njakmile\njakost\njalovec\njantar\njarmark\njaro\njasan\njasno\njatka\njavor\njazyk\njedinec\njedle\njednatel\njehlan\njekot\njelen\njelito\njemnost\njenom\njepice\njeseter\njevit\njezdec\njezero\njinak\njindy\njinoch\njiskra\njistota\njitrnice\njizva\njmenovat\njogurt\njurta\nkabaret\nkabel\nkabinet\nkachna\nkadet\nkadidlo\nkahan\nkajak\nkajuta\nkakao\nkaktus\nkalamita\nkalhoty\nkalibr\nkalnost\nkamera\nkamkoliv\nkamna\nkanibal\nkanoe\nkantor\nkapalina\nkapela\nkapitola\nkapka\nkaple\nkapota\nkapr\nkapusta\nkapybara\nkaramel\nkarotka\nkarton\nkasa\nkatalog\nkatedra\nkauce\nkauza\nkavalec\nkazajka\nkazeta\nkazivost\nkdekoliv\nkdesi\nkedluben\nkemp\nkeramika\nkino\nklacek\nkladivo\nklam\nklapot\nklasika\nklaun\nklec\nklenba\nklepat\nklesnout\nklid\nklima\nklisna\nklobouk\nklokan\nklopa\nkloub\nklubovna\nklusat\nkluzkost\nkmen\nkmitat\nkmotr\nkniha\nknot\nkoalice\nkoberec\nkobka\nkobliha\nkobyla\nkocour\nkohout\nkojenec\nkokos\nkoktejl\nkolaps\nkoleda\nkolize\nkolo\nkomando\nkometa\nkomik\nkomnata\nkomora\nkompas\nkomunita\nkonat\nkoncept\nkondice\nkonec\nkonfese\nkongres\nkonina\nkonkurs\nkontakt\nkonzerva\nkopanec\nkopie\nkopnout\nkoprovka\nkorbel\nkorektor\nkormidlo\nkoroptev\nkorpus\nkoruna\nkoryto\nkorzet\nkosatec\nkostka\nkotel\nkotleta\nkotoul\nkoukat\nkoupelna\nkousek\nkouzlo\nkovboj\nkoza\nkozoroh\nkrabice\nkrach\nkrajina\nkralovat\nkrasopis\nkravata\nkredit\nkrejcar\nkresba\nkreveta\nkriket\nkritik\nkrize\nkrkavec\nkrmelec\nkrmivo\nkrocan\nkrok\nkronika\nkropit\nkroupa\nkrovka\nkrtek\nkruhadlo\nkrupice\nkrutost\nkrvinka\nkrychle\nkrypta\nkrystal\nkryt\nkudlanka\nkufr\nkujnost\nkukla\nkulajda\nkulich\nkulka\nkulomet\nkultura\nkuna\nkupodivu\nkurt\nkurzor\nkutil\nkvalita\nkvasinka\nkvestor\nkynolog\nkyselina\nkytara\nkytice\nkytka\nkytovec\nkyvadlo\nlabrador\nlachtan\nladnost\nlaik\nlakomec\nlamela\nlampa\nlanovka\nlasice\nlaso\nlastura\nlatinka\nlavina\nlebka\nleckdy\nleden\nlednice\nledovka\nledvina\nlegenda\nlegie\nlegrace\nlehce\nlehkost\nlehnout\nlektvar\nlenochod\nlentilka\nlepenka\nlepidlo\nletadlo\nletec\nletmo\nletokruh\nlevhart\nlevitace\nlevobok\nlibra\nlichotka\nlidojed\nlidskost\nlihovina\nlijavec\nlilek\nlimetka\nlinie\nlinka\nlinoleum\nlistopad\nlitina\nlitovat\nlobista\nlodivod\nlogika\nlogoped\nlokalita\nloket\nlomcovat\nlopata\nlopuch\nlord\nlosos\nlotr\nloudal\nlouh\nlouka\nlouskat\nlovec\nlstivost\nlucerna\nlucifer\nlump\nlusk\nlustrace\nlvice\nlyra\nlyrika\nlysina\nmadam\nmadlo\nmagistr\nmahagon\nmajetek\nmajitel\nmajorita\nmakak\nmakovice\nmakrela\nmalba\nmalina\nmalovat\nmalvice\nmaminka\nmandle\nmanko\nmarnost\nmasakr\nmaskot\nmasopust\nmatice\nmatrika\nmaturita\nmazanec\nmazivo\nmazlit\nmazurka\nmdloba\nmechanik\nmeditace\nmedovina\nmelasa\nmeloun\nmentolka\nmetla\nmetoda\nmetr\nmezera\nmigrace\nmihnout\nmihule\nmikina\nmikrofon\nmilenec\nmilimetr\nmilost\nmimika\nmincovna\nminibar\nminomet\nminulost\nmiska\nmistr\nmixovat\nmladost\nmlha\nmlhovina\nmlok\nmlsat\nmluvit\nmnich\nmnohem\nmobil\nmocnost\nmodelka\nmodlitba\nmohyla\nmokro\nmolekula\nmomentka\nmonarcha\nmonokl\nmonstrum\nmontovat\nmonzun\nmosaz\nmoskyt\nmost\nmotivace\nmotorka\nmotyka\nmoucha\nmoudrost\nmozaika\nmozek\nmozol\nmramor\nmravenec\nmrkev\nmrtvola\nmrzet\nmrzutost\nmstitel\nmudrc\nmuflon\nmulat\nmumie\nmunice\nmuset\nmutace\nmuzeum\nmuzikant\nmyslivec\nmzda\nnabourat\nnachytat\nnadace\nnadbytek\nnadhoz\nnadobro\nnadpis\nnahlas\nnahnat\nnahodile\nnahradit\nnaivita\nnajednou\nnajisto\nnajmout\nnaklonit\nnakonec\nnakrmit\nnalevo\nnamazat\nnamluvit\nnanometr\nnaoko\nnaopak\nnaostro\nnapadat\nnapevno\nnaplnit\nnapnout\nnaposled\nnaprosto\nnarodit\nnaruby\nnarychlo\nnasadit\nnasekat\nnaslepo\nnastat\nnatolik\nnavenek\nnavrch\nnavzdory\nnazvat\nnebe\nnechat\nnecky\nnedaleko\nnedbat\nneduh\nnegace\nnehet\nnehoda\nnejen\nnejprve\nneklid\nnelibost\nnemilost\nnemoc\nneochota\nneonka\nnepokoj\nnerost\nnerv\nnesmysl\nnesoulad\nnetvor\nneuron\nnevina\nnezvykle\nnicota\nnijak\nnikam\nnikdy\nnikl\nnikterak\nnitro\nnocleh\nnohavice\nnominace\nnora\nnorek\nnositel\nnosnost\nnouze\nnoviny\nnovota\nnozdra\nnuda\nnudle\nnuget\nnutit\nnutnost\nnutrie\nnymfa\nobal\nobarvit\nobava\nobdiv\nobec\nobehnat\nobejmout\nobezita\nobhajoba\nobilnice\nobjasnit\nobjekt\nobklopit\noblast\noblek\nobliba\nobloha\nobluda\nobnos\nobohatit\nobojek\nobout\nobrazec\nobrna\nobruba\nobrys\nobsah\nobsluha\nobstarat\nobuv\nobvaz\nobvinit\nobvod\nobvykle\nobyvatel\nobzor\nocas\nocel\nocenit\nochladit\nochota\nochrana\nocitnout\nodboj\nodbyt\nodchod\nodcizit\nodebrat\nodeslat\nodevzdat\nodezva\nodhadce\nodhodit\nodjet\nodjinud\nodkaz\nodkoupit\nodliv\nodluka\nodmlka\nodolnost\nodpad\nodpis\nodplout\nodpor\nodpustit\nodpykat\nodrazka\nodsoudit\nodstup\nodsun\nodtok\nodtud\nodvaha\nodveta\nodvolat\nodvracet\nodznak\nofina\nofsajd\nohlas\nohnisko\nohrada\nohrozit\nohryzek\nokap\nokenice\noklika\nokno\nokouzlit\nokovy\nokrasa\nokres\nokrsek\nokruh\nokupant\nokurka\nokusit\nolejnina\nolizovat\nomak\nomeleta\nomezit\nomladina\nomlouvat\nomluva\nomyl\nonehdy\nopakovat\nopasek\noperace\nopice\nopilost\nopisovat\nopora\nopozice\nopravdu\noproti\norbital\norchestr\norgie\norlice\norloj\nortel\nosada\noschnout\nosika\nosivo\noslava\noslepit\noslnit\noslovit\nosnova\nosoba\nosolit\nospalec\nosten\nostraha\nostuda\nostych\nosvojit\noteplit\notisk\notop\notrhat\notrlost\notrok\notruby\notvor\novanout\novar\noves\novlivnit\novoce\noxid\nozdoba\npachatel\npacient\npadouch\npahorek\npakt\npalanda\npalec\npalivo\npaluba\npamflet\npamlsek\npanenka\npanika\npanna\npanovat\npanstvo\npantofle\npaprika\nparketa\nparodie\nparta\nparuka\nparyba\npaseka\npasivita\npastelka\npatent\npatrona\npavouk\npazneht\npazourek\npecka\npedagog\npejsek\npeklo\npeloton\npenalta\npendrek\npenze\nperiskop\npero\npestrost\npetarda\npetice\npetrolej\npevnina\npexeso\npianista\npiha\npijavice\npikle\npiknik\npilina\npilnost\npilulka\npinzeta\npipeta\npisatel\npistole\npitevna\npivnice\npivovar\nplacenta\nplakat\nplamen\nplaneta\nplastika\nplatit\nplavidlo\nplaz\nplech\nplemeno\nplenta\nples\npletivo\nplevel\nplivat\nplnit\nplno\nplocha\nplodina\nplomba\nplout\npluk\nplyn\npobavit\npobyt\npochod\npocit\npoctivec\npodat\npodcenit\npodepsat\npodhled\npodivit\npodklad\npodmanit\npodnik\npodoba\npodpora\npodraz\npodstata\npodvod\npodzim\npoezie\npohanka\npohnutka\npohovor\npohroma\npohyb\npointa\npojistka\npojmout\npokazit\npokles\npokoj\npokrok\npokuta\npokyn\npoledne\npolibek\npolknout\npoloha\npolynom\npomalu\npominout\npomlka\npomoc\npomsta\npomyslet\nponechat\nponorka\nponurost\npopadat\npopel\npopisek\npoplach\npoprosit\npopsat\npopud\nporadce\nporce\nporod\nporucha\nporyv\nposadit\nposed\nposila\nposkok\nposlanec\nposoudit\npospolu\npostava\nposudek\nposyp\npotah\npotkan\npotlesk\npotomek\npotrava\npotupa\npotvora\npoukaz\npouto\npouzdro\npovaha\npovidla\npovlak\npovoz\npovrch\npovstat\npovyk\npovzdech\npozdrav\npozemek\npoznatek\npozor\npozvat\npracovat\nprahory\npraktika\nprales\npraotec\npraporek\nprase\npravda\nprincip\nprkno\nprobudit\nprocento\nprodej\nprofese\nprohra\nprojekt\nprolomit\npromile\npronikat\npropad\nprorok\nprosba\nproton\nproutek\nprovaz\nprskavka\nprsten\nprudkost\nprut\nprvek\nprvohory\npsanec\npsovod\npstruh\nptactvo\npuberta\npuch\npudl\npukavec\npuklina\npukrle\npult\npumpa\npunc\npupen\npusa\npusinka\npustina\nputovat\nputyka\npyramida\npysk\npytel\nracek\nrachot\nradiace\nradnice\nradon\nraft\nragby\nraketa\nrakovina\nrameno\nrampouch\nrande\nrarach\nrarita\nrasovna\nrastr\nratolest\nrazance\nrazidlo\nreagovat\nreakce\nrecept\nredaktor\nreferent\nreflex\nrejnok\nreklama\nrekord\nrekrut\nrektor\nreputace\nrevize\nrevma\nrevolver\nrezerva\nriskovat\nriziko\nrobotika\nrodokmen\nrohovka\nrokle\nrokoko\nromaneto\nropovod\nropucha\nrorejs\nrosol\nrostlina\nrotmistr\nrotoped\nrotunda\nroubenka\nroucho\nroup\nroura\nrovina\nrovnice\nrozbor\nrozchod\nrozdat\nrozeznat\nrozhodce\nrozinka\nrozjezd\nrozkaz\nrozloha\nrozmar\nrozpad\nrozruch\nrozsah\nroztok\nrozum\nrozvod\nrubrika\nruchadlo\nrukavice\nrukopis\nryba\nrybolov\nrychlost\nrydlo\nrypadlo\nrytina\nryzost\nsadista\nsahat\nsako\nsamec\nsamizdat\nsamota\nsanitka\nsardinka\nsasanka\nsatelit\nsazba\nsazenice\nsbor\nschovat\nsebranka\nsecese\nsedadlo\nsediment\nsedlo\nsehnat\nsejmout\nsekera\nsekta\nsekunda\nsekvoje\nsemeno\nseno\nservis\nsesadit\nseshora\nseskok\nseslat\nsestra\nsesuv\nsesypat\nsetba\nsetina\nsetkat\nsetnout\nsetrvat\nsever\nseznam\nshoda\nshrnout\nsifon\nsilnice\nsirka\nsirotek\nsirup\nsituace\nskafandr\nskalisko\nskanzen\nskaut\nskeptik\nskica\nskladba\nsklenice\nsklo\nskluz\nskoba\nskokan\nskoro\nskripta\nskrz\nskupina\nskvost\nskvrna\nslabika\nsladidlo\nslanina\nslast\nslavnost\nsledovat\nslepec\nsleva\nslezina\nslib\nslina\nsliznice\nslon\nsloupek\nslovo\nsluch\nsluha\nslunce\nslupka\nslza\nsmaragd\nsmetana\nsmilstvo\nsmlouva\nsmog\nsmrad\nsmrk\nsmrtka\nsmutek\nsmysl\nsnad\nsnaha\nsnob\nsobota\nsocha\nsodovka\nsokol\nsopka\nsotva\nsouboj\nsoucit\nsoudce\nsouhlas\nsoulad\nsoumrak\nsouprava\nsoused\nsoutok\nsouviset\nspalovna\nspasitel\nspis\nsplav\nspodek\nspojenec\nspolu\nsponzor\nspornost\nspousta\nsprcha\nspustit\nsranda\nsraz\nsrdce\nsrna\nsrnec\nsrovnat\nsrpen\nsrst\nsrub\nstanice\nstarosta\nstatika\nstavba\nstehno\nstezka\nstodola\nstolek\nstopa\nstorno\nstoupat\nstrach\nstres\nstrhnout\nstrom\nstruna\nstudna\nstupnice\nstvol\nstyk\nsubjekt\nsubtropy\nsuchar\nsudost\nsukno\nsundat\nsunout\nsurikata\nsurovina\nsvah\nsvalstvo\nsvetr\nsvatba\nsvazek\nsvisle\nsvitek\nsvoboda\nsvodidlo\nsvorka\nsvrab\nsykavka\nsykot\nsynek\nsynovec\nsypat\nsypkost\nsyrovost\nsysel\nsytost\ntabletka\ntabule\ntahoun\ntajemno\ntajfun\ntajga\ntajit\ntajnost\ntaktika\ntamhle\ntampon\ntancovat\ntanec\ntanker\ntapeta\ntavenina\ntazatel\ntechnika\ntehdy\ntekutina\ntelefon\ntemnota\ntendence\ntenista\ntenor\nteplota\ntepna\nteprve\nterapie\ntermoska\ntextil\nticho\ntiskopis\ntitulek\ntkadlec\ntkanina\ntlapka\ntleskat\ntlukot\ntlupa\ntmel\ntoaleta\ntopinka\ntopol\ntorzo\ntouha\ntoulec\ntradice\ntraktor\ntramp\ntrasa\ntraverza\ntrefit\ntrest\ntrezor\ntrhavina\ntrhlina\ntrochu\ntrojice\ntroska\ntrouba\ntrpce\ntrpitel\ntrpkost\ntrubec\ntruchlit\ntruhlice\ntrus\ntrvat\ntudy\ntuhnout\ntuhost\ntundra\nturista\nturnaj\ntuzemsko\ntvaroh\ntvorba\ntvrdost\ntvrz\ntygr\ntykev\nubohost\nuboze\nubrat\nubrousek\nubrus\nubytovna\nucho\nuctivost\nudivit\nuhradit\nujednat\nujistit\nujmout\nukazatel\nuklidnit\nuklonit\nukotvit\nukrojit\nulice\nulita\nulovit\numyvadlo\nunavit\nuniforma\nuniknout\nupadnout\nuplatnit\nuplynout\nupoutat\nupravit\nuran\nurazit\nusednout\nusilovat\nusmrtit\nusnadnit\nusnout\nusoudit\nustlat\nustrnout\nutahovat\nutkat\nutlumit\nutonout\nutopenec\nutrousit\nuvalit\nuvolnit\nuvozovka\nuzdravit\nuzel\nuzenina\nuzlina\nuznat\nvagon\nvalcha\nvaloun\nvana\nvandal\nvanilka\nvaran\nvarhany\nvarovat\nvcelku\nvchod\nvdova\nvedro\nvegetace\nvejce\nvelbloud\nveletrh\nvelitel\nvelmoc\nvelryba\nvenkov\nveranda\nverze\nveselka\nveskrze\nvesnice\nvespodu\nvesta\nveterina\nveverka\nvibrace\nvichr\nvideohra\nvidina\nvidle\nvila\nvinice\nviset\nvitalita\nvize\nvizitka\nvjezd\nvklad\nvkus\nvlajka\nvlak\nvlasec\nvlevo\nvlhkost\nvliv\nvlnovka\nvloupat\nvnucovat\nvnuk\nvoda\nvodivost\nvodoznak\nvodstvo\nvojensky\nvojna\nvojsko\nvolant\nvolba\nvolit\nvolno\nvoskovka\nvozidlo\nvozovna\nvpravo\nvrabec\nvracet\nvrah\nvrata\nvrba\nvrcholek\nvrhat\nvrstva\nvrtule\nvsadit\nvstoupit\nvstup\nvtip\nvybavit\nvybrat\nvychovat\nvydat\nvydra\nvyfotit\nvyhledat\nvyhnout\nvyhodit\nvyhradit\nvyhubit\nvyjasnit\nvyjet\nvyjmout\nvyklopit\nvykonat\nvylekat\nvymazat\nvymezit\nvymizet\nvymyslet\nvynechat\nvynikat\nvynutit\nvypadat\nvyplatit\nvypravit\nvypustit\nvyrazit\nvyrovnat\nvyrvat\nvyslovit\nvysoko\nvystavit\nvysunout\nvysypat\nvytasit\nvytesat\nvytratit\nvyvinout\nvyvolat\nvyvrhel\nvyzdobit\nvyznat\nvzadu\nvzbudit\nvzchopit\nvzdor\nvzduch\nvzdychat\nvzestup\nvzhledem\nvzkaz\nvzlykat\nvznik\nvzorek\nvzpoura\nvztah\nvztek\nxylofon\nzabrat\nzabydlet\nzachovat\nzadarmo\nzadusit\nzafoukat\nzahltit\nzahodit\nzahrada\nzahynout\nzajatec\nzajet\nzajistit\nzaklepat\nzakoupit\nzalepit\nzamezit\nzamotat\nzamyslet\nzanechat\nzanikat\nzaplatit\nzapojit\nzapsat\nzarazit\nzastavit\nzasunout\nzatajit\nzatemnit\nzatknout\nzaujmout\nzavalit\nzavelet\nzavinit\nzavolat\nzavrtat\nzazvonit\nzbavit\nzbrusu\nzbudovat\nzbytek\nzdaleka\nzdarma\nzdatnost\nzdivo\nzdobit\nzdroj\nzdvih\nzdymadlo\nzelenina\nzeman\nzemina\nzeptat\nzezadu\nzezdola\nzhatit\nzhltnout\nzhluboka\nzhotovit\nzhruba\nzima\nzimnice\nzjemnit\nzklamat\nzkoumat\nzkratka\nzkumavka\nzlato\nzlehka\nzloba\nzlom\nzlost\nzlozvyk\nzmapovat\nzmar\nzmatek\nzmije\nzmizet\nzmocnit\nzmodrat\nzmrzlina\nzmutovat\nznak\nznalost\nznamenat\nznovu\nzobrazit\nzotavit\nzoubek\nzoufale\nzplodit\nzpomalit\nzprava\nzprostit\nzprudka\nzprvu\nzrada\nzranit\nzrcadlo\nzrnitost\nzrno\nzrovna\nzrychlit\nzrzavost\nzticha\nztratit\nzubovina\nzubr\nzvednout\nzvenku\nzvesela\nzvon\nzvrat\nzvukovod\nzvyk`.split('\\n');\n","export const wordlist = `abandon\nability\nable\nabout\nabove\nabsent\nabsorb\nabstract\nabsurd\nabuse\naccess\naccident\naccount\naccuse\nachieve\nacid\nacoustic\nacquire\nacross\nact\naction\nactor\nactress\nactual\nadapt\nadd\naddict\naddress\nadjust\nadmit\nadult\nadvance\nadvice\naerobic\naffair\nafford\nafraid\nagain\nage\nagent\nagree\nahead\naim\nair\nairport\naisle\nalarm\nalbum\nalcohol\nalert\nalien\nall\nalley\nallow\nalmost\nalone\nalpha\nalready\nalso\nalter\nalways\namateur\namazing\namong\namount\namused\nanalyst\nanchor\nancient\nanger\nangle\nangry\nanimal\nankle\nannounce\nannual\nanother\nanswer\nantenna\nantique\nanxiety\nany\napart\napology\nappear\napple\napprove\napril\narch\narctic\narea\narena\nargue\narm\narmed\narmor\narmy\naround\narrange\narrest\narrive\narrow\nart\nartefact\nartist\nartwork\nask\naspect\nassault\nasset\nassist\nassume\nasthma\nathlete\natom\nattack\nattend\nattitude\nattract\nauction\naudit\naugust\naunt\nauthor\nauto\nautumn\naverage\navocado\navoid\nawake\naware\naway\nawesome\nawful\nawkward\naxis\nbaby\nbachelor\nbacon\nbadge\nbag\nbalance\nbalcony\nball\nbamboo\nbanana\nbanner\nbar\nbarely\nbargain\nbarrel\nbase\nbasic\nbasket\nbattle\nbeach\nbean\nbeauty\nbecause\nbecome\nbeef\nbefore\nbegin\nbehave\nbehind\nbelieve\nbelow\nbelt\nbench\nbenefit\nbest\nbetray\nbetter\nbetween\nbeyond\nbicycle\nbid\nbike\nbind\nbiology\nbird\nbirth\nbitter\nblack\nblade\nblame\nblanket\nblast\nbleak\nbless\nblind\nblood\nblossom\nblouse\nblue\nblur\nblush\nboard\nboat\nbody\nboil\nbomb\nbone\nbonus\nbook\nboost\nborder\nboring\nborrow\nboss\nbottom\nbounce\nbox\nboy\nbracket\nbrain\nbrand\nbrass\nbrave\nbread\nbreeze\nbrick\nbridge\nbrief\nbright\nbring\nbrisk\nbroccoli\nbroken\nbronze\nbroom\nbrother\nbrown\nbrush\nbubble\nbuddy\nbudget\nbuffalo\nbuild\nbulb\nbulk\nbullet\nbundle\nbunker\nburden\nburger\nburst\nbus\nbusiness\nbusy\nbutter\nbuyer\nbuzz\ncabbage\ncabin\ncable\ncactus\ncage\ncake\ncall\ncalm\ncamera\ncamp\ncan\ncanal\ncancel\ncandy\ncannon\ncanoe\ncanvas\ncanyon\ncapable\ncapital\ncaptain\ncar\ncarbon\ncard\ncargo\ncarpet\ncarry\ncart\ncase\ncash\ncasino\ncastle\ncasual\ncat\ncatalog\ncatch\ncategory\ncattle\ncaught\ncause\ncaution\ncave\nceiling\ncelery\ncement\ncensus\ncentury\ncereal\ncertain\nchair\nchalk\nchampion\nchange\nchaos\nchapter\ncharge\nchase\nchat\ncheap\ncheck\ncheese\nchef\ncherry\nchest\nchicken\nchief\nchild\nchimney\nchoice\nchoose\nchronic\nchuckle\nchunk\nchurn\ncigar\ncinnamon\ncircle\ncitizen\ncity\ncivil\nclaim\nclap\nclarify\nclaw\nclay\nclean\nclerk\nclever\nclick\nclient\ncliff\nclimb\nclinic\nclip\nclock\nclog\nclose\ncloth\ncloud\nclown\nclub\nclump\ncluster\nclutch\ncoach\ncoast\ncoconut\ncode\ncoffee\ncoil\ncoin\ncollect\ncolor\ncolumn\ncombine\ncome\ncomfort\ncomic\ncommon\ncompany\nconcert\nconduct\nconfirm\ncongress\nconnect\nconsider\ncontrol\nconvince\ncook\ncool\ncopper\ncopy\ncoral\ncore\ncorn\ncorrect\ncost\ncotton\ncouch\ncountry\ncouple\ncourse\ncousin\ncover\ncoyote\ncrack\ncradle\ncraft\ncram\ncrane\ncrash\ncrater\ncrawl\ncrazy\ncream\ncredit\ncreek\ncrew\ncricket\ncrime\ncrisp\ncritic\ncrop\ncross\ncrouch\ncrowd\ncrucial\ncruel\ncruise\ncrumble\ncrunch\ncrush\ncry\ncrystal\ncube\nculture\ncup\ncupboard\ncurious\ncurrent\ncurtain\ncurve\ncushion\ncustom\ncute\ncycle\ndad\ndamage\ndamp\ndance\ndanger\ndaring\ndash\ndaughter\ndawn\nday\ndeal\ndebate\ndebris\ndecade\ndecember\ndecide\ndecline\ndecorate\ndecrease\ndeer\ndefense\ndefine\ndefy\ndegree\ndelay\ndeliver\ndemand\ndemise\ndenial\ndentist\ndeny\ndepart\ndepend\ndeposit\ndepth\ndeputy\nderive\ndescribe\ndesert\ndesign\ndesk\ndespair\ndestroy\ndetail\ndetect\ndevelop\ndevice\ndevote\ndiagram\ndial\ndiamond\ndiary\ndice\ndiesel\ndiet\ndiffer\ndigital\ndignity\ndilemma\ndinner\ndinosaur\ndirect\ndirt\ndisagree\ndiscover\ndisease\ndish\ndismiss\ndisorder\ndisplay\ndistance\ndivert\ndivide\ndivorce\ndizzy\ndoctor\ndocument\ndog\ndoll\ndolphin\ndomain\ndonate\ndonkey\ndonor\ndoor\ndose\ndouble\ndove\ndraft\ndragon\ndrama\ndrastic\ndraw\ndream\ndress\ndrift\ndrill\ndrink\ndrip\ndrive\ndrop\ndrum\ndry\nduck\ndumb\ndune\nduring\ndust\ndutch\nduty\ndwarf\ndynamic\neager\neagle\nearly\nearn\nearth\neasily\neast\neasy\necho\necology\neconomy\nedge\nedit\neducate\neffort\negg\neight\neither\nelbow\nelder\nelectric\nelegant\nelement\nelephant\nelevator\nelite\nelse\nembark\nembody\nembrace\nemerge\nemotion\nemploy\nempower\nempty\nenable\nenact\nend\nendless\nendorse\nenemy\nenergy\nenforce\nengage\nengine\nenhance\nenjoy\nenlist\nenough\nenrich\nenroll\nensure\nenter\nentire\nentry\nenvelope\nepisode\nequal\nequip\nera\nerase\nerode\nerosion\nerror\nerupt\nescape\nessay\nessence\nestate\neternal\nethics\nevidence\nevil\nevoke\nevolve\nexact\nexample\nexcess\nexchange\nexcite\nexclude\nexcuse\nexecute\nexercise\nexhaust\nexhibit\nexile\nexist\nexit\nexotic\nexpand\nexpect\nexpire\nexplain\nexpose\nexpress\nextend\nextra\neye\neyebrow\nfabric\nface\nfaculty\nfade\nfaint\nfaith\nfall\nfalse\nfame\nfamily\nfamous\nfan\nfancy\nfantasy\nfarm\nfashion\nfat\nfatal\nfather\nfatigue\nfault\nfavorite\nfeature\nfebruary\nfederal\nfee\nfeed\nfeel\nfemale\nfence\nfestival\nfetch\nfever\nfew\nfiber\nfiction\nfield\nfigure\nfile\nfilm\nfilter\nfinal\nfind\nfine\nfinger\nfinish\nfire\nfirm\nfirst\nfiscal\nfish\nfit\nfitness\nfix\nflag\nflame\nflash\nflat\nflavor\nflee\nflight\nflip\nfloat\nflock\nfloor\nflower\nfluid\nflush\nfly\nfoam\nfocus\nfog\nfoil\nfold\nfollow\nfood\nfoot\nforce\nforest\nforget\nfork\nfortune\nforum\nforward\nfossil\nfoster\nfound\nfox\nfragile\nframe\nfrequent\nfresh\nfriend\nfringe\nfrog\nfront\nfrost\nfrown\nfrozen\nfruit\nfuel\nfun\nfunny\nfurnace\nfury\nfuture\ngadget\ngain\ngalaxy\ngallery\ngame\ngap\ngarage\ngarbage\ngarden\ngarlic\ngarment\ngas\ngasp\ngate\ngather\ngauge\ngaze\ngeneral\ngenius\ngenre\ngentle\ngenuine\ngesture\nghost\ngiant\ngift\ngiggle\nginger\ngiraffe\ngirl\ngive\nglad\nglance\nglare\nglass\nglide\nglimpse\nglobe\ngloom\nglory\nglove\nglow\nglue\ngoat\ngoddess\ngold\ngood\ngoose\ngorilla\ngospel\ngossip\ngovern\ngown\ngrab\ngrace\ngrain\ngrant\ngrape\ngrass\ngravity\ngreat\ngreen\ngrid\ngrief\ngrit\ngrocery\ngroup\ngrow\ngrunt\nguard\nguess\nguide\nguilt\nguitar\ngun\ngym\nhabit\nhair\nhalf\nhammer\nhamster\nhand\nhappy\nharbor\nhard\nharsh\nharvest\nhat\nhave\nhawk\nhazard\nhead\nhealth\nheart\nheavy\nhedgehog\nheight\nhello\nhelmet\nhelp\nhen\nhero\nhidden\nhigh\nhill\nhint\nhip\nhire\nhistory\nhobby\nhockey\nhold\nhole\nholiday\nhollow\nhome\nhoney\nhood\nhope\nhorn\nhorror\nhorse\nhospital\nhost\nhotel\nhour\nhover\nhub\nhuge\nhuman\nhumble\nhumor\nhundred\nhungry\nhunt\nhurdle\nhurry\nhurt\nhusband\nhybrid\nice\nicon\nidea\nidentify\nidle\nignore\nill\nillegal\nillness\nimage\nimitate\nimmense\nimmune\nimpact\nimpose\nimprove\nimpulse\ninch\ninclude\nincome\nincrease\nindex\nindicate\nindoor\nindustry\ninfant\ninflict\ninform\ninhale\ninherit\ninitial\ninject\ninjury\ninmate\ninner\ninnocent\ninput\ninquiry\ninsane\ninsect\ninside\ninspire\ninstall\nintact\ninterest\ninto\ninvest\ninvite\ninvolve\niron\nisland\nisolate\nissue\nitem\nivory\njacket\njaguar\njar\njazz\njealous\njeans\njelly\njewel\njob\njoin\njoke\njourney\njoy\njudge\njuice\njump\njungle\njunior\njunk\njust\nkangaroo\nkeen\nkeep\nketchup\nkey\nkick\nkid\nkidney\nkind\nkingdom\nkiss\nkit\nkitchen\nkite\nkitten\nkiwi\nknee\nknife\nknock\nknow\nlab\nlabel\nlabor\nladder\nlady\nlake\nlamp\nlanguage\nlaptop\nlarge\nlater\nlatin\nlaugh\nlaundry\nlava\nlaw\nlawn\nlawsuit\nlayer\nlazy\nleader\nleaf\nlearn\nleave\nlecture\nleft\nleg\nlegal\nlegend\nleisure\nlemon\nlend\nlength\nlens\nleopard\nlesson\nletter\nlevel\nliar\nliberty\nlibrary\nlicense\nlife\nlift\nlight\nlike\nlimb\nlimit\nlink\nlion\nliquid\nlist\nlittle\nlive\nlizard\nload\nloan\nlobster\nlocal\nlock\nlogic\nlonely\nlong\nloop\nlottery\nloud\nlounge\nlove\nloyal\nlucky\nluggage\nlumber\nlunar\nlunch\nluxury\nlyrics\nmachine\nmad\nmagic\nmagnet\nmaid\nmail\nmain\nmajor\nmake\nmammal\nman\nmanage\nmandate\nmango\nmansion\nmanual\nmaple\nmarble\nmarch\nmargin\nmarine\nmarket\nmarriage\nmask\nmass\nmaster\nmatch\nmaterial\nmath\nmatrix\nmatter\nmaximum\nmaze\nmeadow\nmean\nmeasure\nmeat\nmechanic\nmedal\nmedia\nmelody\nmelt\nmember\nmemory\nmention\nmenu\nmercy\nmerge\nmerit\nmerry\nmesh\nmessage\nmetal\nmethod\nmiddle\nmidnight\nmilk\nmillion\nmimic\nmind\nminimum\nminor\nminute\nmiracle\nmirror\nmisery\nmiss\nmistake\nmix\nmixed\nmixture\nmobile\nmodel\nmodify\nmom\nmoment\nmonitor\nmonkey\nmonster\nmonth\nmoon\nmoral\nmore\nmorning\nmosquito\nmother\nmotion\nmotor\nmountain\nmouse\nmove\nmovie\nmuch\nmuffin\nmule\nmultiply\nmuscle\nmuseum\nmushroom\nmusic\nmust\nmutual\nmyself\nmystery\nmyth\nnaive\nname\nnapkin\nnarrow\nnasty\nnation\nnature\nnear\nneck\nneed\nnegative\nneglect\nneither\nnephew\nnerve\nnest\nnet\nnetwork\nneutral\nnever\nnews\nnext\nnice\nnight\nnoble\nnoise\nnominee\nnoodle\nnormal\nnorth\nnose\nnotable\nnote\nnothing\nnotice\nnovel\nnow\nnuclear\nnumber\nnurse\nnut\noak\nobey\nobject\noblige\nobscure\nobserve\nobtain\nobvious\noccur\nocean\noctober\nodor\noff\noffer\noffice\noften\noil\nokay\nold\nolive\nolympic\nomit\nonce\none\nonion\nonline\nonly\nopen\nopera\nopinion\noppose\noption\norange\norbit\norchard\norder\nordinary\norgan\norient\noriginal\norphan\nostrich\nother\noutdoor\nouter\noutput\noutside\noval\noven\nover\nown\nowner\noxygen\noyster\nozone\npact\npaddle\npage\npair\npalace\npalm\npanda\npanel\npanic\npanther\npaper\nparade\nparent\npark\nparrot\nparty\npass\npatch\npath\npatient\npatrol\npattern\npause\npave\npayment\npeace\npeanut\npear\npeasant\npelican\npen\npenalty\npencil\npeople\npepper\nperfect\npermit\nperson\npet\nphone\nphoto\nphrase\nphysical\npiano\npicnic\npicture\npiece\npig\npigeon\npill\npilot\npink\npioneer\npipe\npistol\npitch\npizza\nplace\nplanet\nplastic\nplate\nplay\nplease\npledge\npluck\nplug\nplunge\npoem\npoet\npoint\npolar\npole\npolice\npond\npony\npool\npopular\nportion\nposition\npossible\npost\npotato\npottery\npoverty\npowder\npower\npractice\npraise\npredict\nprefer\nprepare\npresent\npretty\nprevent\nprice\npride\nprimary\nprint\npriority\nprison\nprivate\nprize\nproblem\nprocess\nproduce\nprofit\nprogram\nproject\npromote\nproof\nproperty\nprosper\nprotect\nproud\nprovide\npublic\npudding\npull\npulp\npulse\npumpkin\npunch\npupil\npuppy\npurchase\npurity\npurpose\npurse\npush\nput\npuzzle\npyramid\nquality\nquantum\nquarter\nquestion\nquick\nquit\nquiz\nquote\nrabbit\nraccoon\nrace\nrack\nradar\nradio\nrail\nrain\nraise\nrally\nramp\nranch\nrandom\nrange\nrapid\nrare\nrate\nrather\nraven\nraw\nrazor\nready\nreal\nreason\nrebel\nrebuild\nrecall\nreceive\nrecipe\nrecord\nrecycle\nreduce\nreflect\nreform\nrefuse\nregion\nregret\nregular\nreject\nrelax\nrelease\nrelief\nrely\nremain\nremember\nremind\nremove\nrender\nrenew\nrent\nreopen\nrepair\nrepeat\nreplace\nreport\nrequire\nrescue\nresemble\nresist\nresource\nresponse\nresult\nretire\nretreat\nreturn\nreunion\nreveal\nreview\nreward\nrhythm\nrib\nribbon\nrice\nrich\nride\nridge\nrifle\nright\nrigid\nring\nriot\nripple\nrisk\nritual\nrival\nriver\nroad\nroast\nrobot\nrobust\nrocket\nromance\nroof\nrookie\nroom\nrose\nrotate\nrough\nround\nroute\nroyal\nrubber\nrude\nrug\nrule\nrun\nrunway\nrural\nsad\nsaddle\nsadness\nsafe\nsail\nsalad\nsalmon\nsalon\nsalt\nsalute\nsame\nsample\nsand\nsatisfy\nsatoshi\nsauce\nsausage\nsave\nsay\nscale\nscan\nscare\nscatter\nscene\nscheme\nschool\nscience\nscissors\nscorpion\nscout\nscrap\nscreen\nscript\nscrub\nsea\nsearch\nseason\nseat\nsecond\nsecret\nsection\nsecurity\nseed\nseek\nsegment\nselect\nsell\nseminar\nsenior\nsense\nsentence\nseries\nservice\nsession\nsettle\nsetup\nseven\nshadow\nshaft\nshallow\nshare\nshed\nshell\nsheriff\nshield\nshift\nshine\nship\nshiver\nshock\nshoe\nshoot\nshop\nshort\nshoulder\nshove\nshrimp\nshrug\nshuffle\nshy\nsibling\nsick\nside\nsiege\nsight\nsign\nsilent\nsilk\nsilly\nsilver\nsimilar\nsimple\nsince\nsing\nsiren\nsister\nsituate\nsix\nsize\nskate\nsketch\nski\nskill\nskin\nskirt\nskull\nslab\nslam\nsleep\nslender\nslice\nslide\nslight\nslim\nslogan\nslot\nslow\nslush\nsmall\nsmart\nsmile\nsmoke\nsmooth\nsnack\nsnake\nsnap\nsniff\nsnow\nsoap\nsoccer\nsocial\nsock\nsoda\nsoft\nsolar\nsoldier\nsolid\nsolution\nsolve\nsomeone\nsong\nsoon\nsorry\nsort\nsoul\nsound\nsoup\nsource\nsouth\nspace\nspare\nspatial\nspawn\nspeak\nspecial\nspeed\nspell\nspend\nsphere\nspice\nspider\nspike\nspin\nspirit\nsplit\nspoil\nsponsor\nspoon\nsport\nspot\nspray\nspread\nspring\nspy\nsquare\nsqueeze\nsquirrel\nstable\nstadium\nstaff\nstage\nstairs\nstamp\nstand\nstart\nstate\nstay\nsteak\nsteel\nstem\nstep\nstereo\nstick\nstill\nsting\nstock\nstomach\nstone\nstool\nstory\nstove\nstrategy\nstreet\nstrike\nstrong\nstruggle\nstudent\nstuff\nstumble\nstyle\nsubject\nsubmit\nsubway\nsuccess\nsuch\nsudden\nsuffer\nsugar\nsuggest\nsuit\nsummer\nsun\nsunny\nsunset\nsuper\nsupply\nsupreme\nsure\nsurface\nsurge\nsurprise\nsurround\nsurvey\nsuspect\nsustain\nswallow\nswamp\nswap\nswarm\nswear\nsweet\nswift\nswim\nswing\nswitch\nsword\nsymbol\nsymptom\nsyrup\nsystem\ntable\ntackle\ntag\ntail\ntalent\ntalk\ntank\ntape\ntarget\ntask\ntaste\ntattoo\ntaxi\nteach\nteam\ntell\nten\ntenant\ntennis\ntent\nterm\ntest\ntext\nthank\nthat\ntheme\nthen\ntheory\nthere\nthey\nthing\nthis\nthought\nthree\nthrive\nthrow\nthumb\nthunder\nticket\ntide\ntiger\ntilt\ntimber\ntime\ntiny\ntip\ntired\ntissue\ntitle\ntoast\ntobacco\ntoday\ntoddler\ntoe\ntogether\ntoilet\ntoken\ntomato\ntomorrow\ntone\ntongue\ntonight\ntool\ntooth\ntop\ntopic\ntopple\ntorch\ntornado\ntortoise\ntoss\ntotal\ntourist\ntoward\ntower\ntown\ntoy\ntrack\ntrade\ntraffic\ntragic\ntrain\ntransfer\ntrap\ntrash\ntravel\ntray\ntreat\ntree\ntrend\ntrial\ntribe\ntrick\ntrigger\ntrim\ntrip\ntrophy\ntrouble\ntruck\ntrue\ntruly\ntrumpet\ntrust\ntruth\ntry\ntube\ntuition\ntumble\ntuna\ntunnel\nturkey\nturn\nturtle\ntwelve\ntwenty\ntwice\ntwin\ntwist\ntwo\ntype\ntypical\nugly\numbrella\nunable\nunaware\nuncle\nuncover\nunder\nundo\nunfair\nunfold\nunhappy\nuniform\nunique\nunit\nuniverse\nunknown\nunlock\nuntil\nunusual\nunveil\nupdate\nupgrade\nuphold\nupon\nupper\nupset\nurban\nurge\nusage\nuse\nused\nuseful\nuseless\nusual\nutility\nvacant\nvacuum\nvague\nvalid\nvalley\nvalve\nvan\nvanish\nvapor\nvarious\nvast\nvault\nvehicle\nvelvet\nvendor\nventure\nvenue\nverb\nverify\nversion\nvery\nvessel\nveteran\nviable\nvibrant\nvicious\nvictory\nvideo\nview\nvillage\nvintage\nviolin\nvirtual\nvirus\nvisa\nvisit\nvisual\nvital\nvivid\nvocal\nvoice\nvoid\nvolcano\nvolume\nvote\nvoyage\nwage\nwagon\nwait\nwalk\nwall\nwalnut\nwant\nwarfare\nwarm\nwarrior\nwash\nwasp\nwaste\nwater\nwave\nway\nwealth\nweapon\nwear\nweasel\nweather\nweb\nwedding\nweekend\nweird\nwelcome\nwest\nwet\nwhale\nwhat\nwheat\nwheel\nwhen\nwhere\nwhip\nwhisper\nwide\nwidth\nwife\nwild\nwill\nwin\nwindow\nwine\nwing\nwink\nwinner\nwinter\nwire\nwisdom\nwise\nwish\nwitness\nwolf\nwoman\nwonder\nwood\nwool\nword\nwork\nworld\nworry\nworth\nwrap\nwreck\nwrestle\nwrist\nwrite\nwrong\nyard\nyear\nyellow\nyou\nyoung\nyouth\nzebra\nzero\nzone\nzoo`.split('\\n');\n","export const wordlist = `abaisser\nabandon\nabdiquer\nabeille\nabolir\naborder\naboutir\naboyer\nabrasif\nabreuver\nabriter\nabroger\nabrupt\nabsence\nabsolu\nabsurde\nabusif\nabyssal\nacadémie\nacajou\nacarien\naccabler\naccepter\nacclamer\naccolade\naccroche\naccuser\nacerbe\nachat\nacheter\naciduler\nacier\nacompte\nacquérir\nacronyme\nacteur\nactif\nactuel\nadepte\nadéquat\nadhésif\nadjectif\nadjuger\nadmettre\nadmirer\nadopter\nadorer\nadoucir\nadresse\nadroit\nadulte\nadverbe\naérer\naéronef\naffaire\naffecter\naffiche\naffreux\naffubler\nagacer\nagencer\nagile\nagiter\nagrafer\nagréable\nagrume\naider\naiguille\nailier\naimable\naisance\najouter\najuster\nalarmer\nalchimie\nalerte\nalgèbre\nalgue\naliéner\naliment\nalléger\nalliage\nallouer\nallumer\nalourdir\nalpaga\naltesse\nalvéole\namateur\nambigu\nambre\naménager\namertume\namidon\namiral\namorcer\namour\namovible\namphibie\nampleur\namusant\nanalyse\nanaphore\nanarchie\nanatomie\nancien\nanéantir\nangle\nangoisse\nanguleux\nanimal\nannexer\nannonce\nannuel\nanodin\nanomalie\nanonyme\nanormal\nantenne\nantidote\nanxieux\napaiser\napéritif\naplanir\napologie\nappareil\nappeler\napporter\nappuyer\naquarium\naqueduc\narbitre\narbuste\nardeur\nardoise\nargent\narlequin\narmature\narmement\narmoire\narmure\narpenter\narracher\narriver\narroser\narsenic\nartériel\narticle\naspect\nasphalte\naspirer\nassaut\nasservir\nassiette\nassocier\nassurer\nasticot\nastre\nastuce\natelier\natome\natrium\natroce\nattaque\nattentif\nattirer\nattraper\naubaine\nauberge\naudace\naudible\naugurer\naurore\nautomne\nautruche\navaler\navancer\navarice\navenir\naverse\naveugle\naviateur\navide\navion\naviser\navoine\navouer\navril\naxial\naxiome\nbadge\nbafouer\nbagage\nbaguette\nbaignade\nbalancer\nbalcon\nbaleine\nbalisage\nbambin\nbancaire\nbandage\nbanlieue\nbannière\nbanquier\nbarbier\nbaril\nbaron\nbarque\nbarrage\nbassin\nbastion\nbataille\nbateau\nbatterie\nbaudrier\nbavarder\nbelette\nbélier\nbelote\nbénéfice\nberceau\nberger\nberline\nbermuda\nbesace\nbesogne\nbétail\nbeurre\nbiberon\nbicycle\nbidule\nbijou\nbilan\nbilingue\nbillard\nbinaire\nbiologie\nbiopsie\nbiotype\nbiscuit\nbison\nbistouri\nbitume\nbizarre\nblafard\nblague\nblanchir\nblessant\nblinder\nblond\nbloquer\nblouson\nbobard\nbobine\nboire\nboiser\nbolide\nbonbon\nbondir\nbonheur\nbonifier\nbonus\nbordure\nborne\nbotte\nboucle\nboueux\nbougie\nboulon\nbouquin\nbourse\nboussole\nboutique\nboxeur\nbranche\nbrasier\nbrave\nbrebis\nbrèche\nbreuvage\nbricoler\nbrigade\nbrillant\nbrioche\nbrique\nbrochure\nbroder\nbronzer\nbrousse\nbroyeur\nbrume\nbrusque\nbrutal\nbruyant\nbuffle\nbuisson\nbulletin\nbureau\nburin\nbustier\nbutiner\nbutoir\nbuvable\nbuvette\ncabanon\ncabine\ncachette\ncadeau\ncadre\ncaféine\ncaillou\ncaisson\ncalculer\ncalepin\ncalibre\ncalmer\ncalomnie\ncalvaire\ncamarade\ncaméra\ncamion\ncampagne\ncanal\ncaneton\ncanon\ncantine\ncanular\ncapable\ncaporal\ncaprice\ncapsule\ncapter\ncapuche\ncarabine\ncarbone\ncaresser\ncaribou\ncarnage\ncarotte\ncarreau\ncarton\ncascade\ncasier\ncasque\ncassure\ncauser\ncaution\ncavalier\ncaverne\ncaviar\ncédille\nceinture\ncéleste\ncellule\ncendrier\ncensurer\ncentral\ncercle\ncérébral\ncerise\ncerner\ncerveau\ncesser\nchagrin\nchaise\nchaleur\nchambre\nchance\nchapitre\ncharbon\nchasseur\nchaton\nchausson\nchavirer\nchemise\nchenille\nchéquier\nchercher\ncheval\nchien\nchiffre\nchignon\nchimère\nchiot\nchlorure\nchocolat\nchoisir\nchose\nchouette\nchrome\nchute\ncigare\ncigogne\ncimenter\ncinéma\ncintrer\ncirculer\ncirer\ncirque\nciterne\ncitoyen\ncitron\ncivil\nclairon\nclameur\nclaquer\nclasse\nclavier\nclient\ncligner\nclimat\nclivage\ncloche\nclonage\ncloporte\ncobalt\ncobra\ncocasse\ncocotier\ncoder\ncodifier\ncoffre\ncogner\ncohésion\ncoiffer\ncoincer\ncolère\ncolibri\ncolline\ncolmater\ncolonel\ncombat\ncomédie\ncommande\ncompact\nconcert\nconduire\nconfier\ncongeler\nconnoter\nconsonne\ncontact\nconvexe\ncopain\ncopie\ncorail\ncorbeau\ncordage\ncorniche\ncorpus\ncorrect\ncortège\ncosmique\ncostume\ncoton\ncoude\ncoupure\ncourage\ncouteau\ncouvrir\ncoyote\ncrabe\ncrainte\ncravate\ncrayon\ncréature\ncréditer\ncrémeux\ncreuser\ncrevette\ncribler\ncrier\ncristal\ncritère\ncroire\ncroquer\ncrotale\ncrucial\ncruel\ncrypter\ncubique\ncueillir\ncuillère\ncuisine\ncuivre\nculminer\ncultiver\ncumuler\ncupide\ncuratif\ncurseur\ncyanure\ncycle\ncylindre\ncynique\ndaigner\ndamier\ndanger\ndanseur\ndauphin\ndébattre\ndébiter\ndéborder\ndébrider\ndébutant\ndécaler\ndécembre\ndéchirer\ndécider\ndéclarer\ndécorer\ndécrire\ndécupler\ndédale\ndéductif\ndéesse\ndéfensif\ndéfiler\ndéfrayer\ndégager\ndégivrer\ndéglutir\ndégrafer\ndéjeuner\ndélice\ndéloger\ndemander\ndemeurer\ndémolir\ndénicher\ndénouer\ndentelle\ndénuder\ndépart\ndépenser\ndéphaser\ndéplacer\ndéposer\ndéranger\ndérober\ndésastre\ndescente\ndésert\ndésigner\ndésobéir\ndessiner\ndestrier\ndétacher\ndétester\ndétourer\ndétresse\ndevancer\ndevenir\ndeviner\ndevoir\ndiable\ndialogue\ndiamant\ndicter\ndifférer\ndigérer\ndigital\ndigne\ndiluer\ndimanche\ndiminuer\ndioxyde\ndirectif\ndiriger\ndiscuter\ndisposer\ndissiper\ndistance\ndivertir\ndiviser\ndocile\ndocteur\ndogme\ndoigt\ndomaine\ndomicile\ndompter\ndonateur\ndonjon\ndonner\ndopamine\ndortoir\ndorure\ndosage\ndoseur\ndossier\ndotation\ndouanier\ndouble\ndouceur\ndouter\ndoyen\ndragon\ndraper\ndresser\ndribbler\ndroiture\nduperie\nduplexe\ndurable\ndurcir\ndynastie\néblouir\nécarter\nécharpe\néchelle\néclairer\néclipse\néclore\nécluse\nécole\néconomie\nécorce\nécouter\nécraser\nécrémer\nécrivain\nécrou\nécume\nécureuil\nédifier\néduquer\neffacer\neffectif\neffigie\neffort\neffrayer\neffusion\négaliser\négarer\néjecter\nélaborer\nélargir\nélectron\nélégant\néléphant\nélève\néligible\nélitisme\néloge\nélucider\néluder\nemballer\nembellir\nembryon\némeraude\némission\nemmener\némotion\némouvoir\nempereur\nemployer\nemporter\nemprise\némulsion\nencadrer\nenchère\nenclave\nencoche\nendiguer\nendosser\nendroit\nenduire\nénergie\nenfance\nenfermer\nenfouir\nengager\nengin\nenglober\nénigme\nenjamber\nenjeu\nenlever\nennemi\nennuyeux\nenrichir\nenrobage\nenseigne\nentasser\nentendre\nentier\nentourer\nentraver\nénumérer\nenvahir\nenviable\nenvoyer\nenzyme\néolien\népaissir\népargne\népatant\népaule\népicerie\népidémie\népier\népilogue\népine\népisode\népitaphe\népoque\népreuve\néprouver\népuisant\néquerre\néquipe\nériger\nérosion\nerreur\néruption\nescalier\nespadon\nespèce\nespiègle\nespoir\nesprit\nesquiver\nessayer\nessence\nessieu\nessorer\nestime\nestomac\nestrade\nétagère\nétaler\nétanche\nétatique\néteindre\nétendoir\néternel\néthanol\néthique\nethnie\nétirer\nétoffer\nétoile\nétonnant\nétourdir\nétrange\nétroit\nétude\neuphorie\névaluer\névasion\néventail\névidence\néviter\névolutif\névoquer\nexact\nexagérer\nexaucer\nexceller\nexcitant\nexclusif\nexcuse\nexécuter\nexemple\nexercer\nexhaler\nexhorter\nexigence\nexiler\nexister\nexotique\nexpédier\nexplorer\nexposer\nexprimer\nexquis\nextensif\nextraire\nexulter\nfable\nfabuleux\nfacette\nfacile\nfacture\nfaiblir\nfalaise\nfameux\nfamille\nfarceur\nfarfelu\nfarine\nfarouche\nfasciner\nfatal\nfatigue\nfaucon\nfautif\nfaveur\nfavori\nfébrile\nféconder\nfédérer\nfélin\nfemme\nfémur\nfendoir\nféodal\nfermer\nféroce\nferveur\nfestival\nfeuille\nfeutre\nfévrier\nfiasco\nficeler\nfictif\nfidèle\nfigure\nfilature\nfiletage\nfilière\nfilleul\nfilmer\nfilou\nfiltrer\nfinancer\nfinir\nfiole\nfirme\nfissure\nfixer\nflairer\nflamme\nflasque\nflatteur\nfléau\nflèche\nfleur\nflexion\nflocon\nflore\nfluctuer\nfluide\nfluvial\nfolie\nfonderie\nfongible\nfontaine\nforcer\nforgeron\nformuler\nfortune\nfossile\nfoudre\nfougère\nfouiller\nfoulure\nfourmi\nfragile\nfraise\nfranchir\nfrapper\nfrayeur\nfrégate\nfreiner\nfrelon\nfrémir\nfrénésie\nfrère\nfriable\nfriction\nfrisson\nfrivole\nfroid\nfromage\nfrontal\nfrotter\nfruit\nfugitif\nfuite\nfureur\nfurieux\nfurtif\nfusion\nfutur\ngagner\ngalaxie\ngalerie\ngambader\ngarantir\ngardien\ngarnir\ngarrigue\ngazelle\ngazon\ngéant\ngélatine\ngélule\ngendarme\ngénéral\ngénie\ngenou\ngentil\ngéologie\ngéomètre\ngéranium\ngerme\ngestuel\ngeyser\ngibier\ngicler\ngirafe\ngivre\nglace\nglaive\nglisser\nglobe\ngloire\nglorieux\ngolfeur\ngomme\ngonfler\ngorge\ngorille\ngoudron\ngouffre\ngoulot\ngoupille\ngourmand\ngoutte\ngraduel\ngraffiti\ngraine\ngrand\ngrappin\ngratuit\ngravir\ngrenat\ngriffure\ngriller\ngrimper\ngrogner\ngronder\ngrotte\ngroupe\ngruger\ngrutier\ngruyère\nguépard\nguerrier\nguide\nguimauve\nguitare\ngustatif\ngymnaste\ngyrostat\nhabitude\nhachoir\nhalte\nhameau\nhangar\nhanneton\nharicot\nharmonie\nharpon\nhasard\nhélium\nhématome\nherbe\nhérisson\nhermine\nhéron\nhésiter\nheureux\nhiberner\nhibou\nhilarant\nhistoire\nhiver\nhomard\nhommage\nhomogène\nhonneur\nhonorer\nhonteux\nhorde\nhorizon\nhorloge\nhormone\nhorrible\nhouleux\nhousse\nhublot\nhuileux\nhumain\nhumble\nhumide\nhumour\nhurler\nhydromel\nhygiène\nhymne\nhypnose\nidylle\nignorer\niguane\nillicite\nillusion\nimage\nimbiber\nimiter\nimmense\nimmobile\nimmuable\nimpact\nimpérial\nimplorer\nimposer\nimprimer\nimputer\nincarner\nincendie\nincident\nincliner\nincolore\nindexer\nindice\ninductif\ninédit\nineptie\ninexact\ninfini\ninfliger\ninformer\ninfusion\ningérer\ninhaler\ninhiber\ninjecter\ninjure\ninnocent\ninoculer\ninonder\ninscrire\ninsecte\ninsigne\ninsolite\ninspirer\ninstinct\ninsulter\nintact\nintense\nintime\nintrigue\nintuitif\ninutile\ninvasion\ninventer\ninviter\ninvoquer\nironique\nirradier\nirréel\nirriter\nisoler\nivoire\nivresse\njaguar\njaillir\njambe\njanvier\njardin\njauger\njaune\njavelot\njetable\njeton\njeudi\njeunesse\njoindre\njoncher\njongler\njoueur\njouissif\njournal\njovial\njoyau\njoyeux\njubiler\njugement\njunior\njupon\njuriste\njustice\njuteux\njuvénile\nkayak\nkimono\nkiosque\nlabel\nlabial\nlabourer\nlacérer\nlactose\nlagune\nlaine\nlaisser\nlaitier\nlambeau\nlamelle\nlampe\nlanceur\nlangage\nlanterne\nlapin\nlargeur\nlarme\nlaurier\nlavabo\nlavoir\nlecture\nlégal\nléger\nlégume\nlessive\nlettre\nlevier\nlexique\nlézard\nliasse\nlibérer\nlibre\nlicence\nlicorne\nliège\nlièvre\nligature\nligoter\nligue\nlimer\nlimite\nlimonade\nlimpide\nlinéaire\nlingot\nlionceau\nliquide\nlisière\nlister\nlithium\nlitige\nlittoral\nlivreur\nlogique\nlointain\nloisir\nlombric\nloterie\nlouer\nlourd\nloutre\nlouve\nloyal\nlubie\nlucide\nlucratif\nlueur\nlugubre\nluisant\nlumière\nlunaire\nlundi\nluron\nlutter\nluxueux\nmachine\nmagasin\nmagenta\nmagique\nmaigre\nmaillon\nmaintien\nmairie\nmaison\nmajorer\nmalaxer\nmaléfice\nmalheur\nmalice\nmallette\nmammouth\nmandater\nmaniable\nmanquant\nmanteau\nmanuel\nmarathon\nmarbre\nmarchand\nmardi\nmaritime\nmarqueur\nmarron\nmarteler\nmascotte\nmassif\nmatériel\nmatière\nmatraque\nmaudire\nmaussade\nmauve\nmaximal\nméchant\nméconnu\nmédaille\nmédecin\nméditer\nméduse\nmeilleur\nmélange\nmélodie\nmembre\nmémoire\nmenacer\nmener\nmenhir\nmensonge\nmentor\nmercredi\nmérite\nmerle\nmessager\nmesure\nmétal\nmétéore\nméthode\nmétier\nmeuble\nmiauler\nmicrobe\nmiette\nmignon\nmigrer\nmilieu\nmillion\nmimique\nmince\nminéral\nminimal\nminorer\nminute\nmiracle\nmiroiter\nmissile\nmixte\nmobile\nmoderne\nmoelleux\nmondial\nmoniteur\nmonnaie\nmonotone\nmonstre\nmontagne\nmonument\nmoqueur\nmorceau\nmorsure\nmortier\nmoteur\nmotif\nmouche\nmoufle\nmoulin\nmousson\nmouton\nmouvant\nmultiple\nmunition\nmuraille\nmurène\nmurmure\nmuscle\nmuséum\nmusicien\nmutation\nmuter\nmutuel\nmyriade\nmyrtille\nmystère\nmythique\nnageur\nnappe\nnarquois\nnarrer\nnatation\nnation\nnature\nnaufrage\nnautique\nnavire\nnébuleux\nnectar\nnéfaste\nnégation\nnégliger\nnégocier\nneige\nnerveux\nnettoyer\nneurone\nneutron\nneveu\nniche\nnickel\nnitrate\nniveau\nnoble\nnocif\nnocturne\nnoirceur\nnoisette\nnomade\nnombreux\nnommer\nnormatif\nnotable\nnotifier\nnotoire\nnourrir\nnouveau\nnovateur\nnovembre\nnovice\nnuage\nnuancer\nnuire\nnuisible\nnuméro\nnuptial\nnuque\nnutritif\nobéir\nobjectif\nobliger\nobscur\nobserver\nobstacle\nobtenir\nobturer\noccasion\noccuper\nocéan\noctobre\noctroyer\noctupler\noculaire\nodeur\nodorant\noffenser\nofficier\noffrir\nogive\noiseau\noisillon\nolfactif\nolivier\nombrage\nomettre\nonctueux\nonduler\nonéreux\nonirique\nopale\nopaque\nopérer\nopinion\nopportun\nopprimer\nopter\noptique\norageux\norange\norbite\nordonner\noreille\norgane\norgueil\norifice\nornement\norque\nortie\nosciller\nosmose\nossature\notarie\nouragan\nourson\noutil\noutrager\nouvrage\novation\noxyde\noxygène\nozone\npaisible\npalace\npalmarès\npalourde\npalper\npanache\npanda\npangolin\npaniquer\npanneau\npanorama\npantalon\npapaye\npapier\npapoter\npapyrus\nparadoxe\nparcelle\nparesse\nparfumer\nparler\nparole\nparrain\nparsemer\npartager\nparure\nparvenir\npassion\npastèque\npaternel\npatience\npatron\npavillon\npavoiser\npayer\npaysage\npeigne\npeintre\npelage\npélican\npelle\npelouse\npeluche\npendule\npénétrer\npénible\npensif\npénurie\npépite\npéplum\nperdrix\nperforer\npériode\npermuter\nperplexe\npersil\nperte\npeser\npétale\npetit\npétrir\npeuple\npharaon\nphobie\nphoque\nphoton\nphrase\nphysique\npiano\npictural\npièce\npierre\npieuvre\npilote\npinceau\npipette\npiquer\npirogue\npiscine\npiston\npivoter\npixel\npizza\nplacard\nplafond\nplaisir\nplaner\nplaque\nplastron\nplateau\npleurer\nplexus\npliage\nplomb\nplonger\npluie\nplumage\npochette\npoésie\npoète\npointe\npoirier\npoisson\npoivre\npolaire\npolicier\npollen\npolygone\npommade\npompier\nponctuel\npondérer\nponey\nportique\nposition\nposséder\nposture\npotager\npoteau\npotion\npouce\npoulain\npoumon\npourpre\npoussin\npouvoir\nprairie\npratique\nprécieux\nprédire\npréfixe\nprélude\nprénom\nprésence\nprétexte\nprévoir\nprimitif\nprince\nprison\npriver\nproblème\nprocéder\nprodige\nprofond\nprogrès\nproie\nprojeter\nprologue\npromener\npropre\nprospère\nprotéger\nprouesse\nproverbe\nprudence\npruneau\npsychose\npublic\npuceron\npuiser\npulpe\npulsar\npunaise\npunitif\npupitre\npurifier\npuzzle\npyramide\nquasar\nquerelle\nquestion\nquiétude\nquitter\nquotient\nracine\nraconter\nradieux\nragondin\nraideur\nraisin\nralentir\nrallonge\nramasser\nrapide\nrasage\nratisser\nravager\nravin\nrayonner\nréactif\nréagir\nréaliser\nréanimer\nrecevoir\nréciter\nréclamer\nrécolter\nrecruter\nreculer\nrecycler\nrédiger\nredouter\nrefaire\nréflexe\nréformer\nrefrain\nrefuge\nrégalien\nrégion\nréglage\nrégulier\nréitérer\nrejeter\nrejouer\nrelatif\nrelever\nrelief\nremarque\nremède\nremise\nremonter\nremplir\nremuer\nrenard\nrenfort\nrenifler\nrenoncer\nrentrer\nrenvoi\nreplier\nreporter\nreprise\nreptile\nrequin\nréserve\nrésineux\nrésoudre\nrespect\nrester\nrésultat\nrétablir\nretenir\nréticule\nretomber\nretracer\nréunion\nréussir\nrevanche\nrevivre\nrévolte\nrévulsif\nrichesse\nrideau\nrieur\nrigide\nrigoler\nrincer\nriposter\nrisible\nrisque\nrituel\nrival\nrivière\nrocheux\nromance\nrompre\nronce\nrondin\nroseau\nrosier\nrotatif\nrotor\nrotule\nrouge\nrouille\nrouleau\nroutine\nroyaume\nruban\nrubis\nruche\nruelle\nrugueux\nruiner\nruisseau\nruser\nrustique\nrythme\nsabler\nsaboter\nsabre\nsacoche\nsafari\nsagesse\nsaisir\nsalade\nsalive\nsalon\nsaluer\nsamedi\nsanction\nsanglier\nsarcasme\nsardine\nsaturer\nsaugrenu\nsaumon\nsauter\nsauvage\nsavant\nsavonner\nscalpel\nscandale\nscélérat\nscénario\nsceptre\nschéma\nscience\nscinder\nscore\nscrutin\nsculpter\nséance\nsécable\nsécher\nsecouer\nsécréter\nsédatif\nséduire\nseigneur\nséjour\nsélectif\nsemaine\nsembler\nsemence\nséminal\nsénateur\nsensible\nsentence\nséparer\nséquence\nserein\nsergent\nsérieux\nserrure\nsérum\nservice\nsésame\nsévir\nsevrage\nsextuple\nsidéral\nsiècle\nsiéger\nsiffler\nsigle\nsignal\nsilence\nsilicium\nsimple\nsincère\nsinistre\nsiphon\nsirop\nsismique\nsituer\nskier\nsocial\nsocle\nsodium\nsoigneux\nsoldat\nsoleil\nsolitude\nsoluble\nsombre\nsommeil\nsomnoler\nsonde\nsongeur\nsonnette\nsonore\nsorcier\nsortir\nsosie\nsottise\nsoucieux\nsoudure\nsouffle\nsoulever\nsoupape\nsource\nsoutirer\nsouvenir\nspacieux\nspatial\nspécial\nsphère\nspiral\nstable\nstation\nsternum\nstimulus\nstipuler\nstrict\nstudieux\nstupeur\nstyliste\nsublime\nsubstrat\nsubtil\nsubvenir\nsuccès\nsucre\nsuffixe\nsuggérer\nsuiveur\nsulfate\nsuperbe\nsupplier\nsurface\nsuricate\nsurmener\nsurprise\nsursaut\nsurvie\nsuspect\nsyllabe\nsymbole\nsymétrie\nsynapse\nsyntaxe\nsystème\ntabac\ntablier\ntactile\ntailler\ntalent\ntalisman\ntalonner\ntambour\ntamiser\ntangible\ntapis\ntaquiner\ntarder\ntarif\ntartine\ntasse\ntatami\ntatouage\ntaupe\ntaureau\ntaxer\ntémoin\ntemporel\ntenaille\ntendre\nteneur\ntenir\ntension\nterminer\nterne\nterrible\ntétine\ntexte\nthème\nthéorie\nthérapie\nthorax\ntibia\ntiède\ntimide\ntirelire\ntiroir\ntissu\ntitane\ntitre\ntituber\ntoboggan\ntolérant\ntomate\ntonique\ntonneau\ntoponyme\ntorche\ntordre\ntornade\ntorpille\ntorrent\ntorse\ntortue\ntotem\ntoucher\ntournage\ntousser\ntoxine\ntraction\ntrafic\ntragique\ntrahir\ntrain\ntrancher\ntravail\ntrèfle\ntremper\ntrésor\ntreuil\ntriage\ntribunal\ntricoter\ntrilogie\ntriomphe\ntripler\ntriturer\ntrivial\ntrombone\ntronc\ntropical\ntroupeau\ntuile\ntulipe\ntumulte\ntunnel\nturbine\ntuteur\ntutoyer\ntuyau\ntympan\ntyphon\ntypique\ntyran\nubuesque\nultime\nultrason\nunanime\nunifier\nunion\nunique\nunitaire\nunivers\nuranium\nurbain\nurticant\nusage\nusine\nusuel\nusure\nutile\nutopie\nvacarme\nvaccin\nvagabond\nvague\nvaillant\nvaincre\nvaisseau\nvalable\nvalise\nvallon\nvalve\nvampire\nvanille\nvapeur\nvarier\nvaseux\nvassal\nvaste\nvecteur\nvedette\nvégétal\nvéhicule\nveinard\nvéloce\nvendredi\nvénérer\nvenger\nvenimeux\nventouse\nverdure\nvérin\nvernir\nverrou\nverser\nvertu\nveston\nvétéran\nvétuste\nvexant\nvexer\nviaduc\nviande\nvictoire\nvidange\nvidéo\nvignette\nvigueur\nvilain\nvillage\nvinaigre\nviolon\nvipère\nvirement\nvirtuose\nvirus\nvisage\nviseur\nvision\nvisqueux\nvisuel\nvital\nvitesse\nviticole\nvitrine\nvivace\nvivipare\nvocation\nvoguer\nvoile\nvoisin\nvoiture\nvolaille\nvolcan\nvoltiger\nvolume\nvorace\nvortex\nvoter\nvouloir\nvoyage\nvoyelle\nwagon\nxénon\nyacht\nzèbre\nzénith\nzeste\nzoologie`.split('\\n');\n","export const wordlist = `abaco\nabbaglio\nabbinato\nabete\nabisso\nabolire\nabrasivo\nabrogato\naccadere\naccenno\naccusato\nacetone\nachille\nacido\nacqua\nacre\nacrilico\nacrobata\nacuto\nadagio\naddebito\naddome\nadeguato\naderire\nadipe\nadottare\nadulare\naffabile\naffetto\naffisso\naffranto\naforisma\nafoso\nafricano\nagave\nagente\nagevole\naggancio\nagire\nagitare\nagonismo\nagricolo\nagrumeto\naguzzo\nalabarda\nalato\nalbatro\nalberato\nalbo\nalbume\nalce\nalcolico\nalettone\nalfa\nalgebra\naliante\nalibi\nalimento\nallagato\nallegro\nallievo\nallodola\nallusivo\nalmeno\nalogeno\nalpaca\nalpestre\naltalena\nalterno\nalticcio\naltrove\nalunno\nalveolo\nalzare\namalgama\namanita\namarena\nambito\nambrato\nameba\namerica\nametista\namico\nammasso\nammenda\nammirare\nammonito\namore\nampio\nampliare\namuleto\nanacardo\nanagrafe\nanalista\nanarchia\nanatra\nanca\nancella\nancora\nandare\nandrea\nanello\nangelo\nangolare\nangusto\nanima\nannegare\nannidato\nanno\nannuncio\nanonimo\nanticipo\nanzi\napatico\napertura\napode\napparire\nappetito\nappoggio\napprodo\nappunto\naprile\narabica\narachide\naragosta\naraldica\narancio\naratura\narazzo\narbitro\narchivio\nardito\narenile\nargento\nargine\narguto\naria\narmonia\narnese\narredato\narringa\narrosto\narsenico\narso\nartefice\narzillo\nasciutto\nascolto\nasepsi\nasettico\nasfalto\nasino\nasola\naspirato\naspro\nassaggio\nasse\nassoluto\nassurdo\nasta\nastenuto\nastice\nastratto\natavico\nateismo\natomico\natono\nattesa\nattivare\nattorno\nattrito\nattuale\nausilio\naustria\nautista\nautonomo\nautunno\navanzato\navere\navvenire\navviso\navvolgere\nazione\nazoto\nazzimo\nazzurro\nbabele\nbaccano\nbacino\nbaco\nbadessa\nbadilata\nbagnato\nbaita\nbalcone\nbaldo\nbalena\nballata\nbalzano\nbambino\nbandire\nbaraonda\nbarbaro\nbarca\nbaritono\nbarlume\nbarocco\nbasilico\nbasso\nbatosta\nbattuto\nbaule\nbava\nbavosa\nbecco\nbeffa\nbelgio\nbelva\nbenda\nbenevole\nbenigno\nbenzina\nbere\nberlina\nbeta\nbibita\nbici\nbidone\nbifido\nbiga\nbilancia\nbimbo\nbinocolo\nbiologo\nbipede\nbipolare\nbirbante\nbirra\nbiscotto\nbisesto\nbisnonno\nbisonte\nbisturi\nbizzarro\nblando\nblatta\nbollito\nbonifico\nbordo\nbosco\nbotanico\nbottino\nbozzolo\nbraccio\nbradipo\nbrama\nbranca\nbravura\nbretella\nbrevetto\nbrezza\nbriglia\nbrillante\nbrindare\nbroccolo\nbrodo\nbronzina\nbrullo\nbruno\nbubbone\nbuca\nbudino\nbuffone\nbuio\nbulbo\nbuono\nburlone\nburrasca\nbussola\nbusta\ncadetto\ncaduco\ncalamaro\ncalcolo\ncalesse\ncalibro\ncalmo\ncaloria\ncambusa\ncamerata\ncamicia\ncammino\ncamola\ncampale\ncanapa\ncandela\ncane\ncanino\ncanotto\ncantina\ncapace\ncapello\ncapitolo\ncapogiro\ncappero\ncapra\ncapsula\ncarapace\ncarcassa\ncardo\ncarisma\ncarovana\ncarretto\ncartolina\ncasaccio\ncascata\ncaserma\ncaso\ncassone\ncastello\ncasuale\ncatasta\ncatena\ncatrame\ncauto\ncavillo\ncedibile\ncedrata\ncefalo\ncelebre\ncellulare\ncena\ncenone\ncentesimo\nceramica\ncercare\ncerto\ncerume\ncervello\ncesoia\ncespo\nceto\nchela\nchiaro\nchicca\nchiedere\nchimera\nchina\nchirurgo\nchitarra\nciao\nciclismo\ncifrare\ncigno\ncilindro\nciottolo\ncirca\ncirrosi\ncitrico\ncittadino\nciuffo\ncivetta\ncivile\nclassico\nclinica\ncloro\ncocco\ncodardo\ncodice\ncoerente\ncognome\ncollare\ncolmato\ncolore\ncolposo\ncoltivato\ncolza\ncoma\ncometa\ncommando\ncomodo\ncomputer\ncomune\nconciso\ncondurre\nconferma\ncongelare\nconiuge\nconnesso\nconoscere\nconsumo\ncontinuo\nconvegno\ncoperto\ncopione\ncoppia\ncopricapo\ncorazza\ncordata\ncoricato\ncornice\ncorolla\ncorpo\ncorredo\ncorsia\ncortese\ncosmico\ncostante\ncottura\ncovato\ncratere\ncravatta\ncreato\ncredere\ncremoso\ncrescita\ncreta\ncriceto\ncrinale\ncrisi\ncritico\ncroce\ncronaca\ncrostata\ncruciale\ncrusca\ncucire\ncuculo\ncugino\ncullato\ncupola\ncuratore\ncursore\ncurvo\ncuscino\ncustode\ndado\ndaino\ndalmata\ndamerino\ndaniela\ndannoso\ndanzare\ndatato\ndavanti\ndavvero\ndebutto\ndecennio\ndeciso\ndeclino\ndecollo\ndecreto\ndedicato\ndefinito\ndeforme\ndegno\ndelegare\ndelfino\ndelirio\ndelta\ndemenza\ndenotato\ndentro\ndeposito\nderapata\nderivare\nderoga\ndescritto\ndeserto\ndesiderio\ndesumere\ndetersivo\ndevoto\ndiametro\ndicembre\ndiedro\ndifeso\ndiffuso\ndigerire\ndigitale\ndiluvio\ndinamico\ndinnanzi\ndipinto\ndiploma\ndipolo\ndiradare\ndire\ndirotto\ndirupo\ndisagio\ndiscreto\ndisfare\ndisgelo\ndisposto\ndistanza\ndisumano\ndito\ndivano\ndivelto\ndividere\ndivorato\ndoblone\ndocente\ndoganale\ndogma\ndolce\ndomato\ndomenica\ndominare\ndondolo\ndono\ndormire\ndote\ndottore\ndovuto\ndozzina\ndrago\ndruido\ndubbio\ndubitare\nducale\nduna\nduomo\nduplice\nduraturo\nebano\neccesso\necco\neclissi\neconomia\nedera\nedicola\nedile\neditoria\neducare\negemonia\negli\negoismo\negregio\nelaborato\nelargire\nelegante\nelencato\neletto\nelevare\nelfico\nelica\nelmo\nelsa\neluso\nemanato\nemblema\nemesso\nemiro\nemotivo\nemozione\nempirico\nemulo\nendemico\nenduro\nenergia\nenfasi\nenoteca\nentrare\nenzima\nepatite\nepilogo\nepisodio\nepocale\neppure\nequatore\nerario\nerba\nerboso\nerede\neremita\nerigere\nermetico\neroe\nerosivo\nerrante\nesagono\nesame\nesanime\nesaudire\nesca\nesempio\nesercito\nesibito\nesigente\nesistere\nesito\nesofago\nesortato\nesoso\nespanso\nespresso\nessenza\nesso\nesteso\nestimare\nestonia\nestroso\nesultare\netilico\netnico\netrusco\netto\neuclideo\neuropa\nevaso\nevidenza\nevitato\nevoluto\nevviva\nfabbrica\nfaccenda\nfachiro\nfalco\nfamiglia\nfanale\nfanfara\nfango\nfantasma\nfare\nfarfalla\nfarinoso\nfarmaco\nfascia\nfastoso\nfasullo\nfaticare\nfato\nfavoloso\nfebbre\nfecola\nfede\nfegato\nfelpa\nfeltro\nfemmina\nfendere\nfenomeno\nfermento\nferro\nfertile\nfessura\nfestivo\nfetta\nfeudo\nfiaba\nfiducia\nfifa\nfigurato\nfilo\nfinanza\nfinestra\nfinire\nfiore\nfiscale\nfisico\nfiume\nflacone\nflamenco\nflebo\nflemma\nflorido\nfluente\nfluoro\nfobico\nfocaccia\nfocoso\nfoderato\nfoglio\nfolata\nfolclore\nfolgore\nfondente\nfonetico\nfonia\nfontana\nforbito\nforchetta\nforesta\nformica\nfornaio\nforo\nfortezza\nforzare\nfosfato\nfosso\nfracasso\nfrana\nfrassino\nfratello\nfreccetta\nfrenata\nfresco\nfrigo\nfrollino\nfronde\nfrugale\nfrutta\nfucilata\nfucsia\nfuggente\nfulmine\nfulvo\nfumante\nfumetto\nfumoso\nfune\nfunzione\nfuoco\nfurbo\nfurgone\nfurore\nfuso\nfutile\ngabbiano\ngaffe\ngalateo\ngallina\ngaloppo\ngambero\ngamma\ngaranzia\ngarbo\ngarofano\ngarzone\ngasdotto\ngasolio\ngastrico\ngatto\ngaudio\ngazebo\ngazzella\ngeco\ngelatina\ngelso\ngemello\ngemmato\ngene\ngenitore\ngennaio\ngenotipo\ngergo\nghepardo\nghiaccio\nghisa\ngiallo\ngilda\nginepro\ngiocare\ngioiello\ngiorno\ngiove\ngirato\ngirone\ngittata\ngiudizio\ngiurato\ngiusto\nglobulo\nglutine\ngnomo\ngobba\ngolf\ngomito\ngommone\ngonfio\ngonna\ngoverno\ngracile\ngrado\ngrafico\ngrammo\ngrande\ngrattare\ngravoso\ngrazia\ngreca\ngregge\ngrifone\ngrigio\ngrinza\ngrotta\ngruppo\nguadagno\nguaio\nguanto\nguardare\ngufo\nguidare\nibernato\nicona\nidentico\nidillio\nidolo\nidra\nidrico\nidrogeno\nigiene\nignaro\nignorato\nilare\nilleso\nillogico\nilludere\nimballo\nimbevuto\nimbocco\nimbuto\nimmane\nimmerso\nimmolato\nimpacco\nimpeto\nimpiego\nimporto\nimpronta\ninalare\ninarcare\ninattivo\nincanto\nincendio\ninchino\nincisivo\nincluso\nincontro\nincrocio\nincubo\nindagine\nindia\nindole\ninedito\ninfatti\ninfilare\ninflitto\ningaggio\ningegno\ninglese\ningordo\ningrosso\ninnesco\ninodore\ninoltrare\ninondato\ninsano\ninsetto\ninsieme\ninsonnia\ninsulina\nintasato\nintero\nintonaco\nintuito\ninumidire\ninvalido\ninvece\ninvito\niperbole\nipnotico\nipotesi\nippica\niride\nirlanda\nironico\nirrigato\nirrorare\nisolato\nisotopo\nisterico\nistituto\nistrice\nitalia\niterare\nlabbro\nlabirinto\nlacca\nlacerato\nlacrima\nlacuna\nladdove\nlago\nlampo\nlancetta\nlanterna\nlardoso\nlarga\nlaringe\nlastra\nlatenza\nlatino\nlattuga\nlavagna\nlavoro\nlegale\nleggero\nlembo\nlentezza\nlenza\nleone\nlepre\nlesivo\nlessato\nlesto\nletterale\nleva\nlevigato\nlibero\nlido\nlievito\nlilla\nlimatura\nlimitare\nlimpido\nlineare\nlingua\nliquido\nlira\nlirica\nlisca\nlite\nlitigio\nlivrea\nlocanda\nlode\nlogica\nlombare\nlondra\nlongevo\nloquace\nlorenzo\nloto\nlotteria\nluce\nlucidato\nlumaca\nluminoso\nlungo\nlupo\nluppolo\nlusinga\nlusso\nlutto\nmacabro\nmacchina\nmacero\nmacinato\nmadama\nmagico\nmaglia\nmagnete\nmagro\nmaiolica\nmalafede\nmalgrado\nmalinteso\nmalsano\nmalto\nmalumore\nmana\nmancia\nmandorla\nmangiare\nmanifesto\nmannaro\nmanovra\nmansarda\nmantide\nmanubrio\nmappa\nmaratona\nmarcire\nmaretta\nmarmo\nmarsupio\nmaschera\nmassaia\nmastino\nmaterasso\nmatricola\nmattone\nmaturo\nmazurca\nmeandro\nmeccanico\nmecenate\nmedesimo\nmeditare\nmega\nmelassa\nmelis\nmelodia\nmeninge\nmeno\nmensola\nmercurio\nmerenda\nmerlo\nmeschino\nmese\nmessere\nmestolo\nmetallo\nmetodo\nmettere\nmiagolare\nmica\nmicelio\nmichele\nmicrobo\nmidollo\nmiele\nmigliore\nmilano\nmilite\nmimosa\nminerale\nmini\nminore\nmirino\nmirtillo\nmiscela\nmissiva\nmisto\nmisurare\nmitezza\nmitigare\nmitra\nmittente\nmnemonico\nmodello\nmodifica\nmodulo\nmogano\nmogio\nmole\nmolosso\nmonastero\nmonco\nmondina\nmonetario\nmonile\nmonotono\nmonsone\nmontato\nmonviso\nmora\nmordere\nmorsicato\nmostro\nmotivato\nmotosega\nmotto\nmovenza\nmovimento\nmozzo\nmucca\nmucosa\nmuffa\nmughetto\nmugnaio\nmulatto\nmulinello\nmultiplo\nmummia\nmunto\nmuovere\nmurale\nmusa\nmuscolo\nmusica\nmutevole\nmuto\nnababbo\nnafta\nnanometro\nnarciso\nnarice\nnarrato\nnascere\nnastrare\nnaturale\nnautica\nnaviglio\nnebulosa\nnecrosi\nnegativo\nnegozio\nnemmeno\nneofita\nneretto\nnervo\nnessuno\nnettuno\nneutrale\nneve\nnevrotico\nnicchia\nninfa\nnitido\nnobile\nnocivo\nnodo\nnome\nnomina\nnordico\nnormale\nnorvegese\nnostrano\nnotare\nnotizia\nnotturno\nnovella\nnucleo\nnulla\nnumero\nnuovo\nnutrire\nnuvola\nnuziale\noasi\nobbedire\nobbligo\nobelisco\noblio\nobolo\nobsoleto\noccasione\nocchio\noccidente\noccorrere\noccultare\nocra\noculato\nodierno\nodorare\nofferta\noffrire\noffuscato\noggetto\noggi\nognuno\nolandese\nolfatto\noliato\noliva\nologramma\noltre\nomaggio\nombelico\nombra\nomega\nomissione\nondoso\nonere\nonice\nonnivoro\nonorevole\nonta\noperato\nopinione\nopposto\noracolo\norafo\nordine\norecchino\norefice\norfano\norganico\norigine\norizzonte\norma\normeggio\nornativo\norologio\norrendo\norribile\nortensia\nortica\norzata\norzo\nosare\noscurare\nosmosi\nospedale\nospite\nossa\nossidare\nostacolo\noste\notite\notre\nottagono\nottimo\nottobre\novale\novest\novino\noviparo\novocito\novunque\novviare\nozio\npacchetto\npace\npacifico\npadella\npadrone\npaese\npaga\npagina\npalazzina\npalesare\npallido\npalo\npalude\npandoro\npannello\npaolo\npaonazzo\npaprica\nparabola\nparcella\nparere\npargolo\npari\nparlato\nparola\npartire\nparvenza\nparziale\npassivo\npasticca\npatacca\npatologia\npattume\npavone\npeccato\npedalare\npedonale\npeggio\npeloso\npenare\npendice\npenisola\npennuto\npenombra\npensare\npentola\npepe\npepita\nperbene\npercorso\nperdonato\nperforare\npergamena\nperiodo\npermesso\nperno\nperplesso\npersuaso\npertugio\npervaso\npesatore\npesista\npeso\npestifero\npetalo\npettine\npetulante\npezzo\npiacere\npianta\npiattino\npiccino\npicozza\npiega\npietra\npiffero\npigiama\npigolio\npigro\npila\npilifero\npillola\npilota\npimpante\npineta\npinna\npinolo\npioggia\npiombo\npiramide\npiretico\npirite\npirolisi\npitone\npizzico\nplacebo\nplanare\nplasma\nplatano\nplenario\npochezza\npoderoso\npodismo\npoesia\npoggiare\npolenta\npoligono\npollice\npolmonite\npolpetta\npolso\npoltrona\npolvere\npomice\npomodoro\nponte\npopoloso\nporfido\nporoso\nporpora\nporre\nportata\nposa\npositivo\npossesso\npostulato\npotassio\npotere\npranzo\nprassi\npratica\nprecluso\npredica\nprefisso\npregiato\nprelievo\npremere\nprenotare\npreparato\npresenza\npretesto\nprevalso\nprima\nprincipe\nprivato\nproblema\nprocura\nprodurre\nprofumo\nprogetto\nprolunga\npromessa\npronome\nproposta\nproroga\nproteso\nprova\nprudente\nprugna\nprurito\npsiche\npubblico\npudica\npugilato\npugno\npulce\npulito\npulsante\npuntare\npupazzo\npupilla\npuro\nquadro\nqualcosa\nquasi\nquerela\nquota\nraccolto\nraddoppio\nradicale\nradunato\nraffica\nragazzo\nragione\nragno\nramarro\nramingo\nramo\nrandagio\nrantolare\nrapato\nrapina\nrappreso\nrasatura\nraschiato\nrasente\nrassegna\nrastrello\nrata\nravveduto\nreale\nrecepire\nrecinto\nrecluta\nrecondito\nrecupero\nreddito\nredimere\nregalato\nregistro\nregola\nregresso\nrelazione\nremare\nremoto\nrenna\nreplica\nreprimere\nreputare\nresa\nresidente\nresponso\nrestauro\nrete\nretina\nretorica\nrettifica\nrevocato\nriassunto\nribadire\nribelle\nribrezzo\nricarica\nricco\nricevere\nriciclato\nricordo\nricreduto\nridicolo\nridurre\nrifasare\nriflesso\nriforma\nrifugio\nrigare\nrigettato\nrighello\nrilassato\nrilevato\nrimanere\nrimbalzo\nrimedio\nrimorchio\nrinascita\nrincaro\nrinforzo\nrinnovo\nrinomato\nrinsavito\nrintocco\nrinuncia\nrinvenire\nriparato\nripetuto\nripieno\nriportare\nripresa\nripulire\nrisata\nrischio\nriserva\nrisibile\nriso\nrispetto\nristoro\nrisultato\nrisvolto\nritardo\nritegno\nritmico\nritrovo\nriunione\nriva\nriverso\nrivincita\nrivolto\nrizoma\nroba\nrobotico\nrobusto\nroccia\nroco\nrodaggio\nrodere\nroditore\nrogito\nrollio\nromantico\nrompere\nronzio\nrosolare\nrospo\nrotante\nrotondo\nrotula\nrovescio\nrubizzo\nrubrica\nruga\nrullino\nrumine\nrumoroso\nruolo\nrupe\nrussare\nrustico\nsabato\nsabbiare\nsabotato\nsagoma\nsalasso\nsaldatura\nsalgemma\nsalivare\nsalmone\nsalone\nsaltare\nsaluto\nsalvo\nsapere\nsapido\nsaporito\nsaraceno\nsarcasmo\nsarto\nsassoso\nsatellite\nsatira\nsatollo\nsaturno\nsavana\nsavio\nsaziato\nsbadiglio\nsbalzo\nsbancato\nsbarra\nsbattere\nsbavare\nsbendare\nsbirciare\nsbloccato\nsbocciato\nsbrinare\nsbruffone\nsbuffare\nscabroso\nscadenza\nscala\nscambiare\nscandalo\nscapola\nscarso\nscatenare\nscavato\nscelto\nscenico\nscettro\nscheda\nschiena\nsciarpa\nscienza\nscindere\nscippo\nsciroppo\nscivolo\nsclerare\nscodella\nscolpito\nscomparto\nsconforto\nscoprire\nscorta\nscossone\nscozzese\nscriba\nscrollare\nscrutinio\nscuderia\nscultore\nscuola\nscuro\nscusare\nsdebitare\nsdoganare\nseccatura\nsecondo\nsedano\nseggiola\nsegnalato\nsegregato\nseguito\nselciato\nselettivo\nsella\nselvaggio\nsemaforo\nsembrare\nseme\nseminato\nsempre\nsenso\nsentire\nsepolto\nsequenza\nserata\nserbato\nsereno\nserio\nserpente\nserraglio\nservire\nsestina\nsetola\nsettimana\nsfacelo\nsfaldare\nsfamato\nsfarzoso\nsfaticato\nsfera\nsfida\nsfilato\nsfinge\nsfocato\nsfoderare\nsfogo\nsfoltire\nsforzato\nsfratto\nsfruttato\nsfuggito\nsfumare\nsfuso\nsgabello\nsgarbato\nsgonfiare\nsgorbio\nsgrassato\nsguardo\nsibilo\nsiccome\nsierra\nsigla\nsignore\nsilenzio\nsillaba\nsimbolo\nsimpatico\nsimulato\nsinfonia\nsingolo\nsinistro\nsino\nsintesi\nsinusoide\nsipario\nsisma\nsistole\nsituato\nslitta\nslogatura\nsloveno\nsmarrito\nsmemorato\nsmentito\nsmeraldo\nsmilzo\nsmontare\nsmottato\nsmussato\nsnellire\nsnervato\nsnodo\nsobbalzo\nsobrio\nsoccorso\nsociale\nsodale\nsoffitto\nsogno\nsoldato\nsolenne\nsolido\nsollazzo\nsolo\nsolubile\nsolvente\nsomatico\nsomma\nsonda\nsonetto\nsonnifero\nsopire\nsoppeso\nsopra\nsorgere\nsorpasso\nsorriso\nsorso\nsorteggio\nsorvolato\nsospiro\nsosta\nsottile\nspada\nspalla\nspargere\nspatola\nspavento\nspazzola\nspecie\nspedire\nspegnere\nspelatura\nsperanza\nspessore\nspettrale\nspezzato\nspia\nspigoloso\nspillato\nspinoso\nspirale\nsplendido\nsportivo\nsposo\nspranga\nsprecare\nspronato\nspruzzo\nspuntino\nsquillo\nsradicare\nsrotolato\nstabile\nstacco\nstaffa\nstagnare\nstampato\nstantio\nstarnuto\nstasera\nstatuto\nstelo\nsteppa\nsterzo\nstiletto\nstima\nstirpe\nstivale\nstizzoso\nstonato\nstorico\nstrappo\nstregato\nstridulo\nstrozzare\nstrutto\nstuccare\nstufo\nstupendo\nsubentro\nsuccoso\nsudore\nsuggerito\nsugo\nsultano\nsuonare\nsuperbo\nsupporto\nsurgelato\nsurrogato\nsussurro\nsutura\nsvagare\nsvedese\nsveglio\nsvelare\nsvenuto\nsvezia\nsviluppo\nsvista\nsvizzera\nsvolta\nsvuotare\ntabacco\ntabulato\ntacciare\ntaciturno\ntale\ntalismano\ntampone\ntannino\ntara\ntardivo\ntargato\ntariffa\ntarpare\ntartaruga\ntasto\ntattico\ntaverna\ntavolata\ntazza\nteca\ntecnico\ntelefono\ntemerario\ntempo\ntemuto\ntendone\ntenero\ntensione\ntentacolo\nteorema\nterme\nterrazzo\nterzetto\ntesi\ntesserato\ntestato\ntetro\ntettoia\ntifare\ntigella\ntimbro\ntinto\ntipico\ntipografo\ntiraggio\ntiro\ntitanio\ntitolo\ntitubante\ntizio\ntizzone\ntoccare\ntollerare\ntolto\ntombola\ntomo\ntonfo\ntonsilla\ntopazio\ntopologia\ntoppa\ntorba\ntornare\ntorrone\ntortora\ntoscano\ntossire\ntostatura\ntotano\ntrabocco\ntrachea\ntrafila\ntragedia\ntralcio\ntramonto\ntransito\ntrapano\ntrarre\ntrasloco\ntrattato\ntrave\ntreccia\ntremolio\ntrespolo\ntributo\ntricheco\ntrifoglio\ntrillo\ntrincea\ntrio\ntristezza\ntriturato\ntrivella\ntromba\ntrono\ntroppo\ntrottola\ntrovare\ntruccato\ntubatura\ntuffato\ntulipano\ntumulto\ntunisia\nturbare\nturchino\ntuta\ntutela\nubicato\nuccello\nuccisore\nudire\nuditivo\nuffa\nufficio\nuguale\nulisse\nultimato\numano\numile\numorismo\nuncinetto\nungere\nungherese\nunicorno\nunificato\nunisono\nunitario\nunte\nuovo\nupupa\nuragano\nurgenza\nurlo\nusanza\nusato\nuscito\nusignolo\nusuraio\nutensile\nutilizzo\nutopia\nvacante\nvaccinato\nvagabondo\nvagliato\nvalanga\nvalgo\nvalico\nvalletta\nvaloroso\nvalutare\nvalvola\nvampata\nvangare\nvanitoso\nvano\nvantaggio\nvanvera\nvapore\nvarano\nvarcato\nvariante\nvasca\nvedetta\nvedova\nveduto\nvegetale\nveicolo\nvelcro\nvelina\nvelluto\nveloce\nvenato\nvendemmia\nvento\nverace\nverbale\nvergogna\nverifica\nvero\nverruca\nverticale\nvescica\nvessillo\nvestale\nveterano\nvetrina\nvetusto\nviandante\nvibrante\nvicenda\nvichingo\nvicinanza\nvidimare\nvigilia\nvigneto\nvigore\nvile\nvillano\nvimini\nvincitore\nviola\nvipera\nvirgola\nvirologo\nvirulento\nviscoso\nvisione\nvispo\nvissuto\nvisura\nvita\nvitello\nvittima\nvivanda\nvivido\nviziare\nvoce\nvoga\nvolatile\nvolere\nvolpe\nvoragine\nvulcano\nzampogna\nzanna\nzappato\nzattera\nzavorra\nzefiro\nzelante\nzelo\nzenzero\nzerbino\nzibetto\nzinco\nzircone\nzitto\nzolla\nzotico\nzucchero\nzufolo\nzulu\nzuppa`.split('\\n');\n","export const wordlist = `あいこくしん\nあいさつ\nあいだ\nあおぞら\nあかちゃん\nあきる\nあけがた\nあける\nあこがれる\nあさい\nあさひ\nあしあと\nあじわう\nあずかる\nあずき\nあそぶ\nあたえる\nあたためる\nあたりまえ\nあたる\nあつい\nあつかう\nあっしゅく\nあつまり\nあつめる\nあてな\nあてはまる\nあひる\nあぶら\nあぶる\nあふれる\nあまい\nあまど\nあまやかす\nあまり\nあみもの\nあめりか\nあやまる\nあゆむ\nあらいぐま\nあらし\nあらすじ\nあらためる\nあらゆる\nあらわす\nありがとう\nあわせる\nあわてる\nあんい\nあんがい\nあんこ\nあんぜん\nあんてい\nあんない\nあんまり\nいいだす\nいおん\nいがい\nいがく\nいきおい\nいきなり\nいきもの\nいきる\nいくじ\nいくぶん\nいけばな\nいけん\nいこう\nいこく\nいこつ\nいさましい\nいさん\nいしき\nいじゅう\nいじょう\nいじわる\nいずみ\nいずれ\nいせい\nいせえび\nいせかい\nいせき\nいぜん\nいそうろう\nいそがしい\nいだい\nいだく\nいたずら\nいたみ\nいたりあ\nいちおう\nいちじ\nいちど\nいちば\nいちぶ\nいちりゅう\nいつか\nいっしゅん\nいっせい\nいっそう\nいったん\nいっち\nいってい\nいっぽう\nいてざ\nいてん\nいどう\nいとこ\nいない\nいなか\nいねむり\nいのち\nいのる\nいはつ\nいばる\nいはん\nいびき\nいひん\nいふく\nいへん\nいほう\nいみん\nいもうと\nいもたれ\nいもり\nいやがる\nいやす\nいよかん\nいよく\nいらい\nいらすと\nいりぐち\nいりょう\nいれい\nいれもの\nいれる\nいろえんぴつ\nいわい\nいわう\nいわかん\nいわば\nいわゆる\nいんげんまめ\nいんさつ\nいんしょう\nいんよう\nうえき\nうえる\nうおざ\nうがい\nうかぶ\nうかべる\nうきわ\nうくらいな\nうくれれ\nうけたまわる\nうけつけ\nうけとる\nうけもつ\nうける\nうごかす\nうごく\nうこん\nうさぎ\nうしなう\nうしろがみ\nうすい\nうすぎ\nうすぐらい\nうすめる\nうせつ\nうちあわせ\nうちがわ\nうちき\nうちゅう\nうっかり\nうつくしい\nうったえる\nうつる\nうどん\nうなぎ\nうなじ\nうなずく\nうなる\nうねる\nうのう\nうぶげ\nうぶごえ\nうまれる\nうめる\nうもう\nうやまう\nうよく\nうらがえす\nうらぐち\nうらない\nうりあげ\nうりきれ\nうるさい\nうれしい\nうれゆき\nうれる\nうろこ\nうわき\nうわさ\nうんこう\nうんちん\nうんてん\nうんどう\nえいえん\nえいが\nえいきょう\nえいご\nえいせい\nえいぶん\nえいよう\nえいわ\nえおり\nえがお\nえがく\nえきたい\nえくせる\nえしゃく\nえすて\nえつらん\nえのぐ\nえほうまき\nえほん\nえまき\nえもじ\nえもの\nえらい\nえらぶ\nえりあ\nえんえん\nえんかい\nえんぎ\nえんげき\nえんしゅう\nえんぜつ\nえんそく\nえんちょう\nえんとつ\nおいかける\nおいこす\nおいしい\nおいつく\nおうえん\nおうさま\nおうじ\nおうせつ\nおうたい\nおうふく\nおうべい\nおうよう\nおえる\nおおい\nおおう\nおおどおり\nおおや\nおおよそ\nおかえり\nおかず\nおがむ\nおかわり\nおぎなう\nおきる\nおくさま\nおくじょう\nおくりがな\nおくる\nおくれる\nおこす\nおこなう\nおこる\nおさえる\nおさない\nおさめる\nおしいれ\nおしえる\nおじぎ\nおじさん\nおしゃれ\nおそらく\nおそわる\nおたがい\nおたく\nおだやか\nおちつく\nおっと\nおつり\nおでかけ\nおとしもの\nおとなしい\nおどり\nおどろかす\nおばさん\nおまいり\nおめでとう\nおもいで\nおもう\nおもたい\nおもちゃ\nおやつ\nおやゆび\nおよぼす\nおらんだ\nおろす\nおんがく\nおんけい\nおんしゃ\nおんせん\nおんだん\nおんちゅう\nおんどけい\nかあつ\nかいが\nがいき\nがいけん\nがいこう\nかいさつ\nかいしゃ\nかいすいよく\nかいぜん\nかいぞうど\nかいつう\nかいてん\nかいとう\nかいふく\nがいへき\nかいほう\nかいよう\nがいらい\nかいわ\nかえる\nかおり\nかかえる\nかがく\nかがし\nかがみ\nかくご\nかくとく\nかざる\nがぞう\nかたい\nかたち\nがちょう\nがっきゅう\nがっこう\nがっさん\nがっしょう\nかなざわし\nかのう\nがはく\nかぶか\nかほう\nかほご\nかまう\nかまぼこ\nかめれおん\nかゆい\nかようび\nからい\nかるい\nかろう\nかわく\nかわら\nがんか\nかんけい\nかんこう\nかんしゃ\nかんそう\nかんたん\nかんち\nがんばる\nきあい\nきあつ\nきいろ\nぎいん\nきうい\nきうん\nきえる\nきおう\nきおく\nきおち\nきおん\nきかい\nきかく\nきかんしゃ\nききて\nきくばり\nきくらげ\nきけんせい\nきこう\nきこえる\nきこく\nきさい\nきさく\nきさま\nきさらぎ\nぎじかがく\nぎしき\nぎじたいけん\nぎじにってい\nぎじゅつしゃ\nきすう\nきせい\nきせき\nきせつ\nきそう\nきぞく\nきぞん\nきたえる\nきちょう\nきつえん\nぎっちり\nきつつき\nきつね\nきてい\nきどう\nきどく\nきない\nきなが\nきなこ\nきぬごし\nきねん\nきのう\nきのした\nきはく\nきびしい\nきひん\nきふく\nきぶん\nきぼう\nきほん\nきまる\nきみつ\nきむずかしい\nきめる\nきもだめし\nきもち\nきもの\nきゃく\nきやく\nぎゅうにく\nきよう\nきょうりゅう\nきらい\nきらく\nきりん\nきれい\nきれつ\nきろく\nぎろん\nきわめる\nぎんいろ\nきんかくじ\nきんじょ\nきんようび\nぐあい\nくいず\nくうかん\nくうき\nくうぐん\nくうこう\nぐうせい\nくうそう\nぐうたら\nくうふく\nくうぼ\nくかん\nくきょう\nくげん\nぐこう\nくさい\nくさき\nくさばな\nくさる\nくしゃみ\nくしょう\nくすのき\nくすりゆび\nくせげ\nくせん\nぐたいてき\nくださる\nくたびれる\nくちこみ\nくちさき\nくつした\nぐっすり\nくつろぐ\nくとうてん\nくどく\nくなん\nくねくね\nくのう\nくふう\nくみあわせ\nくみたてる\nくめる\nくやくしょ\nくらす\nくらべる\nくるま\nくれる\nくろう\nくわしい\nぐんかん\nぐんしょく\nぐんたい\nぐんて\nけあな\nけいかく\nけいけん\nけいこ\nけいさつ\nげいじゅつ\nけいたい\nげいのうじん\nけいれき\nけいろ\nけおとす\nけおりもの\nげきか\nげきげん\nげきだん\nげきちん\nげきとつ\nげきは\nげきやく\nげこう\nげこくじょう\nげざい\nけさき\nげざん\nけしき\nけしごむ\nけしょう\nげすと\nけたば\nけちゃっぷ\nけちらす\nけつあつ\nけつい\nけつえき\nけっこん\nけつじょ\nけっせき\nけってい\nけつまつ\nげつようび\nげつれい\nけつろん\nげどく\nけとばす\nけとる\nけなげ\nけなす\nけなみ\nけぬき\nげねつ\nけねん\nけはい\nげひん\nけぶかい\nげぼく\nけまり\nけみかる\nけむし\nけむり\nけもの\nけらい\nけろけろ\nけわしい\nけんい\nけんえつ\nけんお\nけんか\nげんき\nけんげん\nけんこう\nけんさく\nけんしゅう\nけんすう\nげんそう\nけんちく\nけんてい\nけんとう\nけんない\nけんにん\nげんぶつ\nけんま\nけんみん\nけんめい\nけんらん\nけんり\nこあくま\nこいぬ\nこいびと\nごうい\nこうえん\nこうおん\nこうかん\nごうきゅう\nごうけい\nこうこう\nこうさい\nこうじ\nこうすい\nごうせい\nこうそく\nこうたい\nこうちゃ\nこうつう\nこうてい\nこうどう\nこうない\nこうはい\nごうほう\nごうまん\nこうもく\nこうりつ\nこえる\nこおり\nごかい\nごがつ\nごかん\nこくご\nこくさい\nこくとう\nこくない\nこくはく\nこぐま\nこけい\nこける\nここのか\nこころ\nこさめ\nこしつ\nこすう\nこせい\nこせき\nこぜん\nこそだて\nこたい\nこたえる\nこたつ\nこちょう\nこっか\nこつこつ\nこつばん\nこつぶ\nこてい\nこてん\nことがら\nことし\nことば\nことり\nこなごな\nこねこね\nこのまま\nこのみ\nこのよ\nごはん\nこひつじ\nこふう\nこふん\nこぼれる\nごまあぶら\nこまかい\nごますり\nこまつな\nこまる\nこむぎこ\nこもじ\nこもち\nこもの\nこもん\nこやく\nこやま\nこゆう\nこゆび\nこよい\nこよう\nこりる\nこれくしょん\nころっけ\nこわもて\nこわれる\nこんいん\nこんかい\nこんき\nこんしゅう\nこんすい\nこんだて\nこんとん\nこんなん\nこんびに\nこんぽん\nこんまけ\nこんや\nこんれい\nこんわく\nざいえき\nさいかい\nさいきん\nざいげん\nざいこ\nさいしょ\nさいせい\nざいたく\nざいちゅう\nさいてき\nざいりょう\nさうな\nさかいし\nさがす\nさかな\nさかみち\nさがる\nさぎょう\nさくし\nさくひん\nさくら\nさこく\nさこつ\nさずかる\nざせき\nさたん\nさつえい\nざつおん\nざっか\nざつがく\nさっきょく\nざっし\nさつじん\nざっそう\nさつたば\nさつまいも\nさてい\nさといも\nさとう\nさとおや\nさとし\nさとる\nさのう\nさばく\nさびしい\nさべつ\nさほう\nさほど\nさます\nさみしい\nさみだれ\nさむけ\nさめる\nさやえんどう\nさゆう\nさよう\nさよく\nさらだ\nざるそば\nさわやか\nさわる\nさんいん\nさんか\nさんきゃく\nさんこう\nさんさい\nざんしょ\nさんすう\nさんせい\nさんそ\nさんち\nさんま\nさんみ\nさんらん\nしあい\nしあげ\nしあさって\nしあわせ\nしいく\nしいん\nしうち\nしえい\nしおけ\nしかい\nしかく\nじかん\nしごと\nしすう\nじだい\nしたうけ\nしたぎ\nしたて\nしたみ\nしちょう\nしちりん\nしっかり\nしつじ\nしつもん\nしてい\nしてき\nしてつ\nじてん\nじどう\nしなぎれ\nしなもの\nしなん\nしねま\nしねん\nしのぐ\nしのぶ\nしはい\nしばかり\nしはつ\nしはらい\nしはん\nしひょう\nしふく\nじぶん\nしへい\nしほう\nしほん\nしまう\nしまる\nしみん\nしむける\nじむしょ\nしめい\nしめる\nしもん\nしゃいん\nしゃうん\nしゃおん\nじゃがいも\nしやくしょ\nしゃくほう\nしゃけん\nしゃこ\nしゃざい\nしゃしん\nしゃせん\nしゃそう\nしゃたい\nしゃちょう\nしゃっきん\nじゃま\nしゃりん\nしゃれい\nじゆう\nじゅうしょ\nしゅくはく\nじゅしん\nしゅっせき\nしゅみ\nしゅらば\nじゅんばん\nしょうかい\nしょくたく\nしょっけん\nしょどう\nしょもつ\nしらせる\nしらべる\nしんか\nしんこう\nじんじゃ\nしんせいじ\nしんちく\nしんりん\nすあげ\nすあし\nすあな\nずあん\nすいえい\nすいか\nすいとう\nずいぶん\nすいようび\nすうがく\nすうじつ\nすうせん\nすおどり\nすきま\nすくう\nすくない\nすける\nすごい\nすこし\nずさん\nすずしい\nすすむ\nすすめる\nすっかり\nずっしり\nずっと\nすてき\nすてる\nすねる\nすのこ\nすはだ\nすばらしい\nずひょう\nずぶぬれ\nすぶり\nすふれ\nすべて\nすべる\nずほう\nすぼん\nすまい\nすめし\nすもう\nすやき\nすらすら\nするめ\nすれちがう\nすろっと\nすわる\nすんぜん\nすんぽう\nせあぶら\nせいかつ\nせいげん\nせいじ\nせいよう\nせおう\nせかいかん\nせきにん\nせきむ\nせきゆ\nせきらんうん\nせけん\nせこう\nせすじ\nせたい\nせたけ\nせっかく\nせっきゃく\nぜっく\nせっけん\nせっこつ\nせっさたくま\nせつぞく\nせつだん\nせつでん\nせっぱん\nせつび\nせつぶん\nせつめい\nせつりつ\nせなか\nせのび\nせはば\nせびろ\nせぼね\nせまい\nせまる\nせめる\nせもたれ\nせりふ\nぜんあく\nせんい\nせんえい\nせんか\nせんきょ\nせんく\nせんげん\nぜんご\nせんさい\nせんしゅ\nせんすい\nせんせい\nせんぞ\nせんたく\nせんちょう\nせんてい\nせんとう\nせんぬき\nせんねん\nせんぱい\nぜんぶ\nぜんぽう\nせんむ\nせんめんじょ\nせんもん\nせんやく\nせんゆう\nせんよう\nぜんら\nぜんりゃく\nせんれい\nせんろ\nそあく\nそいとげる\nそいね\nそうがんきょう\nそうき\nそうご\nそうしん\nそうだん\nそうなん\nそうび\nそうめん\nそうり\nそえもの\nそえん\nそがい\nそげき\nそこう\nそこそこ\nそざい\nそしな\nそせい\nそせん\nそそぐ\nそだてる\nそつう\nそつえん\nそっかん\nそつぎょう\nそっけつ\nそっこう\nそっせん\nそっと\nそとがわ\nそとづら\nそなえる\nそなた\nそふぼ\nそぼく\nそぼろ\nそまつ\nそまる\nそむく\nそむりえ\nそめる\nそもそも\nそよかぜ\nそらまめ\nそろう\nそんかい\nそんけい\nそんざい\nそんしつ\nそんぞく\nそんちょう\nぞんび\nぞんぶん\nそんみん\nたあい\nたいいん\nたいうん\nたいえき\nたいおう\nだいがく\nたいき\nたいぐう\nたいけん\nたいこ\nたいざい\nだいじょうぶ\nだいすき\nたいせつ\nたいそう\nだいたい\nたいちょう\nたいてい\nだいどころ\nたいない\nたいねつ\nたいのう\nたいはん\nだいひょう\nたいふう\nたいへん\nたいほ\nたいまつばな\nたいみんぐ\nたいむ\nたいめん\nたいやき\nたいよう\nたいら\nたいりょく\nたいる\nたいわん\nたうえ\nたえる\nたおす\nたおる\nたおれる\nたかい\nたかね\nたきび\nたくさん\nたこく\nたこやき\nたさい\nたしざん\nだじゃれ\nたすける\nたずさわる\nたそがれ\nたたかう\nたたく\nただしい\nたたみ\nたちばな\nだっかい\nだっきゃく\nだっこ\nだっしゅつ\nだったい\nたてる\nたとえる\nたなばた\nたにん\nたぬき\nたのしみ\nたはつ\nたぶん\nたべる\nたぼう\nたまご\nたまる\nだむる\nためいき\nためす\nためる\nたもつ\nたやすい\nたよる\nたらす\nたりきほんがん\nたりょう\nたりる\nたると\nたれる\nたれんと\nたろっと\nたわむれる\nだんあつ\nたんい\nたんおん\nたんか\nたんき\nたんけん\nたんご\nたんさん\nたんじょうび\nだんせい\nたんそく\nたんたい\nだんち\nたんてい\nたんとう\nだんな\nたんにん\nだんねつ\nたんのう\nたんぴん\nだんぼう\nたんまつ\nたんめい\nだんれつ\nだんろ\nだんわ\nちあい\nちあん\nちいき\nちいさい\nちえん\nちかい\nちから\nちきゅう\nちきん\nちけいず\nちけん\nちこく\nちさい\nちしき\nちしりょう\nちせい\nちそう\nちたい\nちたん\nちちおや\nちつじょ\nちてき\nちてん\nちぬき\nちぬり\nちのう\nちひょう\nちへいせん\nちほう\nちまた\nちみつ\nちみどろ\nちめいど\nちゃんこなべ\nちゅうい\nちゆりょく\nちょうし\nちょさくけん\nちらし\nちらみ\nちりがみ\nちりょう\nちるど\nちわわ\nちんたい\nちんもく\nついか\nついたち\nつうか\nつうじょう\nつうはん\nつうわ\nつかう\nつかれる\nつくね\nつくる\nつけね\nつける\nつごう\nつたえる\nつづく\nつつじ\nつつむ\nつとめる\nつながる\nつなみ\nつねづね\nつのる\nつぶす\nつまらない\nつまる\nつみき\nつめたい\nつもり\nつもる\nつよい\nつるぼ\nつるみく\nつわもの\nつわり\nてあし\nてあて\nてあみ\nていおん\nていか\nていき\nていけい\nていこく\nていさつ\nていし\nていせい\nていたい\nていど\nていねい\nていひょう\nていへん\nていぼう\nてうち\nておくれ\nてきとう\nてくび\nでこぼこ\nてさぎょう\nてさげ\nてすり\nてそう\nてちがい\nてちょう\nてつがく\nてつづき\nでっぱ\nてつぼう\nてつや\nでぬかえ\nてぬき\nてぬぐい\nてのひら\nてはい\nてぶくろ\nてふだ\nてほどき\nてほん\nてまえ\nてまきずし\nてみじか\nてみやげ\nてらす\nてれび\nてわけ\nてわたし\nでんあつ\nてんいん\nてんかい\nてんき\nてんぐ\nてんけん\nてんごく\nてんさい\nてんし\nてんすう\nでんち\nてんてき\nてんとう\nてんない\nてんぷら\nてんぼうだい\nてんめつ\nてんらんかい\nでんりょく\nでんわ\nどあい\nといれ\nどうかん\nとうきゅう\nどうぐ\nとうし\nとうむぎ\nとおい\nとおか\nとおく\nとおす\nとおる\nとかい\nとかす\nときおり\nときどき\nとくい\nとくしゅう\nとくてん\nとくに\nとくべつ\nとけい\nとける\nとこや\nとさか\nとしょかん\nとそう\nとたん\nとちゅう\nとっきゅう\nとっくん\nとつぜん\nとつにゅう\nとどける\nととのえる\nとない\nとなえる\nとなり\nとのさま\nとばす\nどぶがわ\nとほう\nとまる\nとめる\nともだち\nともる\nどようび\nとらえる\nとんかつ\nどんぶり\nないかく\nないこう\nないしょ\nないす\nないせん\nないそう\nなおす\nながい\nなくす\nなげる\nなこうど\nなさけ\nなたでここ\nなっとう\nなつやすみ\nななおし\nなにごと\nなにもの\nなにわ\nなのか\nなふだ\nなまいき\nなまえ\nなまみ\nなみだ\nなめらか\nなめる\nなやむ\nならう\nならび\nならぶ\nなれる\nなわとび\nなわばり\nにあう\nにいがた\nにうけ\nにおい\nにかい\nにがて\nにきび\nにくしみ\nにくまん\nにげる\nにさんかたんそ\nにしき\nにせもの\nにちじょう\nにちようび\nにっか\nにっき\nにっけい\nにっこう\nにっさん\nにっしょく\nにっすう\nにっせき\nにってい\nになう\nにほん\nにまめ\nにもつ\nにやり\nにゅういん\nにりんしゃ\nにわとり\nにんい\nにんか\nにんき\nにんげん\nにんしき\nにんずう\nにんそう\nにんたい\nにんち\nにんてい\nにんにく\nにんぷ\nにんまり\nにんむ\nにんめい\nにんよう\nぬいくぎ\nぬかす\nぬぐいとる\nぬぐう\nぬくもり\nぬすむ\nぬまえび\nぬめり\nぬらす\nぬんちゃく\nねあげ\nねいき\nねいる\nねいろ\nねぐせ\nねくたい\nねくら\nねこぜ\nねこむ\nねさげ\nねすごす\nねそべる\nねだん\nねつい\nねっしん\nねつぞう\nねったいぎょ\nねぶそく\nねふだ\nねぼう\nねほりはほり\nねまき\nねまわし\nねみみ\nねむい\nねむたい\nねもと\nねらう\nねわざ\nねんいり\nねんおし\nねんかん\nねんきん\nねんぐ\nねんざ\nねんし\nねんちゃく\nねんど\nねんぴ\nねんぶつ\nねんまつ\nねんりょう\nねんれい\nのいず\nのおづま\nのがす\nのきなみ\nのこぎり\nのこす\nのこる\nのせる\nのぞく\nのぞむ\nのたまう\nのちほど\nのっく\nのばす\nのはら\nのべる\nのぼる\nのみもの\nのやま\nのらいぬ\nのらねこ\nのりもの\nのりゆき\nのれん\nのんき\nばあい\nはあく\nばあさん\nばいか\nばいく\nはいけん\nはいご\nはいしん\nはいすい\nはいせん\nはいそう\nはいち\nばいばい\nはいれつ\nはえる\nはおる\nはかい\nばかり\nはかる\nはくしゅ\nはけん\nはこぶ\nはさみ\nはさん\nはしご\nばしょ\nはしる\nはせる\nぱそこん\nはそん\nはたん\nはちみつ\nはつおん\nはっかく\nはづき\nはっきり\nはっくつ\nはっけん\nはっこう\nはっさん\nはっしん\nはったつ\nはっちゅう\nはってん\nはっぴょう\nはっぽう\nはなす\nはなび\nはにかむ\nはぶらし\nはみがき\nはむかう\nはめつ\nはやい\nはやし\nはらう\nはろうぃん\nはわい\nはんい\nはんえい\nはんおん\nはんかく\nはんきょう\nばんぐみ\nはんこ\nはんしゃ\nはんすう\nはんだん\nぱんち\nぱんつ\nはんてい\nはんとし\nはんのう\nはんぱ\nはんぶん\nはんぺん\nはんぼうき\nはんめい\nはんらん\nはんろん\nひいき\nひうん\nひえる\nひかく\nひかり\nひかる\nひかん\nひくい\nひけつ\nひこうき\nひこく\nひさい\nひさしぶり\nひさん\nびじゅつかん\nひしょ\nひそか\nひそむ\nひたむき\nひだり\nひたる\nひつぎ\nひっこし\nひっし\nひつじゅひん\nひっす\nひつぜん\nぴったり\nぴっちり\nひつよう\nひてい\nひとごみ\nひなまつり\nひなん\nひねる\nひはん\nひびく\nひひょう\nひほう\nひまわり\nひまん\nひみつ\nひめい\nひめじし\nひやけ\nひやす\nひよう\nびょうき\nひらがな\nひらく\nひりつ\nひりょう\nひるま\nひるやすみ\nひれい\nひろい\nひろう\nひろき\nひろゆき\nひんかく\nひんけつ\nひんこん\nひんしゅ\nひんそう\nぴんち\nひんぱん\nびんぼう\nふあん\nふいうち\nふうけい\nふうせん\nぷうたろう\nふうとう\nふうふ\nふえる\nふおん\nふかい\nふきん\nふくざつ\nふくぶくろ\nふこう\nふさい\nふしぎ\nふじみ\nふすま\nふせい\nふせぐ\nふそく\nぶたにく\nふたん\nふちょう\nふつう\nふつか\nふっかつ\nふっき\nふっこく\nぶどう\nふとる\nふとん\nふのう\nふはい\nふひょう\nふへん\nふまん\nふみん\nふめつ\nふめん\nふよう\nふりこ\nふりる\nふるい\nふんいき\nぶんがく\nぶんぐ\nふんしつ\nぶんせき\nふんそう\nぶんぽう\nへいあん\nへいおん\nへいがい\nへいき\nへいげん\nへいこう\nへいさ\nへいしゃ\nへいせつ\nへいそ\nへいたく\nへいてん\nへいねつ\nへいわ\nへきが\nへこむ\nべにいろ\nべにしょうが\nへらす\nへんかん\nべんきょう\nべんごし\nへんさい\nへんたい\nべんり\nほあん\nほいく\nぼうぎょ\nほうこく\nほうそう\nほうほう\nほうもん\nほうりつ\nほえる\nほおん\nほかん\nほきょう\nぼきん\nほくろ\nほけつ\nほけん\nほこう\nほこる\nほしい\nほしつ\nほしゅ\nほしょう\nほせい\nほそい\nほそく\nほたて\nほたる\nぽちぶくろ\nほっきょく\nほっさ\nほったん\nほとんど\nほめる\nほんい\nほんき\nほんけ\nほんしつ\nほんやく\nまいにち\nまかい\nまかせる\nまがる\nまける\nまこと\nまさつ\nまじめ\nますく\nまぜる\nまつり\nまとめ\nまなぶ\nまぬけ\nまねく\nまほう\nまもる\nまゆげ\nまよう\nまろやか\nまわす\nまわり\nまわる\nまんが\nまんきつ\nまんぞく\nまんなか\nみいら\nみうち\nみえる\nみがく\nみかた\nみかん\nみけん\nみこん\nみじかい\nみすい\nみすえる\nみせる\nみっか\nみつかる\nみつける\nみてい\nみとめる\nみなと\nみなみかさい\nみねらる\nみのう\nみのがす\nみほん\nみもと\nみやげ\nみらい\nみりょく\nみわく\nみんか\nみんぞく\nむいか\nむえき\nむえん\nむかい\nむかう\nむかえ\nむかし\nむぎちゃ\nむける\nむげん\nむさぼる\nむしあつい\nむしば\nむじゅん\nむしろ\nむすう\nむすこ\nむすぶ\nむすめ\nむせる\nむせん\nむちゅう\nむなしい\nむのう\nむやみ\nむよう\nむらさき\nむりょう\nむろん\nめいあん\nめいうん\nめいえん\nめいかく\nめいきょく\nめいさい\nめいし\nめいそう\nめいぶつ\nめいれい\nめいわく\nめぐまれる\nめざす\nめした\nめずらしい\nめだつ\nめまい\nめやす\nめんきょ\nめんせき\nめんどう\nもうしあげる\nもうどうけん\nもえる\nもくし\nもくてき\nもくようび\nもちろん\nもどる\nもらう\nもんく\nもんだい\nやおや\nやける\nやさい\nやさしい\nやすい\nやすたろう\nやすみ\nやせる\nやそう\nやたい\nやちん\nやっと\nやっぱり\nやぶる\nやめる\nややこしい\nやよい\nやわらかい\nゆうき\nゆうびんきょく\nゆうべ\nゆうめい\nゆけつ\nゆしゅつ\nゆせん\nゆそう\nゆたか\nゆちゃく\nゆでる\nゆにゅう\nゆびわ\nゆらい\nゆれる\nようい\nようか\nようきゅう\nようじ\nようす\nようちえん\nよかぜ\nよかん\nよきん\nよくせい\nよくぼう\nよけい\nよごれる\nよさん\nよしゅう\nよそう\nよそく\nよっか\nよてい\nよどがわく\nよねつ\nよやく\nよゆう\nよろこぶ\nよろしい\nらいう\nらくがき\nらくご\nらくさつ\nらくだ\nらしんばん\nらせん\nらぞく\nらたい\nらっか\nられつ\nりえき\nりかい\nりきさく\nりきせつ\nりくぐん\nりくつ\nりけん\nりこう\nりせい\nりそう\nりそく\nりてん\nりねん\nりゆう\nりゅうがく\nりよう\nりょうり\nりょかん\nりょくちゃ\nりょこう\nりりく\nりれき\nりろん\nりんご\nるいけい\nるいさい\nるいじ\nるいせき\nるすばん\nるりがわら\nれいかん\nれいぎ\nれいせい\nれいぞうこ\nれいとう\nれいぼう\nれきし\nれきだい\nれんあい\nれんけい\nれんこん\nれんさい\nれんしゅう\nれんぞく\nれんらく\nろうか\nろうご\nろうじん\nろうそく\nろくが\nろこつ\nろじうら\nろしゅつ\nろせん\nろてん\nろめん\nろれつ\nろんぎ\nろんぱ\nろんぶん\nろんり\nわかす\nわかめ\nわかやま\nわかれる\nわしつ\nわじまし\nわすれもの\nわらう\nわれる`.split('\\n');\n","export const wordlist = `가격\n가끔\n가난\n가능\n가득\n가르침\n가뭄\n가방\n가상\n가슴\n가운데\n가을\n가이드\n가입\n가장\n가정\n가족\n가죽\n각오\n각자\n간격\n간부\n간섭\n간장\n간접\n간판\n갈등\n갈비\n갈색\n갈증\n감각\n감기\n감소\n감수성\n감자\n감정\n갑자기\n강남\n강당\n강도\n강력히\n강변\n강북\n강사\n강수량\n강아지\n강원도\n강의\n강제\n강조\n같이\n개구리\n개나리\n개방\n개별\n개선\n개성\n개인\n객관적\n거실\n거액\n거울\n거짓\n거품\n걱정\n건강\n건물\n건설\n건조\n건축\n걸음\n검사\n검토\n게시판\n게임\n겨울\n견해\n결과\n결국\n결론\n결석\n결승\n결심\n결정\n결혼\n경계\n경고\n경기\n경력\n경복궁\n경비\n경상도\n경영\n경우\n경쟁\n경제\n경주\n경찰\n경치\n경향\n경험\n계곡\n계단\n계란\n계산\n계속\n계약\n계절\n계층\n계획\n고객\n고구려\n고궁\n고급\n고등학생\n고무신\n고민\n고양이\n고장\n고전\n고집\n고춧가루\n고통\n고향\n곡식\n골목\n골짜기\n골프\n공간\n공개\n공격\n공군\n공급\n공기\n공동\n공무원\n공부\n공사\n공식\n공업\n공연\n공원\n공장\n공짜\n공책\n공통\n공포\n공항\n공휴일\n과목\n과일\n과장\n과정\n과학\n관객\n관계\n관광\n관념\n관람\n관련\n관리\n관습\n관심\n관점\n관찰\n광경\n광고\n광장\n광주\n괴로움\n굉장히\n교과서\n교문\n교복\n교실\n교양\n교육\n교장\n교직\n교통\n교환\n교훈\n구경\n구름\n구멍\n구별\n구분\n구석\n구성\n구속\n구역\n구입\n구청\n구체적\n국가\n국기\n국내\n국립\n국물\n국민\n국수\n국어\n국왕\n국적\n국제\n국회\n군대\n군사\n군인\n궁극적\n권리\n권위\n권투\n귀국\n귀신\n규정\n규칙\n균형\n그날\n그냥\n그늘\n그러나\n그룹\n그릇\n그림\n그제서야\n그토록\n극복\n극히\n근거\n근교\n근래\n근로\n근무\n근본\n근원\n근육\n근처\n글씨\n글자\n금강산\n금고\n금년\n금메달\n금액\n금연\n금요일\n금지\n긍정적\n기간\n기관\n기념\n기능\n기독교\n기둥\n기록\n기름\n기법\n기본\n기분\n기쁨\n기숙사\n기술\n기억\n기업\n기온\n기운\n기원\n기적\n기준\n기침\n기혼\n기획\n긴급\n긴장\n길이\n김밥\n김치\n김포공항\n깍두기\n깜빡\n깨달음\n깨소금\n껍질\n꼭대기\n꽃잎\n나들이\n나란히\n나머지\n나물\n나침반\n나흘\n낙엽\n난방\n날개\n날씨\n날짜\n남녀\n남대문\n남매\n남산\n남자\n남편\n남학생\n낭비\n낱말\n내년\n내용\n내일\n냄비\n냄새\n냇물\n냉동\n냉면\n냉방\n냉장고\n넥타이\n넷째\n노동\n노란색\n노력\n노인\n녹음\n녹차\n녹화\n논리\n논문\n논쟁\n놀이\n농구\n농담\n농민\n농부\n농업\n농장\n농촌\n높이\n눈동자\n눈물\n눈썹\n뉴욕\n느낌\n늑대\n능동적\n능력\n다방\n다양성\n다음\n다이어트\n다행\n단계\n단골\n단독\n단맛\n단순\n단어\n단위\n단점\n단체\n단추\n단편\n단풍\n달걀\n달러\n달력\n달리\n닭고기\n담당\n담배\n담요\n담임\n답변\n답장\n당근\n당분간\n당연히\n당장\n대규모\n대낮\n대단히\n대답\n대도시\n대략\n대량\n대륙\n대문\n대부분\n대신\n대응\n대장\n대전\n대접\n대중\n대책\n대출\n대충\n대통령\n대학\n대한민국\n대합실\n대형\n덩어리\n데이트\n도대체\n도덕\n도둑\n도망\n도서관\n도심\n도움\n도입\n도자기\n도저히\n도전\n도중\n도착\n독감\n독립\n독서\n독일\n독창적\n동화책\n뒷모습\n뒷산\n딸아이\n마누라\n마늘\n마당\n마라톤\n마련\n마무리\n마사지\n마약\n마요네즈\n마을\n마음\n마이크\n마중\n마지막\n마찬가지\n마찰\n마흔\n막걸리\n막내\n막상\n만남\n만두\n만세\n만약\n만일\n만점\n만족\n만화\n많이\n말기\n말씀\n말투\n맘대로\n망원경\n매년\n매달\n매력\n매번\n매스컴\n매일\n매장\n맥주\n먹이\n먼저\n먼지\n멀리\n메일\n며느리\n며칠\n면담\n멸치\n명단\n명령\n명예\n명의\n명절\n명칭\n명함\n모금\n모니터\n모델\n모든\n모범\n모습\n모양\n모임\n모조리\n모집\n모퉁이\n목걸이\n목록\n목사\n목소리\n목숨\n목적\n목표\n몰래\n몸매\n몸무게\n몸살\n몸속\n몸짓\n몸통\n몹시\n무관심\n무궁화\n무더위\n무덤\n무릎\n무슨\n무엇\n무역\n무용\n무조건\n무지개\n무척\n문구\n문득\n문법\n문서\n문제\n문학\n문화\n물가\n물건\n물결\n물고기\n물론\n물리학\n물음\n물질\n물체\n미국\n미디어\n미사일\n미술\n미역\n미용실\n미움\n미인\n미팅\n미혼\n민간\n민족\n민주\n믿음\n밀가루\n밀리미터\n밑바닥\n바가지\n바구니\n바나나\n바늘\n바닥\n바닷가\n바람\n바이러스\n바탕\n박물관\n박사\n박수\n반대\n반드시\n반말\n반발\n반성\n반응\n반장\n반죽\n반지\n반찬\n받침\n발가락\n발걸음\n발견\n발달\n발레\n발목\n발바닥\n발생\n발음\n발자국\n발전\n발톱\n발표\n밤하늘\n밥그릇\n밥맛\n밥상\n밥솥\n방금\n방면\n방문\n방바닥\n방법\n방송\n방식\n방안\n방울\n방지\n방학\n방해\n방향\n배경\n배꼽\n배달\n배드민턴\n백두산\n백색\n백성\n백인\n백제\n백화점\n버릇\n버섯\n버튼\n번개\n번역\n번지\n번호\n벌금\n벌레\n벌써\n범위\n범인\n범죄\n법률\n법원\n법적\n법칙\n베이징\n벨트\n변경\n변동\n변명\n변신\n변호사\n변화\n별도\n별명\n별일\n병실\n병아리\n병원\n보관\n보너스\n보라색\n보람\n보름\n보상\n보안\n보자기\n보장\n보전\n보존\n보통\n보편적\n보험\n복도\n복사\n복숭아\n복습\n볶음\n본격적\n본래\n본부\n본사\n본성\n본인\n본질\n볼펜\n봉사\n봉지\n봉투\n부근\n부끄러움\n부담\n부동산\n부문\n부분\n부산\n부상\n부엌\n부인\n부작용\n부장\n부정\n부족\n부지런히\n부친\n부탁\n부품\n부회장\n북부\n북한\n분노\n분량\n분리\n분명\n분석\n분야\n분위기\n분필\n분홍색\n불고기\n불과\n불교\n불꽃\n불만\n불법\n불빛\n불안\n불이익\n불행\n브랜드\n비극\n비난\n비닐\n비둘기\n비디오\n비로소\n비만\n비명\n비밀\n비바람\n비빔밥\n비상\n비용\n비율\n비중\n비타민\n비판\n빌딩\n빗물\n빗방울\n빗줄기\n빛깔\n빨간색\n빨래\n빨리\n사건\n사계절\n사나이\n사냥\n사람\n사랑\n사립\n사모님\n사물\n사방\n사상\n사생활\n사설\n사슴\n사실\n사업\n사용\n사월\n사장\n사전\n사진\n사촌\n사춘기\n사탕\n사투리\n사흘\n산길\n산부인과\n산업\n산책\n살림\n살인\n살짝\n삼계탕\n삼국\n삼십\n삼월\n삼촌\n상관\n상금\n상대\n상류\n상반기\n상상\n상식\n상업\n상인\n상자\n상점\n상처\n상추\n상태\n상표\n상품\n상황\n새벽\n색깔\n색연필\n생각\n생명\n생물\n생방송\n생산\n생선\n생신\n생일\n생활\n서랍\n서른\n서명\n서민\n서비스\n서양\n서울\n서적\n서점\n서쪽\n서클\n석사\n석유\n선거\n선물\n선배\n선생\n선수\n선원\n선장\n선전\n선택\n선풍기\n설거지\n설날\n설렁탕\n설명\n설문\n설사\n설악산\n설치\n설탕\n섭씨\n성공\n성당\n성명\n성별\n성인\n성장\n성적\n성질\n성함\n세금\n세미나\n세상\n세월\n세종대왕\n세탁\n센터\n센티미터\n셋째\n소규모\n소극적\n소금\n소나기\n소년\n소득\n소망\n소문\n소설\n소속\n소아과\n소용\n소원\n소음\n소중히\n소지품\n소질\n소풍\n소형\n속담\n속도\n속옷\n손가락\n손길\n손녀\n손님\n손등\n손목\n손뼉\n손실\n손질\n손톱\n손해\n솔직히\n솜씨\n송아지\n송이\n송편\n쇠고기\n쇼핑\n수건\n수년\n수단\n수돗물\n수동적\n수면\n수명\n수박\n수상\n수석\n수술\n수시로\n수업\n수염\n수영\n수입\n수준\n수집\n수출\n수컷\n수필\n수학\n수험생\n수화기\n숙녀\n숙소\n숙제\n순간\n순서\n순수\n순식간\n순위\n숟가락\n술병\n술집\n숫자\n스님\n스물\n스스로\n스승\n스웨터\n스위치\n스케이트\n스튜디오\n스트레스\n스포츠\n슬쩍\n슬픔\n습관\n습기\n승객\n승리\n승부\n승용차\n승진\n시각\n시간\n시골\n시금치\n시나리오\n시댁\n시리즈\n시멘트\n시민\n시부모\n시선\n시설\n시스템\n시아버지\n시어머니\n시월\n시인\n시일\n시작\n시장\n시절\n시점\n시중\n시즌\n시집\n시청\n시합\n시험\n식구\n식기\n식당\n식량\n식료품\n식물\n식빵\n식사\n식생활\n식초\n식탁\n식품\n신고\n신규\n신념\n신문\n신발\n신비\n신사\n신세\n신용\n신제품\n신청\n신체\n신화\n실감\n실내\n실력\n실례\n실망\n실수\n실습\n실시\n실장\n실정\n실질적\n실천\n실체\n실컷\n실태\n실패\n실험\n실현\n심리\n심부름\n심사\n심장\n심정\n심판\n쌍둥이\n씨름\n씨앗\n아가씨\n아나운서\n아드님\n아들\n아쉬움\n아스팔트\n아시아\n아울러\n아저씨\n아줌마\n아직\n아침\n아파트\n아프리카\n아픔\n아홉\n아흔\n악기\n악몽\n악수\n안개\n안경\n안과\n안내\n안녕\n안동\n안방\n안부\n안주\n알루미늄\n알코올\n암시\n암컷\n압력\n앞날\n앞문\n애인\n애정\n액수\n앨범\n야간\n야단\n야옹\n약간\n약국\n약속\n약수\n약점\n약품\n약혼녀\n양념\n양력\n양말\n양배추\n양주\n양파\n어둠\n어려움\n어른\n어젯밤\n어쨌든\n어쩌다가\n어쩐지\n언니\n언덕\n언론\n언어\n얼굴\n얼른\n얼음\n얼핏\n엄마\n업무\n업종\n업체\n엉덩이\n엉망\n엉터리\n엊그제\n에너지\n에어컨\n엔진\n여건\n여고생\n여관\n여군\n여권\n여대생\n여덟\n여동생\n여든\n여론\n여름\n여섯\n여성\n여왕\n여인\n여전히\n여직원\n여학생\n여행\n역사\n역시\n역할\n연결\n연구\n연극\n연기\n연락\n연설\n연세\n연속\n연습\n연애\n연예인\n연인\n연장\n연주\n연출\n연필\n연합\n연휴\n열기\n열매\n열쇠\n열심히\n열정\n열차\n열흘\n염려\n엽서\n영국\n영남\n영상\n영양\n영역\n영웅\n영원히\n영하\n영향\n영혼\n영화\n옆구리\n옆방\n옆집\n예감\n예금\n예방\n예산\n예상\n예선\n예술\n예습\n예식장\n예약\n예전\n예절\n예정\n예컨대\n옛날\n오늘\n오락\n오랫동안\n오렌지\n오로지\n오른발\n오븐\n오십\n오염\n오월\n오전\n오직\n오징어\n오페라\n오피스텔\n오히려\n옥상\n옥수수\n온갖\n온라인\n온몸\n온종일\n온통\n올가을\n올림픽\n올해\n옷차림\n와이셔츠\n와인\n완성\n완전\n왕비\n왕자\n왜냐하면\n왠지\n외갓집\n외국\n외로움\n외삼촌\n외출\n외침\n외할머니\n왼발\n왼손\n왼쪽\n요금\n요일\n요즘\n요청\n용기\n용서\n용어\n우산\n우선\n우승\n우연히\n우정\n우체국\n우편\n운동\n운명\n운반\n운전\n운행\n울산\n울음\n움직임\n웃어른\n웃음\n워낙\n원고\n원래\n원서\n원숭이\n원인\n원장\n원피스\n월급\n월드컵\n월세\n월요일\n웨이터\n위반\n위법\n위성\n위원\n위험\n위협\n윗사람\n유난히\n유럽\n유명\n유물\n유산\n유적\n유치원\n유학\n유행\n유형\n육군\n육상\n육십\n육체\n은행\n음력\n음료\n음반\n음성\n음식\n음악\n음주\n의견\n의논\n의문\n의복\n의식\n의심\n의외로\n의욕\n의원\n의학\n이것\n이곳\n이념\n이놈\n이달\n이대로\n이동\n이렇게\n이력서\n이론적\n이름\n이민\n이발소\n이별\n이불\n이빨\n이상\n이성\n이슬\n이야기\n이용\n이웃\n이월\n이윽고\n이익\n이전\n이중\n이튿날\n이틀\n이혼\n인간\n인격\n인공\n인구\n인근\n인기\n인도\n인류\n인물\n인생\n인쇄\n인연\n인원\n인재\n인종\n인천\n인체\n인터넷\n인하\n인형\n일곱\n일기\n일단\n일대\n일등\n일반\n일본\n일부\n일상\n일생\n일손\n일요일\n일월\n일정\n일종\n일주일\n일찍\n일체\n일치\n일행\n일회용\n임금\n임무\n입대\n입력\n입맛\n입사\n입술\n입시\n입원\n입장\n입학\n자가용\n자격\n자극\n자동\n자랑\n자부심\n자식\n자신\n자연\n자원\n자율\n자전거\n자정\n자존심\n자판\n작가\n작년\n작성\n작업\n작용\n작은딸\n작품\n잔디\n잔뜩\n잔치\n잘못\n잠깐\n잠수함\n잠시\n잠옷\n잠자리\n잡지\n장관\n장군\n장기간\n장래\n장례\n장르\n장마\n장면\n장모\n장미\n장비\n장사\n장소\n장식\n장애인\n장인\n장점\n장차\n장학금\n재능\n재빨리\n재산\n재생\n재작년\n재정\n재채기\n재판\n재학\n재활용\n저것\n저고리\n저곳\n저녁\n저런\n저렇게\n저번\n저울\n저절로\n저축\n적극\n적당히\n적성\n적용\n적응\n전개\n전공\n전기\n전달\n전라도\n전망\n전문\n전반\n전부\n전세\n전시\n전용\n전자\n전쟁\n전주\n전철\n전체\n전통\n전혀\n전후\n절대\n절망\n절반\n절약\n절차\n점검\n점수\n점심\n점원\n점점\n점차\n접근\n접시\n접촉\n젓가락\n정거장\n정도\n정류장\n정리\n정말\n정면\n정문\n정반대\n정보\n정부\n정비\n정상\n정성\n정오\n정원\n정장\n정지\n정치\n정확히\n제공\n제과점\n제대로\n제목\n제발\n제법\n제삿날\n제안\n제일\n제작\n제주도\n제출\n제품\n제한\n조각\n조건\n조금\n조깅\n조명\n조미료\n조상\n조선\n조용히\n조절\n조정\n조직\n존댓말\n존재\n졸업\n졸음\n종교\n종로\n종류\n종소리\n종업원\n종종\n종합\n좌석\n죄인\n주관적\n주름\n주말\n주머니\n주먹\n주문\n주민\n주방\n주변\n주식\n주인\n주일\n주장\n주전자\n주택\n준비\n줄거리\n줄기\n줄무늬\n중간\n중계방송\n중국\n중년\n중단\n중독\n중반\n중부\n중세\n중소기업\n중순\n중앙\n중요\n중학교\n즉석\n즉시\n즐거움\n증가\n증거\n증권\n증상\n증세\n지각\n지갑\n지경\n지극히\n지금\n지급\n지능\n지름길\n지리산\n지방\n지붕\n지식\n지역\n지우개\n지원\n지적\n지점\n지진\n지출\n직선\n직업\n직원\n직장\n진급\n진동\n진로\n진료\n진리\n진짜\n진찰\n진출\n진통\n진행\n질문\n질병\n질서\n짐작\n집단\n집안\n집중\n짜증\n찌꺼기\n차남\n차라리\n차량\n차림\n차별\n차선\n차츰\n착각\n찬물\n찬성\n참가\n참기름\n참새\n참석\n참여\n참외\n참조\n찻잔\n창가\n창고\n창구\n창문\n창밖\n창작\n창조\n채널\n채점\n책가방\n책방\n책상\n책임\n챔피언\n처벌\n처음\n천국\n천둥\n천장\n천재\n천천히\n철도\n철저히\n철학\n첫날\n첫째\n청년\n청바지\n청소\n청춘\n체계\n체력\n체온\n체육\n체중\n체험\n초등학생\n초반\n초밥\n초상화\n초순\n초여름\n초원\n초저녁\n초점\n초청\n초콜릿\n촛불\n총각\n총리\n총장\n촬영\n최근\n최상\n최선\n최신\n최악\n최종\n추석\n추억\n추진\n추천\n추측\n축구\n축소\n축제\n축하\n출근\n출발\n출산\n출신\n출연\n출입\n출장\n출판\n충격\n충고\n충돌\n충분히\n충청도\n취업\n취직\n취향\n치약\n친구\n친척\n칠십\n칠월\n칠판\n침대\n침묵\n침실\n칫솔\n칭찬\n카메라\n카운터\n칼국수\n캐릭터\n캠퍼스\n캠페인\n커튼\n컨디션\n컬러\n컴퓨터\n코끼리\n코미디\n콘서트\n콜라\n콤플렉스\n콩나물\n쾌감\n쿠데타\n크림\n큰길\n큰딸\n큰소리\n큰아들\n큰어머니\n큰일\n큰절\n클래식\n클럽\n킬로\n타입\n타자기\n탁구\n탁자\n탄생\n태권도\n태양\n태풍\n택시\n탤런트\n터널\n터미널\n테니스\n테스트\n테이블\n텔레비전\n토론\n토마토\n토요일\n통계\n통과\n통로\n통신\n통역\n통일\n통장\n통제\n통증\n통합\n통화\n퇴근\n퇴원\n퇴직금\n튀김\n트럭\n특급\n특별\n특성\n특수\n특징\n특히\n튼튼히\n티셔츠\n파란색\n파일\n파출소\n판결\n판단\n판매\n판사\n팔십\n팔월\n팝송\n패션\n팩스\n팩시밀리\n팬티\n퍼센트\n페인트\n편견\n편의\n편지\n편히\n평가\n평균\n평생\n평소\n평양\n평일\n평화\n포스터\n포인트\n포장\n포함\n표면\n표정\n표준\n표현\n품목\n품질\n풍경\n풍속\n풍습\n프랑스\n프린터\n플라스틱\n피곤\n피망\n피아노\n필름\n필수\n필요\n필자\n필통\n핑계\n하느님\n하늘\n하드웨어\n하룻밤\n하반기\n하숙집\n하순\n하여튼\n하지만\n하천\n하품\n하필\n학과\n학교\n학급\n학기\n학년\n학력\n학번\n학부모\n학비\n학생\n학술\n학습\n학용품\n학원\n학위\n학자\n학점\n한계\n한글\n한꺼번에\n한낮\n한눈\n한동안\n한때\n한라산\n한마디\n한문\n한번\n한복\n한식\n한여름\n한쪽\n할머니\n할아버지\n할인\n함께\n함부로\n합격\n합리적\n항공\n항구\n항상\n항의\n해결\n해군\n해답\n해당\n해물\n해석\n해설\n해수욕장\n해안\n핵심\n핸드백\n햄버거\n햇볕\n햇살\n행동\n행복\n행사\n행운\n행위\n향기\n향상\n향수\n허락\n허용\n헬기\n현관\n현금\n현대\n현상\n현실\n현장\n현재\n현지\n혈액\n협력\n형부\n형사\n형수\n형식\n형제\n형태\n형편\n혜택\n호기심\n호남\n호랑이\n호박\n호텔\n호흡\n혹시\n홀로\n홈페이지\n홍보\n홍수\n홍차\n화면\n화분\n화살\n화요일\n화장\n화학\n확보\n확인\n확장\n확정\n환갑\n환경\n환영\n환율\n환자\n활기\n활동\n활발히\n활용\n활짝\n회견\n회관\n회복\n회색\n회원\n회장\n회전\n횟수\n횡단보도\n효율적\n후반\n후춧가루\n훈련\n훨씬\n휴식\n휴일\n흉내\n흐름\n흑백\n흑인\n흔적\n흔히\n흥미\n흥분\n희곡\n희망\n희생\n흰색\n힘껏`.split('\\n');\n","export const wordlist = `abacate\nabaixo\nabalar\nabater\nabduzir\nabelha\naberto\nabismo\nabotoar\nabranger\nabreviar\nabrigar\nabrupto\nabsinto\nabsoluto\nabsurdo\nabutre\nacabado\nacalmar\nacampar\nacanhar\nacaso\naceitar\nacelerar\nacenar\nacervo\nacessar\nacetona\nachatar\nacidez\nacima\nacionado\nacirrar\naclamar\naclive\nacolhida\nacomodar\nacoplar\nacordar\nacumular\nacusador\nadaptar\nadega\nadentro\nadepto\nadequar\naderente\nadesivo\nadeus\nadiante\naditivo\nadjetivo\nadjunto\nadmirar\nadorar\nadquirir\nadubo\nadverso\nadvogado\naeronave\nafastar\naferir\nafetivo\nafinador\nafivelar\naflito\nafluente\nafrontar\nagachar\nagarrar\nagasalho\nagenciar\nagilizar\nagiota\nagitado\nagora\nagradar\nagreste\nagrupar\naguardar\nagulha\najoelhar\najudar\najustar\nalameda\nalarme\nalastrar\nalavanca\nalbergue\nalbino\nalcatra\naldeia\nalecrim\nalegria\nalertar\nalface\nalfinete\nalgum\nalheio\naliar\nalicate\nalienar\nalinhar\naliviar\nalmofada\nalocar\nalpiste\nalterar\naltitude\nalucinar\nalugar\naluno\nalusivo\nalvo\namaciar\namador\namarelo\namassar\nambas\nambiente\nameixa\namenizar\namido\namistoso\namizade\namolador\namontoar\namoroso\namostra\namparar\nampliar\nampola\nanagrama\nanalisar\nanarquia\nanatomia\nandaime\nanel\nanexo\nangular\nanimar\nanjo\nanomalia\nanotado\nansioso\nanterior\nanuidade\nanunciar\nanzol\napagador\napalpar\napanhado\napego\napelido\napertada\napesar\napetite\napito\naplauso\naplicada\napoio\napontar\naposta\naprendiz\naprovar\naquecer\narame\naranha\narara\narcada\nardente\nareia\narejar\narenito\naresta\nargiloso\nargola\narma\narquivo\narraial\narrebate\narriscar\narroba\narrumar\narsenal\narterial\nartigo\narvoredo\nasfaltar\nasilado\naspirar\nassador\nassinar\nassoalho\nassunto\nastral\natacado\natadura\natalho\natarefar\natear\natender\naterro\nateu\natingir\natirador\nativo\natoleiro\natracar\natrevido\natriz\natual\natum\nauditor\naumentar\naura\naurora\nautismo\nautoria\nautuar\navaliar\navante\navaria\navental\navesso\naviador\navisar\navulso\naxila\nazarar\nazedo\nazeite\nazulejo\nbabar\nbabosa\nbacalhau\nbacharel\nbacia\nbagagem\nbaiano\nbailar\nbaioneta\nbairro\nbaixista\nbajular\nbaleia\nbaliza\nbalsa\nbanal\nbandeira\nbanho\nbanir\nbanquete\nbarato\nbarbado\nbaronesa\nbarraca\nbarulho\nbaseado\nbastante\nbatata\nbatedor\nbatida\nbatom\nbatucar\nbaunilha\nbeber\nbeijo\nbeirada\nbeisebol\nbeldade\nbeleza\nbelga\nbeliscar\nbendito\nbengala\nbenzer\nberimbau\nberlinda\nberro\nbesouro\nbexiga\nbezerro\nbico\nbicudo\nbienal\nbifocal\nbifurcar\nbigorna\nbilhete\nbimestre\nbimotor\nbiologia\nbiombo\nbiosfera\nbipolar\nbirrento\nbiscoito\nbisneto\nbispo\nbissexto\nbitola\nbizarro\nblindado\nbloco\nbloquear\nboato\nbobagem\nbocado\nbocejo\nbochecha\nboicotar\nbolada\nboletim\nbolha\nbolo\nbombeiro\nbonde\nboneco\nbonita\nborbulha\nborda\nboreal\nborracha\nbovino\nboxeador\nbranco\nbrasa\nbraveza\nbreu\nbriga\nbrilho\nbrincar\nbroa\nbrochura\nbronzear\nbroto\nbruxo\nbucha\nbudismo\nbufar\nbule\nburaco\nbusca\nbusto\nbuzina\ncabana\ncabelo\ncabide\ncabo\ncabrito\ncacau\ncacetada\ncachorro\ncacique\ncadastro\ncadeado\ncafezal\ncaiaque\ncaipira\ncaixote\ncajado\ncaju\ncalafrio\ncalcular\ncaldeira\ncalibrar\ncalmante\ncalota\ncamada\ncambista\ncamisa\ncamomila\ncampanha\ncamuflar\ncanavial\ncancelar\ncaneta\ncanguru\ncanhoto\ncanivete\ncanoa\ncansado\ncantar\ncanudo\ncapacho\ncapela\ncapinar\ncapotar\ncapricho\ncaptador\ncapuz\ncaracol\ncarbono\ncardeal\ncareca\ncarimbar\ncarneiro\ncarpete\ncarreira\ncartaz\ncarvalho\ncasaco\ncasca\ncasebre\ncastelo\ncasulo\ncatarata\ncativar\ncaule\ncausador\ncautelar\ncavalo\ncaverna\ncebola\ncedilha\ncegonha\ncelebrar\ncelular\ncenoura\ncenso\ncenteio\ncercar\ncerrado\ncerteiro\ncerveja\ncetim\ncevada\nchacota\nchaleira\nchamado\nchapada\ncharme\nchatice\nchave\nchefe\nchegada\ncheiro\ncheque\nchicote\nchifre\nchinelo\nchocalho\nchover\nchumbo\nchutar\nchuva\ncicatriz\nciclone\ncidade\ncidreira\nciente\ncigana\ncimento\ncinto\ncinza\nciranda\ncircuito\ncirurgia\ncitar\nclareza\nclero\nclicar\nclone\nclube\ncoado\ncoagir\ncobaia\ncobertor\ncobrar\ncocada\ncoelho\ncoentro\ncoeso\ncogumelo\ncoibir\ncoifa\ncoiote\ncolar\ncoleira\ncolher\ncolidir\ncolmeia\ncolono\ncoluna\ncomando\ncombinar\ncomentar\ncomitiva\ncomover\ncomplexo\ncomum\nconcha\ncondor\nconectar\nconfuso\ncongelar\nconhecer\nconjugar\nconsumir\ncontrato\nconvite\ncooperar\ncopeiro\ncopiador\ncopo\ncoquetel\ncoragem\ncordial\ncorneta\ncoronha\ncorporal\ncorreio\ncortejo\ncoruja\ncorvo\ncosseno\ncostela\ncotonete\ncouro\ncouve\ncovil\ncozinha\ncratera\ncravo\ncreche\ncredor\ncreme\ncrer\ncrespo\ncriada\ncriminal\ncrioulo\ncrise\ncriticar\ncrosta\ncrua\ncruzeiro\ncubano\ncueca\ncuidado\ncujo\nculatra\nculminar\nculpar\ncultura\ncumprir\ncunhado\ncupido\ncurativo\ncurral\ncursar\ncurto\ncuspir\ncustear\ncutelo\ndamasco\ndatar\ndebater\ndebitar\ndeboche\ndebulhar\ndecalque\ndecimal\ndeclive\ndecote\ndecretar\ndedal\ndedicado\ndeduzir\ndefesa\ndefumar\ndegelo\ndegrau\ndegustar\ndeitado\ndeixar\ndelator\ndelegado\ndelinear\ndelonga\ndemanda\ndemitir\ndemolido\ndentista\ndepenado\ndepilar\ndepois\ndepressa\ndepurar\nderiva\nderramar\ndesafio\ndesbotar\ndescanso\ndesenho\ndesfiado\ndesgaste\ndesigual\ndeslize\ndesmamar\ndesova\ndespesa\ndestaque\ndesviar\ndetalhar\ndetentor\ndetonar\ndetrito\ndeusa\ndever\ndevido\ndevotado\ndezena\ndiagrama\ndialeto\ndidata\ndifuso\ndigitar\ndilatado\ndiluente\ndiminuir\ndinastia\ndinheiro\ndiocese\ndireto\ndiscreta\ndisfarce\ndisparo\ndisquete\ndissipar\ndistante\nditador\ndiurno\ndiverso\ndivisor\ndivulgar\ndizer\ndobrador\ndolorido\ndomador\ndominado\ndonativo\ndonzela\ndormente\ndorsal\ndosagem\ndourado\ndoutor\ndrenagem\ndrible\ndrogaria\nduelar\nduende\ndueto\nduplo\nduquesa\ndurante\nduvidoso\neclodir\necoar\necologia\nedificar\nedital\neducado\nefeito\nefetivar\nejetar\nelaborar\neleger\neleitor\nelenco\nelevador\neliminar\nelogiar\nembargo\nembolado\nembrulho\nembutido\nemenda\nemergir\nemissor\nempatia\nempenho\nempinado\nempolgar\nemprego\nempurrar\nemulador\nencaixe\nencenado\nenchente\nencontro\nendeusar\nendossar\nenfaixar\nenfeite\nenfim\nengajado\nengenho\nenglobar\nengomado\nengraxar\nenguia\nenjoar\nenlatar\nenquanto\nenraizar\nenrolado\nenrugar\nensaio\nenseada\nensino\nensopado\nentanto\nenteado\nentidade\nentortar\nentrada\nentulho\nenvergar\nenviado\nenvolver\nenxame\nenxerto\nenxofre\nenxuto\nepiderme\nequipar\nereto\nerguido\nerrata\nerva\nervilha\nesbanjar\nesbelto\nescama\nescola\nescrita\nescuta\nesfinge\nesfolar\nesfregar\nesfumado\nesgrima\nesmalte\nespanto\nespelho\nespiga\nesponja\nespreita\nespumar\nesquerda\nestaca\nesteira\nesticar\nestofado\nestrela\nestudo\nesvaziar\netanol\netiqueta\neuforia\neuropeu\nevacuar\nevaporar\nevasivo\neventual\nevidente\nevoluir\nexagero\nexalar\nexaminar\nexato\nexausto\nexcesso\nexcitar\nexclamar\nexecutar\nexemplo\nexibir\nexigente\nexonerar\nexpandir\nexpelir\nexpirar\nexplanar\nexposto\nexpresso\nexpulsar\nexterno\nextinto\nextrato\nfabricar\nfabuloso\nfaceta\nfacial\nfada\nfadiga\nfaixa\nfalar\nfalta\nfamiliar\nfandango\nfanfarra\nfantoche\nfardado\nfarelo\nfarinha\nfarofa\nfarpa\nfartura\nfatia\nfator\nfavorita\nfaxina\nfazenda\nfechado\nfeijoada\nfeirante\nfelino\nfeminino\nfenda\nfeno\nfera\nferiado\nferrugem\nferver\nfestejar\nfetal\nfeudal\nfiapo\nfibrose\nficar\nficheiro\nfigurado\nfileira\nfilho\nfilme\nfiltrar\nfirmeza\nfisgada\nfissura\nfita\nfivela\nfixador\nfixo\nflacidez\nflamingo\nflanela\nflechada\nflora\nflutuar\nfluxo\nfocal\nfocinho\nfofocar\nfogo\nfoguete\nfoice\nfolgado\nfolheto\nforjar\nformiga\nforno\nforte\nfosco\nfossa\nfragata\nfralda\nfrango\nfrasco\nfraterno\nfreira\nfrente\nfretar\nfrieza\nfriso\nfritura\nfronha\nfrustrar\nfruteira\nfugir\nfulano\nfuligem\nfundar\nfungo\nfunil\nfurador\nfurioso\nfutebol\ngabarito\ngabinete\ngado\ngaiato\ngaiola\ngaivota\ngalega\ngalho\ngalinha\ngalocha\nganhar\ngaragem\ngarfo\ngargalo\ngarimpo\ngaroupa\ngarrafa\ngasoduto\ngasto\ngata\ngatilho\ngaveta\ngazela\ngelado\ngeleia\ngelo\ngemada\ngemer\ngemido\ngeneroso\ngengiva\ngenial\ngenoma\ngenro\ngeologia\ngerador\ngerminar\ngesso\ngestor\nginasta\ngincana\ngingado\ngirafa\ngirino\nglacial\nglicose\nglobal\nglorioso\ngoela\ngoiaba\ngolfe\ngolpear\ngordura\ngorjeta\ngorro\ngostoso\ngoteira\ngovernar\ngracejo\ngradual\ngrafite\ngralha\ngrampo\ngranada\ngratuito\ngraveto\ngraxa\ngrego\ngrelhar\ngreve\ngrilo\ngrisalho\ngritaria\ngrosso\ngrotesco\ngrudado\ngrunhido\ngruta\nguache\nguarani\nguaxinim\nguerrear\nguiar\nguincho\nguisado\ngula\nguloso\nguru\nhabitar\nharmonia\nhaste\nhaver\nhectare\nherdar\nheresia\nhesitar\nhiato\nhibernar\nhidratar\nhiena\nhino\nhipismo\nhipnose\nhipoteca\nhoje\nholofote\nhomem\nhonesto\nhonrado\nhormonal\nhospedar\nhumorado\niate\nideia\nidoso\nignorado\nigreja\niguana\nileso\nilha\niludido\niluminar\nilustrar\nimagem\nimediato\nimenso\nimersivo\niminente\nimitador\nimortal\nimpacto\nimpedir\nimplante\nimpor\nimprensa\nimpune\nimunizar\ninalador\ninapto\ninativo\nincenso\ninchar\nincidir\nincluir\nincolor\nindeciso\nindireto\nindutor\nineficaz\ninerente\ninfantil\ninfestar\ninfinito\ninflamar\ninformal\ninfrator\ningerir\ninibido\ninicial\ninimigo\ninjetar\ninocente\ninodoro\ninovador\ninox\ninquieto\ninscrito\ninseto\ninsistir\ninspetor\ninstalar\ninsulto\nintacto\nintegral\nintimar\nintocado\nintriga\ninvasor\ninverno\ninvicto\ninvocar\niogurte\niraniano\nironizar\nirreal\nirritado\nisca\nisento\nisolado\nisqueiro\nitaliano\njaneiro\njangada\njanta\njararaca\njardim\njarro\njasmim\njato\njavali\njazida\njejum\njoaninha\njoelhada\njogador\njoia\njornal\njorrar\njovem\njuba\njudeu\njudoca\njuiz\njulgador\njulho\njurado\njurista\njuro\njusta\nlabareda\nlaboral\nlacre\nlactante\nladrilho\nlagarta\nlagoa\nlaje\nlamber\nlamentar\nlaminar\nlampejo\nlanche\nlapidar\nlapso\nlaranja\nlareira\nlargura\nlasanha\nlastro\nlateral\nlatido\nlavanda\nlavoura\nlavrador\nlaxante\nlazer\nlealdade\nlebre\nlegado\nlegendar\nlegista\nleigo\nleiloar\nleitura\nlembrete\nleme\nlenhador\nlentilha\nleoa\nlesma\nleste\nletivo\nletreiro\nlevar\nleveza\nlevitar\nliberal\nlibido\nliderar\nligar\nligeiro\nlimitar\nlimoeiro\nlimpador\nlinda\nlinear\nlinhagem\nliquidez\nlistagem\nlisura\nlitoral\nlivro\nlixa\nlixeira\nlocador\nlocutor\nlojista\nlombo\nlona\nlonge\nlontra\nlorde\nlotado\nloteria\nloucura\nlousa\nlouvar\nluar\nlucidez\nlucro\nluneta\nlustre\nlutador\nluva\nmacaco\nmacete\nmachado\nmacio\nmadeira\nmadrinha\nmagnata\nmagreza\nmaior\nmais\nmalandro\nmalha\nmalote\nmaluco\nmamilo\nmamoeiro\nmamute\nmanada\nmancha\nmandato\nmanequim\nmanhoso\nmanivela\nmanobrar\nmansa\nmanter\nmanusear\nmapeado\nmaquinar\nmarcador\nmaresia\nmarfim\nmargem\nmarinho\nmarmita\nmaroto\nmarquise\nmarreco\nmartelo\nmarujo\nmascote\nmasmorra\nmassagem\nmastigar\nmatagal\nmaterno\nmatinal\nmatutar\nmaxilar\nmedalha\nmedida\nmedusa\nmegafone\nmeiga\nmelancia\nmelhor\nmembro\nmemorial\nmenino\nmenos\nmensagem\nmental\nmerecer\nmergulho\nmesada\nmesclar\nmesmo\nmesquita\nmestre\nmetade\nmeteoro\nmetragem\nmexer\nmexicano\nmicro\nmigalha\nmigrar\nmilagre\nmilenar\nmilhar\nmimado\nminerar\nminhoca\nministro\nminoria\nmiolo\nmirante\nmirtilo\nmisturar\nmocidade\nmoderno\nmodular\nmoeda\nmoer\nmoinho\nmoita\nmoldura\nmoleza\nmolho\nmolinete\nmolusco\nmontanha\nmoqueca\nmorango\nmorcego\nmordomo\nmorena\nmosaico\nmosquete\nmostarda\nmotel\nmotim\nmoto\nmotriz\nmuda\nmuito\nmulata\nmulher\nmultar\nmundial\nmunido\nmuralha\nmurcho\nmuscular\nmuseu\nmusical\nnacional\nnadador\nnaja\nnamoro\nnarina\nnarrado\nnascer\nnativa\nnatureza\nnavalha\nnavegar\nnavio\nneblina\nnebuloso\nnegativa\nnegociar\nnegrito\nnervoso\nneta\nneural\nnevasca\nnevoeiro\nninar\nninho\nnitidez\nnivelar\nnobreza\nnoite\nnoiva\nnomear\nnominal\nnordeste\nnortear\nnotar\nnoticiar\nnoturno\nnovelo\nnovilho\nnovo\nnublado\nnudez\nnumeral\nnupcial\nnutrir\nnuvem\nobcecado\nobedecer\nobjetivo\nobrigado\nobscuro\nobstetra\nobter\nobturar\nocidente\nocioso\nocorrer\noculista\nocupado\nofegante\nofensiva\noferenda\noficina\nofuscado\nogiva\nolaria\noleoso\nolhar\noliveira\nombro\nomelete\nomisso\nomitir\nondulado\noneroso\nontem\nopcional\noperador\noponente\noportuno\noposto\norar\norbitar\nordem\nordinal\norfanato\norgasmo\norgulho\noriental\norigem\noriundo\norla\nortodoxo\norvalho\noscilar\nossada\nosso\nostentar\notimismo\nousadia\noutono\noutubro\nouvido\novelha\novular\noxidar\noxigenar\npacato\npaciente\npacote\npactuar\npadaria\npadrinho\npagar\npagode\npainel\npairar\npaisagem\npalavra\npalestra\npalheta\npalito\npalmada\npalpitar\npancada\npanela\npanfleto\npanqueca\npantanal\npapagaio\npapelada\npapiro\nparafina\nparcial\npardal\nparede\npartida\npasmo\npassado\npastel\npatamar\npatente\npatinar\npatrono\npaulada\npausar\npeculiar\npedalar\npedestre\npediatra\npedra\npegada\npeitoral\npeixe\npele\npelicano\npenca\npendurar\npeneira\npenhasco\npensador\npente\nperceber\nperfeito\npergunta\nperito\npermitir\nperna\nperplexo\npersiana\npertence\nperuca\npescado\npesquisa\npessoa\npetiscar\npiada\npicado\npiedade\npigmento\npilastra\npilhado\npilotar\npimenta\npincel\npinguim\npinha\npinote\npintar\npioneiro\npipoca\npiquete\npiranha\npires\npirueta\npiscar\npistola\npitanga\npivete\nplanta\nplaqueta\nplatina\nplebeu\nplumagem\npluvial\npneu\npoda\npoeira\npoetisa\npolegada\npoliciar\npoluente\npolvilho\npomar\npomba\nponderar\npontaria\npopuloso\nporta\npossuir\npostal\npote\npoupar\npouso\npovoar\npraia\nprancha\nprato\npraxe\nprece\npredador\nprefeito\npremiar\nprensar\npreparar\npresilha\npretexto\nprevenir\nprezar\nprimata\nprincesa\nprisma\nprivado\nprocesso\nproduto\nprofeta\nproibido\nprojeto\nprometer\npropagar\nprosa\nprotetor\nprovador\npublicar\npudim\npular\npulmonar\npulseira\npunhal\npunir\npupilo\npureza\npuxador\nquadra\nquantia\nquarto\nquase\nquebrar\nqueda\nqueijo\nquente\nquerido\nquimono\nquina\nquiosque\nrabanada\nrabisco\nrachar\nracionar\nradial\nraiar\nrainha\nraio\nraiva\nrajada\nralado\nramal\nranger\nranhura\nrapadura\nrapel\nrapidez\nraposa\nraquete\nraridade\nrasante\nrascunho\nrasgar\nraspador\nrasteira\nrasurar\nratazana\nratoeira\nrealeza\nreanimar\nreaver\nrebaixar\nrebelde\nrebolar\nrecado\nrecente\nrecheio\nrecibo\nrecordar\nrecrutar\nrecuar\nrede\nredimir\nredonda\nreduzida\nreenvio\nrefinar\nrefletir\nrefogar\nrefresco\nrefugiar\nregalia\nregime\nregra\nreinado\nreitor\nrejeitar\nrelativo\nremador\nremendo\nremorso\nrenovado\nreparo\nrepelir\nrepleto\nrepolho\nrepresa\nrepudiar\nrequerer\nresenha\nresfriar\nresgatar\nresidir\nresolver\nrespeito\nressaca\nrestante\nresumir\nretalho\nreter\nretirar\nretomada\nretratar\nrevelar\nrevisor\nrevolta\nriacho\nrica\nrigidez\nrigoroso\nrimar\nringue\nrisada\nrisco\nrisonho\nrobalo\nrochedo\nrodada\nrodeio\nrodovia\nroedor\nroleta\nromano\nroncar\nrosado\nroseira\nrosto\nrota\nroteiro\nrotina\nrotular\nrouco\nroupa\nroxo\nrubro\nrugido\nrugoso\nruivo\nrumo\nrupestre\nrusso\nsabor\nsaciar\nsacola\nsacudir\nsadio\nsafira\nsaga\nsagrada\nsaibro\nsalada\nsaleiro\nsalgado\nsaliva\nsalpicar\nsalsicha\nsaltar\nsalvador\nsambar\nsamurai\nsanar\nsanfona\nsangue\nsanidade\nsapato\nsarda\nsargento\nsarjeta\nsaturar\nsaudade\nsaxofone\nsazonal\nsecar\nsecular\nseda\nsedento\nsediado\nsedoso\nsedutor\nsegmento\nsegredo\nsegundo\nseiva\nseleto\nselvagem\nsemanal\nsemente\nsenador\nsenhor\nsensual\nsentado\nseparado\nsereia\nseringa\nserra\nservo\nsetembro\nsetor\nsigilo\nsilhueta\nsilicone\nsimetria\nsimpatia\nsimular\nsinal\nsincero\nsingular\nsinopse\nsintonia\nsirene\nsiri\nsituado\nsoberano\nsobra\nsocorro\nsogro\nsoja\nsolda\nsoletrar\nsolteiro\nsombrio\nsonata\nsondar\nsonegar\nsonhador\nsono\nsoprano\nsoquete\nsorrir\nsorteio\nsossego\nsotaque\nsoterrar\nsovado\nsozinho\nsuavizar\nsubida\nsubmerso\nsubsolo\nsubtrair\nsucata\nsucesso\nsuco\nsudeste\nsufixo\nsugador\nsugerir\nsujeito\nsulfato\nsumir\nsuor\nsuperior\nsuplicar\nsuposto\nsuprimir\nsurdina\nsurfista\nsurpresa\nsurreal\nsurtir\nsuspiro\nsustento\ntabela\ntablete\ntabuada\ntacho\ntagarela\ntalher\ntalo\ntalvez\ntamanho\ntamborim\ntampa\ntangente\ntanto\ntapar\ntapioca\ntardio\ntarefa\ntarja\ntarraxa\ntatuagem\ntaurino\ntaxativo\ntaxista\nteatral\ntecer\ntecido\nteclado\ntedioso\nteia\nteimar\ntelefone\ntelhado\ntempero\ntenente\ntensor\ntentar\ntermal\nterno\nterreno\ntese\ntesoura\ntestado\nteto\ntextura\ntexugo\ntiara\ntigela\ntijolo\ntimbrar\ntimidez\ntingido\ntinteiro\ntiragem\ntitular\ntoalha\ntocha\ntolerar\ntolice\ntomada\ntomilho\ntonel\ntontura\ntopete\ntora\ntorcido\ntorneio\ntorque\ntorrada\ntorto\ntostar\ntouca\ntoupeira\ntoxina\ntrabalho\ntracejar\ntradutor\ntrafegar\ntrajeto\ntrama\ntrancar\ntrapo\ntraseiro\ntratador\ntravar\ntreino\ntremer\ntrepidar\ntrevo\ntriagem\ntribo\ntriciclo\ntridente\ntrilogia\ntrindade\ntriplo\ntriturar\ntriunfal\ntrocar\ntrombeta\ntrova\ntrunfo\ntruque\ntubular\ntucano\ntudo\ntulipa\ntupi\nturbo\nturma\nturquesa\ntutelar\ntutorial\nuivar\numbigo\nunha\nunidade\nuniforme\nurologia\nurso\nurtiga\nurubu\nusado\nusina\nusufruir\nvacina\nvadiar\nvagaroso\nvaidoso\nvala\nvalente\nvalidade\nvalores\nvantagem\nvaqueiro\nvaranda\nvareta\nvarrer\nvascular\nvasilha\nvassoura\nvazar\nvazio\nveado\nvedar\nvegetar\nveicular\nveleiro\nvelhice\nveludo\nvencedor\nvendaval\nvenerar\nventre\nverbal\nverdade\nvereador\nvergonha\nvermelho\nverniz\nversar\nvertente\nvespa\nvestido\nvetorial\nviaduto\nviagem\nviajar\nviatura\nvibrador\nvideira\nvidraria\nviela\nviga\nvigente\nvigiar\nvigorar\nvilarejo\nvinco\nvinheta\nvinil\nvioleta\nvirada\nvirtude\nvisitar\nvisto\nvitral\nviveiro\nvizinho\nvoador\nvoar\nvogal\nvolante\nvoleibol\nvoltagem\nvolumoso\nvontade\nvulto\nvuvuzela\nxadrez\nxarope\nxeque\nxeretar\nxerife\nxingar\nzangado\nzarpar\nzebu\nzelador\nzombar\nzoologia\nzumbido`.split('\\n');\n","export const wordlist = `的\n一\n是\n在\n不\n了\n有\n和\n人\n这\n中\n大\n为\n上\n个\n国\n我\n以\n要\n他\n时\n来\n用\n们\n生\n到\n作\n地\n于\n出\n就\n分\n对\n成\n会\n可\n主\n发\n年\n动\n同\n工\n也\n能\n下\n过\n子\n说\n产\n种\n面\n而\n方\n后\n多\n定\n行\n学\n法\n所\n民\n得\n经\n十\n三\n之\n进\n着\n等\n部\n度\n家\n电\n力\n里\n如\n水\n化\n高\n自\n二\n理\n起\n小\n物\n现\n实\n加\n量\n都\n两\n体\n制\n机\n当\n使\n点\n从\n业\n本\n去\n把\n性\n好\n应\n开\n它\n合\n还\n因\n由\n其\n些\n然\n前\n外\n天\n政\n四\n日\n那\n社\n义\n事\n平\n形\n相\n全\n表\n间\n样\n与\n关\n各\n重\n新\n线\n内\n数\n正\n心\n反\n你\n明\n看\n原\n又\n么\n利\n比\n或\n但\n质\n气\n第\n向\n道\n命\n此\n变\n条\n只\n没\n结\n解\n问\n意\n建\n月\n公\n无\n系\n军\n很\n情\n者\n最\n立\n代\n想\n已\n通\n并\n提\n直\n题\n党\n程\n展\n五\n果\n料\n象\n员\n革\n位\n入\n常\n文\n总\n次\n品\n式\n活\n设\n及\n管\n特\n件\n长\n求\n老\n头\n基\n资\n边\n流\n路\n级\n少\n图\n山\n统\n接\n知\n较\n将\n组\n见\n计\n别\n她\n手\n角\n期\n根\n论\n运\n农\n指\n几\n九\n区\n强\n放\n决\n西\n被\n干\n做\n必\n战\n先\n回\n则\n任\n取\n据\n处\n队\n南\n给\n色\n光\n门\n即\n保\n治\n北\n造\n百\n规\n热\n领\n七\n海\n口\n东\n导\n器\n压\n志\n世\n金\n增\n争\n济\n阶\n油\n思\n术\n极\n交\n受\n联\n什\n认\n六\n共\n权\n收\n证\n改\n清\n美\n再\n采\n转\n更\n单\n风\n切\n打\n白\n教\n速\n花\n带\n安\n场\n身\n车\n例\n真\n务\n具\n万\n每\n目\n至\n达\n走\n积\n示\n议\n声\n报\n斗\n完\n类\n八\n离\n华\n名\n确\n才\n科\n张\n信\n马\n节\n话\n米\n整\n空\n元\n况\n今\n集\n温\n传\n土\n许\n步\n群\n广\n石\n记\n需\n段\n研\n界\n拉\n林\n律\n叫\n且\n究\n观\n越\n织\n装\n影\n算\n低\n持\n音\n众\n书\n布\n复\n容\n儿\n须\n际\n商\n非\n验\n连\n断\n深\n难\n近\n矿\n千\n周\n委\n素\n技\n备\n半\n办\n青\n省\n列\n习\n响\n约\n支\n般\n史\n感\n劳\n便\n团\n往\n酸\n历\n市\n克\n何\n除\n消\n构\n府\n称\n太\n准\n精\n值\n号\n率\n族\n维\n划\n选\n标\n写\n存\n候\n毛\n亲\n快\n效\n斯\n院\n查\n江\n型\n眼\n王\n按\n格\n养\n易\n置\n派\n层\n片\n始\n却\n专\n状\n育\n厂\n京\n识\n适\n属\n圆\n包\n火\n住\n调\n满\n县\n局\n照\n参\n红\n细\n引\n听\n该\n铁\n价\n严\n首\n底\n液\n官\n德\n随\n病\n苏\n失\n尔\n死\n讲\n配\n女\n黄\n推\n显\n谈\n罪\n神\n艺\n呢\n席\n含\n企\n望\n密\n批\n营\n项\n防\n举\n球\n英\n氧\n势\n告\n李\n台\n落\n木\n帮\n轮\n破\n亚\n师\n围\n注\n远\n字\n材\n排\n供\n河\n态\n封\n另\n施\n减\n树\n溶\n怎\n止\n案\n言\n士\n均\n武\n固\n叶\n鱼\n波\n视\n仅\n费\n紧\n爱\n左\n章\n早\n朝\n害\n续\n轻\n服\n试\n食\n充\n兵\n源\n判\n护\n司\n足\n某\n练\n差\n致\n板\n田\n降\n黑\n犯\n负\n击\n范\n继\n兴\n似\n余\n坚\n曲\n输\n修\n故\n城\n夫\n够\n送\n笔\n船\n占\n右\n财\n吃\n富\n春\n职\n觉\n汉\n画\n功\n巴\n跟\n虽\n杂\n飞\n检\n吸\n助\n升\n阳\n互\n初\n创\n抗\n考\n投\n坏\n策\n古\n径\n换\n未\n跑\n留\n钢\n曾\n端\n责\n站\n简\n述\n钱\n副\n尽\n帝\n射\n草\n冲\n承\n独\n令\n限\n阿\n宣\n环\n双\n请\n超\n微\n让\n控\n州\n良\n轴\n找\n否\n纪\n益\n依\n优\n顶\n础\n载\n倒\n房\n突\n坐\n粉\n敌\n略\n客\n袁\n冷\n胜\n绝\n析\n块\n剂\n测\n丝\n协\n诉\n念\n陈\n仍\n罗\n盐\n友\n洋\n错\n苦\n夜\n刑\n移\n频\n逐\n靠\n混\n母\n短\n皮\n终\n聚\n汽\n村\n云\n哪\n既\n距\n卫\n停\n烈\n央\n察\n烧\n迅\n境\n若\n印\n洲\n刻\n括\n激\n孔\n搞\n甚\n室\n待\n核\n校\n散\n侵\n吧\n甲\n游\n久\n菜\n味\n旧\n模\n湖\n货\n损\n预\n阻\n毫\n普\n稳\n乙\n妈\n植\n息\n扩\n银\n语\n挥\n酒\n守\n拿\n序\n纸\n医\n缺\n雨\n吗\n针\n刘\n啊\n急\n唱\n误\n训\n愿\n审\n附\n获\n茶\n鲜\n粮\n斤\n孩\n脱\n硫\n肥\n善\n龙\n演\n父\n渐\n血\n欢\n械\n掌\n歌\n沙\n刚\n攻\n谓\n盾\n讨\n晚\n粒\n乱\n燃\n矛\n乎\n杀\n药\n宁\n鲁\n贵\n钟\n煤\n读\n班\n伯\n香\n介\n迫\n句\n丰\n培\n握\n兰\n担\n弦\n蛋\n沉\n假\n穿\n执\n答\n乐\n谁\n顺\n烟\n缩\n征\n脸\n喜\n松\n脚\n困\n异\n免\n背\n星\n福\n买\n染\n井\n概\n慢\n怕\n磁\n倍\n祖\n皇\n促\n静\n补\n评\n翻\n肉\n践\n尼\n衣\n宽\n扬\n棉\n希\n伤\n操\n垂\n秋\n宜\n氢\n套\n督\n振\n架\n亮\n末\n宪\n庆\n编\n牛\n触\n映\n雷\n销\n诗\n座\n居\n抓\n裂\n胞\n呼\n娘\n景\n威\n绿\n晶\n厚\n盟\n衡\n鸡\n孙\n延\n危\n胶\n屋\n乡\n临\n陆\n顾\n掉\n呀\n灯\n岁\n措\n束\n耐\n剧\n玉\n赵\n跳\n哥\n季\n课\n凯\n胡\n额\n款\n绍\n卷\n齐\n伟\n蒸\n殖\n永\n宗\n苗\n川\n炉\n岩\n弱\n零\n杨\n奏\n沿\n露\n杆\n探\n滑\n镇\n饭\n浓\n航\n怀\n赶\n库\n夺\n伊\n灵\n税\n途\n灭\n赛\n归\n召\n鼓\n播\n盘\n裁\n险\n康\n唯\n录\n菌\n纯\n借\n糖\n盖\n横\n符\n私\n努\n堂\n域\n枪\n润\n幅\n哈\n竟\n熟\n虫\n泽\n脑\n壤\n碳\n欧\n遍\n侧\n寨\n敢\n彻\n虑\n斜\n薄\n庭\n纳\n弹\n饲\n伸\n折\n麦\n湿\n暗\n荷\n瓦\n塞\n床\n筑\n恶\n户\n访\n塔\n奇\n透\n梁\n刀\n旋\n迹\n卡\n氯\n遇\n份\n毒\n泥\n退\n洗\n摆\n灰\n彩\n卖\n耗\n夏\n择\n忙\n铜\n献\n硬\n予\n繁\n圈\n雪\n函\n亦\n抽\n篇\n阵\n阴\n丁\n尺\n追\n堆\n雄\n迎\n泛\n爸\n楼\n避\n谋\n吨\n野\n猪\n旗\n累\n偏\n典\n馆\n索\n秦\n脂\n潮\n爷\n豆\n忽\n托\n惊\n塑\n遗\n愈\n朱\n替\n纤\n粗\n倾\n尚\n痛\n楚\n谢\n奋\n购\n磨\n君\n池\n旁\n碎\n骨\n监\n捕\n弟\n暴\n割\n贯\n殊\n释\n词\n亡\n壁\n顿\n宝\n午\n尘\n闻\n揭\n炮\n残\n冬\n桥\n妇\n警\n综\n招\n吴\n付\n浮\n遭\n徐\n您\n摇\n谷\n赞\n箱\n隔\n订\n男\n吹\n园\n纷\n唐\n败\n宋\n玻\n巨\n耕\n坦\n荣\n闭\n湾\n键\n凡\n驻\n锅\n救\n恩\n剥\n凝\n碱\n齿\n截\n炼\n麻\n纺\n禁\n废\n盛\n版\n缓\n净\n睛\n昌\n婚\n涉\n筒\n嘴\n插\n岸\n朗\n庄\n街\n藏\n姑\n贸\n腐\n奴\n啦\n惯\n乘\n伙\n恢\n匀\n纱\n扎\n辩\n耳\n彪\n臣\n亿\n璃\n抵\n脉\n秀\n萨\n俄\n网\n舞\n店\n喷\n纵\n寸\n汗\n挂\n洪\n贺\n闪\n柬\n爆\n烯\n津\n稻\n墙\n软\n勇\n像\n滚\n厘\n蒙\n芳\n肯\n坡\n柱\n荡\n腿\n仪\n旅\n尾\n轧\n冰\n贡\n登\n黎\n削\n钻\n勒\n逃\n障\n氨\n郭\n峰\n币\n港\n伏\n轨\n亩\n毕\n擦\n莫\n刺\n浪\n秘\n援\n株\n健\n售\n股\n岛\n甘\n泡\n睡\n童\n铸\n汤\n阀\n休\n汇\n舍\n牧\n绕\n炸\n哲\n磷\n绩\n朋\n淡\n尖\n启\n陷\n柴\n呈\n徒\n颜\n泪\n稍\n忘\n泵\n蓝\n拖\n洞\n授\n镜\n辛\n壮\n锋\n贫\n虚\n弯\n摩\n泰\n幼\n廷\n尊\n窗\n纲\n弄\n隶\n疑\n氏\n宫\n姐\n震\n瑞\n怪\n尤\n琴\n循\n描\n膜\n违\n夹\n腰\n缘\n珠\n穷\n森\n枝\n竹\n沟\n催\n绳\n忆\n邦\n剩\n幸\n浆\n栏\n拥\n牙\n贮\n礼\n滤\n钠\n纹\n罢\n拍\n咱\n喊\n袖\n埃\n勤\n罚\n焦\n潜\n伍\n墨\n欲\n缝\n姓\n刊\n饱\n仿\n奖\n铝\n鬼\n丽\n跨\n默\n挖\n链\n扫\n喝\n袋\n炭\n污\n幕\n诸\n弧\n励\n梅\n奶\n洁\n灾\n舟\n鉴\n苯\n讼\n抱\n毁\n懂\n寒\n智\n埔\n寄\n届\n跃\n渡\n挑\n丹\n艰\n贝\n碰\n拔\n爹\n戴\n码\n梦\n芽\n熔\n赤\n渔\n哭\n敬\n颗\n奔\n铅\n仲\n虎\n稀\n妹\n乏\n珍\n申\n桌\n遵\n允\n隆\n螺\n仓\n魏\n锐\n晓\n氮\n兼\n隐\n碍\n赫\n拨\n忠\n肃\n缸\n牵\n抢\n博\n巧\n壳\n兄\n杜\n讯\n诚\n碧\n祥\n柯\n页\n巡\n矩\n悲\n灌\n龄\n伦\n票\n寻\n桂\n铺\n圣\n恐\n恰\n郑\n趣\n抬\n荒\n腾\n贴\n柔\n滴\n猛\n阔\n辆\n妻\n填\n撤\n储\n签\n闹\n扰\n紫\n砂\n递\n戏\n吊\n陶\n伐\n喂\n疗\n瓶\n婆\n抚\n臂\n摸\n忍\n虾\n蜡\n邻\n胸\n巩\n挤\n偶\n弃\n槽\n劲\n乳\n邓\n吉\n仁\n烂\n砖\n租\n乌\n舰\n伴\n瓜\n浅\n丙\n暂\n燥\n橡\n柳\n迷\n暖\n牌\n秧\n胆\n详\n簧\n踏\n瓷\n谱\n呆\n宾\n糊\n洛\n辉\n愤\n竞\n隙\n怒\n粘\n乃\n绪\n肩\n籍\n敏\n涂\n熙\n皆\n侦\n悬\n掘\n享\n纠\n醒\n狂\n锁\n淀\n恨\n牲\n霸\n爬\n赏\n逆\n玩\n陵\n祝\n秒\n浙\n貌\n役\n彼\n悉\n鸭\n趋\n凤\n晨\n畜\n辈\n秩\n卵\n署\n梯\n炎\n滩\n棋\n驱\n筛\n峡\n冒\n啥\n寿\n译\n浸\n泉\n帽\n迟\n硅\n疆\n贷\n漏\n稿\n冠\n嫩\n胁\n芯\n牢\n叛\n蚀\n奥\n鸣\n岭\n羊\n凭\n串\n塘\n绘\n酵\n融\n盆\n锡\n庙\n筹\n冻\n辅\n摄\n袭\n筋\n拒\n僚\n旱\n钾\n鸟\n漆\n沈\n眉\n疏\n添\n棒\n穗\n硝\n韩\n逼\n扭\n侨\n凉\n挺\n碗\n栽\n炒\n杯\n患\n馏\n劝\n豪\n辽\n勃\n鸿\n旦\n吏\n拜\n狗\n埋\n辊\n掩\n饮\n搬\n骂\n辞\n勾\n扣\n估\n蒋\n绒\n雾\n丈\n朵\n姆\n拟\n宇\n辑\n陕\n雕\n偿\n蓄\n崇\n剪\n倡\n厅\n咬\n驶\n薯\n刷\n斥\n番\n赋\n奉\n佛\n浇\n漫\n曼\n扇\n钙\n桃\n扶\n仔\n返\n俗\n亏\n腔\n鞋\n棱\n覆\n框\n悄\n叔\n撞\n骗\n勘\n旺\n沸\n孤\n吐\n孟\n渠\n屈\n疾\n妙\n惜\n仰\n狠\n胀\n谐\n抛\n霉\n桑\n岗\n嘛\n衰\n盗\n渗\n脏\n赖\n涌\n甜\n曹\n阅\n肌\n哩\n厉\n烃\n纬\n毅\n昨\n伪\n症\n煮\n叹\n钉\n搭\n茎\n笼\n酷\n偷\n弓\n锥\n恒\n杰\n坑\n鼻\n翼\n纶\n叙\n狱\n逮\n罐\n络\n棚\n抑\n膨\n蔬\n寺\n骤\n穆\n冶\n枯\n册\n尸\n凸\n绅\n坯\n牺\n焰\n轰\n欣\n晋\n瘦\n御\n锭\n锦\n丧\n旬\n锻\n垄\n搜\n扑\n邀\n亭\n酯\n迈\n舒\n脆\n酶\n闲\n忧\n酚\n顽\n羽\n涨\n卸\n仗\n陪\n辟\n惩\n杭\n姚\n肚\n捉\n飘\n漂\n昆\n欺\n吾\n郎\n烷\n汁\n呵\n饰\n萧\n雅\n邮\n迁\n燕\n撒\n姻\n赴\n宴\n烦\n债\n帐\n斑\n铃\n旨\n醇\n董\n饼\n雏\n姿\n拌\n傅\n腹\n妥\n揉\n贤\n拆\n歪\n葡\n胺\n丢\n浩\n徽\n昂\n垫\n挡\n览\n贪\n慰\n缴\n汪\n慌\n冯\n诺\n姜\n谊\n凶\n劣\n诬\n耀\n昏\n躺\n盈\n骑\n乔\n溪\n丛\n卢\n抹\n闷\n咨\n刮\n驾\n缆\n悟\n摘\n铒\n掷\n颇\n幻\n柄\n惠\n惨\n佳\n仇\n腊\n窝\n涤\n剑\n瞧\n堡\n泼\n葱\n罩\n霍\n捞\n胎\n苍\n滨\n俩\n捅\n湘\n砍\n霞\n邵\n萄\n疯\n淮\n遂\n熊\n粪\n烘\n宿\n档\n戈\n驳\n嫂\n裕\n徙\n箭\n捐\n肠\n撑\n晒\n辨\n殿\n莲\n摊\n搅\n酱\n屏\n疫\n哀\n蔡\n堵\n沫\n皱\n畅\n叠\n阁\n莱\n敲\n辖\n钩\n痕\n坝\n巷\n饿\n祸\n丘\n玄\n溜\n曰\n逻\n彭\n尝\n卿\n妨\n艇\n吞\n韦\n怨\n矮\n歇`.split('\\n');\n","export const wordlist = `ábaco\nabdomen\nabeja\nabierto\nabogado\nabono\naborto\nabrazo\nabrir\nabuelo\nabuso\nacabar\nacademia\nacceso\nacción\naceite\nacelga\nacento\naceptar\nácido\naclarar\nacné\nacoger\nacoso\nactivo\nacto\nactriz\nactuar\nacudir\nacuerdo\nacusar\nadicto\nadmitir\nadoptar\nadorno\naduana\nadulto\naéreo\nafectar\nafición\nafinar\nafirmar\nágil\nagitar\nagonía\nagosto\nagotar\nagregar\nagrio\nagua\nagudo\náguila\naguja\nahogo\nahorro\naire\naislar\najedrez\najeno\najuste\nalacrán\nalambre\nalarma\nalba\nálbum\nalcalde\naldea\nalegre\nalejar\nalerta\naleta\nalfiler\nalga\nalgodón\naliado\naliento\nalivio\nalma\nalmeja\nalmíbar\naltar\nalteza\naltivo\nalto\naltura\nalumno\nalzar\namable\namante\namapola\namargo\namasar\námbar\námbito\nameno\namigo\namistad\namor\namparo\namplio\nancho\nanciano\nancla\nandar\nandén\nanemia\nángulo\nanillo\nánimo\nanís\nanotar\nantena\nantiguo\nantojo\nanual\nanular\nanuncio\nañadir\nañejo\naño\napagar\naparato\napetito\napio\naplicar\napodo\naporte\napoyo\naprender\naprobar\napuesta\napuro\narado\naraña\narar\nárbitro\nárbol\narbusto\narchivo\narco\narder\nardilla\narduo\nárea\nárido\naries\narmonía\narnés\naroma\narpa\narpón\narreglo\narroz\narruga\narte\nartista\nasa\nasado\nasalto\nascenso\nasegurar\naseo\nasesor\nasiento\nasilo\nasistir\nasno\nasombro\náspero\nastilla\nastro\nastuto\nasumir\nasunto\natajo\nataque\natar\natento\nateo\nático\natleta\nátomo\natraer\natroz\natún\naudaz\naudio\nauge\naula\naumento\nausente\nautor\naval\navance\navaro\nave\navellana\navena\navestruz\navión\naviso\nayer\nayuda\nayuno\nazafrán\nazar\nazote\nazúcar\nazufre\nazul\nbaba\nbabor\nbache\nbahía\nbaile\nbajar\nbalanza\nbalcón\nbalde\nbambú\nbanco\nbanda\nbaño\nbarba\nbarco\nbarniz\nbarro\nbáscula\nbastón\nbasura\nbatalla\nbatería\nbatir\nbatuta\nbaúl\nbazar\nbebé\nbebida\nbello\nbesar\nbeso\nbestia\nbicho\nbien\nbingo\nblanco\nbloque\nblusa\nboa\nbobina\nbobo\nboca\nbocina\nboda\nbodega\nboina\nbola\nbolero\nbolsa\nbomba\nbondad\nbonito\nbono\nbonsái\nborde\nborrar\nbosque\nbote\nbotín\nbóveda\nbozal\nbravo\nbrazo\nbrecha\nbreve\nbrillo\nbrinco\nbrisa\nbroca\nbroma\nbronce\nbrote\nbruja\nbrusco\nbruto\nbuceo\nbucle\nbueno\nbuey\nbufanda\nbufón\nbúho\nbuitre\nbulto\nburbuja\nburla\nburro\nbuscar\nbutaca\nbuzón\ncaballo\ncabeza\ncabina\ncabra\ncacao\ncadáver\ncadena\ncaer\ncafé\ncaída\ncaimán\ncaja\ncajón\ncal\ncalamar\ncalcio\ncaldo\ncalidad\ncalle\ncalma\ncalor\ncalvo\ncama\ncambio\ncamello\ncamino\ncampo\ncáncer\ncandil\ncanela\ncanguro\ncanica\ncanto\ncaña\ncañón\ncaoba\ncaos\ncapaz\ncapitán\ncapote\ncaptar\ncapucha\ncara\ncarbón\ncárcel\ncareta\ncarga\ncariño\ncarne\ncarpeta\ncarro\ncarta\ncasa\ncasco\ncasero\ncaspa\ncastor\ncatorce\ncatre\ncaudal\ncausa\ncazo\ncebolla\nceder\ncedro\ncelda\ncélebre\nceloso\ncélula\ncemento\nceniza\ncentro\ncerca\ncerdo\ncereza\ncero\ncerrar\ncerteza\ncésped\ncetro\nchacal\nchaleco\nchampú\nchancla\nchapa\ncharla\nchico\nchiste\nchivo\nchoque\nchoza\nchuleta\nchupar\nciclón\nciego\ncielo\ncien\ncierto\ncifra\ncigarro\ncima\ncinco\ncine\ncinta\nciprés\ncirco\nciruela\ncisne\ncita\nciudad\nclamor\nclan\nclaro\nclase\nclave\ncliente\nclima\nclínica\ncobre\ncocción\ncochino\ncocina\ncoco\ncódigo\ncodo\ncofre\ncoger\ncohete\ncojín\ncojo\ncola\ncolcha\ncolegio\ncolgar\ncolina\ncollar\ncolmo\ncolumna\ncombate\ncomer\ncomida\ncómodo\ncompra\nconde\nconejo\nconga\nconocer\nconsejo\ncontar\ncopa\ncopia\ncorazón\ncorbata\ncorcho\ncordón\ncorona\ncorrer\ncoser\ncosmos\ncosta\ncráneo\ncráter\ncrear\ncrecer\ncreído\ncrema\ncría\ncrimen\ncripta\ncrisis\ncromo\ncrónica\ncroqueta\ncrudo\ncruz\ncuadro\ncuarto\ncuatro\ncubo\ncubrir\ncuchara\ncuello\ncuento\ncuerda\ncuesta\ncueva\ncuidar\nculebra\nculpa\nculto\ncumbre\ncumplir\ncuna\ncuneta\ncuota\ncupón\ncúpula\ncurar\ncurioso\ncurso\ncurva\ncutis\ndama\ndanza\ndar\ndardo\ndátil\ndeber\ndébil\ndécada\ndecir\ndedo\ndefensa\ndefinir\ndejar\ndelfín\ndelgado\ndelito\ndemora\ndenso\ndental\ndeporte\nderecho\nderrota\ndesayuno\ndeseo\ndesfile\ndesnudo\ndestino\ndesvío\ndetalle\ndetener\ndeuda\ndía\ndiablo\ndiadema\ndiamante\ndiana\ndiario\ndibujo\ndictar\ndiente\ndieta\ndiez\ndifícil\ndigno\ndilema\ndiluir\ndinero\ndirecto\ndirigir\ndisco\ndiseño\ndisfraz\ndiva\ndivino\ndoble\ndoce\ndolor\ndomingo\ndon\ndonar\ndorado\ndormir\ndorso\ndos\ndosis\ndragón\ndroga\nducha\nduda\nduelo\ndueño\ndulce\ndúo\nduque\ndurar\ndureza\nduro\nébano\nebrio\nechar\neco\necuador\nedad\nedición\nedificio\neditor\neducar\nefecto\neficaz\neje\nejemplo\nelefante\nelegir\nelemento\nelevar\nelipse\nélite\nelixir\nelogio\neludir\nembudo\nemitir\nemoción\nempate\nempeño\nempleo\nempresa\nenano\nencargo\nenchufe\nencía\nenemigo\nenero\nenfado\nenfermo\nengaño\nenigma\nenlace\nenorme\nenredo\nensayo\nenseñar\nentero\nentrar\nenvase\nenvío\népoca\nequipo\nerizo\nescala\nescena\nescolar\nescribir\nescudo\nesencia\nesfera\nesfuerzo\nespada\nespejo\nespía\nesposa\nespuma\nesquí\nestar\neste\nestilo\nestufa\netapa\neterno\nética\netnia\nevadir\nevaluar\nevento\nevitar\nexacto\nexamen\nexceso\nexcusa\nexento\nexigir\nexilio\nexistir\néxito\nexperto\nexplicar\nexponer\nextremo\nfábrica\nfábula\nfachada\nfácil\nfactor\nfaena\nfaja\nfalda\nfallo\nfalso\nfaltar\nfama\nfamilia\nfamoso\nfaraón\nfarmacia\nfarol\nfarsa\nfase\nfatiga\nfauna\nfavor\nfax\nfebrero\nfecha\nfeliz\nfeo\nferia\nferoz\nfértil\nfervor\nfestín\nfiable\nfianza\nfiar\nfibra\nficción\nficha\nfideo\nfiebre\nfiel\nfiera\nfiesta\nfigura\nfijar\nfijo\nfila\nfilete\nfilial\nfiltro\nfin\nfinca\nfingir\nfinito\nfirma\nflaco\nflauta\nflecha\nflor\nflota\nfluir\nflujo\nflúor\nfobia\nfoca\nfogata\nfogón\nfolio\nfolleto\nfondo\nforma\nforro\nfortuna\nforzar\nfosa\nfoto\nfracaso\nfrágil\nfranja\nfrase\nfraude\nfreír\nfreno\nfresa\nfrío\nfrito\nfruta\nfuego\nfuente\nfuerza\nfuga\nfumar\nfunción\nfunda\nfurgón\nfuria\nfusil\nfútbol\nfuturo\ngacela\ngafas\ngaita\ngajo\ngala\ngalería\ngallo\ngamba\nganar\ngancho\nganga\nganso\ngaraje\ngarza\ngasolina\ngastar\ngato\ngavilán\ngemelo\ngemir\ngen\ngénero\ngenio\ngente\ngeranio\ngerente\ngermen\ngesto\ngigante\ngimnasio\ngirar\ngiro\nglaciar\nglobo\ngloria\ngol\ngolfo\ngoloso\ngolpe\ngoma\ngordo\ngorila\ngorra\ngota\ngoteo\ngozar\ngrada\ngráfico\ngrano\ngrasa\ngratis\ngrave\ngrieta\ngrillo\ngripe\ngris\ngrito\ngrosor\ngrúa\ngrueso\ngrumo\ngrupo\nguante\nguapo\nguardia\nguerra\nguía\nguiño\nguion\nguiso\nguitarra\ngusano\ngustar\nhaber\nhábil\nhablar\nhacer\nhacha\nhada\nhallar\nhamaca\nharina\nhaz\nhazaña\nhebilla\nhebra\nhecho\nhelado\nhelio\nhembra\nherir\nhermano\nhéroe\nhervir\nhielo\nhierro\nhígado\nhigiene\nhijo\nhimno\nhistoria\nhocico\nhogar\nhoguera\nhoja\nhombre\nhongo\nhonor\nhonra\nhora\nhormiga\nhorno\nhostil\nhoyo\nhueco\nhuelga\nhuerta\nhueso\nhuevo\nhuida\nhuir\nhumano\nhúmedo\nhumilde\nhumo\nhundir\nhuracán\nhurto\nicono\nideal\nidioma\nídolo\niglesia\niglú\nigual\nilegal\nilusión\nimagen\nimán\nimitar\nimpar\nimperio\nimponer\nimpulso\nincapaz\níndice\ninerte\ninfiel\ninforme\ningenio\ninicio\ninmenso\ninmune\ninnato\ninsecto\ninstante\ninterés\níntimo\nintuir\ninútil\ninvierno\nira\niris\nironía\nisla\nislote\njabalí\njabón\njamón\njarabe\njardín\njarra\njaula\njazmín\njefe\njeringa\njinete\njornada\njoroba\njoven\njoya\njuerga\njueves\njuez\njugador\njugo\njuguete\njuicio\njunco\njungla\njunio\njuntar\njúpiter\njurar\njusto\njuvenil\njuzgar\nkilo\nkoala\nlabio\nlacio\nlacra\nlado\nladrón\nlagarto\nlágrima\nlaguna\nlaico\nlamer\nlámina\nlámpara\nlana\nlancha\nlangosta\nlanza\nlápiz\nlargo\nlarva\nlástima\nlata\nlátex\nlatir\nlaurel\nlavar\nlazo\nleal\nlección\nleche\nlector\nleer\nlegión\nlegumbre\nlejano\nlengua\nlento\nleña\nleón\nleopardo\nlesión\nletal\nletra\nleve\nleyenda\nlibertad\nlibro\nlicor\nlíder\nlidiar\nlienzo\nliga\nligero\nlima\nlímite\nlimón\nlimpio\nlince\nlindo\nlínea\nlingote\nlino\nlinterna\nlíquido\nliso\nlista\nlitera\nlitio\nlitro\nllaga\nllama\nllanto\nllave\nllegar\nllenar\nllevar\nllorar\nllover\nlluvia\nlobo\nloción\nloco\nlocura\nlógica\nlogro\nlombriz\nlomo\nlonja\nlote\nlucha\nlucir\nlugar\nlujo\nluna\nlunes\nlupa\nlustro\nluto\nluz\nmaceta\nmacho\nmadera\nmadre\nmaduro\nmaestro\nmafia\nmagia\nmago\nmaíz\nmaldad\nmaleta\nmalla\nmalo\nmamá\nmambo\nmamut\nmanco\nmando\nmanejar\nmanga\nmaniquí\nmanjar\nmano\nmanso\nmanta\nmañana\nmapa\nmáquina\nmar\nmarco\nmarea\nmarfil\nmargen\nmarido\nmármol\nmarrón\nmartes\nmarzo\nmasa\nmáscara\nmasivo\nmatar\nmateria\nmatiz\nmatriz\nmáximo\nmayor\nmazorca\nmecha\nmedalla\nmedio\nmédula\nmejilla\nmejor\nmelena\nmelón\nmemoria\nmenor\nmensaje\nmente\nmenú\nmercado\nmerengue\nmérito\nmes\nmesón\nmeta\nmeter\nmétodo\nmetro\nmezcla\nmiedo\nmiel\nmiembro\nmiga\nmil\nmilagro\nmilitar\nmillón\nmimo\nmina\nminero\nmínimo\nminuto\nmiope\nmirar\nmisa\nmiseria\nmisil\nmismo\nmitad\nmito\nmochila\nmoción\nmoda\nmodelo\nmoho\nmojar\nmolde\nmoler\nmolino\nmomento\nmomia\nmonarca\nmoneda\nmonja\nmonto\nmoño\nmorada\nmorder\nmoreno\nmorir\nmorro\nmorsa\nmortal\nmosca\nmostrar\nmotivo\nmover\nmóvil\nmozo\nmucho\nmudar\nmueble\nmuela\nmuerte\nmuestra\nmugre\nmujer\nmula\nmuleta\nmulta\nmundo\nmuñeca\nmural\nmuro\nmúsculo\nmuseo\nmusgo\nmúsica\nmuslo\nnácar\nnación\nnadar\nnaipe\nnaranja\nnariz\nnarrar\nnasal\nnatal\nnativo\nnatural\nnáusea\nnaval\nnave\nnavidad\nnecio\nnéctar\nnegar\nnegocio\nnegro\nneón\nnervio\nneto\nneutro\nnevar\nnevera\nnicho\nnido\nniebla\nnieto\nniñez\nniño\nnítido\nnivel\nnobleza\nnoche\nnómina\nnoria\nnorma\nnorte\nnota\nnoticia\nnovato\nnovela\nnovio\nnube\nnuca\nnúcleo\nnudillo\nnudo\nnuera\nnueve\nnuez\nnulo\nnúmero\nnutria\noasis\nobeso\nobispo\nobjeto\nobra\nobrero\nobservar\nobtener\nobvio\noca\nocaso\nocéano\nochenta\nocho\nocio\nocre\noctavo\noctubre\noculto\nocupar\nocurrir\nodiar\nodio\nodisea\noeste\nofensa\noferta\noficio\nofrecer\nogro\noído\noír\nojo\nola\noleada\nolfato\nolivo\nolla\nolmo\nolor\nolvido\nombligo\nonda\nonza\nopaco\nopción\nópera\nopinar\noponer\noptar\nóptica\nopuesto\noración\norador\noral\nórbita\norca\norden\noreja\nórgano\norgía\norgullo\noriente\norigen\norilla\noro\norquesta\noruga\nosadía\noscuro\nosezno\noso\nostra\notoño\notro\noveja\nóvulo\nóxido\noxígeno\noyente\nozono\npacto\npadre\npaella\npágina\npago\npaís\npájaro\npalabra\npalco\npaleta\npálido\npalma\npaloma\npalpar\npan\npanal\npánico\npantera\npañuelo\npapá\npapel\npapilla\npaquete\nparar\nparcela\npared\nparir\nparo\npárpado\nparque\npárrafo\nparte\npasar\npaseo\npasión\npaso\npasta\npata\npatio\npatria\npausa\npauta\npavo\npayaso\npeatón\npecado\npecera\npecho\npedal\npedir\npegar\npeine\npelar\npeldaño\npelea\npeligro\npellejo\npelo\npeluca\npena\npensar\npeñón\npeón\npeor\npepino\npequeño\npera\npercha\nperder\npereza\nperfil\nperico\nperla\npermiso\nperro\npersona\npesa\npesca\npésimo\npestaña\npétalo\npetróleo\npez\npezuña\npicar\npichón\npie\npiedra\npierna\npieza\npijama\npilar\npiloto\npimienta\npino\npintor\npinza\npiña\npiojo\npipa\npirata\npisar\npiscina\npiso\npista\npitón\npizca\nplaca\nplan\nplata\nplaya\nplaza\npleito\npleno\nplomo\npluma\nplural\npobre\npoco\npoder\npodio\npoema\npoesía\npoeta\npolen\npolicía\npollo\npolvo\npomada\npomelo\npomo\npompa\nponer\nporción\nportal\nposada\nposeer\nposible\nposte\npotencia\npotro\npozo\nprado\nprecoz\npregunta\npremio\nprensa\npreso\nprevio\nprimo\npríncipe\nprisión\nprivar\nproa\nprobar\nproceso\nproducto\nproeza\nprofesor\nprograma\nprole\npromesa\npronto\npropio\npróximo\nprueba\npúblico\npuchero\npudor\npueblo\npuerta\npuesto\npulga\npulir\npulmón\npulpo\npulso\npuma\npunto\npuñal\npuño\npupa\npupila\npuré\nquedar\nqueja\nquemar\nquerer\nqueso\nquieto\nquímica\nquince\nquitar\nrábano\nrabia\nrabo\nración\nradical\nraíz\nrama\nrampa\nrancho\nrango\nrapaz\nrápido\nrapto\nrasgo\nraspa\nrato\nrayo\nraza\nrazón\nreacción\nrealidad\nrebaño\nrebote\nrecaer\nreceta\nrechazo\nrecoger\nrecreo\nrecto\nrecurso\nred\nredondo\nreducir\nreflejo\nreforma\nrefrán\nrefugio\nregalo\nregir\nregla\nregreso\nrehén\nreino\nreír\nreja\nrelato\nrelevo\nrelieve\nrelleno\nreloj\nremar\nremedio\nremo\nrencor\nrendir\nrenta\nreparto\nrepetir\nreposo\nreptil\nres\nrescate\nresina\nrespeto\nresto\nresumen\nretiro\nretorno\nretrato\nreunir\nrevés\nrevista\nrey\nrezar\nrico\nriego\nrienda\nriesgo\nrifa\nrígido\nrigor\nrincón\nriñón\nrío\nriqueza\nrisa\nritmo\nrito\nrizo\nroble\nroce\nrociar\nrodar\nrodeo\nrodilla\nroer\nrojizo\nrojo\nromero\nromper\nron\nronco\nronda\nropa\nropero\nrosa\nrosca\nrostro\nrotar\nrubí\nrubor\nrudo\nrueda\nrugir\nruido\nruina\nruleta\nrulo\nrumbo\nrumor\nruptura\nruta\nrutina\nsábado\nsaber\nsabio\nsable\nsacar\nsagaz\nsagrado\nsala\nsaldo\nsalero\nsalir\nsalmón\nsalón\nsalsa\nsalto\nsalud\nsalvar\nsamba\nsanción\nsandía\nsanear\nsangre\nsanidad\nsano\nsanto\nsapo\nsaque\nsardina\nsartén\nsastre\nsatán\nsauna\nsaxofón\nsección\nseco\nsecreto\nsecta\nsed\nseguir\nseis\nsello\nselva\nsemana\nsemilla\nsenda\nsensor\nseñal\nseñor\nseparar\nsepia\nsequía\nser\nserie\nsermón\nservir\nsesenta\nsesión\nseta\nsetenta\nsevero\nsexo\nsexto\nsidra\nsiesta\nsiete\nsiglo\nsigno\nsílaba\nsilbar\nsilencio\nsilla\nsímbolo\nsimio\nsirena\nsistema\nsitio\nsituar\nsobre\nsocio\nsodio\nsol\nsolapa\nsoldado\nsoledad\nsólido\nsoltar\nsolución\nsombra\nsondeo\nsonido\nsonoro\nsonrisa\nsopa\nsoplar\nsoporte\nsordo\nsorpresa\nsorteo\nsostén\nsótano\nsuave\nsubir\nsuceso\nsudor\nsuegra\nsuelo\nsueño\nsuerte\nsufrir\nsujeto\nsultán\nsumar\nsuperar\nsuplir\nsuponer\nsupremo\nsur\nsurco\nsureño\nsurgir\nsusto\nsutil\ntabaco\ntabique\ntabla\ntabú\ntaco\ntacto\ntajo\ntalar\ntalco\ntalento\ntalla\ntalón\ntamaño\ntambor\ntango\ntanque\ntapa\ntapete\ntapia\ntapón\ntaquilla\ntarde\ntarea\ntarifa\ntarjeta\ntarot\ntarro\ntarta\ntatuaje\ntauro\ntaza\ntazón\nteatro\ntecho\ntecla\ntécnica\ntejado\ntejer\ntejido\ntela\nteléfono\ntema\ntemor\ntemplo\ntenaz\ntender\ntener\ntenis\ntenso\nteoría\nterapia\nterco\ntérmino\nternura\nterror\ntesis\ntesoro\ntestigo\ntetera\ntexto\ntez\ntibio\ntiburón\ntiempo\ntienda\ntierra\ntieso\ntigre\ntijera\ntilde\ntimbre\ntímido\ntimo\ntinta\ntío\ntípico\ntipo\ntira\ntirón\ntitán\ntítere\ntítulo\ntiza\ntoalla\ntobillo\ntocar\ntocino\ntodo\ntoga\ntoldo\ntomar\ntono\ntonto\ntopar\ntope\ntoque\ntórax\ntorero\ntormenta\ntorneo\ntoro\ntorpedo\ntorre\ntorso\ntortuga\ntos\ntosco\ntoser\ntóxico\ntrabajo\ntractor\ntraer\ntráfico\ntrago\ntraje\ntramo\ntrance\ntrato\ntrauma\ntrazar\ntrébol\ntregua\ntreinta\ntren\ntrepar\ntres\ntribu\ntrigo\ntripa\ntriste\ntriunfo\ntrofeo\ntrompa\ntronco\ntropa\ntrote\ntrozo\ntruco\ntrueno\ntrufa\ntubería\ntubo\ntuerto\ntumba\ntumor\ntúnel\ntúnica\nturbina\nturismo\nturno\ntutor\nubicar\núlcera\numbral\nunidad\nunir\nuniverso\nuno\nuntar\nuña\nurbano\nurbe\nurgente\nurna\nusar\nusuario\nútil\nutopía\nuva\nvaca\nvacío\nvacuna\nvagar\nvago\nvaina\nvajilla\nvale\nválido\nvalle\nvalor\nválvula\nvampiro\nvara\nvariar\nvarón\nvaso\nvecino\nvector\nvehículo\nveinte\nvejez\nvela\nvelero\nveloz\nvena\nvencer\nvenda\nveneno\nvengar\nvenir\nventa\nvenus\nver\nverano\nverbo\nverde\nvereda\nverja\nverso\nverter\nvía\nviaje\nvibrar\nvicio\nvíctima\nvida\nvídeo\nvidrio\nviejo\nviernes\nvigor\nvil\nvilla\nvinagre\nvino\nviñedo\nviolín\nviral\nvirgo\nvirtud\nvisor\nvíspera\nvista\nvitamina\nviudo\nvivaz\nvivero\nvivir\nvivo\nvolcán\nvolumen\nvolver\nvoraz\nvotar\nvoto\nvoz\nvuelo\nvulgar\nyacer\nyate\nyegua\nyema\nyerno\nyeso\nyodo\nyoga\nyogur\nzafiro\nzanja\nzapato\nzarza\nzona\nzorro\nzumo\nzurdo`.split('\\n');\n","export const wordlist = `的\n一\n是\n在\n不\n了\n有\n和\n人\n這\n中\n大\n為\n上\n個\n國\n我\n以\n要\n他\n時\n來\n用\n們\n生\n到\n作\n地\n於\n出\n就\n分\n對\n成\n會\n可\n主\n發\n年\n動\n同\n工\n也\n能\n下\n過\n子\n說\n產\n種\n面\n而\n方\n後\n多\n定\n行\n學\n法\n所\n民\n得\n經\n十\n三\n之\n進\n著\n等\n部\n度\n家\n電\n力\n裡\n如\n水\n化\n高\n自\n二\n理\n起\n小\n物\n現\n實\n加\n量\n都\n兩\n體\n制\n機\n當\n使\n點\n從\n業\n本\n去\n把\n性\n好\n應\n開\n它\n合\n還\n因\n由\n其\n些\n然\n前\n外\n天\n政\n四\n日\n那\n社\n義\n事\n平\n形\n相\n全\n表\n間\n樣\n與\n關\n各\n重\n新\n線\n內\n數\n正\n心\n反\n你\n明\n看\n原\n又\n麼\n利\n比\n或\n但\n質\n氣\n第\n向\n道\n命\n此\n變\n條\n只\n沒\n結\n解\n問\n意\n建\n月\n公\n無\n系\n軍\n很\n情\n者\n最\n立\n代\n想\n已\n通\n並\n提\n直\n題\n黨\n程\n展\n五\n果\n料\n象\n員\n革\n位\n入\n常\n文\n總\n次\n品\n式\n活\n設\n及\n管\n特\n件\n長\n求\n老\n頭\n基\n資\n邊\n流\n路\n級\n少\n圖\n山\n統\n接\n知\n較\n將\n組\n見\n計\n別\n她\n手\n角\n期\n根\n論\n運\n農\n指\n幾\n九\n區\n強\n放\n決\n西\n被\n幹\n做\n必\n戰\n先\n回\n則\n任\n取\n據\n處\n隊\n南\n給\n色\n光\n門\n即\n保\n治\n北\n造\n百\n規\n熱\n領\n七\n海\n口\n東\n導\n器\n壓\n志\n世\n金\n增\n爭\n濟\n階\n油\n思\n術\n極\n交\n受\n聯\n什\n認\n六\n共\n權\n收\n證\n改\n清\n美\n再\n採\n轉\n更\n單\n風\n切\n打\n白\n教\n速\n花\n帶\n安\n場\n身\n車\n例\n真\n務\n具\n萬\n每\n目\n至\n達\n走\n積\n示\n議\n聲\n報\n鬥\n完\n類\n八\n離\n華\n名\n確\n才\n科\n張\n信\n馬\n節\n話\n米\n整\n空\n元\n況\n今\n集\n溫\n傳\n土\n許\n步\n群\n廣\n石\n記\n需\n段\n研\n界\n拉\n林\n律\n叫\n且\n究\n觀\n越\n織\n裝\n影\n算\n低\n持\n音\n眾\n書\n布\n复\n容\n兒\n須\n際\n商\n非\n驗\n連\n斷\n深\n難\n近\n礦\n千\n週\n委\n素\n技\n備\n半\n辦\n青\n省\n列\n習\n響\n約\n支\n般\n史\n感\n勞\n便\n團\n往\n酸\n歷\n市\n克\n何\n除\n消\n構\n府\n稱\n太\n準\n精\n值\n號\n率\n族\n維\n劃\n選\n標\n寫\n存\n候\n毛\n親\n快\n效\n斯\n院\n查\n江\n型\n眼\n王\n按\n格\n養\n易\n置\n派\n層\n片\n始\n卻\n專\n狀\n育\n廠\n京\n識\n適\n屬\n圓\n包\n火\n住\n調\n滿\n縣\n局\n照\n參\n紅\n細\n引\n聽\n該\n鐵\n價\n嚴\n首\n底\n液\n官\n德\n隨\n病\n蘇\n失\n爾\n死\n講\n配\n女\n黃\n推\n顯\n談\n罪\n神\n藝\n呢\n席\n含\n企\n望\n密\n批\n營\n項\n防\n舉\n球\n英\n氧\n勢\n告\n李\n台\n落\n木\n幫\n輪\n破\n亞\n師\n圍\n注\n遠\n字\n材\n排\n供\n河\n態\n封\n另\n施\n減\n樹\n溶\n怎\n止\n案\n言\n士\n均\n武\n固\n葉\n魚\n波\n視\n僅\n費\n緊\n愛\n左\n章\n早\n朝\n害\n續\n輕\n服\n試\n食\n充\n兵\n源\n判\n護\n司\n足\n某\n練\n差\n致\n板\n田\n降\n黑\n犯\n負\n擊\n范\n繼\n興\n似\n餘\n堅\n曲\n輸\n修\n故\n城\n夫\n夠\n送\n筆\n船\n佔\n右\n財\n吃\n富\n春\n職\n覺\n漢\n畫\n功\n巴\n跟\n雖\n雜\n飛\n檢\n吸\n助\n昇\n陽\n互\n初\n創\n抗\n考\n投\n壞\n策\n古\n徑\n換\n未\n跑\n留\n鋼\n曾\n端\n責\n站\n簡\n述\n錢\n副\n盡\n帝\n射\n草\n衝\n承\n獨\n令\n限\n阿\n宣\n環\n雙\n請\n超\n微\n讓\n控\n州\n良\n軸\n找\n否\n紀\n益\n依\n優\n頂\n礎\n載\n倒\n房\n突\n坐\n粉\n敵\n略\n客\n袁\n冷\n勝\n絕\n析\n塊\n劑\n測\n絲\n協\n訴\n念\n陳\n仍\n羅\n鹽\n友\n洋\n錯\n苦\n夜\n刑\n移\n頻\n逐\n靠\n混\n母\n短\n皮\n終\n聚\n汽\n村\n雲\n哪\n既\n距\n衛\n停\n烈\n央\n察\n燒\n迅\n境\n若\n印\n洲\n刻\n括\n激\n孔\n搞\n甚\n室\n待\n核\n校\n散\n侵\n吧\n甲\n遊\n久\n菜\n味\n舊\n模\n湖\n貨\n損\n預\n阻\n毫\n普\n穩\n乙\n媽\n植\n息\n擴\n銀\n語\n揮\n酒\n守\n拿\n序\n紙\n醫\n缺\n雨\n嗎\n針\n劉\n啊\n急\n唱\n誤\n訓\n願\n審\n附\n獲\n茶\n鮮\n糧\n斤\n孩\n脫\n硫\n肥\n善\n龍\n演\n父\n漸\n血\n歡\n械\n掌\n歌\n沙\n剛\n攻\n謂\n盾\n討\n晚\n粒\n亂\n燃\n矛\n乎\n殺\n藥\n寧\n魯\n貴\n鐘\n煤\n讀\n班\n伯\n香\n介\n迫\n句\n豐\n培\n握\n蘭\n擔\n弦\n蛋\n沉\n假\n穿\n執\n答\n樂\n誰\n順\n煙\n縮\n徵\n臉\n喜\n松\n腳\n困\n異\n免\n背\n星\n福\n買\n染\n井\n概\n慢\n怕\n磁\n倍\n祖\n皇\n促\n靜\n補\n評\n翻\n肉\n踐\n尼\n衣\n寬\n揚\n棉\n希\n傷\n操\n垂\n秋\n宜\n氫\n套\n督\n振\n架\n亮\n末\n憲\n慶\n編\n牛\n觸\n映\n雷\n銷\n詩\n座\n居\n抓\n裂\n胞\n呼\n娘\n景\n威\n綠\n晶\n厚\n盟\n衡\n雞\n孫\n延\n危\n膠\n屋\n鄉\n臨\n陸\n顧\n掉\n呀\n燈\n歲\n措\n束\n耐\n劇\n玉\n趙\n跳\n哥\n季\n課\n凱\n胡\n額\n款\n紹\n卷\n齊\n偉\n蒸\n殖\n永\n宗\n苗\n川\n爐\n岩\n弱\n零\n楊\n奏\n沿\n露\n桿\n探\n滑\n鎮\n飯\n濃\n航\n懷\n趕\n庫\n奪\n伊\n靈\n稅\n途\n滅\n賽\n歸\n召\n鼓\n播\n盤\n裁\n險\n康\n唯\n錄\n菌\n純\n借\n糖\n蓋\n橫\n符\n私\n努\n堂\n域\n槍\n潤\n幅\n哈\n竟\n熟\n蟲\n澤\n腦\n壤\n碳\n歐\n遍\n側\n寨\n敢\n徹\n慮\n斜\n薄\n庭\n納\n彈\n飼\n伸\n折\n麥\n濕\n暗\n荷\n瓦\n塞\n床\n築\n惡\n戶\n訪\n塔\n奇\n透\n梁\n刀\n旋\n跡\n卡\n氯\n遇\n份\n毒\n泥\n退\n洗\n擺\n灰\n彩\n賣\n耗\n夏\n擇\n忙\n銅\n獻\n硬\n予\n繁\n圈\n雪\n函\n亦\n抽\n篇\n陣\n陰\n丁\n尺\n追\n堆\n雄\n迎\n泛\n爸\n樓\n避\n謀\n噸\n野\n豬\n旗\n累\n偏\n典\n館\n索\n秦\n脂\n潮\n爺\n豆\n忽\n托\n驚\n塑\n遺\n愈\n朱\n替\n纖\n粗\n傾\n尚\n痛\n楚\n謝\n奮\n購\n磨\n君\n池\n旁\n碎\n骨\n監\n捕\n弟\n暴\n割\n貫\n殊\n釋\n詞\n亡\n壁\n頓\n寶\n午\n塵\n聞\n揭\n炮\n殘\n冬\n橋\n婦\n警\n綜\n招\n吳\n付\n浮\n遭\n徐\n您\n搖\n谷\n贊\n箱\n隔\n訂\n男\n吹\n園\n紛\n唐\n敗\n宋\n玻\n巨\n耕\n坦\n榮\n閉\n灣\n鍵\n凡\n駐\n鍋\n救\n恩\n剝\n凝\n鹼\n齒\n截\n煉\n麻\n紡\n禁\n廢\n盛\n版\n緩\n淨\n睛\n昌\n婚\n涉\n筒\n嘴\n插\n岸\n朗\n莊\n街\n藏\n姑\n貿\n腐\n奴\n啦\n慣\n乘\n夥\n恢\n勻\n紗\n扎\n辯\n耳\n彪\n臣\n億\n璃\n抵\n脈\n秀\n薩\n俄\n網\n舞\n店\n噴\n縱\n寸\n汗\n掛\n洪\n賀\n閃\n柬\n爆\n烯\n津\n稻\n牆\n軟\n勇\n像\n滾\n厘\n蒙\n芳\n肯\n坡\n柱\n盪\n腿\n儀\n旅\n尾\n軋\n冰\n貢\n登\n黎\n削\n鑽\n勒\n逃\n障\n氨\n郭\n峰\n幣\n港\n伏\n軌\n畝\n畢\n擦\n莫\n刺\n浪\n秘\n援\n株\n健\n售\n股\n島\n甘\n泡\n睡\n童\n鑄\n湯\n閥\n休\n匯\n舍\n牧\n繞\n炸\n哲\n磷\n績\n朋\n淡\n尖\n啟\n陷\n柴\n呈\n徒\n顏\n淚\n稍\n忘\n泵\n藍\n拖\n洞\n授\n鏡\n辛\n壯\n鋒\n貧\n虛\n彎\n摩\n泰\n幼\n廷\n尊\n窗\n綱\n弄\n隸\n疑\n氏\n宮\n姐\n震\n瑞\n怪\n尤\n琴\n循\n描\n膜\n違\n夾\n腰\n緣\n珠\n窮\n森\n枝\n竹\n溝\n催\n繩\n憶\n邦\n剩\n幸\n漿\n欄\n擁\n牙\n貯\n禮\n濾\n鈉\n紋\n罷\n拍\n咱\n喊\n袖\n埃\n勤\n罰\n焦\n潛\n伍\n墨\n欲\n縫\n姓\n刊\n飽\n仿\n獎\n鋁\n鬼\n麗\n跨\n默\n挖\n鏈\n掃\n喝\n袋\n炭\n污\n幕\n諸\n弧\n勵\n梅\n奶\n潔\n災\n舟\n鑑\n苯\n訟\n抱\n毀\n懂\n寒\n智\n埔\n寄\n屆\n躍\n渡\n挑\n丹\n艱\n貝\n碰\n拔\n爹\n戴\n碼\n夢\n芽\n熔\n赤\n漁\n哭\n敬\n顆\n奔\n鉛\n仲\n虎\n稀\n妹\n乏\n珍\n申\n桌\n遵\n允\n隆\n螺\n倉\n魏\n銳\n曉\n氮\n兼\n隱\n礙\n赫\n撥\n忠\n肅\n缸\n牽\n搶\n博\n巧\n殼\n兄\n杜\n訊\n誠\n碧\n祥\n柯\n頁\n巡\n矩\n悲\n灌\n齡\n倫\n票\n尋\n桂\n鋪\n聖\n恐\n恰\n鄭\n趣\n抬\n荒\n騰\n貼\n柔\n滴\n猛\n闊\n輛\n妻\n填\n撤\n儲\n簽\n鬧\n擾\n紫\n砂\n遞\n戲\n吊\n陶\n伐\n餵\n療\n瓶\n婆\n撫\n臂\n摸\n忍\n蝦\n蠟\n鄰\n胸\n鞏\n擠\n偶\n棄\n槽\n勁\n乳\n鄧\n吉\n仁\n爛\n磚\n租\n烏\n艦\n伴\n瓜\n淺\n丙\n暫\n燥\n橡\n柳\n迷\n暖\n牌\n秧\n膽\n詳\n簧\n踏\n瓷\n譜\n呆\n賓\n糊\n洛\n輝\n憤\n競\n隙\n怒\n粘\n乃\n緒\n肩\n籍\n敏\n塗\n熙\n皆\n偵\n懸\n掘\n享\n糾\n醒\n狂\n鎖\n淀\n恨\n牲\n霸\n爬\n賞\n逆\n玩\n陵\n祝\n秒\n浙\n貌\n役\n彼\n悉\n鴨\n趨\n鳳\n晨\n畜\n輩\n秩\n卵\n署\n梯\n炎\n灘\n棋\n驅\n篩\n峽\n冒\n啥\n壽\n譯\n浸\n泉\n帽\n遲\n矽\n疆\n貸\n漏\n稿\n冠\n嫩\n脅\n芯\n牢\n叛\n蝕\n奧\n鳴\n嶺\n羊\n憑\n串\n塘\n繪\n酵\n融\n盆\n錫\n廟\n籌\n凍\n輔\n攝\n襲\n筋\n拒\n僚\n旱\n鉀\n鳥\n漆\n沈\n眉\n疏\n添\n棒\n穗\n硝\n韓\n逼\n扭\n僑\n涼\n挺\n碗\n栽\n炒\n杯\n患\n餾\n勸\n豪\n遼\n勃\n鴻\n旦\n吏\n拜\n狗\n埋\n輥\n掩\n飲\n搬\n罵\n辭\n勾\n扣\n估\n蔣\n絨\n霧\n丈\n朵\n姆\n擬\n宇\n輯\n陝\n雕\n償\n蓄\n崇\n剪\n倡\n廳\n咬\n駛\n薯\n刷\n斥\n番\n賦\n奉\n佛\n澆\n漫\n曼\n扇\n鈣\n桃\n扶\n仔\n返\n俗\n虧\n腔\n鞋\n棱\n覆\n框\n悄\n叔\n撞\n騙\n勘\n旺\n沸\n孤\n吐\n孟\n渠\n屈\n疾\n妙\n惜\n仰\n狠\n脹\n諧\n拋\n黴\n桑\n崗\n嘛\n衰\n盜\n滲\n臟\n賴\n湧\n甜\n曹\n閱\n肌\n哩\n厲\n烴\n緯\n毅\n昨\n偽\n症\n煮\n嘆\n釘\n搭\n莖\n籠\n酷\n偷\n弓\n錐\n恆\n傑\n坑\n鼻\n翼\n綸\n敘\n獄\n逮\n罐\n絡\n棚\n抑\n膨\n蔬\n寺\n驟\n穆\n冶\n枯\n冊\n屍\n凸\n紳\n坯\n犧\n焰\n轟\n欣\n晉\n瘦\n禦\n錠\n錦\n喪\n旬\n鍛\n壟\n搜\n撲\n邀\n亭\n酯\n邁\n舒\n脆\n酶\n閒\n憂\n酚\n頑\n羽\n漲\n卸\n仗\n陪\n闢\n懲\n杭\n姚\n肚\n捉\n飄\n漂\n昆\n欺\n吾\n郎\n烷\n汁\n呵\n飾\n蕭\n雅\n郵\n遷\n燕\n撒\n姻\n赴\n宴\n煩\n債\n帳\n斑\n鈴\n旨\n醇\n董\n餅\n雛\n姿\n拌\n傅\n腹\n妥\n揉\n賢\n拆\n歪\n葡\n胺\n丟\n浩\n徽\n昂\n墊\n擋\n覽\n貪\n慰\n繳\n汪\n慌\n馮\n諾\n姜\n誼\n兇\n劣\n誣\n耀\n昏\n躺\n盈\n騎\n喬\n溪\n叢\n盧\n抹\n悶\n諮\n刮\n駕\n纜\n悟\n摘\n鉺\n擲\n頗\n幻\n柄\n惠\n慘\n佳\n仇\n臘\n窩\n滌\n劍\n瞧\n堡\n潑\n蔥\n罩\n霍\n撈\n胎\n蒼\n濱\n倆\n捅\n湘\n砍\n霞\n邵\n萄\n瘋\n淮\n遂\n熊\n糞\n烘\n宿\n檔\n戈\n駁\n嫂\n裕\n徙\n箭\n捐\n腸\n撐\n曬\n辨\n殿\n蓮\n攤\n攪\n醬\n屏\n疫\n哀\n蔡\n堵\n沫\n皺\n暢\n疊\n閣\n萊\n敲\n轄\n鉤\n痕\n壩\n巷\n餓\n禍\n丘\n玄\n溜\n曰\n邏\n彭\n嘗\n卿\n妨\n艇\n吞\n韋\n怨\n矮\n歇`.split('\\n');\n","// biome-ignore lint/performance/noBarrelFile: _\nexport { wordlist as czech } from '@scure/bip39/wordlists/czech';\nexport { wordlist as english } from '@scure/bip39/wordlists/english';\nexport { wordlist as french } from '@scure/bip39/wordlists/french';\nexport { wordlist as italian } from '@scure/bip39/wordlists/italian';\nexport { wordlist as japanese } from '@scure/bip39/wordlists/japanese';\nexport { wordlist as korean } from '@scure/bip39/wordlists/korean';\nexport { wordlist as portuguese } from '@scure/bip39/wordlists/portuguese';\nexport { wordlist as simplifiedChinese } from '@scure/bip39/wordlists/simplified-chinese';\nexport { wordlist as spanish } from '@scure/bip39/wordlists/spanish';\nexport { wordlist as traditionalChinese } from '@scure/bip39/wordlists/traditional-chinese';\n//# sourceMappingURL=wordlists.js.map","// biome-ignore lint/performance/noBarrelFile: entrypoint module\nexport { HDKey } from '@scure/bip32';\nexport { createNonceManager, nonceManager, } from '../utils/nonceManager.js';\nexport { \n/** @deprecated Use `serializeSignature` instead. */\nserializeSignature as signatureToHex, serializeSignature, } from '../utils/signature/serializeSignature.js';\nexport { generateMnemonic, } from './generateMnemonic.js';\nexport { generatePrivateKey, } from './generatePrivateKey.js';\nexport { hdKeyToAccount, } from './hdKeyToAccount.js';\nexport { mnemonicToAccount, } from './mnemonicToAccount.js';\nexport { privateKeyToAccount, } from './privateKeyToAccount.js';\nexport { toAccount } from './toAccount.js';\nexport { parseAccount, } from './utils/parseAccount.js';\nexport { privateKeyToAddress, } from './utils/privateKeyToAddress.js';\nexport { publicKeyToAddress, } from './utils/publicKeyToAddress.js';\nexport { setSignEntropy, sign, } from './utils/sign.js';\nexport { signAuthorization, } from './utils/signAuthorization.js';\nexport { signMessage, } from './utils/signMessage.js';\nexport { signTransaction, } from './utils/signTransaction.js';\nexport { signTypedData, } from './utils/signTypedData.js';\nexport { czech, english, french, italian, japanese, korean, portuguese, simplifiedChinese, spanish, traditionalChinese, } from './wordlists.js';\n//# sourceMappingURL=index.js.map","import { serializeSignature } from '../../../accounts/index.js';\nimport { encodePacked } from '../../../utils/abi/encodePacked.js';\nimport { isHex } from '../../../utils/data/isHex.js';\nimport { size } from '../../../utils/data/size.js';\nimport { bytesToHex, stringToHex } from '../../../utils/encoding/toHex.js';\nimport { encodeType, hashStruct, } from '../../../utils/signature/hashTypedData.js';\nimport { getTypesForEIP712Domain } from '../../../utils/typedData.js';\n/**\n * Wraps a typed data signature for ERC-7739.\n *\n * @example\n * ```ts\n * const signature = wrapTypedDataSignature({\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * signature: '0x...',\n * })\n * ```\n */\nexport function wrapTypedDataSignature(parameters) {\n const { domain, message, primaryType, signature, types } = parameters;\n const signatureHex = (() => {\n if (isHex(signature))\n return signature;\n if (typeof signature === 'object' && 'r' in signature && 's' in signature)\n return serializeSignature(signature);\n return bytesToHex(signature);\n })();\n // Compute dependencies for wrapped signature.\n const hashedDomain = hashStruct({\n data: domain ?? {},\n types: {\n EIP712Domain: getTypesForEIP712Domain({ domain }),\n },\n primaryType: 'EIP712Domain',\n });\n const hashedContents = hashStruct({\n data: message,\n types: types,\n primaryType,\n });\n const encodedType = encodeType({\n primaryType,\n types: types,\n });\n // Construct wrapped signature.\n return encodePacked(['bytes', 'bytes32', 'bytes32', 'bytes', 'uint16'], [\n signatureHex,\n hashedDomain,\n hashedContents,\n stringToHex(encodedType),\n size(stringToHex(encodedType)),\n ]);\n}\n//# sourceMappingURL=wrapTypedDataSignature.js.map","import { parseAccount } from '../../../accounts/utils/parseAccount.js';\nimport { getEip712Domain, } from '../../../actions/public/getEip712Domain.js';\nimport { signTypedData as signTypedData_ } from '../../../actions/wallet/signTypedData.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { wrapTypedDataSignature } from '../utils/wrapTypedDataSignature.js';\n/**\n * Signs an [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data message via [ERC-7739 `TypedDataSign` format](https://eips.ethereum.org/EIPS/eip-7702).\n *\n * This Action is suitable to sign messages for Smart Accounts that implement (or conform to) [ERC-7739](https://eips.ethereum.org/EIPS/eip-7702) (e.g. Solady's [ERC1271.sol](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC1271.sol)).\n *\n * - Docs: https://viem.sh/experimental/erc7739/signTypedData\n *\n * @param client - Client to use\n * @param parameters - {@link SignTypedDataParameters}\n * @returns The signed data. {@link SignTypedDataReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/experimental/erc7739'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTypedData(client, {\n * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb',\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/experimental/erc7739'\n *\n * const client = createWalletClient({\n * account: '0xE8Df82fA4E10e6A12a9Dab552bceA2acd26De9bb'\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signTypedData(client, {\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * verifier: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function signTypedData(client, parameters) {\n const { account: account_ = client.account, domain, factory, factoryData, message, primaryType, types, verifier, } = parameters;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/experimental/erc7739/signTypedData',\n });\n const account = parseAccount(account_);\n // Retrieve account EIP712 domain.\n const { domain: verifierDomain } = await (async () => {\n if (parameters.verifierDomain)\n return {\n domain: parameters.verifierDomain,\n };\n return getAction(client, getEip712Domain, 'getEip712Domain')({\n address: verifier,\n factory,\n factoryData,\n });\n })();\n // Sign with typed data wrapper.\n const signature = await getAction(client, signTypedData_, 'signTypedData')({\n account,\n domain,\n types: {\n ...types,\n TypedDataSign: [\n { name: 'contents', type: primaryType },\n { name: 'name', type: 'string' },\n { name: 'version', type: 'string' },\n { name: 'chainId', type: 'uint256' },\n { name: 'verifyingContract', type: 'address' },\n { name: 'salt', type: 'bytes32' },\n ],\n },\n primaryType: 'TypedDataSign',\n message: {\n contents: message,\n ...verifierDomain,\n },\n });\n return wrapTypedDataSignature({\n domain,\n message,\n primaryType,\n signature,\n types,\n });\n}\n//# sourceMappingURL=signTypedData.js.map","import { parseAccount } from '../../../accounts/utils/parseAccount.js';\nimport { readContract } from '../../../actions/public/readContract.js';\nimport { signMessage as signMessage_ } from '../../../actions/wallet/signMessage.js';\nimport { BaseError } from '../../../errors/base.js';\nimport { signMessage } from '../../../experimental/erc7739/actions/signMessage.js';\nimport { signTypedData } from '../../../experimental/erc7739/actions/signTypedData.js';\nimport { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js';\nimport { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js';\nimport { pad } from '../../../utils/data/pad.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { entryPoint07Abi } from '../../constants/abis.js';\nimport { entryPoint07Address } from '../../constants/address.js';\nimport { getUserOperationHash } from '../../utils/userOperation/getUserOperationHash.js';\nimport { toSmartAccount } from '../toSmartAccount.js';\n/**\n * @description Create a Solady Smart Account – based off [Solady's `ERC4337.sol`](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC4337.sol).\n *\n * @param parameters - {@link ToSoladySmartAccountParameters}\n * @returns Solady Smart Account. {@link ToSoladySmartAccountReturnType}\n *\n * @example\n * import { toSoladySmartAccount } from 'viem/account-abstraction'\n * import { client } from './client.js'\n *\n * const implementation = toSoladySmartAccount({\n * client,\n * owner: '0x...',\n * })\n */\nexport async function toSoladySmartAccount(parameters) {\n const { address, client, entryPoint: entryPoint_ = {\n abi: entryPoint07Abi,\n address: entryPoint07Address,\n version: '0.7',\n }, factoryAddress = '0x5d82735936c6Cd5DE57cC3c1A799f6B2E6F933Df', getNonce, salt = '0x0', } = parameters;\n const entryPoint = {\n abi: entryPoint_.abi,\n address: entryPoint_.address,\n version: entryPoint_.version,\n };\n const factory = {\n abi: factoryAbi,\n address: factoryAddress,\n };\n const owner = parseAccount(parameters.owner);\n return toSmartAccount({\n client,\n entryPoint,\n getNonce,\n extend: { abi, factory },\n async decodeCalls(data) {\n const result = decodeFunctionData({\n abi,\n data,\n });\n if (result.functionName === 'execute')\n return [\n { to: result.args[0], value: result.args[1], data: result.args[2] },\n ];\n if (result.functionName === 'executeBatch')\n return result.args[0].map((arg) => ({\n to: arg.target,\n value: arg.value,\n data: arg.data,\n }));\n throw new BaseError(`unable to decode calls for \"${result.functionName}\"`);\n },\n async encodeCalls(calls) {\n if (calls.length === 1)\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'],\n });\n return encodeFunctionData({\n abi,\n functionName: 'executeBatch',\n args: [\n calls.map((call) => ({\n data: call.data ?? '0x',\n target: call.to,\n value: call.value ?? 0n,\n })),\n ],\n });\n },\n async getAddress() {\n if (address)\n return address;\n return await readContract(client, {\n ...factory,\n functionName: 'getAddress',\n args: [pad(salt)],\n });\n },\n async getFactoryArgs() {\n const factoryData = encodeFunctionData({\n abi: factory.abi,\n functionName: 'createAccount',\n args: [owner.address, pad(salt)],\n });\n return { factory: factory.address, factoryData };\n },\n async getStubSignature() {\n return '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c';\n },\n async signMessage(parameters) {\n const { message } = parameters;\n const [address, { factory, factoryData }] = await Promise.all([\n this.getAddress(),\n this.getFactoryArgs(),\n ]);\n return await signMessage(client, {\n account: owner,\n factory,\n factoryData,\n message,\n verifier: address,\n });\n },\n async signTypedData(parameters) {\n const { domain, types, primaryType, message } = parameters;\n const [address, { factory, factoryData }] = await Promise.all([\n this.getAddress(),\n this.getFactoryArgs(),\n ]);\n return await signTypedData(client, {\n account: owner,\n domain,\n message,\n factory,\n factoryData,\n primaryType,\n types,\n verifier: address,\n });\n },\n async signUserOperation(parameters) {\n const { chainId = client.chain.id, ...userOperation } = parameters;\n const address = await this.getAddress();\n const userOpHash = getUserOperationHash({\n chainId,\n entryPointAddress: entryPoint.address,\n entryPointVersion: entryPoint.version,\n userOperation: {\n ...userOperation,\n sender: address,\n },\n });\n const signature = await getAction(client, signMessage_, 'signMessage')({\n account: owner,\n message: {\n raw: userOpHash,\n },\n });\n return signature;\n },\n });\n}\n/////////////////////////////////////////////////////////////////////////////////////////////\n// Constants\nconst abi = [\n {\n type: 'fallback',\n stateMutability: 'payable',\n },\n {\n type: 'receive',\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'addDeposit',\n inputs: [],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'cancelOwnershipHandover',\n inputs: [],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'completeOwnershipHandover',\n inputs: [\n {\n name: 'pendingOwner',\n type: 'address',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'delegateExecute',\n inputs: [\n {\n name: 'delegate',\n type: 'address',\n },\n {\n name: 'data',\n type: 'bytes',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'bytes',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'eip712Domain',\n inputs: [],\n outputs: [\n {\n name: 'name',\n type: 'string',\n },\n {\n name: 'version',\n type: 'string',\n },\n {\n name: 'chainId',\n type: 'uint256',\n },\n {\n name: 'verifyingContract',\n type: 'address',\n },\n {\n name: 'salt',\n type: 'bytes32',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'entryPoint',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'execute',\n inputs: [\n {\n name: 'target',\n type: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n },\n {\n name: 'data',\n type: 'bytes',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'bytes',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'executeBatch',\n inputs: [\n {\n name: 'calls',\n type: 'tuple[]',\n components: [\n {\n name: 'target',\n type: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n },\n {\n name: 'data',\n type: 'bytes',\n },\n ],\n },\n ],\n outputs: [\n {\n name: 'results',\n type: 'bytes[]',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'getDeposit',\n inputs: [],\n outputs: [\n {\n name: 'result',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'initialize',\n inputs: [\n {\n name: 'newOwner',\n type: 'address',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'isValidSignature',\n inputs: [\n {\n name: 'hash',\n type: 'bytes32',\n },\n {\n name: 'signature',\n type: 'bytes',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'bytes4',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'owner',\n inputs: [],\n outputs: [\n {\n name: 'result',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'ownershipHandoverExpiresAt',\n inputs: [\n {\n name: 'pendingOwner',\n type: 'address',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'proxiableUUID',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'bytes32',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'renounceOwnership',\n inputs: [],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'requestOwnershipHandover',\n inputs: [],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'storageLoad',\n inputs: [\n {\n name: 'storageSlot',\n type: 'bytes32',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'bytes32',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'storageStore',\n inputs: [\n {\n name: 'storageSlot',\n type: 'bytes32',\n },\n {\n name: 'storageValue',\n type: 'bytes32',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'transferOwnership',\n inputs: [\n {\n name: 'newOwner',\n type: 'address',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'upgradeToAndCall',\n inputs: [\n {\n name: 'newImplementation',\n type: 'address',\n },\n {\n name: 'data',\n type: 'bytes',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'validateUserOp',\n inputs: [\n {\n name: 'userOp',\n type: 'tuple',\n components: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'nonce',\n type: 'uint256',\n },\n {\n name: 'initCode',\n type: 'bytes',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n {\n name: 'gasFees',\n type: 'bytes32',\n },\n {\n name: 'paymasterAndData',\n type: 'bytes',\n },\n {\n name: 'signature',\n type: 'bytes',\n },\n ],\n },\n {\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n name: 'missingAccountFunds',\n type: 'uint256',\n },\n ],\n outputs: [\n {\n name: 'validationData',\n type: 'uint256',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'withdrawDepositTo',\n inputs: [\n {\n name: 'to',\n type: 'address',\n },\n {\n name: 'amount',\n type: 'uint256',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n name: 'OwnershipHandoverCanceled',\n inputs: [\n {\n name: 'pendingOwner',\n type: 'address',\n indexed: true,\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'OwnershipHandoverRequested',\n inputs: [\n {\n name: 'pendingOwner',\n type: 'address',\n indexed: true,\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'OwnershipTransferred',\n inputs: [\n {\n name: 'oldOwner',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n type: 'address',\n indexed: true,\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Upgraded',\n inputs: [\n {\n name: 'implementation',\n type: 'address',\n indexed: true,\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'AlreadyInitialized',\n inputs: [],\n },\n {\n type: 'error',\n name: 'FnSelectorNotRecognized',\n inputs: [],\n },\n {\n type: 'error',\n name: 'NewOwnerIsZeroAddress',\n inputs: [],\n },\n {\n type: 'error',\n name: 'NoHandoverRequest',\n inputs: [],\n },\n {\n type: 'error',\n name: 'Unauthorized',\n inputs: [],\n },\n {\n type: 'error',\n name: 'UnauthorizedCallContext',\n inputs: [],\n },\n {\n type: 'error',\n name: 'UpgradeFailed',\n inputs: [],\n },\n];\nconst factoryAbi = [\n {\n type: 'constructor',\n inputs: [\n {\n name: 'erc4337',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'createAccount',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n },\n {\n name: 'salt',\n type: 'bytes32',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'getAddress',\n inputs: [\n {\n name: 'salt',\n type: 'bytes32',\n },\n ],\n outputs: [\n {\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'implementation',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'initCodeHash',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'bytes32',\n },\n ],\n stateMutability: 'view',\n },\n];\n//# sourceMappingURL=toSoladySmartAccount.js.map","import * as Signature from 'ox/Signature';\nimport * as WebAuthnP256 from 'ox/WebAuthnP256';\nimport { hashMessage } from '../../utils/signature/hashMessage.js';\nimport { hashTypedData } from '../../utils/signature/hashTypedData.js';\n/**\n * @description Creates an Account from a WebAuthn Credential.\n *\n * @returns A WebAuthn Account.\n */\nexport function toWebAuthnAccount(parameters) {\n const { getFn, rpId } = parameters;\n const { id, publicKey } = parameters.credential;\n return {\n id,\n publicKey,\n async sign({ hash }) {\n const { metadata, raw, signature } = await WebAuthnP256.sign({\n credentialId: id,\n getFn,\n challenge: hash,\n rpId,\n });\n return {\n signature: Signature.toHex(signature),\n raw,\n webauthn: metadata,\n };\n },\n async signMessage({ message }) {\n return this.sign({ hash: hashMessage(message) });\n },\n async signTypedData(parameters) {\n return this.sign({ hash: hashTypedData(parameters) });\n },\n type: 'webAuthn',\n };\n}\n//# sourceMappingURL=toWebAuthnAccount.js.map","import { BaseError } from '../../errors/base.js';\nexport class AccountNotDeployedError extends BaseError {\n constructor({ cause, }) {\n super('Smart Account is not deployed.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.',\n '- An incorrect `sender` address is provided.',\n ],\n name: 'AccountNotDeployedError',\n });\n }\n}\nObject.defineProperty(AccountNotDeployedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa20/\n});\nexport class ExecutionRevertedError extends BaseError {\n constructor({ cause, data, message, } = {}) {\n const reason = message\n ?.replace('execution reverted: ', '')\n ?.replace('execution reverted', '');\n super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, {\n cause,\n name: 'ExecutionRevertedError',\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n }\n}\nObject.defineProperty(ExecutionRevertedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32521\n});\nObject.defineProperty(ExecutionRevertedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /execution reverted/\n});\nexport class FailedToSendToBeneficiaryError extends BaseError {\n constructor({ cause, }) {\n super('Failed to send funds to beneficiary.', {\n cause,\n name: 'FailedToSendToBeneficiaryError',\n });\n }\n}\nObject.defineProperty(FailedToSendToBeneficiaryError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa91/\n});\nexport class GasValuesOverflowError extends BaseError {\n constructor({ cause, }) {\n super('Gas value overflowed.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- one of the gas values exceeded 2**120 (uint120)',\n ].filter(Boolean),\n name: 'GasValuesOverflowError',\n });\n }\n}\nObject.defineProperty(GasValuesOverflowError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa94/\n});\nexport class HandleOpsOutOfGasError extends BaseError {\n constructor({ cause, }) {\n super('The `handleOps` function was called by the Bundler with a gas limit too low.', {\n cause,\n name: 'HandleOpsOutOfGasError',\n });\n }\n}\nObject.defineProperty(HandleOpsOutOfGasError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa95/\n});\nexport class InitCodeFailedError extends BaseError {\n constructor({ cause, factory, factoryData, initCode, }) {\n super('Failed to simulate deployment for Smart Account.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- Invalid `factory`/`factoryData` or `initCode` properties are present',\n '- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)',\n '- Smart Account deployment execution reverted with an error\\n',\n factory && `factory: ${factory}`,\n factoryData && `factoryData: ${factoryData}`,\n initCode && `initCode: ${initCode}`,\n ].filter(Boolean),\n name: 'InitCodeFailedError',\n });\n }\n}\nObject.defineProperty(InitCodeFailedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa13/\n});\nexport class InitCodeMustCreateSenderError extends BaseError {\n constructor({ cause, factory, factoryData, initCode, }) {\n super('Smart Account initialization implementation did not create an account.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- `factory`/`factoryData` or `initCode` properties are invalid',\n '- Smart Account initialization implementation is incorrect\\n',\n factory && `factory: ${factory}`,\n factoryData && `factoryData: ${factoryData}`,\n initCode && `initCode: ${initCode}`,\n ].filter(Boolean),\n name: 'InitCodeMustCreateSenderError',\n });\n }\n}\nObject.defineProperty(InitCodeMustCreateSenderError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa15/\n});\nexport class InitCodeMustReturnSenderError extends BaseError {\n constructor({ cause, factory, factoryData, initCode, sender, }) {\n super('Smart Account initialization implementation does not return the expected sender.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n 'Smart Account initialization implementation does not return a sender address\\n',\n factory && `factory: ${factory}`,\n factoryData && `factoryData: ${factoryData}`,\n initCode && `initCode: ${initCode}`,\n sender && `sender: ${sender}`,\n ].filter(Boolean),\n name: 'InitCodeMustReturnSenderError',\n });\n }\n}\nObject.defineProperty(InitCodeMustReturnSenderError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa14/\n});\nexport class InsufficientPrefundError extends BaseError {\n constructor({ cause, }) {\n super('Smart Account does not have sufficient funds to execute the User Operation.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the Smart Account does not have sufficient funds to cover the required prefund, or',\n '- a Paymaster was not provided',\n ].filter(Boolean),\n name: 'InsufficientPrefundError',\n });\n }\n}\nObject.defineProperty(InsufficientPrefundError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa21/\n});\nexport class InternalCallOnlyError extends BaseError {\n constructor({ cause, }) {\n super('Bundler attempted to call an invalid function on the EntryPoint.', {\n cause,\n name: 'InternalCallOnlyError',\n });\n }\n}\nObject.defineProperty(InternalCallOnlyError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa92/\n});\nexport class InvalidAggregatorError extends BaseError {\n constructor({ cause, }) {\n super('Bundler used an invalid aggregator for handling aggregated User Operations.', {\n cause,\n name: 'InvalidAggregatorError',\n });\n }\n}\nObject.defineProperty(InvalidAggregatorError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa96/\n});\nexport class InvalidAccountNonceError extends BaseError {\n constructor({ cause, nonce, }) {\n super('Invalid Smart Account nonce used for User Operation.', {\n cause,\n metaMessages: [nonce && `nonce: ${nonce}`].filter(Boolean),\n name: 'InvalidAccountNonceError',\n });\n }\n}\nObject.defineProperty(InvalidAccountNonceError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa25/\n});\nexport class InvalidBeneficiaryError extends BaseError {\n constructor({ cause, }) {\n super('Bundler has not set a beneficiary address.', {\n cause,\n name: 'InvalidBeneficiaryError',\n });\n }\n}\nObject.defineProperty(InvalidBeneficiaryError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa90/\n});\nexport class InvalidFieldsError extends BaseError {\n constructor({ cause, }) {\n super('Invalid fields set on User Operation.', {\n cause,\n name: 'InvalidFieldsError',\n });\n }\n}\nObject.defineProperty(InvalidFieldsError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32602\n});\nexport class InvalidPaymasterAndDataError extends BaseError {\n constructor({ cause, paymasterAndData, }) {\n super('Paymaster properties provided are invalid.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `paymasterAndData` property is of an incorrect length\\n',\n paymasterAndData && `paymasterAndData: ${paymasterAndData}`,\n ].filter(Boolean),\n name: 'InvalidPaymasterAndDataError',\n });\n }\n}\nObject.defineProperty(InvalidPaymasterAndDataError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa93/\n});\nexport class PaymasterDepositTooLowError extends BaseError {\n constructor({ cause, }) {\n super('Paymaster deposit for the User Operation is too low.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the Paymaster has deposited less than the expected amount via the `deposit` function',\n ].filter(Boolean),\n name: 'PaymasterDepositTooLowError',\n });\n }\n}\nObject.defineProperty(PaymasterDepositTooLowError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32508\n});\nObject.defineProperty(PaymasterDepositTooLowError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa31/\n});\nexport class PaymasterFunctionRevertedError extends BaseError {\n constructor({ cause, }) {\n super('The `validatePaymasterUserOp` function on the Paymaster reverted.', {\n cause,\n name: 'PaymasterFunctionRevertedError',\n });\n }\n}\nObject.defineProperty(PaymasterFunctionRevertedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa33/\n});\nexport class PaymasterNotDeployedError extends BaseError {\n constructor({ cause, }) {\n super('The Paymaster contract has not been deployed.', {\n cause,\n name: 'PaymasterNotDeployedError',\n });\n }\n}\nObject.defineProperty(PaymasterNotDeployedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa30/\n});\nexport class PaymasterRateLimitError extends BaseError {\n constructor({ cause }) {\n super('UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.', {\n cause,\n name: 'PaymasterRateLimitError',\n });\n }\n}\nObject.defineProperty(PaymasterRateLimitError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32504\n});\nexport class PaymasterStakeTooLowError extends BaseError {\n constructor({ cause }) {\n super('UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.', {\n cause,\n name: 'PaymasterStakeTooLowError',\n });\n }\n}\nObject.defineProperty(PaymasterStakeTooLowError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32505\n});\nexport class PaymasterPostOpFunctionRevertedError extends BaseError {\n constructor({ cause, }) {\n super('Paymaster `postOp` function reverted.', {\n cause,\n name: 'PaymasterPostOpFunctionRevertedError',\n });\n }\n}\nObject.defineProperty(PaymasterPostOpFunctionRevertedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa50/\n});\nexport class SenderAlreadyConstructedError extends BaseError {\n constructor({ cause, factory, factoryData, initCode, }) {\n super('Smart Account has already been deployed.', {\n cause,\n metaMessages: [\n 'Remove the following properties and try again:',\n factory && '`factory`',\n factoryData && '`factoryData`',\n initCode && '`initCode`',\n ].filter(Boolean),\n name: 'SenderAlreadyConstructedError',\n });\n }\n}\nObject.defineProperty(SenderAlreadyConstructedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa10/\n});\nexport class SignatureCheckFailedError extends BaseError {\n constructor({ cause }) {\n super('UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).', {\n cause,\n name: 'SignatureCheckFailedError',\n });\n }\n}\nObject.defineProperty(SignatureCheckFailedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32507\n});\nexport class SmartAccountFunctionRevertedError extends BaseError {\n constructor({ cause, }) {\n super('The `validateUserOp` function on the Smart Account reverted.', {\n cause,\n name: 'SmartAccountFunctionRevertedError',\n });\n }\n}\nObject.defineProperty(SmartAccountFunctionRevertedError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa23/\n});\nexport class UnsupportedSignatureAggregatorError extends BaseError {\n constructor({ cause }) {\n super('UserOperation rejected because account specified unsupported signature aggregator.', {\n cause,\n name: 'UnsupportedSignatureAggregatorError',\n });\n }\n}\nObject.defineProperty(UnsupportedSignatureAggregatorError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32506\n});\nexport class UserOperationExpiredError extends BaseError {\n constructor({ cause, }) {\n super('User Operation expired.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied',\n ].filter(Boolean),\n name: 'UserOperationExpiredError',\n });\n }\n}\nObject.defineProperty(UserOperationExpiredError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa22/\n});\nexport class UserOperationPaymasterExpiredError extends BaseError {\n constructor({ cause, }) {\n super('Paymaster for User Operation expired.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied',\n ].filter(Boolean),\n name: 'UserOperationPaymasterExpiredError',\n });\n }\n}\nObject.defineProperty(UserOperationPaymasterExpiredError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa32/\n});\nexport class UserOperationSignatureError extends BaseError {\n constructor({ cause, }) {\n super('Signature provided for the User Operation is invalid.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account',\n ].filter(Boolean),\n name: 'UserOperationSignatureError',\n });\n }\n}\nObject.defineProperty(UserOperationSignatureError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa24/\n});\nexport class UserOperationPaymasterSignatureError extends BaseError {\n constructor({ cause, }) {\n super('Signature provided for the User Operation is invalid.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster',\n ].filter(Boolean),\n name: 'UserOperationPaymasterSignatureError',\n });\n }\n}\nObject.defineProperty(UserOperationPaymasterSignatureError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa34/\n});\nexport class UserOperationRejectedByEntryPointError extends BaseError {\n constructor({ cause }) {\n super(\"User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.\", {\n cause,\n name: 'UserOperationRejectedByEntryPointError',\n });\n }\n}\nObject.defineProperty(UserOperationRejectedByEntryPointError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32500\n});\nexport class UserOperationRejectedByPaymasterError extends BaseError {\n constructor({ cause }) {\n super(\"User Operation rejected by Paymaster's `validatePaymasterUserOp`.\", {\n cause,\n name: 'UserOperationRejectedByPaymasterError',\n });\n }\n}\nObject.defineProperty(UserOperationRejectedByPaymasterError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32501\n});\nexport class UserOperationRejectedByOpCodeError extends BaseError {\n constructor({ cause }) {\n super('User Operation rejected with op code validation error.', {\n cause,\n name: 'UserOperationRejectedByOpCodeError',\n });\n }\n}\nObject.defineProperty(UserOperationRejectedByOpCodeError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32502\n});\nexport class UserOperationOutOfTimeRangeError extends BaseError {\n constructor({ cause }) {\n super('UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).', {\n cause,\n name: 'UserOperationOutOfTimeRangeError',\n });\n }\n}\nObject.defineProperty(UserOperationOutOfTimeRangeError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32503\n});\nexport class UnknownBundlerError extends BaseError {\n constructor({ cause }) {\n super(`An error occurred while executing user operation: ${cause?.shortMessage}`, {\n cause,\n name: 'UnknownBundlerError',\n });\n }\n}\nexport class VerificationGasLimitExceededError extends BaseError {\n constructor({ cause, }) {\n super('User Operation verification gas limit exceeded.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the gas used for verification exceeded the `verificationGasLimit`',\n ].filter(Boolean),\n name: 'VerificationGasLimitExceededError',\n });\n }\n}\nObject.defineProperty(VerificationGasLimitExceededError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa40/\n});\nexport class VerificationGasLimitTooLowError extends BaseError {\n constructor({ cause, }) {\n super('User Operation verification gas limit is too low.', {\n cause,\n metaMessages: [\n 'This could arise when:',\n '- the `verificationGasLimit` is too low to verify the User Operation',\n ].filter(Boolean),\n name: 'VerificationGasLimitTooLowError',\n });\n }\n}\nObject.defineProperty(VerificationGasLimitTooLowError, \"message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /aa41/\n});\n//# sourceMappingURL=bundler.js.map","import { BaseError } from '../../errors/base.js';\nimport { prettyPrint } from '../../errors/transaction.js';\nimport { formatGwei } from '../../utils/index.js';\nexport class UserOperationExecutionError extends BaseError {\n constructor(cause, { callData, callGasLimit, docsPath, factory, factoryData, initCode, maxFeePerGas, maxPriorityFeePerGas, nonce, paymaster, paymasterAndData, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, preVerificationGas, sender, signature, verificationGasLimit, }) {\n const prettyArgs = prettyPrint({\n callData,\n callGasLimit,\n factory,\n factoryData,\n initCode,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${formatGwei(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${formatGwei(maxPriorityFeePerGas)} gwei`,\n nonce,\n paymaster,\n paymasterAndData,\n paymasterData,\n paymasterPostOpGasLimit,\n paymasterVerificationGasLimit,\n preVerificationGas,\n sender,\n signature,\n verificationGasLimit,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Request Arguments:',\n prettyArgs,\n ].filter(Boolean),\n name: 'UserOperationExecutionError',\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.cause = cause;\n }\n}\nexport class UserOperationReceiptNotFoundError extends BaseError {\n constructor({ hash }) {\n super(`User Operation receipt with hash \"${hash}\" could not be found. The User Operation may not have been processed yet.`, { name: 'UserOperationReceiptNotFoundError' });\n }\n}\nexport class UserOperationNotFoundError extends BaseError {\n constructor({ hash }) {\n super(`User Operation with hash \"${hash}\" could not be found.`, {\n name: 'UserOperationNotFoundError',\n });\n }\n}\nexport class WaitForUserOperationReceiptTimeoutError extends BaseError {\n constructor({ hash }) {\n super(`Timed out while waiting for User Operation with hash \"${hash}\" to be confirmed.`, { name: 'WaitForUserOperationReceiptTimeoutError' });\n }\n}\n//# sourceMappingURL=userOperation.js.map","import { AccountNotDeployedError, ExecutionRevertedError, FailedToSendToBeneficiaryError, GasValuesOverflowError, HandleOpsOutOfGasError, InitCodeFailedError, InitCodeMustCreateSenderError, InitCodeMustReturnSenderError, InsufficientPrefundError, InternalCallOnlyError, InvalidAccountNonceError, InvalidAggregatorError, InvalidBeneficiaryError, InvalidFieldsError, InvalidPaymasterAndDataError, PaymasterDepositTooLowError, PaymasterFunctionRevertedError, PaymasterNotDeployedError, PaymasterPostOpFunctionRevertedError, PaymasterRateLimitError, PaymasterStakeTooLowError, SenderAlreadyConstructedError, SignatureCheckFailedError, SmartAccountFunctionRevertedError, UnknownBundlerError, UnsupportedSignatureAggregatorError, UserOperationExpiredError, UserOperationOutOfTimeRangeError, UserOperationPaymasterExpiredError, UserOperationPaymasterSignatureError, UserOperationRejectedByEntryPointError, UserOperationRejectedByOpCodeError, UserOperationRejectedByPaymasterError, UserOperationSignatureError, VerificationGasLimitExceededError, VerificationGasLimitTooLowError, } from '../../errors/bundler.js';\nconst bundlerErrors = [\n ExecutionRevertedError,\n InvalidFieldsError,\n PaymasterDepositTooLowError,\n PaymasterRateLimitError,\n PaymasterStakeTooLowError,\n SignatureCheckFailedError,\n UnsupportedSignatureAggregatorError,\n UserOperationOutOfTimeRangeError,\n UserOperationRejectedByEntryPointError,\n UserOperationRejectedByPaymasterError,\n UserOperationRejectedByOpCodeError,\n];\nexport function getBundlerError(err, args) {\n const message = (err.details || '').toLowerCase();\n if (AccountNotDeployedError.message.test(message))\n return new AccountNotDeployedError({\n cause: err,\n });\n if (FailedToSendToBeneficiaryError.message.test(message))\n return new FailedToSendToBeneficiaryError({\n cause: err,\n });\n if (GasValuesOverflowError.message.test(message))\n return new GasValuesOverflowError({\n cause: err,\n });\n if (HandleOpsOutOfGasError.message.test(message))\n return new HandleOpsOutOfGasError({\n cause: err,\n });\n if (InitCodeFailedError.message.test(message))\n return new InitCodeFailedError({\n cause: err,\n factory: args.factory,\n factoryData: args.factoryData,\n initCode: args.initCode,\n });\n if (InitCodeMustCreateSenderError.message.test(message))\n return new InitCodeMustCreateSenderError({\n cause: err,\n factory: args.factory,\n factoryData: args.factoryData,\n initCode: args.initCode,\n });\n if (InitCodeMustReturnSenderError.message.test(message))\n return new InitCodeMustReturnSenderError({\n cause: err,\n factory: args.factory,\n factoryData: args.factoryData,\n initCode: args.initCode,\n sender: args.sender,\n });\n if (InsufficientPrefundError.message.test(message))\n return new InsufficientPrefundError({\n cause: err,\n });\n if (InternalCallOnlyError.message.test(message))\n return new InternalCallOnlyError({\n cause: err,\n });\n if (InvalidAccountNonceError.message.test(message))\n return new InvalidAccountNonceError({\n cause: err,\n nonce: args.nonce,\n });\n if (InvalidAggregatorError.message.test(message))\n return new InvalidAggregatorError({\n cause: err,\n });\n if (InvalidBeneficiaryError.message.test(message))\n return new InvalidBeneficiaryError({\n cause: err,\n });\n if (InvalidPaymasterAndDataError.message.test(message))\n return new InvalidPaymasterAndDataError({\n cause: err,\n });\n if (PaymasterDepositTooLowError.message.test(message))\n return new PaymasterDepositTooLowError({\n cause: err,\n });\n if (PaymasterFunctionRevertedError.message.test(message))\n return new PaymasterFunctionRevertedError({\n cause: err,\n });\n if (PaymasterNotDeployedError.message.test(message))\n return new PaymasterNotDeployedError({\n cause: err,\n });\n if (PaymasterPostOpFunctionRevertedError.message.test(message))\n return new PaymasterPostOpFunctionRevertedError({\n cause: err,\n });\n if (SmartAccountFunctionRevertedError.message.test(message))\n return new SmartAccountFunctionRevertedError({\n cause: err,\n });\n if (SenderAlreadyConstructedError.message.test(message))\n return new SenderAlreadyConstructedError({\n cause: err,\n factory: args.factory,\n factoryData: args.factoryData,\n initCode: args.initCode,\n });\n if (UserOperationExpiredError.message.test(message))\n return new UserOperationExpiredError({\n cause: err,\n });\n if (UserOperationPaymasterExpiredError.message.test(message))\n return new UserOperationPaymasterExpiredError({\n cause: err,\n });\n if (UserOperationPaymasterSignatureError.message.test(message))\n return new UserOperationPaymasterSignatureError({\n cause: err,\n });\n if (UserOperationSignatureError.message.test(message))\n return new UserOperationSignatureError({\n cause: err,\n });\n if (VerificationGasLimitExceededError.message.test(message))\n return new VerificationGasLimitExceededError({\n cause: err,\n });\n if (VerificationGasLimitTooLowError.message.test(message))\n return new VerificationGasLimitTooLowError({\n cause: err,\n });\n const error = err.walk((e) => bundlerErrors.some((error) => error.code === e.code));\n if (error) {\n if (error.code === ExecutionRevertedError.code)\n return new ExecutionRevertedError({\n cause: err,\n data: error.data,\n message: error.details,\n });\n if (error.code === InvalidFieldsError.code)\n return new InvalidFieldsError({\n cause: err,\n });\n if (error.code === PaymasterDepositTooLowError.code)\n return new PaymasterDepositTooLowError({\n cause: err,\n });\n if (error.code === PaymasterRateLimitError.code)\n return new PaymasterRateLimitError({\n cause: err,\n });\n if (error.code === PaymasterStakeTooLowError.code)\n return new PaymasterStakeTooLowError({\n cause: err,\n });\n if (error.code === SignatureCheckFailedError.code)\n return new SignatureCheckFailedError({\n cause: err,\n });\n if (error.code === UnsupportedSignatureAggregatorError.code)\n return new UnsupportedSignatureAggregatorError({\n cause: err,\n });\n if (error.code === UserOperationOutOfTimeRangeError.code)\n return new UserOperationOutOfTimeRangeError({\n cause: err,\n });\n if (error.code === UserOperationRejectedByEntryPointError.code)\n return new UserOperationRejectedByEntryPointError({\n cause: err,\n });\n if (error.code === UserOperationRejectedByPaymasterError.code)\n return new UserOperationRejectedByPaymasterError({\n cause: err,\n });\n if (error.code === UserOperationRejectedByOpCodeError.code)\n return new UserOperationRejectedByOpCodeError({\n cause: err,\n });\n }\n return new UnknownBundlerError({\n cause: err,\n });\n}\n//# sourceMappingURL=getBundlerError.js.map","import { BaseError } from '../../../errors/base.js';\nimport { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, } from '../../../errors/contract.js';\nimport { decodeErrorResult } from '../../../utils/abi/decodeErrorResult.js';\nimport { ExecutionRevertedError } from '../../errors/bundler.js';\nimport { UserOperationExecutionError, } from '../../errors/userOperation.js';\nimport { getBundlerError, } from './getBundlerError.js';\nexport function getUserOperationError(err, { calls, docsPath, ...args }) {\n const cause = (() => {\n const cause = getBundlerError(err, args);\n if (calls && cause instanceof ExecutionRevertedError) {\n const revertData = getRevertData(cause);\n const contractCalls = calls?.filter((call) => call.abi);\n if (revertData && contractCalls.length > 0)\n return getContractError({ calls: contractCalls, revertData });\n }\n return cause;\n })();\n return new UserOperationExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n/////////////////////////////////////////////////////////////////////////////////\nfunction getRevertData(error) {\n let revertData;\n error.walk((e) => {\n const error = e;\n if (typeof error.data === 'string' ||\n typeof error.data?.revertData === 'string' ||\n (!(error instanceof BaseError) && typeof error.message === 'string')) {\n const match = (error.data?.revertData ||\n error.data ||\n error.message).match?.(/(0x[A-Za-z0-9]*)/);\n if (match) {\n revertData = match[1];\n return true;\n }\n }\n return false;\n });\n return revertData;\n}\nfunction getContractError(parameters) {\n const { calls, revertData } = parameters;\n const { abi, functionName, args, to } = (() => {\n const contractCalls = calls?.filter((call) => Boolean(call.abi));\n if (contractCalls.length === 1)\n return contractCalls[0];\n const compatContractCalls = contractCalls.filter((call) => {\n try {\n return Boolean(decodeErrorResult({\n abi: call.abi,\n data: revertData,\n }));\n }\n catch {\n return false;\n }\n });\n if (compatContractCalls.length === 1)\n return compatContractCalls[0];\n return {\n abi: [],\n functionName: contractCalls.reduce((acc, call) => `${acc ? `${acc} | ` : ''}${call.functionName}`, ''),\n args: undefined,\n to: undefined,\n };\n })();\n const cause = (() => {\n if (revertData === '0x')\n return new ContractFunctionZeroDataError({ functionName });\n return new ContractFunctionRevertedError({\n abi,\n data: revertData,\n functionName,\n });\n })();\n return new ContractFunctionExecutionError(cause, {\n abi,\n args,\n contractAddress: to,\n functionName,\n });\n}\n//# sourceMappingURL=getUserOperationError.js.map","export function formatUserOperationGas(parameters) {\n const gas = {};\n if (parameters.callGasLimit)\n gas.callGasLimit = BigInt(parameters.callGasLimit);\n if (parameters.preVerificationGas)\n gas.preVerificationGas = BigInt(parameters.preVerificationGas);\n if (parameters.verificationGasLimit)\n gas.verificationGasLimit = BigInt(parameters.verificationGasLimit);\n if (parameters.paymasterPostOpGasLimit)\n gas.paymasterPostOpGasLimit = BigInt(parameters.paymasterPostOpGasLimit);\n if (parameters.paymasterVerificationGasLimit)\n gas.paymasterVerificationGasLimit = BigInt(parameters.paymasterVerificationGasLimit);\n return gas;\n}\n//# sourceMappingURL=userOperationGas.js.map","import { numberToHex } from '../../../utils/encoding/toHex.js';\nimport { pad } from '../../../utils/index.js';\nexport function formatUserOperationRequest(request) {\n const rpcRequest = {};\n if (typeof request.callData !== 'undefined')\n rpcRequest.callData = request.callData;\n if (typeof request.callGasLimit !== 'undefined')\n rpcRequest.callGasLimit = numberToHex(request.callGasLimit);\n if (typeof request.factory !== 'undefined')\n rpcRequest.factory = request.factory;\n if (typeof request.factoryData !== 'undefined')\n rpcRequest.factoryData = request.factoryData;\n if (typeof request.initCode !== 'undefined')\n rpcRequest.initCode = request.initCode;\n if (typeof request.maxFeePerGas !== 'undefined')\n rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas);\n if (typeof request.maxPriorityFeePerGas !== 'undefined')\n rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas);\n if (typeof request.nonce !== 'undefined')\n rpcRequest.nonce = numberToHex(request.nonce);\n if (typeof request.paymaster !== 'undefined')\n rpcRequest.paymaster = request.paymaster;\n if (typeof request.paymasterAndData !== 'undefined')\n rpcRequest.paymasterAndData = request.paymasterAndData || '0x';\n if (typeof request.paymasterData !== 'undefined')\n rpcRequest.paymasterData = request.paymasterData;\n if (typeof request.paymasterPostOpGasLimit !== 'undefined')\n rpcRequest.paymasterPostOpGasLimit = numberToHex(request.paymasterPostOpGasLimit);\n if (typeof request.paymasterSignature !== 'undefined')\n rpcRequest.paymasterSignature = request.paymasterSignature;\n if (typeof request.paymasterVerificationGasLimit !== 'undefined')\n rpcRequest.paymasterVerificationGasLimit = numberToHex(request.paymasterVerificationGasLimit);\n if (typeof request.preVerificationGas !== 'undefined')\n rpcRequest.preVerificationGas = numberToHex(request.preVerificationGas);\n if (typeof request.sender !== 'undefined')\n rpcRequest.sender = request.sender;\n if (typeof request.signature !== 'undefined')\n rpcRequest.signature = request.signature;\n if (typeof request.verificationGasLimit !== 'undefined')\n rpcRequest.verificationGasLimit = numberToHex(request.verificationGasLimit);\n if (typeof request.authorization !== 'undefined')\n rpcRequest.eip7702Auth = formatAuthorization(request.authorization);\n return rpcRequest;\n}\nfunction formatAuthorization(authorization) {\n return {\n address: authorization.address,\n chainId: numberToHex(authorization.chainId),\n nonce: numberToHex(authorization.nonce),\n r: authorization.r\n ? numberToHex(BigInt(authorization.r), { size: 32 })\n : pad('0x', { size: 32 }),\n s: authorization.s\n ? numberToHex(BigInt(authorization.s), { size: 32 })\n : pad('0x', { size: 32 }),\n yParity: authorization.yParity\n ? numberToHex(authorization.yParity, { size: 1 })\n : pad('0x', { size: 32 }),\n };\n}\n//# sourceMappingURL=userOperationRequest.js.map","// biome-ignore lint/performance/noBarrelFile: entrypoint module\nexport { getEnsAddress, } from './ens/getEnsAddress.js';\nexport { getEnsAvatar, } from './ens/getEnsAvatar.js';\nexport { getEnsName, } from './ens/getEnsName.js';\nexport { getEnsResolver, } from './ens/getEnsResolver.js';\nexport { getEnsText, } from './ens/getEnsText.js';\nexport { call, } from './public/call.js';\nexport { createAccessList, } from './public/createAccessList.js';\nexport { createBlockFilter, } from './public/createBlockFilter.js';\nexport { createContractEventFilter, } from './public/createContractEventFilter.js';\nexport { createEventFilter, } from './public/createEventFilter.js';\nexport { createPendingTransactionFilter, } from './public/createPendingTransactionFilter.js';\nexport { estimateContractGas, } from './public/estimateContractGas.js';\nexport { estimateFeesPerGas, } from './public/estimateFeesPerGas.js';\nexport { estimateGas, } from './public/estimateGas.js';\nexport { estimateMaxPriorityFeePerGas, } from './public/estimateMaxPriorityFeePerGas.js';\nexport { fillTransaction, } from './public/fillTransaction.js';\nexport { getBalance, } from './public/getBalance.js';\nexport { getBlobBaseFee, } from './public/getBlobBaseFee.js';\nexport { getBlock, } from './public/getBlock.js';\nexport { getBlockNumber, } from './public/getBlockNumber.js';\nexport { getBlockTransactionCount, } from './public/getBlockTransactionCount.js';\nexport { getChainId, } from './public/getChainId.js';\nexport { \n/** @deprecated Use `getCode` instead */\ngetCode as getBytecode, getCode, } from './public/getCode.js';\nexport { getContractEvents, } from './public/getContractEvents.js';\nexport { getEip712Domain, } from './public/getEip712Domain.js';\nexport { getFeeHistory, } from './public/getFeeHistory.js';\nexport { getFilterChanges, } from './public/getFilterChanges.js';\nexport { getFilterLogs, } from './public/getFilterLogs.js';\nexport { getGasPrice, } from './public/getGasPrice.js';\nexport { getLogs, } from './public/getLogs.js';\nexport { getProof, } from './public/getProof.js';\nexport { getStorageAt, } from './public/getStorageAt.js';\nexport { getTransaction, } from './public/getTransaction.js';\nexport { getTransactionConfirmations, } from './public/getTransactionConfirmations.js';\nexport { getTransactionCount, } from './public/getTransactionCount.js';\nexport { getTransactionReceipt, } from './public/getTransactionReceipt.js';\nexport { multicall, } from './public/multicall.js';\nexport { readContract, } from './public/readContract.js';\nexport { simulateBlocks, \n/** @deprecated Use `simulateBlocks` instead */\nsimulateBlocks as simulate, } from './public/simulateBlocks.js';\nexport { simulateCalls, } from './public/simulateCalls.js';\nexport { simulateContract, } from './public/simulateContract.js';\nexport { uninstallFilter, } from './public/uninstallFilter.js';\nexport { verifyHash, } from './public/verifyHash.js';\nexport { verifyMessage, } from './public/verifyMessage.js';\nexport { verifyTypedData, } from './public/verifyTypedData.js';\nexport { waitForTransactionReceipt, } from './public/waitForTransactionReceipt.js';\nexport { watchBlockNumber, } from './public/watchBlockNumber.js';\nexport { watchBlocks, } from './public/watchBlocks.js';\nexport { watchContractEvent, } from './public/watchContractEvent.js';\nexport { watchEvent, } from './public/watchEvent.js';\nexport { watchPendingTransactions, } from './public/watchPendingTransactions.js';\nexport { dropTransaction, } from './test/dropTransaction.js';\nexport { dumpState, } from './test/dumpState.js';\nexport { getAutomine, } from './test/getAutomine.js';\nexport { getTxpoolContent, } from './test/getTxpoolContent.js';\nexport { getTxpoolStatus, } from './test/getTxpoolStatus.js';\nexport { impersonateAccount, } from './test/impersonateAccount.js';\nexport { increaseTime, } from './test/increaseTime.js';\nexport { inspectTxpool, } from './test/inspectTxpool.js';\nexport { loadState, } from './test/loadState.js';\nexport { mine, } from './test/mine.js';\nexport { removeBlockTimestampInterval, } from './test/removeBlockTimestampInterval.js';\nexport { reset, } from './test/reset.js';\nexport { revert, } from './test/revert.js';\nexport { sendUnsignedTransaction, } from './test/sendUnsignedTransaction.js';\nexport { setAutomine } from './test/setAutomine.js';\nexport { setBalance, } from './test/setBalance.js';\nexport { setBlockGasLimit, } from './test/setBlockGasLimit.js';\nexport { setBlockTimestampInterval, } from './test/setBlockTimestampInterval.js';\nexport { setCode, } from './test/setCode.js';\nexport { setCoinbase, } from './test/setCoinbase.js';\nexport { setIntervalMining, } from './test/setIntervalMining.js';\nexport { setLoggingEnabled, } from './test/setLoggingEnabled.js';\nexport { setMinGasPrice, } from './test/setMinGasPrice.js';\nexport { setNextBlockBaseFeePerGas, } from './test/setNextBlockBaseFeePerGas.js';\nexport { setNextBlockTimestamp, } from './test/setNextBlockTimestamp.js';\nexport { setNonce, } from './test/setNonce.js';\nexport { setRpcUrl } from './test/setRpcUrl.js';\nexport { setStorageAt, } from './test/setStorageAt.js';\nexport { snapshot } from './test/snapshot.js';\nexport { stopImpersonatingAccount, } from './test/stopImpersonatingAccount.js';\nexport { addChain, } from './wallet/addChain.js';\nexport { deployContract, } from './wallet/deployContract.js';\nexport { getAddresses, } from './wallet/getAddresses.js';\nexport { getCallsStatus, } from './wallet/getCallsStatus.js';\nexport { getCapabilities, } from './wallet/getCapabilities.js';\nexport { getPermissions, } from './wallet/getPermissions.js';\nexport { prepareAuthorization, } from './wallet/prepareAuthorization.js';\nexport { defaultParameters as defaultPrepareTransactionRequestParameters, prepareTransactionRequest, } from './wallet/prepareTransactionRequest.js';\nexport { requestAddresses, } from './wallet/requestAddresses.js';\nexport { requestPermissions, } from './wallet/requestPermissions.js';\nexport { sendCalls, } from './wallet/sendCalls.js';\nexport { sendCallsSync, } from './wallet/sendCallsSync.js';\nexport { sendRawTransaction, } from './wallet/sendRawTransaction.js';\nexport { sendRawTransactionSync, } from './wallet/sendRawTransactionSync.js';\nexport { sendTransaction, } from './wallet/sendTransaction.js';\nexport { sendTransactionSync, } from './wallet/sendTransactionSync.js';\nexport { showCallsStatus, } from './wallet/showCallsStatus.js';\nexport { signAuthorization, } from './wallet/signAuthorization.js';\nexport { signMessage, } from './wallet/signMessage.js';\nexport { signTransaction, } from './wallet/signTransaction.js';\nexport { signTypedData, } from './wallet/signTypedData.js';\nexport { switchChain, } from './wallet/switchChain.js';\nexport { waitForCallsStatus, } from './wallet/waitForCallsStatus.js';\nexport { watchAsset, } from './wallet/watchAsset.js';\nexport { writeContract, } from './wallet/writeContract.js';\nexport { writeContractSync, } from './wallet/writeContractSync.js';\n//# sourceMappingURL=index.js.map","import { hexToBigInt } from '../../../utils/encoding/fromHex.js';\nimport { numberToHex } from '../../../utils/encoding/toHex.js';\nimport { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js';\n/**\n * Retrieves paymaster-related User Operation properties to be used for sending the User Operation.\n *\n * - Docs: https://viem.sh/account-abstraction/actions/paymaster/getPaymasterData\n *\n * @param client - Client to use\n * @param parameters - {@link GetPaymasterDataParameters}\n * @returns Paymaster-related User Operation properties. {@link GetPaymasterDataReturnType}\n *\n * @example\n * import { http } from 'viem'\n * import { createPaymasterClient, getPaymasterData } from 'viem/account-abstraction'\n *\n * const paymasterClient = createPaymasterClient({\n * transport: http('https://...'),\n * })\n *\n * const userOperation = { ... }\n *\n * const values = await getPaymasterData(paymasterClient, {\n * chainId: 1,\n * entryPointAddress: '0x...',\n * ...userOperation,\n * })\n */\nexport async function getPaymasterData(client, parameters) {\n const { chainId, entryPointAddress, context, ...userOperation } = parameters;\n const request = formatUserOperationRequest(userOperation);\n const { paymasterPostOpGasLimit, paymasterVerificationGasLimit, ...rest } = await client.request({\n method: 'pm_getPaymasterData',\n params: [\n {\n ...request,\n callGasLimit: request.callGasLimit ?? '0x0',\n verificationGasLimit: request.verificationGasLimit ?? '0x0',\n preVerificationGas: request.preVerificationGas ?? '0x0',\n },\n entryPointAddress,\n numberToHex(chainId),\n context,\n ],\n });\n return {\n ...rest,\n ...(paymasterPostOpGasLimit && {\n paymasterPostOpGasLimit: hexToBigInt(paymasterPostOpGasLimit),\n }),\n ...(paymasterVerificationGasLimit && {\n paymasterVerificationGasLimit: hexToBigInt(paymasterVerificationGasLimit),\n }),\n };\n}\n//# sourceMappingURL=getPaymasterData.js.map","import { hexToBigInt } from '../../../utils/encoding/fromHex.js';\nimport { numberToHex } from '../../../utils/encoding/toHex.js';\nimport { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js';\n/**\n * Retrieves paymaster-related User Operation properties to be used for gas estimation.\n *\n * - Docs: https://viem.sh/account-abstraction/actions/paymaster/getPaymasterStubData\n *\n * @param client - Client to use\n * @param parameters - {@link GetPaymasterStubDataParameters}\n * @returns Paymaster-related User Operation properties. {@link GetPaymasterStubDataReturnType}\n *\n * @example\n * import { http } from 'viem'\n * import { createPaymasterClient, getPaymasterStubData } from 'viem/account-abstraction'\n *\n * const paymasterClient = createPaymasterClient({\n * transport: http('https://...'),\n * })\n *\n * const userOperation = { ... }\n *\n * const values = await getPaymasterStubData(paymasterClient, {\n * chainId: 1,\n * entryPointAddress: '0x...',\n * ...userOperation,\n * })\n */\nexport async function getPaymasterStubData(client, parameters) {\n const { chainId, entryPointAddress, context, ...userOperation } = parameters;\n const request = formatUserOperationRequest(userOperation);\n const { paymasterPostOpGasLimit, paymasterVerificationGasLimit, ...rest } = await client.request({\n method: 'pm_getPaymasterStubData',\n params: [\n {\n ...request,\n callGasLimit: request.callGasLimit ?? '0x0',\n verificationGasLimit: request.verificationGasLimit ?? '0x0',\n preVerificationGas: request.preVerificationGas ?? '0x0',\n },\n entryPointAddress,\n numberToHex(chainId),\n context,\n ],\n });\n return {\n ...rest,\n ...(paymasterPostOpGasLimit && {\n paymasterPostOpGasLimit: hexToBigInt(paymasterPostOpGasLimit),\n }),\n ...(paymasterVerificationGasLimit && {\n paymasterVerificationGasLimit: hexToBigInt(paymasterVerificationGasLimit),\n }),\n };\n}\n//# sourceMappingURL=getPaymasterStubData.js.map","import { parseAccount, } from '../../../accounts/utils/parseAccount.js';\nimport { prepareAuthorization } from '../../../actions/index.js';\nimport { estimateFeesPerGas, } from '../../../actions/public/estimateFeesPerGas.js';\nimport { getChainId as getChainId_ } from '../../../actions/public/getChainId.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js';\nimport { concat } from '../../../utils/data/concat.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { getPaymasterData as getPaymasterData_, } from '../paymaster/getPaymasterData.js';\nimport { getPaymasterStubData as getPaymasterStubData_, } from '../paymaster/getPaymasterStubData.js';\nimport { estimateUserOperationGas, } from './estimateUserOperationGas.js';\nconst defaultParameters = [\n 'factory',\n 'fees',\n 'gas',\n 'paymaster',\n 'nonce',\n 'signature',\n 'authorization',\n];\n/**\n * Prepares a User Operation and fills in missing properties.\n *\n * - Docs: https://viem.sh/actions/bundler/prepareUserOperation\n *\n * @param args - {@link PrepareUserOperationParameters}\n * @returns The User Operation. {@link PrepareUserOperationReturnType}\n *\n * @example\n * import { createBundlerClient, http } from 'viem'\n * import { toSmartAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { prepareUserOperation } from 'viem/actions'\n *\n * const account = await toSmartAccount({ ... })\n *\n * const client = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const request = await prepareUserOperation(client, {\n * account,\n * calls: [{ to: '0x...', value: parseEther('1') }],\n * })\n */\nexport async function prepareUserOperation(client, parameters_) {\n const parameters = parameters_;\n const { account: account_ = client.account, parameters: properties = defaultParameters, stateOverride, } = parameters;\n ////////////////////////////////////////////////////////////////////////////////\n // Assert that an Account is defined.\n ////////////////////////////////////////////////////////////////////////////////\n if (!account_)\n throw new AccountNotFoundError();\n const account = parseAccount(account_);\n ////////////////////////////////////////////////////////////////////////////////\n // Declare typed Bundler Client.\n ////////////////////////////////////////////////////////////////////////////////\n const bundlerClient = client;\n ////////////////////////////////////////////////////////////////////////////////\n // Declare Paymaster properties.\n ////////////////////////////////////////////////////////////////////////////////\n const paymaster = parameters.paymaster ?? bundlerClient?.paymaster;\n const paymasterAddress = typeof paymaster === 'string' ? paymaster : undefined;\n const { getPaymasterStubData, getPaymasterData } = (() => {\n // If `paymaster: true`, we will assume the Bundler Client supports Paymaster Actions.\n if (paymaster === true)\n return {\n getPaymasterStubData: (parameters) => getAction(bundlerClient, getPaymasterStubData_, 'getPaymasterStubData')(parameters),\n getPaymasterData: (parameters) => getAction(bundlerClient, getPaymasterData_, 'getPaymasterData')(parameters),\n };\n // If Actions are passed to `paymaster` (via Paymaster Client or directly), we will use them.\n if (typeof paymaster === 'object') {\n const { getPaymasterStubData, getPaymasterData } = paymaster;\n return {\n getPaymasterStubData: (getPaymasterData && getPaymasterStubData\n ? getPaymasterStubData\n : getPaymasterData),\n getPaymasterData: getPaymasterData && getPaymasterStubData\n ? getPaymasterData\n : undefined,\n };\n }\n // No Paymaster functions.\n return {\n getPaymasterStubData: undefined,\n getPaymasterData: undefined,\n };\n })();\n const paymasterContext = parameters.paymasterContext\n ? parameters.paymasterContext\n : bundlerClient?.paymasterContext;\n ////////////////////////////////////////////////////////////////////////////////\n // Set up the User Operation request.\n ////////////////////////////////////////////////////////////////////////////////\n let request = {\n ...parameters,\n paymaster: paymasterAddress,\n sender: account.address,\n };\n ////////////////////////////////////////////////////////////////////////////////\n // Concurrently prepare properties required to fill the User Operation.\n ////////////////////////////////////////////////////////////////////////////////\n const [callData, factory, fees, nonce, authorization] = await Promise.all([\n (async () => {\n if (parameters.calls)\n return account.encodeCalls(parameters.calls.map((call_) => {\n const call = call_;\n if (call.abi)\n return {\n data: encodeFunctionData(call),\n to: call.to,\n value: call.value,\n };\n return call;\n }));\n return parameters.callData;\n })(),\n (async () => {\n if (!properties.includes('factory'))\n return undefined;\n if (parameters.initCode)\n return { initCode: parameters.initCode };\n if (parameters.factory && parameters.factoryData) {\n return {\n factory: parameters.factory,\n factoryData: parameters.factoryData,\n };\n }\n const { factory, factoryData } = await account.getFactoryArgs();\n if (account.entryPoint.version === '0.6')\n return {\n initCode: factory && factoryData ? concat([factory, factoryData]) : undefined,\n };\n return {\n factory,\n factoryData,\n };\n })(),\n (async () => {\n if (!properties.includes('fees'))\n return undefined;\n // If we have sufficient properties for fees, return them.\n if (typeof parameters.maxFeePerGas === 'bigint' &&\n typeof parameters.maxPriorityFeePerGas === 'bigint')\n return request;\n // If the Bundler Client has a `estimateFeesPerGas` hook, run it.\n if (bundlerClient?.userOperation?.estimateFeesPerGas) {\n const fees = await bundlerClient.userOperation.estimateFeesPerGas({\n account,\n bundlerClient,\n userOperation: request,\n });\n return {\n ...request,\n ...fees,\n };\n }\n // Otherwise, we will need to estimate the fees to fill the fee properties.\n try {\n const client_ = bundlerClient.client ?? client;\n const fees = await getAction(client_, estimateFeesPerGas, 'estimateFeesPerGas')({\n chain: client_.chain,\n type: 'eip1559',\n });\n return {\n maxFeePerGas: typeof parameters.maxFeePerGas === 'bigint'\n ? parameters.maxFeePerGas\n : BigInt(\n // Bundlers unfortunately have strict rules on fee prechecks – we will need to set a generous buffer.\n 2n * fees.maxFeePerGas),\n maxPriorityFeePerGas: typeof parameters.maxPriorityFeePerGas === 'bigint'\n ? parameters.maxPriorityFeePerGas\n : BigInt(\n // Bundlers unfortunately have strict rules on fee prechecks – we will need to set a generous buffer.\n 2n * fees.maxPriorityFeePerGas),\n };\n }\n catch {\n return undefined;\n }\n })(),\n (async () => {\n if (!properties.includes('nonce'))\n return undefined;\n if (typeof parameters.nonce === 'bigint')\n return parameters.nonce;\n return account.getNonce();\n })(),\n (async () => {\n if (!properties.includes('authorization'))\n return undefined;\n if (typeof parameters.authorization === 'object')\n return parameters.authorization;\n if (account.authorization && !(await account.isDeployed())) {\n const authorization = await prepareAuthorization(account.client, account.authorization);\n return {\n ...authorization,\n r: '0xfffffffffffffffffffffffffffffff000000000000000000000000000000000',\n s: '0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',\n yParity: 1,\n };\n }\n return undefined;\n })(),\n ]);\n ////////////////////////////////////////////////////////////////////////////////\n // Fill User Operation with the prepared properties from above.\n ////////////////////////////////////////////////////////////////////////////////\n if (typeof callData !== 'undefined')\n request.callData = callData;\n if (typeof factory !== 'undefined')\n request = { ...request, ...factory };\n if (typeof fees !== 'undefined')\n request = { ...request, ...fees };\n if (typeof nonce !== 'undefined')\n request.nonce = nonce;\n if (typeof authorization !== 'undefined')\n request.authorization = authorization;\n ////////////////////////////////////////////////////////////////////////////////\n // Fill User Operation with the `signature` property.\n ////////////////////////////////////////////////////////////////////////////////\n if (properties.includes('signature')) {\n if (typeof parameters.signature !== 'undefined')\n request.signature = parameters.signature;\n else\n request.signature = await account.getStubSignature(request);\n }\n ////////////////////////////////////////////////////////////////////////////////\n // `initCode` is required to be filled with EntryPoint 0.6.\n ////////////////////////////////////////////////////////////////////////////////\n // If no `initCode` is provided, we use an empty bytes string.\n if (account.entryPoint.version === '0.6' && !request.initCode)\n request.initCode = '0x';\n ////////////////////////////////////////////////////////////////////////////////\n // Fill User Operation with paymaster-related properties for **gas estimation**.\n ////////////////////////////////////////////////////////////////////////////////\n let chainId;\n async function getChainId() {\n if (chainId)\n return chainId;\n if (client.chain)\n return client.chain.id;\n const chainId_ = await getAction(client, getChainId_, 'getChainId')({});\n chainId = chainId_;\n return chainId;\n }\n // If the User Operation is intended to be sponsored, we will need to fill the paymaster-related\n // User Operation properties required to estimate the User Operation gas.\n let isPaymasterPopulated = false;\n if (properties.includes('paymaster') &&\n getPaymasterStubData &&\n !paymasterAddress &&\n !parameters.paymasterAndData) {\n const { isFinal = false, sponsor: _, ...paymasterArgs } = await getPaymasterStubData({\n chainId: await getChainId(),\n entryPointAddress: account.entryPoint.address,\n context: paymasterContext,\n ...request,\n });\n isPaymasterPopulated = isFinal;\n request = {\n ...request,\n ...paymasterArgs,\n };\n }\n ////////////////////////////////////////////////////////////////////////////////\n // `paymasterAndData` is required to be filled with EntryPoint 0.6.\n ////////////////////////////////////////////////////////////////////////////////\n // If no `paymasterAndData` is provided, we use an empty bytes string.\n if (account.entryPoint.version === '0.6' && !request.paymasterAndData)\n request.paymasterAndData = '0x';\n ////////////////////////////////////////////////////////////////////////////////\n // Fill User Operation with gas-related properties.\n ////////////////////////////////////////////////////////////////////////////////\n if (properties.includes('gas')) {\n // If the Account has opinionated gas estimation logic, run the `estimateGas` hook and\n // fill the request with the prepared gas properties.\n if (account.userOperation?.estimateGas) {\n const gas = await account.userOperation.estimateGas(request);\n request = {\n ...request,\n ...gas,\n };\n }\n // If not all the gas properties are already populated, we will need to estimate the gas\n // to fill the gas properties.\n if (typeof request.callGasLimit === 'undefined' ||\n typeof request.preVerificationGas === 'undefined' ||\n typeof request.verificationGasLimit === 'undefined' ||\n (request.paymaster &&\n typeof request.paymasterPostOpGasLimit === 'undefined') ||\n (request.paymaster &&\n typeof request.paymasterVerificationGasLimit === 'undefined')) {\n const gas = await getAction(bundlerClient, estimateUserOperationGas, 'estimateUserOperationGas')({\n account,\n // Some Bundlers fail if nullish gas values are provided for gas estimation :') –\n // so we will need to set a default zeroish value.\n callGasLimit: 0n,\n preVerificationGas: 0n,\n verificationGasLimit: 0n,\n stateOverride,\n ...(request.paymaster\n ? {\n paymasterPostOpGasLimit: 0n,\n paymasterVerificationGasLimit: 0n,\n }\n : {}),\n ...request,\n });\n request = {\n ...request,\n callGasLimit: request.callGasLimit ?? gas.callGasLimit,\n preVerificationGas: request.preVerificationGas ?? gas.preVerificationGas,\n verificationGasLimit: request.verificationGasLimit ?? gas.verificationGasLimit,\n paymasterPostOpGasLimit: request.paymasterPostOpGasLimit ?? gas.paymasterPostOpGasLimit,\n paymasterVerificationGasLimit: request.paymasterVerificationGasLimit ??\n gas.paymasterVerificationGasLimit,\n };\n }\n }\n ////////////////////////////////////////////////////////////////////////////////\n // Fill User Operation with paymaster-related properties for **sending** the User Operation.\n ////////////////////////////////////////////////////////////////////////////////\n // If the User Operation is intended to be sponsored, we will need to fill the paymaster-related\n // User Operation properties required to send the User Operation.\n if (properties.includes('paymaster') &&\n getPaymasterData &&\n !paymasterAddress &&\n !parameters.paymasterAndData &&\n !isPaymasterPopulated) {\n // Retrieve paymaster-related User Operation properties to be used for **sending** the User Operation.\n const paymaster = await getPaymasterData({\n chainId: await getChainId(),\n entryPointAddress: account.entryPoint.address,\n context: paymasterContext,\n ...request,\n });\n request = {\n ...request,\n ...paymaster,\n };\n }\n ////////////////////////////////////////////////////////////////////////////////\n // Remove redundant properties that do not conform to the User Operation schema.\n ////////////////////////////////////////////////////////////////////////////////\n delete request.calls;\n delete request.parameters;\n delete request.paymasterContext;\n if (typeof request.paymaster !== 'string')\n delete request.paymaster;\n ////////////////////////////////////////////////////////////////////////////////\n return request;\n}\n//# sourceMappingURL=prepareUserOperation.js.map","import { parseAccount, } from '../../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { serializeStateOverride } from '../../../utils/stateOverride.js';\nimport { getUserOperationError } from '../../utils/errors/getUserOperationError.js';\nimport { formatUserOperationGas, } from '../../utils/formatters/userOperationGas.js';\nimport { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js';\nimport { prepareUserOperation, } from './prepareUserOperation.js';\n/**\n * Returns an estimate of gas values necessary to execute the User Operation.\n *\n * - Docs: https://viem.sh/actions/bundler/estimateUserOperationGas\n *\n * @param client - Client to use\n * @param parameters - {@link EstimateUserOperationGasParameters}\n * @returns The gas estimate (in wei). {@link EstimateUserOperationGasReturnType}\n *\n * @example\n * import { createBundlerClient, http, parseEther } from 'viem'\n * import { toSmartAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { estimateUserOperationGas } from 'viem/actions'\n *\n * const account = await toSmartAccount({ ... })\n *\n * const bundlerClient = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const values = await estimateUserOperationGas(bundlerClient, {\n * account,\n * calls: [{ to: '0x...', value: parseEther('1') }],\n * })\n */\nexport async function estimateUserOperationGas(client, parameters) {\n const { account: account_ = client.account, entryPointAddress, stateOverride, } = parameters;\n if (!account_ && !parameters.sender)\n throw new AccountNotFoundError();\n const account = account_ ? parseAccount(account_) : undefined;\n const rpcStateOverride = serializeStateOverride(stateOverride);\n const request = account\n ? await getAction(client, prepareUserOperation, 'prepareUserOperation')({\n ...parameters,\n parameters: [\n 'authorization',\n 'factory',\n 'nonce',\n 'paymaster',\n 'signature',\n ],\n })\n : parameters;\n try {\n const params = [\n formatUserOperationRequest(request),\n (entryPointAddress ?? account?.entryPoint?.address),\n ];\n const result = await client.request({\n method: 'eth_estimateUserOperationGas',\n params: rpcStateOverride ? [...params, rpcStateOverride] : [...params],\n });\n return formatUserOperationGas(result);\n }\n catch (error) {\n const calls = parameters.calls;\n throw getUserOperationError(error, {\n ...request,\n ...(calls ? { calls } : {}),\n });\n }\n}\n//# sourceMappingURL=estimateUserOperationGas.js.map","/**\n * Returns the EntryPoints that the bundler supports.\n *\n * - Docs: https://viem.sh/actions/bundler/getSupportedEntryPoints\n *\n * @param client - Client to use\n * @param parameters - {@link GetSupportedEntryPointsParameters}\n * @returns Supported Entry Points. {@link GetSupportedEntryPointsReturnType}\n *\n * @example\n * import { createBundlerClient, http, parseEther } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getSupportedEntryPoints } from 'viem/actions'\n *\n * const bundlerClient = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const addresses = await getSupportedEntryPoints(bundlerClient)\n */\nexport function getSupportedEntryPoints(client) {\n return client.request({ method: 'eth_supportedEntryPoints' });\n}\n//# sourceMappingURL=getSupportedEntryPoints.js.map","export function formatUserOperation(parameters) {\n const userOperation = { ...parameters };\n if (parameters.callGasLimit)\n userOperation.callGasLimit = BigInt(parameters.callGasLimit);\n if (parameters.maxFeePerGas)\n userOperation.maxFeePerGas = BigInt(parameters.maxFeePerGas);\n if (parameters.maxPriorityFeePerGas)\n userOperation.maxPriorityFeePerGas = BigInt(parameters.maxPriorityFeePerGas);\n if (parameters.nonce)\n userOperation.nonce = BigInt(parameters.nonce);\n if (parameters.paymasterPostOpGasLimit)\n userOperation.paymasterPostOpGasLimit = BigInt(parameters.paymasterPostOpGasLimit);\n if (parameters.paymasterVerificationGasLimit)\n userOperation.paymasterVerificationGasLimit = BigInt(parameters.paymasterVerificationGasLimit);\n if (parameters.preVerificationGas)\n userOperation.preVerificationGas = BigInt(parameters.preVerificationGas);\n if (parameters.verificationGasLimit)\n userOperation.verificationGasLimit = BigInt(parameters.verificationGasLimit);\n return userOperation;\n}\n//# sourceMappingURL=userOperation.js.map","import { UserOperationNotFoundError, } from '../../errors/userOperation.js';\nimport { formatUserOperation } from '../../utils/formatters/userOperation.js';\n/**\n * Retrieves information about a User Operation given a hash.\n *\n * - Docs: https://viem.sh/account-abstraction/actions/bundler/getUserOperation\n *\n * @param client - Client to use\n * @param parameters - {@link GetUserOperationParameters}\n * @returns The receipt. {@link GetUserOperationReturnType}\n *\n * @example\n * import { createBundlerClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getUserOperation } from 'viem/actions\n *\n * const client = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const receipt = await getUserOperation(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function getUserOperation(client, { hash }) {\n const result = await client.request({\n method: 'eth_getUserOperationByHash',\n params: [hash],\n }, { dedupe: true });\n if (!result)\n throw new UserOperationNotFoundError({ hash });\n const { blockHash, blockNumber, entryPoint, transactionHash, userOperation } = result;\n return {\n blockHash,\n blockNumber: BigInt(blockNumber),\n entryPoint,\n transactionHash,\n userOperation: formatUserOperation(userOperation),\n };\n}\n//# sourceMappingURL=getUserOperation.js.map","import { formatLog } from '../../../utils/formatters/log.js';\nimport { formatTransactionReceipt } from '../../../utils/formatters/transactionReceipt.js';\nexport function formatUserOperationReceipt(parameters) {\n const receipt = { ...parameters };\n if (parameters.actualGasCost)\n receipt.actualGasCost = BigInt(parameters.actualGasCost);\n if (parameters.actualGasUsed)\n receipt.actualGasUsed = BigInt(parameters.actualGasUsed);\n if (parameters.logs)\n receipt.logs = parameters.logs.map((log) => formatLog(log));\n if (parameters.receipt)\n receipt.receipt = formatTransactionReceipt(receipt.receipt);\n return receipt;\n}\n//# sourceMappingURL=userOperationReceipt.js.map","import { UserOperationReceiptNotFoundError, } from '../../errors/userOperation.js';\nimport { formatUserOperationReceipt } from '../../utils/formatters/userOperationReceipt.js';\n/**\n * Returns the User Operation Receipt given a User Operation hash.\n *\n * - Docs: https://viem.sh/docs/actions/bundler/getUserOperationReceipt\n *\n * @param client - Client to use\n * @param parameters - {@link GetUserOperationReceiptParameters}\n * @returns The receipt. {@link GetUserOperationReceiptReturnType}\n *\n * @example\n * import { createBundlerClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getUserOperationReceipt } from 'viem/actions\n *\n * const client = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const receipt = await getUserOperationReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function getUserOperationReceipt(client, { hash }) {\n const receipt = await client.request({\n method: 'eth_getUserOperationReceipt',\n params: [hash],\n }, { dedupe: true });\n if (!receipt)\n throw new UserOperationReceiptNotFoundError({ hash });\n return formatUserOperationReceipt(receipt);\n}\n//# sourceMappingURL=getUserOperationReceipt.js.map","import { parseAccount } from '../../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { getAction } from '../../../utils/getAction.js';\nimport { getUserOperationError } from '../../utils/errors/getUserOperationError.js';\nimport { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js';\nimport { prepareUserOperation, } from './prepareUserOperation.js';\n/**\n * Broadcasts a User Operation to the Bundler.\n *\n * - Docs: https://viem.sh/actions/bundler/sendUserOperation\n *\n * @param client - Client to use\n * @param parameters - {@link SendUserOperationParameters}\n * @returns The User Operation hash. {@link SendUserOperationReturnType}\n *\n * @example\n * import { createBundlerClient, http, parseEther } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { toSmartAccount } from 'viem/accounts'\n * import { sendUserOperation } from 'viem/actions'\n *\n * const account = await toSmartAccount({ ... })\n *\n * const bundlerClient = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const values = await sendUserOperation(bundlerClient, {\n * account,\n * calls: [{ to: '0x...', value: parseEther('1') }],\n * })\n */\nexport async function sendUserOperation(client, parameters) {\n const { account: account_ = client.account, entryPointAddress } = parameters;\n if (!account_ && !parameters.sender)\n throw new AccountNotFoundError();\n const account = account_ ? parseAccount(account_) : undefined;\n const request = account\n ? await getAction(client, prepareUserOperation, 'prepareUserOperation')(parameters)\n : parameters;\n const signature = (parameters.signature ||\n (await account?.signUserOperation?.(request)));\n const rpcParameters = formatUserOperationRequest({\n ...request,\n signature,\n });\n try {\n return await client.request({\n method: 'eth_sendUserOperation',\n params: [\n rpcParameters,\n (entryPointAddress ?? account?.entryPoint?.address),\n ],\n }, { retryCount: 0 });\n }\n catch (error) {\n const calls = parameters.calls;\n throw getUserOperationError(error, {\n ...request,\n ...(calls ? { calls } : {}),\n signature,\n });\n }\n}\n//# sourceMappingURL=sendUserOperation.js.map","import { getAction } from '../../../utils/getAction.js';\nimport { observe } from '../../../utils/observe.js';\nimport { poll } from '../../../utils/poll.js';\nimport { stringify } from '../../../utils/stringify.js';\nimport { WaitForUserOperationReceiptTimeoutError, } from '../../errors/userOperation.js';\nimport { getUserOperationReceipt, } from './getUserOperationReceipt.js';\n/**\n * Waits for the User Operation to be included on a [Block](https://viem.sh/docs/glossary/terms#block) (one confirmation), and then returns the User Operation receipt.\n *\n * - Docs: https://viem.sh/docs/actions/bundler/waitForUserOperationReceipt\n *\n * @param client - Client to use\n * @param parameters - {@link WaitForUserOperationReceiptParameters}\n * @returns The receipt. {@link WaitForUserOperationReceiptReturnType}\n *\n * @example\n * import { createBundlerClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { waitForUserOperationReceipt } from 'viem/actions'\n *\n * const client = createBundlerClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const receipt = await waitForUserOperationReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport function waitForUserOperationReceipt(client, parameters) {\n const { hash, pollingInterval = client.pollingInterval, retryCount, timeout = 120_000, } = parameters;\n let count = 0;\n const observerId = stringify([\n 'waitForUserOperationReceipt',\n client.uid,\n hash,\n ]);\n return new Promise((resolve, reject) => {\n const unobserve = observe(observerId, { resolve, reject }, (emit) => {\n const done = (fn) => {\n unpoll();\n fn();\n unobserve();\n };\n const timeoutId = timeout\n ? setTimeout(() => done(() => emit.reject(new WaitForUserOperationReceiptTimeoutError({ hash }))), timeout)\n : undefined;\n const unpoll = poll(async () => {\n if (retryCount && count >= retryCount) {\n clearTimeout(timeoutId);\n done(() => emit.reject(new WaitForUserOperationReceiptTimeoutError({ hash })));\n }\n try {\n const receipt = await getAction(client, getUserOperationReceipt, 'getUserOperationReceipt')({ hash });\n clearTimeout(timeoutId);\n done(() => emit.resolve(receipt));\n }\n catch (err) {\n const error = err;\n if (error.name !== 'UserOperationReceiptNotFoundError') {\n clearTimeout(timeoutId);\n done(() => emit.reject(error));\n }\n }\n count++;\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return unpoll;\n });\n });\n}\n//# sourceMappingURL=waitForUserOperationReceipt.js.map","import { getChainId, } from '../../../actions/public/getChainId.js';\nimport { estimateUserOperationGas, } from '../../actions/bundler/estimateUserOperationGas.js';\nimport { getSupportedEntryPoints, } from '../../actions/bundler/getSupportedEntryPoints.js';\nimport { getUserOperation, } from '../../actions/bundler/getUserOperation.js';\nimport { getUserOperationReceipt, } from '../../actions/bundler/getUserOperationReceipt.js';\nimport { prepareUserOperation, } from '../../actions/bundler/prepareUserOperation.js';\nimport { sendUserOperation, } from '../../actions/bundler/sendUserOperation.js';\nimport { waitForUserOperationReceipt, } from '../../actions/bundler/waitForUserOperationReceipt.js';\nexport function bundlerActions(client) {\n return {\n estimateUserOperationGas: (parameters) => estimateUserOperationGas(client, parameters),\n getChainId: () => getChainId(client),\n getSupportedEntryPoints: () => getSupportedEntryPoints(client),\n getUserOperation: (parameters) => getUserOperation(client, parameters),\n getUserOperationReceipt: (parameters) => getUserOperationReceipt(client, parameters),\n prepareUserOperation: (parameters) => prepareUserOperation(client, parameters),\n sendUserOperation: (parameters) => sendUserOperation(client, parameters),\n waitForUserOperationReceipt: (parameters) => waitForUserOperationReceipt(client, parameters),\n };\n}\n//# sourceMappingURL=bundler.js.map","import { createClient, } from '../../clients/createClient.js';\nimport { bundlerActions } from './decorators/bundler.js';\nexport function createBundlerClient(parameters) {\n const { client: client_, key = 'bundler', name = 'Bundler Client', paymaster, paymasterContext, transport, userOperation, } = parameters;\n const client = Object.assign(createClient({\n ...parameters,\n chain: parameters.chain ?? client_?.chain,\n key,\n name,\n transport,\n type: 'bundlerClient',\n }), { client: client_, paymaster, paymasterContext, userOperation });\n return client.extend(bundlerActions);\n}\n//# sourceMappingURL=createBundlerClient.js.map","import { getPaymasterData, } from '../../actions/paymaster/getPaymasterData.js';\nimport { getPaymasterStubData, } from '../../actions/paymaster/getPaymasterStubData.js';\nexport function paymasterActions(client) {\n return {\n getPaymasterData: (parameters) => getPaymasterData(client, parameters),\n getPaymasterStubData: (parameters) => getPaymasterStubData(client, parameters),\n };\n}\n//# sourceMappingURL=paymaster.js.map","import { createClient, } from '../../clients/createClient.js';\nimport { paymasterActions, } from './decorators/paymaster.js';\nexport function createPaymasterClient(parameters) {\n const { key = 'bundler', name = 'Bundler Client', transport } = parameters;\n const client = createClient({\n ...parameters,\n key,\n name,\n transport,\n type: 'PaymasterClient',\n });\n return client.extend(paymasterActions);\n}\n//# sourceMappingURL=createPaymasterClient.js.map","import { UserOperation } from 'ox/erc4337';\nexport const toUserOperation = UserOperation.from;\n//# sourceMappingURL=toUserOperation.js.map","// biome-ignore lint/performance/noBarrelFile: entrypoint\nexport { createWebAuthnCredential, } from './accounts/createWebAuthnCredential.js';\nexport { toCoinbaseSmartAccount, } from './accounts/implementations/toCoinbaseSmartAccount.js';\nexport { toSimple7702SmartAccount, } from './accounts/implementations/toSimple7702SmartAccount.js';\nexport { toSoladySmartAccount, } from './accounts/implementations/toSoladySmartAccount.js';\nexport { toSmartAccount, } from './accounts/toSmartAccount.js';\nexport { toWebAuthnAccount, } from './accounts/toWebAuthnAccount.js';\nexport { estimateUserOperationGas, } from './actions/bundler/estimateUserOperationGas.js';\nexport { getSupportedEntryPoints, } from './actions/bundler/getSupportedEntryPoints.js';\nexport { getUserOperation, } from './actions/bundler/getUserOperation.js';\nexport { getUserOperationReceipt, } from './actions/bundler/getUserOperationReceipt.js';\nexport { prepareUserOperation, } from './actions/bundler/prepareUserOperation.js';\nexport { sendUserOperation, } from './actions/bundler/sendUserOperation.js';\nexport { waitForUserOperationReceipt, } from './actions/bundler/waitForUserOperationReceipt.js';\nexport { getPaymasterData, } from './actions/paymaster/getPaymasterData.js';\nexport { getPaymasterStubData, } from './actions/paymaster/getPaymasterStubData.js';\nexport { createBundlerClient, } from './clients/createBundlerClient.js';\nexport { createPaymasterClient, } from './clients/createPaymasterClient.js';\nexport { bundlerActions, } from './clients/decorators/bundler.js';\nexport { paymasterActions, } from './clients/decorators/paymaster.js';\nexport { entryPoint06Abi, entryPoint07Abi, entryPoint08Abi, entryPoint09Abi, } from './constants/abis.js';\nexport { entryPoint06Address, entryPoint07Address, entryPoint08Address, entryPoint09Address, } from './constants/address.js';\nexport { AccountNotDeployedError, FailedToSendToBeneficiaryError, GasValuesOverflowError, HandleOpsOutOfGasError, InitCodeFailedError, InitCodeMustCreateSenderError, InitCodeMustReturnSenderError, InsufficientPrefundError, InternalCallOnlyError, InvalidAggregatorError, InvalidBeneficiaryError, InvalidPaymasterAndDataError, PaymasterDepositTooLowError, PaymasterFunctionRevertedError, PaymasterNotDeployedError, PaymasterPostOpFunctionRevertedError, SenderAlreadyConstructedError, SmartAccountFunctionRevertedError, UnknownBundlerError, UserOperationExpiredError, UserOperationPaymasterExpiredError, UserOperationPaymasterSignatureError, UserOperationSignatureError, VerificationGasLimitExceededError, VerificationGasLimitTooLowError, } from './errors/bundler.js';\nexport { UserOperationExecutionError, UserOperationNotFoundError, UserOperationReceiptNotFoundError, WaitForUserOperationReceiptTimeoutError, } from './errors/userOperation.js';\nexport { getBundlerError, } from './utils/errors/getBundlerError.js';\nexport { getUserOperationError, } from './utils/errors/getUserOperationError.js';\nexport { formatUserOperation, } from './utils/formatters/userOperation.js';\nexport { formatUserOperationGas, } from './utils/formatters/userOperationGas.js';\nexport { formatUserOperationReceipt, } from './utils/formatters/userOperationReceipt.js';\nexport { formatUserOperationRequest, } from './utils/formatters/userOperationRequest.js';\nexport { getInitCode, } from './utils/userOperation/getInitCode.js';\nexport { getUserOperationHash, } from './utils/userOperation/getUserOperationHash.js';\nexport { getUserOperationTypedData, } from './utils/userOperation/getUserOperationTypedData.js';\nexport { toPackedUserOperation, } from './utils/userOperation/toPackedUserOperation.js';\nexport { toUserOperation } from './utils/userOperation/toUserOperation.js';\n//# sourceMappingURL=index.js.map","import { createStore } from 'zustand/vanilla';\nexport const ChainClients = createStore(() => ({}));\n//# sourceMappingURL=store.js.map","import { createPublicClient, defineChain, http } from 'viem';\nimport { createBundlerClient } from 'viem/account-abstraction';\nimport { arbitrum, avalanche, base, baseSepolia, bsc, mainnet, optimism, optimismSepolia, polygon, sepolia, zora, } from 'viem/chains';\nimport { ChainClients } from './store.js';\nexport const SUPPORTED_MAINNET_CHAINS = [\n base,\n avalanche,\n arbitrum,\n polygon,\n mainnet,\n bsc,\n zora,\n optimism,\n];\nexport const SUPPORTED_TESTNET_CHAINS = [\n baseSepolia,\n sepolia,\n optimismSepolia,\n];\nconst SUPPORTED_CHAINS_BY_ID = [\n ...SUPPORTED_MAINNET_CHAINS,\n ...SUPPORTED_TESTNET_CHAINS,\n].reduce((acc, chain) => {\n acc.set(chain.id, chain);\n return acc;\n}, new Map());\n// Get fallback chain data from supported chain list\nfunction getSupportedChainById(chainId) {\n return SUPPORTED_CHAINS_BY_ID.get(chainId);\n}\n// Get fallback RPC URL from viem's chain definitions\nfunction getFallbackRpcUrl(chainId) {\n const viemChain = getSupportedChainById(chainId);\n if (viemChain?.rpcUrls?.default?.http?.[0]) {\n return viemChain.rpcUrls.default.http[0];\n }\n return undefined;\n}\nfunction defineChainConfig(chainId, rpcUrl, options) {\n const viemChain = options?.viemChain;\n const nativeCurrency = options?.nativeCurrency;\n const name = nativeCurrency?.name ?? viemChain?.name ?? '';\n const symbol = nativeCurrency?.symbol ?? viemChain?.nativeCurrency?.symbol ?? '';\n const decimals = nativeCurrency?.decimal ?? viemChain?.nativeCurrency?.decimals ?? 18;\n return defineChain({\n id: chainId,\n name,\n nativeCurrency: {\n name,\n symbol,\n decimals,\n },\n rpcUrls: {\n default: {\n http: [rpcUrl],\n },\n },\n });\n}\nexport function createClients(chains) {\n chains.forEach((c) => {\n // Use fallback RPC URL from viem if wallet hasn't provided one\n let rpcUrl = c.rpcUrl;\n if (!rpcUrl) {\n rpcUrl = getFallbackRpcUrl(c.id);\n }\n // Skip if still no RPC URL available\n if (!rpcUrl) {\n return;\n }\n const viemChain = getSupportedChainById(c.id);\n const clients = createClientPair({\n chainId: c.id,\n rpcUrl,\n nativeCurrency: c.nativeCurrency,\n viemChain,\n });\n storeClientPair(c.id, clients);\n });\n}\nfunction createClientPair(options) {\n const { chainId, rpcUrl, nativeCurrency, viemChain } = options;\n const chain = defineChainConfig(chainId, rpcUrl, {\n viemChain,\n nativeCurrency,\n });\n const client = createPublicClient({\n chain,\n transport: http(rpcUrl),\n });\n const bundlerClient = createBundlerClient({\n client,\n transport: http(rpcUrl),\n });\n return { client, bundlerClient };\n}\nfunction createFallbackClientPair(chainId) {\n const rpcUrl = getFallbackRpcUrl(chainId);\n const viemChain = getSupportedChainById(chainId);\n if (!rpcUrl) {\n return undefined;\n }\n return createClientPair({\n chainId,\n rpcUrl,\n viemChain,\n });\n}\nfunction storeClientPair(chainId, pair) {\n ChainClients.setState((state) => ({\n ...state,\n [chainId]: {\n client: pair.client,\n bundlerClient: pair.bundlerClient,\n },\n }));\n}\nexport function getClient(chainId) {\n // First check if client exists in storage\n const storedClient = ChainClients.getState()[chainId]?.client;\n if (storedClient) {\n return storedClient;\n }\n // If not in storage, try to create a fallback client\n const fallbackPair = createFallbackClientPair(chainId);\n // If we successfully created fallback clients, store them for future use\n if (fallbackPair) {\n storeClientPair(chainId, fallbackPair);\n return fallbackPair.client;\n }\n return undefined;\n}\nexport function getBundlerClient(chainId) {\n // First check if bundler client exists in storage\n const storedBundlerClient = ChainClients.getState()[chainId]?.bundlerClient;\n if (storedBundlerClient) {\n return storedBundlerClient;\n }\n // If not in storage, try to create a fallback bundler client\n const fallbackPair = createFallbackClientPair(chainId);\n // If we successfully created fallback clients, store them for future use\n if (fallbackPair) {\n storeClientPair(chainId, fallbackPair);\n return fallbackPair.bundlerClient;\n }\n return undefined;\n}\n//# sourceMappingURL=utils.js.map","import { createStore } from 'zustand/vanilla';\nconst correlationIdsStore = createStore(() => ({\n correlationIds: new Map(),\n}));\nexport const correlationIds = {\n get: (key) => {\n const correlationId = correlationIdsStore.getState().correlationIds.get(key);\n return correlationId;\n },\n set: (key, correlationId) => {\n correlationIdsStore.setState((state) => {\n const newMap = new Map(state.correlationIds);\n newMap.set(key, correlationId);\n return { correlationIds: newMap };\n });\n },\n delete: (key) => {\n correlationIdsStore.setState((state) => {\n const newMap = new Map(state.correlationIds);\n newMap.delete(key);\n return { correlationIds: newMap };\n });\n },\n clear: () => {\n correlationIdsStore.setState({\n correlationIds: new Map(),\n });\n },\n};\n//# sourceMappingURL=store.js.map","import { isAddress, isHex } from 'viem';\nimport { standardErrors } from '../core/error/errors.js';\nexport function assertSubAccount(info) {\n if (typeof info !== 'object' || info === null) {\n throw standardErrors.rpc.internal('sub account info is not an object');\n }\n if (!('address' in info)) {\n throw standardErrors.rpc.internal('sub account is invalid');\n }\n if ('address' in info && typeof info.address === 'string' && !isAddress(info.address)) {\n throw standardErrors.rpc.internal('sub account address is invalid');\n }\n if ('factory' in info && typeof info.factory === 'string' && !isAddress(info.factory)) {\n throw standardErrors.rpc.internal('sub account factory address is invalid');\n }\n if ('factoryData' in info && typeof info.factoryData === 'string' && !isHex(info.factoryData)) {\n throw standardErrors.rpc.internal('sub account factory data is invalid');\n }\n}\n//# sourceMappingURL=assertSubAccount.js.map","import { hexStringToUint8Array, uint8ArrayToHex } from '../core/type/util.js';\nexport async function generateKeyPair() {\n return crypto.subtle.generateKey({\n name: 'ECDH',\n namedCurve: 'P-256',\n }, true, ['deriveKey']);\n}\nexport async function deriveSharedSecret(ownPrivateKey, peerPublicKey) {\n return crypto.subtle.deriveKey({\n name: 'ECDH',\n public: peerPublicKey,\n }, ownPrivateKey, {\n name: 'AES-GCM',\n length: 256,\n }, false, ['encrypt', 'decrypt']);\n}\nexport async function encrypt(sharedSecret, plainText) {\n const iv = crypto.getRandomValues(new Uint8Array(12));\n const cipherText = await crypto.subtle.encrypt({\n name: 'AES-GCM',\n iv,\n }, sharedSecret, new TextEncoder().encode(plainText));\n return { iv, cipherText };\n}\nexport async function decrypt(sharedSecret, { iv, cipherText }) {\n const plainText = await crypto.subtle.decrypt({\n name: 'AES-GCM',\n iv,\n }, sharedSecret, cipherText);\n return new TextDecoder().decode(plainText);\n}\nfunction getFormat(keyType) {\n switch (keyType) {\n case 'public':\n return 'spki';\n case 'private':\n return 'pkcs8';\n }\n}\nexport async function exportKeyToHexString(type, key) {\n const format = getFormat(type);\n const exported = await crypto.subtle.exportKey(format, key);\n return uint8ArrayToHex(new Uint8Array(exported));\n}\nexport async function importKeyFromHexString(type, hexString) {\n const format = getFormat(type);\n const arrayBuffer = hexStringToUint8Array(hexString).buffer;\n return await crypto.subtle.importKey(format, new Uint8Array(arrayBuffer), {\n name: 'ECDH',\n namedCurve: 'P-256',\n }, true, type === 'private' ? ['deriveKey'] : []);\n}\nexport async function encryptContent(content, sharedSecret) {\n const serialized = JSON.stringify(content, (_, value) => {\n if (!(value instanceof Error))\n return value;\n const error = value;\n return {\n ...(error.code ? { code: error.code } : {}),\n message: error.message,\n };\n });\n return encrypt(sharedSecret, serialized);\n}\nexport async function decryptContent(encryptedData, sharedSecret) {\n return JSON.parse(await decrypt(sharedSecret, encryptedData));\n}\n//# sourceMappingURL=cipher.js.map","import { PACKAGE_NAME, PACKAGE_VERSION } from '../core/constants.js';\nimport { standardErrors } from '../core/error/errors.js';\nexport async function fetchRPCRequest(request, rpcUrl) {\n const requestBody = {\n ...request,\n jsonrpc: '2.0',\n id: crypto.randomUUID(),\n };\n const res = await fetch(rpcUrl, {\n method: 'POST',\n body: JSON.stringify(requestBody),\n mode: 'cors',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Cbw-Sdk-Version': PACKAGE_VERSION,\n 'X-Cbw-Sdk-Platform': PACKAGE_NAME,\n },\n });\n const { result, error } = await res.json();\n if (error)\n throw error;\n return result;\n}\n/**\n * Validates the arguments for an invalid request and returns an error if any validation fails.\n * Valid request args are defined here: https://eips.ethereum.org/EIPS/eip-1193#request\n * @param args The request arguments to validate.\n * @returns An error object if the arguments are invalid, otherwise undefined.\n */\nexport function checkErrorForInvalidRequestArgs(args) {\n if (!args || typeof args !== 'object' || Array.isArray(args)) {\n throw standardErrors.rpc.invalidParams({\n message: 'Expected a single, non-array, object argument.',\n data: args,\n });\n }\n const { method, params } = args;\n if (typeof method !== 'string' || method.length === 0) {\n throw standardErrors.rpc.invalidParams({\n message: \"'args.method' must be a non-empty string.\",\n data: args,\n });\n }\n if (params !== undefined &&\n !Array.isArray(params) &&\n (typeof params !== 'object' || params === null)) {\n throw standardErrors.rpc.invalidParams({\n message: \"'args.params' must be an object or array if provided.\",\n data: args,\n });\n }\n switch (method) {\n case 'eth_sign':\n case 'eth_signTypedData_v2':\n case 'eth_subscribe':\n case 'eth_unsubscribe':\n throw standardErrors.provider.unsupportedMethod();\n }\n}\n//# sourceMappingURL=provider.js.map","function promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n const dbp = promisifyRequest(request);\n return (txMode, callback) => dbp.then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(store, callback) {\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAllKeys) {\n return promisifyRequest(store.getAllKeys());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);\n });\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAll) {\n return promisifyRequest(store.getAll());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);\n });\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n // (although, hopefully we'll get a simpler path some day)\n if (store.getAll && store.getAllKeys) {\n return Promise.all([\n promisifyRequest(store.getAllKeys()),\n promisifyRequest(store.getAll()),\n ]).then(([keys, values]) => keys.map((key, i) => [key, values[i]]));\n }\n const items = [];\n return customStore('readonly', (store) => eachCursor(store, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));\n });\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n","import { createStore, del, get, set } from 'idb-keyval';\nexport function createStorage(scope, name) {\n const store = typeof indexedDB !== 'undefined' ? createStore(scope, name) : undefined;\n return {\n getItem: async (key) => {\n const value = await get(key, store);\n if (!value) {\n return null;\n }\n return value;\n },\n removeItem: async (key) => {\n return del(key, store);\n },\n setItem: async (key, value) => {\n return set(key, value, store);\n },\n };\n}\n//# sourceMappingURL=storage.js.map","import { Hex, PublicKey, Signature, WebAuthnP256, WebCryptoP256 } from 'ox';\nimport { hashMessage, hashTypedData } from 'viem';\nimport { createStorage } from './storage.js';\n// *****************************************************************\n// Constants\n// *****************************************************************\nexport const STORAGE_SCOPE = 'base-acc-sdk';\nexport const STORAGE_NAME = 'keys';\nexport const ACTIVE_ID_KEY = 'activeId';\n// *****************************************************************\n// Storage\n// *****************************************************************\nexport const storage = createStorage(STORAGE_SCOPE, STORAGE_NAME);\n// *****************************************************************\n// Functions\n// *****************************************************************\nexport async function generateKeyPair() {\n const keypair = await WebCryptoP256.createKeyPair({ extractable: false });\n const publicKey = Hex.slice(PublicKey.toHex(keypair.publicKey), 1);\n await storage.setItem(publicKey, keypair);\n await storage.setItem(ACTIVE_ID_KEY, publicKey);\n return keypair;\n}\nexport async function getKeypair() {\n const id = await storage.getItem(ACTIVE_ID_KEY);\n if (!id) {\n return null;\n }\n const keypair = await storage.getItem(id);\n if (!keypair) {\n return null;\n }\n return keypair;\n}\nasync function getOrCreateKeypair() {\n const keypair = await getKeypair();\n if (!keypair) {\n const kp = await generateKeyPair();\n const pubKey = Hex.slice(PublicKey.toHex(kp.publicKey), 1);\n await storage.setItem(pubKey, kp);\n await storage.setItem(ACTIVE_ID_KEY, pubKey);\n return kp;\n }\n return keypair;\n}\nasync function getAccount() {\n const keypair = await getOrCreateKeypair();\n /**\n * public key / address\n */\n const publicKey = Hex.slice(PublicKey.toHex(keypair.publicKey), 1);\n const sign = async (payload) => {\n const { payload: message, metadata } = WebAuthnP256.getSignPayload({\n challenge: payload,\n origin: 'https://keys.coinbase.com',\n userVerification: 'preferred',\n });\n const signature = await WebCryptoP256.sign({\n payload: message,\n privateKey: keypair.privateKey,\n });\n return {\n signature: Signature.toHex(signature),\n raw: {}, // type changed in viem\n webauthn: metadata,\n };\n };\n return {\n id: publicKey,\n publicKey,\n async sign({ hash }) {\n return sign(hash);\n },\n async signMessage({ message }) {\n return sign(hashMessage(message));\n },\n async signTypedData(parameters) {\n return sign(hashTypedData(parameters));\n },\n type: 'webAuthn',\n };\n}\nexport async function getCryptoKeyAccount() {\n const account = await getAccount();\n return {\n account,\n };\n}\nexport async function removeCryptoKey() {\n const keypair = await getKeypair();\n if (!keypair) {\n return;\n }\n await storage.removeItem(Hex.slice(PublicKey.toHex(keypair.publicKey), 1));\n await storage.removeItem(ACTIVE_ID_KEY);\n}\n//# sourceMappingURL=index.js.map","import { store } from '../../store/store.js';\nimport { deriveSharedSecret, exportKeyToHexString, generateKeyPair, importKeyFromHexString, } from '../../util/cipher.js';\nconst OWN_PRIVATE_KEY = {\n storageKey: 'ownPrivateKey',\n keyType: 'private',\n};\nconst OWN_PUBLIC_KEY = {\n storageKey: 'ownPublicKey',\n keyType: 'public',\n};\nconst PEER_PUBLIC_KEY = {\n storageKey: 'peerPublicKey',\n keyType: 'public',\n};\nexport class SCWKeyManager {\n ownPrivateKey = null;\n ownPublicKey = null;\n peerPublicKey = null;\n sharedSecret = null;\n async getOwnPublicKey() {\n await this.loadKeysIfNeeded();\n return this.ownPublicKey;\n }\n // returns null if the shared secret is not yet derived\n async getSharedSecret() {\n await this.loadKeysIfNeeded();\n return this.sharedSecret;\n }\n async setPeerPublicKey(key) {\n this.sharedSecret = null;\n this.peerPublicKey = key;\n await this.storeKey(PEER_PUBLIC_KEY, key);\n await this.loadKeysIfNeeded();\n }\n async clear() {\n this.ownPrivateKey = null;\n this.ownPublicKey = null;\n this.peerPublicKey = null;\n this.sharedSecret = null;\n store.keys.clear();\n }\n async generateKeyPair() {\n const newKeyPair = await generateKeyPair();\n this.ownPrivateKey = newKeyPair.privateKey;\n this.ownPublicKey = newKeyPair.publicKey;\n await this.storeKey(OWN_PRIVATE_KEY, newKeyPair.privateKey);\n await this.storeKey(OWN_PUBLIC_KEY, newKeyPair.publicKey);\n }\n async loadKeysIfNeeded() {\n if (this.ownPrivateKey === null) {\n this.ownPrivateKey = await this.loadKey(OWN_PRIVATE_KEY);\n }\n if (this.ownPublicKey === null) {\n this.ownPublicKey = await this.loadKey(OWN_PUBLIC_KEY);\n }\n if (this.ownPrivateKey === null || this.ownPublicKey === null) {\n await this.generateKeyPair();\n }\n if (this.peerPublicKey === null) {\n this.peerPublicKey = await this.loadKey(PEER_PUBLIC_KEY);\n }\n if (this.sharedSecret === null) {\n if (this.ownPrivateKey === null || this.peerPublicKey === null)\n return;\n this.sharedSecret = await deriveSharedSecret(this.ownPrivateKey, this.peerPublicKey);\n }\n }\n // storage methods\n async loadKey(item) {\n const key = store.keys.get(item.storageKey);\n if (!key)\n return null;\n return importKeyFromHexString(item.keyType, key);\n }\n async storeKey(item, key) {\n const hexString = await exportKeyToHexString(item.keyType, key);\n store.keys.set(item.storageKey, hexString);\n }\n}\n//# sourceMappingURL=SCWKeyManager.js.map","export function get(obj, path) {\n if (typeof obj !== 'object' || obj === null)\n return undefined;\n return path\n .split(/[.[\\]]+/)\n .filter(Boolean)\n .reduce((value, key) => {\n if (typeof value === 'object' && value !== null) {\n return value[key];\n }\n return undefined;\n }, obj);\n}\n//# sourceMappingURL=get.js.map","import { hexToBigInt, isAddress } from 'viem';\nimport { keccak256, numberToHex, slice, toHex } from 'viem';\nimport { standardErrors } from '../../core/error/errors.js';\nimport { logDialogActionClicked, logDialogDismissed, logDialogShown, } from '../../core/telemetry/events/dialog.js';\nimport { config, store } from '../../store/store.js';\nimport { initDialog } from '../../ui/Dialog/index.js';\nimport { get } from '../../util/get.js';\nimport { waitForCallsStatus } from 'viem/actions';\nimport { getCryptoKeyAccount } from '../../kms/crypto-key/index.js';\nimport { spendPermissionManagerAddress } from './utils/constants.js';\n// ***************************************************************\n// Utility\n// ***************************************************************\nexport function getSenderFromRequest(request) {\n if (!Array.isArray(request.params)) {\n return null;\n }\n switch (request.method) {\n case 'personal_sign':\n return request.params[1];\n case 'eth_signTypedData_v4':\n return request.params[0];\n case 'eth_signTransaction':\n case 'eth_sendTransaction':\n case 'wallet_sendCalls':\n return request.params[0]?.from;\n default:\n return null;\n }\n}\nexport function addSenderToRequest(request, sender) {\n if (!Array.isArray(request.params)) {\n throw standardErrors.rpc.invalidParams();\n }\n const params = [...request.params];\n switch (request.method) {\n case 'eth_signTransaction':\n case 'eth_sendTransaction':\n case 'wallet_sendCalls':\n params[0].from = sender;\n break;\n case 'eth_signTypedData_v4':\n params[0] = sender;\n break;\n case 'personal_sign':\n params[1] = sender;\n break;\n default:\n break;\n }\n return { ...request, params };\n}\nexport function assertParamsChainId(params) {\n if (!params || !Array.isArray(params) || !params[0]?.chainId) {\n throw standardErrors.rpc.invalidParams();\n }\n if (typeof params[0].chainId !== 'string' && typeof params[0].chainId !== 'number') {\n throw standardErrors.rpc.invalidParams();\n }\n}\nexport function assertGetCapabilitiesParams(params) {\n if (!params || !Array.isArray(params) || (params.length !== 1 && params.length !== 2)) {\n throw standardErrors.rpc.invalidParams();\n }\n if (typeof params[0] !== 'string' || !isAddress(params[0])) {\n throw standardErrors.rpc.invalidParams();\n }\n if (params.length === 2) {\n if (!Array.isArray(params[1])) {\n throw standardErrors.rpc.invalidParams();\n }\n for (const param of params[1]) {\n if (typeof param !== 'string' || !param.startsWith('0x')) {\n throw standardErrors.rpc.invalidParams();\n }\n }\n }\n}\nexport function injectRequestCapabilities(request, capabilities) {\n // Modify request to include auto sub account capabilities\n const modifiedRequest = { ...request };\n if (capabilities && request.method.startsWith('wallet_')) {\n let requestCapabilities = get(modifiedRequest, 'params.0.capabilities');\n if (typeof requestCapabilities === 'undefined') {\n requestCapabilities = {};\n }\n if (typeof requestCapabilities !== 'object') {\n throw standardErrors.rpc.invalidParams();\n }\n // Merge capabilities: injected capabilities first, then request capabilities\n // This ensures that if the request doesn't have a capability (e.g., addSubAccount),\n // it gets injected. If the request already has it, the request's version takes precedence.\n requestCapabilities = {\n ...capabilities,\n ...requestCapabilities,\n };\n if (modifiedRequest.params && Array.isArray(modifiedRequest.params)) {\n modifiedRequest.params[0] = {\n ...modifiedRequest.params[0],\n capabilities: requestCapabilities,\n };\n }\n }\n return modifiedRequest;\n}\n/**\n * Initializes the `subAccountConfig` store with the owner account function and capabilities\n * @returns void\n */\nexport async function initSubAccountConfig() {\n const config = store.subAccountsConfig.get() ?? {};\n const capabilities = {};\n if (config.creation === 'on-connect') {\n // Get the owner account\n const { account: owner } = config.toOwnerAccount\n ? await config.toOwnerAccount()\n : await getCryptoKeyAccount();\n if (!owner) {\n throw standardErrors.provider.unauthorized('No owner account found');\n }\n capabilities.addSubAccount = {\n account: {\n type: 'create',\n keys: [\n {\n type: owner.address ? 'address' : 'webauthn-p256',\n publicKey: owner.address || owner.publicKey,\n },\n ],\n },\n };\n }\n // Merge capabilities with existing config (don't overwrite the other properties!)\n store.subAccountsConfig.set({\n ...config,\n capabilities,\n });\n}\nexport function assertFetchPermissionsRequest(request) {\n if (request.method === 'coinbase_fetchPermissions' && request.params === undefined) {\n return;\n }\n if (request.method === 'coinbase_fetchPermissions' &&\n Array.isArray(request.params) &&\n request.params.length === 1 &&\n typeof request.params[0] === 'object') {\n if (typeof request.params[0].account !== 'string' ||\n !request.params[0].chainId.startsWith('0x')) {\n throw standardErrors.rpc.invalidParams('FetchPermissions - Invalid params: params[0].account must be a hex string');\n }\n if (typeof request.params[0].chainId !== 'string' ||\n !request.params[0].chainId.startsWith('0x')) {\n throw standardErrors.rpc.invalidParams('FetchPermissions - Invalid params: params[0].chainId must be a hex string');\n }\n if (typeof request.params[0].spender !== 'string' ||\n !request.params[0].spender.startsWith('0x')) {\n throw standardErrors.rpc.invalidParams('FetchPermissions - Invalid params: params[0].spender must be a hex string');\n }\n return;\n }\n throw standardErrors.rpc.invalidParams();\n}\nexport function fillMissingParamsForFetchPermissions(request) {\n if (request.params !== undefined) {\n return request;\n }\n // this is based on the assumption that the first account is the active account\n // it could change in the context of multi-(universal)-account\n const accountFromStore = store.getState().account.accounts?.[0];\n const chainId = store.getState().account.chain?.id;\n const subAccountFromStore = store.getState().subAccount?.address;\n if (!accountFromStore || !subAccountFromStore || !chainId) {\n throw standardErrors.rpc.invalidParams('FetchPermissions - one or more of account, sub account, or chain id is missing, connect to sub account via wallet_connect first');\n }\n return {\n method: 'coinbase_fetchPermissions',\n params: [\n {\n account: accountFromStore,\n chainId: numberToHex(chainId),\n spender: subAccountFromStore,\n },\n ],\n };\n}\nexport function createSpendPermissionMessage({ spendPermission, chainId, }) {\n return {\n domain: {\n name: 'Spend Permission Manager',\n version: '1',\n chainId: chainId,\n verifyingContract: spendPermissionManagerAddress,\n },\n types: {\n SpendPermission: [\n { name: 'account', type: 'address' },\n { name: 'spender', type: 'address' },\n { name: 'token', type: 'address' },\n { name: 'allowance', type: 'uint160' },\n { name: 'period', type: 'uint48' },\n { name: 'start', type: 'uint48' },\n { name: 'end', type: 'uint48' },\n { name: 'salt', type: 'uint256' },\n { name: 'extraData', type: 'bytes' },\n ],\n },\n primaryType: 'SpendPermission',\n message: {\n account: spendPermission.account,\n spender: spendPermission.spender,\n token: spendPermission.token,\n allowance: spendPermission.allowance,\n period: spendPermission.period,\n start: spendPermission.start,\n end: spendPermission.end,\n salt: spendPermission.salt,\n extraData: spendPermission.extraData,\n },\n };\n}\nexport function createSpendPermissionBatchMessage({ spendPermissionBatch, chainId, }) {\n return {\n domain: {\n name: 'Spend Permission Manager',\n version: '1',\n chainId,\n verifyingContract: spendPermissionManagerAddress,\n },\n types: {\n SpendPermissionBatch: [\n { name: 'account', type: 'address' },\n { name: 'period', type: 'uint48' },\n { name: 'start', type: 'uint48' },\n { name: 'end', type: 'uint48' },\n { name: 'permissions', type: 'PermissionDetails[]' },\n ],\n PermissionDetails: [\n { name: 'spender', type: 'address' },\n { name: 'token', type: 'address' },\n { name: 'allowance', type: 'uint160' },\n { name: 'salt', type: 'uint256' },\n { name: 'extraData', type: 'bytes' },\n ],\n },\n primaryType: 'SpendPermissionBatch',\n message: {\n account: spendPermissionBatch.account,\n period: spendPermissionBatch.period,\n start: spendPermissionBatch.start,\n end: spendPermissionBatch.end,\n permissions: spendPermissionBatch.permissions.map((p) => ({\n spender: p.spender,\n token: p.token,\n allowance: p.allowance,\n salt: p.salt,\n extraData: p.extraData,\n })),\n },\n };\n}\nexport async function waitForCallsTransactionHash({ client, id, }) {\n const result = await waitForCallsStatus(client, {\n id,\n });\n if (result.status === 'success') {\n return result.receipts?.[0].transactionHash;\n }\n throw standardErrors.rpc.internal('failed to send transaction');\n}\nexport function createWalletSendCallsRequest({ calls, from, chainId, capabilities, }) {\n const paymasterUrls = config.get().paymasterUrls;\n let request = {\n method: 'wallet_sendCalls',\n params: [\n {\n version: '1.0',\n calls,\n chainId: numberToHex(chainId),\n from,\n atomicRequired: true,\n capabilities,\n },\n ],\n };\n if (paymasterUrls?.[chainId]) {\n request = injectRequestCapabilities(request, {\n paymasterService: { url: paymasterUrls?.[chainId] },\n });\n }\n return request;\n}\nexport async function presentSubAccountFundingDialog() {\n const dialog = initDialog();\n const userChoice = await new Promise((resolve, reject) => {\n logDialogShown({ dialogContext: 'sub_account_insufficient_balance' });\n dialog.presentItem({\n title: 'Insufficient spend permission',\n message: \"Your spend permission's remaining balance cannot cover this transaction. Please use your primary account to complete this transaction.\",\n onClose: () => {\n logDialogDismissed({ dialogContext: 'sub_account_insufficient_balance' });\n dialog.clear();\n reject(new Error('User cancelled funding'));\n },\n actionItems: [\n {\n text: 'Use primary account',\n variant: 'primary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'sub_account_insufficient_balance',\n dialogAction: 'continue_in_popup',\n });\n dialog.clear();\n resolve('continue_popup');\n },\n },\n {\n text: 'Cancel',\n variant: 'secondary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'sub_account_insufficient_balance',\n dialogAction: 'cancel',\n });\n dialog.clear();\n reject(new Error('User cancelled funding'));\n },\n },\n ],\n });\n });\n return userChoice;\n}\nexport function parseFundingOptions({ errorData, sourceAddress, }) {\n const spendPermissionRequests = [];\n for (const [token, { amount, sources }] of Object.entries(errorData?.required ?? {})) {\n const sourcesWithSufficientBalance = sources.filter((source) => {\n return (hexToBigInt(source.balance) >= hexToBigInt(amount) &&\n source.address.toLowerCase() === sourceAddress?.toLowerCase());\n });\n if (sourcesWithSufficientBalance.length === 0) {\n throw new Error('Source address has insufficient balance for a token');\n }\n spendPermissionRequests.push({\n token: token,\n requiredAmount: hexToBigInt(amount),\n });\n }\n return spendPermissionRequests;\n}\nexport function isSendCallsParams(params) {\n return (typeof params === 'object' &&\n params !== null &&\n Array.isArray(params) &&\n params.length > 0 &&\n typeof params[0] === 'object' &&\n params[0] !== null &&\n 'calls' in params[0]);\n}\nexport function isEthSendTransactionParams(params) {\n return (Array.isArray(params) &&\n params.length === 1 &&\n typeof params[0] === 'object' &&\n params[0] !== null &&\n 'to' in params[0]);\n}\nexport function compute16ByteHash(input) {\n return slice(keccak256(toHex(input)), 0, 16);\n}\nexport function makeDataSuffix({ attribution, dappOrigin, }) {\n if (!attribution) {\n return;\n }\n if ('auto' in attribution && attribution.auto && dappOrigin) {\n return compute16ByteHash(dappOrigin);\n }\n if ('dataSuffix' in attribution) {\n return attribution.dataSuffix;\n }\n return;\n}\n/**\n * Checks if a specific capability is present in a request's params\n * @param request The request object to check\n * @param capabilityName The name of the capability to check for\n * @returns boolean indicating if the capability is present\n */\nexport function requestHasCapability(request, capabilityName) {\n if (!Array.isArray(request?.params))\n return false;\n const capabilities = request.params[0]?.capabilities;\n if (!capabilities || typeof capabilities !== 'object')\n return false;\n return capabilityName in capabilities;\n}\n/**\n * Prepends an item to an array without duplicates\n * @param array The array to prepend to\n * @param item The item to prepend\n * @returns The array with the item prepended\n */\nexport function prependWithoutDuplicates(array, item) {\n const filtered = array.filter((i) => i !== item);\n return [item, ...filtered];\n}\n/**\n * Appends an item to an array without duplicates\n * @param array The array to append to\n * @param item The item to append\n * @returns The array with the item appended\n */\nexport function appendWithoutDuplicates(array, item) {\n const filtered = array.filter((i) => i !== item);\n return [...filtered, item];\n}\nexport async function getCachedWalletConnectResponse() {\n const spendPermissions = store.spendPermissions.get();\n const subAccount = store.subAccounts.get();\n const accounts = store.account.get().accounts;\n if (!accounts) {\n return null;\n }\n const walletConnectAccounts = accounts?.map((account) => ({\n address: account,\n capabilities: {\n subAccounts: subAccount ? [subAccount] : undefined,\n spendPermissions: spendPermissions.length > 0 ? { permissions: spendPermissions } : undefined,\n },\n }));\n return {\n accounts: walletConnectAccounts,\n };\n}\n//# sourceMappingURL=utils.js.map","import { Signature } from 'ox';\nimport { hexToBytes, numberToHex, stringToBytes, trim } from 'viem';\nexport function base64ToBase64Url(base64) {\n return base64.replaceAll('+', '-').replaceAll('/', '_').replace(/=+$/, '');\n}\nexport function arrayBufferToBase64Url(buffer) {\n // First convert to regular base64\n const base64String = btoa(String.fromCharCode(...new Uint8Array(buffer)));\n // Then convert to base64url\n return base64ToBase64Url(base64String);\n}\nexport function convertCredentialToJSON({ webauthn, signature, id, }) {\n const signatureRaw = Signature.fromHex(signature);\n return {\n id,\n rawId: arrayBufferToBase64Url(stringToBytes(id)),\n response: {\n authenticatorData: arrayBufferToBase64Url(hexToBytes(webauthn.authenticatorData)),\n clientDataJSON: arrayBufferToBase64Url(stringToBytes(webauthn.clientDataJSON)),\n signature: arrayBufferToBase64Url(asn1EncodeSignature(signatureRaw.r, signatureRaw.s)),\n },\n type: JSON.parse(webauthn.clientDataJSON).type,\n };\n}\nexport function asn1EncodeSignature(r, s) {\n // Convert r and s to byte arrays and remove any leading zeros\n const rBytes = hexToBytes(trim(numberToHex(r)));\n const sBytes = hexToBytes(trim(numberToHex(s)));\n // Calculate lengths\n const rLength = rBytes.length;\n const sLength = sBytes.length;\n const totalLength = rLength + sLength + 4; // 4 additional bytes for type and length fields\n // Create the signature buffer\n const signature = new Uint8Array(totalLength + 2); // +2 for sequence header\n // Sequence header\n signature[0] = 0x30; // ASN.1 sequence tag\n signature[1] = totalLength;\n // Encode r value\n signature[2] = 0x02; // ASN.1 integer tag\n signature[3] = rLength;\n signature.set(rBytes, 4);\n // Encode s value\n signature[rLength + 4] = 0x02; // ASN.1 integer tag\n signature[rLength + 5] = sLength;\n signature.set(sBytes, rLength + 6);\n return signature;\n}\n//# sourceMappingURL=encoding.js.map","import * as Signature from 'ox/Signature';\nimport { BaseError, decodeFunctionData, encodeAbiParameters, encodeFunctionData, encodePacked, hashMessage, hashTypedData, parseSignature, size, stringToHex, } from 'viem';\nimport { entryPoint06Abi, entryPoint06Address, getUserOperationHash, toSmartAccount, } from 'viem/account-abstraction';\nimport { abi, factoryAbi, factoryAddress } from './constants.js';\n/**\n * @description Create a Coinbase Smart Account.\n *\n * @param parameters - {@link CreateSmartAccountParameters}\n * @returns Coinbase Smart Account. {@link CreateSmartAccountReturnType}\n *\n * @example\n *\n * const account = createSmartAccount({\n * client,\n * owner: privateKeyToAccount('0x...'),\n * ownerIndex: 0,\n * address: '0x...',\n * factoryData: '0x...',\n * })\n */\nexport async function createSmartAccount(parameters) {\n const { owner, ownerIndex, address, client, factoryData } = parameters;\n const entryPoint = {\n abi: entryPoint06Abi,\n address: entryPoint06Address,\n version: '0.6',\n };\n const factory = {\n abi: factoryAbi,\n address: factoryAddress,\n };\n return toSmartAccount({\n client,\n entryPoint,\n extend: { abi, factory },\n async decodeCalls(data) {\n const result = decodeFunctionData({\n abi,\n data,\n });\n if (result.functionName === 'execute')\n return [{ to: result.args[0], value: result.args[1], data: result.args[2] }];\n if (result.functionName === 'executeBatch')\n return result.args[0].map((arg) => ({\n to: arg.target,\n value: arg.value,\n data: arg.data,\n }));\n throw new BaseError(`unable to decode calls for \"${result.functionName}\"`);\n },\n async encodeCalls(calls) {\n if (calls.length === 1) {\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [calls[0].to, calls[0].value ?? BigInt(0), calls[0].data ?? '0x'],\n });\n }\n return encodeFunctionData({\n abi,\n functionName: 'executeBatch',\n args: [\n calls.map((call) => ({\n data: call.data ?? '0x',\n target: call.to,\n value: call.value ?? BigInt(0),\n })),\n ],\n });\n },\n async getAddress() {\n return address;\n },\n async getFactoryArgs() {\n if (factoryData)\n return { factory: factory.address, factoryData };\n // TODO: support creating factory data\n return { factory: factory.address, factoryData };\n },\n async getStubSignature() {\n if (owner.type === 'webAuthn')\n return '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000';\n return wrapSignature({\n ownerIndex,\n signature: '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c',\n });\n },\n async sign(parameters) {\n const address = await this.getAddress();\n const hash = toReplaySafeHash({\n address,\n chainId: client.chain.id,\n hash: parameters.hash,\n });\n const signature = await sign({ hash, owner });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signMessage(parameters) {\n const { message } = parameters;\n const address = await this.getAddress();\n const hash = toReplaySafeHash({\n address,\n chainId: client.chain.id,\n hash: hashMessage(message),\n });\n const signature = await sign({ hash, owner });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signTypedData(parameters) {\n const { domain, types, primaryType, message } = parameters;\n const address = await this.getAddress();\n const hash = toReplaySafeHash({\n address,\n chainId: client.chain.id,\n hash: hashTypedData({\n domain,\n message,\n primaryType,\n types,\n }),\n });\n const signature = await sign({ hash, owner });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n async signUserOperation(parameters) {\n const { chainId = client.chain.id, ...userOperation } = parameters;\n const address = await this.getAddress();\n const hash = getUserOperationHash({\n chainId,\n entryPointAddress: entryPoint.address,\n entryPointVersion: entryPoint.version,\n userOperation: {\n ...userOperation,\n sender: address,\n },\n });\n const signature = await sign({ hash, owner });\n return wrapSignature({\n ownerIndex,\n signature,\n });\n },\n userOperation: {\n async estimateGas(userOperation) {\n if (owner.type !== 'webAuthn')\n return;\n // Accounts with WebAuthn owner require a minimum verification gas limit of 800,000.\n return {\n verificationGasLimit: BigInt(Math.max(Number(userOperation.verificationGasLimit ?? BigInt(0)), 800_000)),\n };\n },\n },\n });\n}\n/////////////////////////////////////////////////////////////////////////////////////////////\n// Utilities\n/////////////////////////////////////////////////////////////////////////////////////////////\n/** @internal */\nexport async function sign({ hash, owner, }) {\n // WebAuthn Account (Passkey)\n if (owner.type === 'webAuthn') {\n const { signature, webauthn } = await owner.sign({\n hash,\n });\n return toWebAuthnSignature({ signature, webauthn });\n }\n if (owner.sign)\n return owner.sign({ hash });\n throw new BaseError('`owner` does not support raw sign.');\n}\n/** @internal */\nexport function toReplaySafeHash({ address, chainId, hash, }) {\n return hashTypedData({\n domain: {\n chainId,\n name: 'Coinbase Smart Wallet',\n verifyingContract: address,\n version: '1',\n },\n types: {\n CoinbaseSmartWalletMessage: [\n {\n name: 'hash',\n type: 'bytes32',\n },\n ],\n },\n primaryType: 'CoinbaseSmartWalletMessage',\n message: {\n hash,\n },\n });\n}\n/** @internal */\nexport function toWebAuthnSignature({ webauthn, signature, }) {\n const { r, s } = Signature.fromHex(signature);\n return encodeAbiParameters([\n {\n components: [\n {\n name: 'authenticatorData',\n type: 'bytes',\n },\n { name: 'clientDataJSON', type: 'bytes' },\n { name: 'challengeIndex', type: 'uint256' },\n { name: 'typeIndex', type: 'uint256' },\n {\n name: 'r',\n type: 'uint256',\n },\n {\n name: 's',\n type: 'uint256',\n },\n ],\n type: 'tuple',\n },\n ], [\n {\n authenticatorData: webauthn.authenticatorData,\n clientDataJSON: stringToHex(webauthn.clientDataJSON),\n challengeIndex: BigInt(webauthn.challengeIndex),\n typeIndex: BigInt(webauthn.typeIndex),\n r,\n s,\n },\n ]);\n}\n/** @internal */\nexport function wrapSignature(parameters) {\n const { ownerIndex = 0 } = parameters;\n const signatureData = (() => {\n if (size(parameters.signature) !== 65)\n return parameters.signature;\n const signature = parseSignature(parameters.signature);\n return encodePacked(['bytes32', 'bytes32', 'uint8'], [signature.r, signature.s, signature.yParity === 0 ? 27 : 28]);\n })();\n return encodeAbiParameters([\n {\n components: [\n {\n name: 'ownerIndex',\n type: 'uint8',\n },\n {\n name: 'signatureData',\n type: 'bytes',\n },\n ],\n type: 'tuple',\n },\n ], [\n {\n ownerIndex,\n signatureData,\n },\n ]);\n}\n//# sourceMappingURL=createSmartAccount.js.map","import { isViemError, standardErrors, viemHttpErrorToProviderError } from '../../../core/error/errors.js';\nimport { ensureHexString } from '../../../core/type/util.js';\nimport { assertArrayPresence, assertPresence } from '../../../util/assertPresence.js';\nimport { convertCredentialToJSON } from '../../../util/encoding.js';\nimport { get } from '../../../util/get.js';\nimport { hexToString, isHex, numberToHex, } from 'viem';\nimport { createWalletSendCallsRequest, injectRequestCapabilities, waitForCallsTransactionHash, } from '../utils.js';\nimport { createSmartAccount } from './createSmartAccount.js';\nexport async function createSubAccountSigner({ address, client, factory, factoryData, owner, ownerIndex, parentAddress, attribution, }) {\n const subAccount = {\n address,\n factory,\n factoryData,\n };\n const chainId = client.chain?.id;\n if (!chainId) {\n throw standardErrors.rpc.internal('chainId not found');\n }\n const account = await createSmartAccount({\n owner,\n ownerIndex: ownerIndex ?? 1,\n address,\n client,\n factoryData,\n });\n const request = async (args) => {\n try {\n switch (args.method) {\n case 'wallet_addSubAccount':\n return subAccount;\n case 'eth_accounts':\n return [subAccount.address];\n case 'eth_coinbase':\n return subAccount.address;\n case 'net_version':\n return chainId.toString();\n case 'eth_chainId':\n return numberToHex(chainId);\n case 'eth_sendTransaction': {\n assertArrayPresence(args.params);\n const rawParams = args.params[0];\n assertPresence(rawParams.to, standardErrors.rpc.invalidParams('to is required'));\n const params = {\n to: rawParams.to,\n data: ensureHexString(rawParams.data ?? '0x', true),\n value: ensureHexString(rawParams.value ?? '0x', true),\n from: rawParams.from ?? subAccount.address,\n };\n // Transform into wallet_sendCalls request\n const sendCallsRequest = createWalletSendCallsRequest({\n calls: [params],\n chainId,\n from: params.from,\n });\n const response = (await request(sendCallsRequest));\n return waitForCallsTransactionHash({\n client,\n id: response,\n });\n }\n case 'wallet_sendCalls': {\n assertArrayPresence(args.params);\n // Get the client for the chain\n const chainId = get(args.params[0], 'chainId');\n if (!chainId) {\n throw standardErrors.rpc.invalidParams('chainId is required');\n }\n if (!isHex(chainId)) {\n throw standardErrors.rpc.invalidParams('chainId must be a hex encoded integer');\n }\n if (!args.params[0]) {\n throw standardErrors.rpc.invalidParams('params are required');\n }\n if (!('calls' in args.params[0])) {\n throw standardErrors.rpc.invalidParams('calls are required');\n }\n let prepareCallsRequest = {\n method: 'wallet_prepareCalls',\n params: [\n {\n version: '1.0',\n calls: args.params[0].calls,\n chainId: chainId,\n from: subAccount.address,\n capabilities: 'capabilities' in args.params[0]\n ? args.params[0].capabilities\n : {},\n },\n ],\n };\n if (parentAddress) {\n prepareCallsRequest = injectRequestCapabilities(prepareCallsRequest, {\n funding: [\n {\n type: 'spendPermission',\n data: {\n autoApply: true,\n sources: [parentAddress],\n preference: 'PREFER_DIRECT_BALANCE',\n },\n },\n ],\n });\n }\n let prepareCallsResponse = (await request(prepareCallsRequest));\n const signResponse = await owner.sign?.({\n // Hash returned from wallet_prepareCalls is double hex encoded\n hash: hexToString(prepareCallsResponse.signatureRequest.hash),\n });\n let signatureData;\n if (!signResponse) {\n throw standardErrors.rpc.internal('signature not found');\n }\n if (isHex(signResponse)) {\n signatureData = {\n type: 'secp256k1',\n data: {\n address: owner.address,\n signature: signResponse,\n },\n };\n }\n else {\n signatureData = {\n type: 'webauthn',\n data: {\n signature: JSON.stringify(convertCredentialToJSON({\n id: owner.id ?? '1',\n ...signResponse,\n })),\n publicKey: owner.publicKey,\n },\n };\n }\n const sendPreparedCallsResponse = (await request({\n method: 'wallet_sendPreparedCalls',\n params: [\n {\n version: '1.0',\n type: prepareCallsResponse.type,\n data: prepareCallsResponse.userOp,\n chainId: prepareCallsResponse.chainId,\n signature: signatureData,\n },\n ],\n }));\n return sendPreparedCallsResponse[0];\n }\n case 'wallet_sendPreparedCalls': {\n assertArrayPresence(args.params);\n // Get the client for the chain\n const chainId = get(args.params[0], 'chainId');\n if (!chainId) {\n throw standardErrors.rpc.invalidParams('chainId is required');\n }\n if (!isHex(chainId)) {\n throw standardErrors.rpc.invalidParams('chainId must be a hex encoded integer');\n }\n const sendPreparedCallsResponse = await client.request({\n method: 'wallet_sendPreparedCalls',\n params: args.params,\n });\n return sendPreparedCallsResponse;\n }\n case 'wallet_prepareCalls': {\n assertArrayPresence(args.params);\n // Get the client for the chain\n const chainId = get(args.params[0], 'chainId');\n if (!chainId) {\n throw standardErrors.rpc.invalidParams('chainId is required');\n }\n if (!isHex(chainId)) {\n throw standardErrors.rpc.invalidParams('chainId must be a hex encoded integer');\n }\n if (!args.params[0]) {\n throw standardErrors.rpc.invalidParams('params are required');\n }\n if (!get(args.params[0], 'calls')) {\n throw standardErrors.rpc.invalidParams('calls are required');\n }\n const prepareCallsParams = args.params[0];\n if (attribution &&\n prepareCallsParams.capabilities &&\n !('attribution' in prepareCallsParams.capabilities)) {\n prepareCallsParams.capabilities.attribution = attribution;\n }\n const prepareCallsResponse = await client.request({\n method: 'wallet_prepareCalls',\n params: [{ ...args.params[0], chainId: chainId }],\n });\n return prepareCallsResponse;\n }\n case 'personal_sign': {\n assertArrayPresence(args.params);\n // Param is expected to be a hex encoded string\n if (!isHex(args.params[0])) {\n throw standardErrors.rpc.invalidParams('message must be a hex encoded string');\n }\n // signMessage expects the unencoded message\n const message = hexToString(args.params[0]);\n return account.signMessage({ message });\n }\n case 'eth_signTypedData_v4': {\n assertArrayPresence(args.params);\n const typedData = typeof args.params[1] === 'string' ? JSON.parse(args.params[1]) : args.params[1];\n return account.signTypedData(typedData);\n }\n case 'eth_signTypedData_v1':\n case 'eth_signTypedData_v3':\n case 'wallet_addEthereumChain':\n case 'wallet_switchEthereumChain':\n default:\n throw standardErrors.rpc.methodNotSupported();\n }\n }\n catch (error) {\n // Convert error to RPC error if possible\n if (isViemError(error)) {\n const newError = viemHttpErrorToProviderError(error);\n if (newError) {\n throw newError;\n }\n }\n throw error;\n }\n };\n return { request };\n}\n//# sourceMappingURL=createSubAccountSigner.js.map","import { standardErrors } from '../../../core/error/errors.js';\nimport { decodeFunctionData, isAddress, pad } from 'viem';\nimport { getCode, readContract } from 'viem/actions';\nimport { abi, factoryAbi } from './constants.js';\nexport async function findOwnerIndex({ address, client, publicKey, factory, factoryData, }) {\n const code = await getCode(client, {\n address,\n });\n // Check index of owner in the factoryData\n // Note: importing an undeployed contract might need to be handled differently\n // The implemention will likely require the signer to tell us the index\n if (!code && factory && factoryData) {\n const initData = decodeFunctionData({\n abi: factoryAbi,\n data: factoryData,\n });\n if (initData.functionName !== 'createAccount') {\n throw standardErrors.rpc.internal('unknown factory function');\n }\n const [owners] = initData.args;\n return owners.findIndex((owner) => {\n return owner.toLowerCase() === formatPublicKey(publicKey).toLowerCase();\n });\n }\n const ownerCount = await readContract(client, {\n address,\n abi,\n functionName: 'ownerCount',\n });\n // Iterate from highest index down and return early when found\n for (let i = Number(ownerCount) - 1; i >= 0; i--) {\n const owner = await readContract(client, {\n address,\n abi,\n functionName: 'ownerAtIndex',\n args: [BigInt(i)],\n });\n const formatted = formatPublicKey(publicKey);\n if (owner.toLowerCase() === formatted.toLowerCase()) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Formats 20 byte addresses to 32 byte public keys. Contract uses 32 byte keys for owners.\n * @param publicKey - The public key to format\n * @returns The formatted public key\n */\nexport function formatPublicKey(publicKey) {\n if (isAddress(publicKey)) {\n return pad(publicKey);\n }\n return publicKey;\n}\n//# sourceMappingURL=findOwnerIndex.js.map","// TODO(v3): Remove this.\nimport { sendCalls, } from '../../../actions/wallet/sendCalls.js';\nimport { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js';\nimport { getAction } from '../../../utils/getAction.js';\n/**\n * Requests for the wallet to sign and broadcast a batch of write contract calls (transactions) to the network.\n *\n * - Docs: https://viem.sh/experimental/eip5792/writeContracts\n *\n * @param client - Client to use\n * @param parameters - {@link WriteContractsParameters}\n * @returns Unique identifier for the call batch. {@link WriteContractsReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { writeContracts } from 'viem/experimental'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const abi = parseAbi([\n * 'function approve(address, uint256) returns (bool)',\n * 'function transferFrom(address, address, uint256) returns (bool)',\n * ])\n * const id = await writeContracts(client, {\n * contracts: [\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'approve',\n * args: ['0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC', 100n],\n * },\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'transferFrom',\n * args: [\n * '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',\n * '0x0000000000000000000000000000000000000000',\n * 100n\n * ],\n * },\n * ],\n * })\n */\nexport async function writeContracts(client, parameters) {\n const contracts = parameters.contracts;\n const calls = contracts.map((contract) => {\n const { address, abi, functionName, args, value } = contract;\n return {\n data: encodeFunctionData({\n abi,\n functionName,\n args,\n }),\n to: address,\n value,\n };\n });\n return getAction(client, sendCalls, 'sendCalls')({ ...parameters, calls });\n}\n//# sourceMappingURL=writeContracts.js.map","// TODO(v3): Remove this.\nimport { getCallsStatus, } from '../../../actions/wallet/getCallsStatus.js';\nimport { getCapabilities, } from '../../../actions/wallet/getCapabilities.js';\nimport { sendCalls, } from '../../../actions/wallet/sendCalls.js';\nimport { showCallsStatus, } from '../../../actions/wallet/showCallsStatus.js';\nimport { waitForCallsStatus, } from '../../../actions/wallet/waitForCallsStatus.js';\nimport { writeContracts, } from '../actions/writeContracts.js';\n/**\n * A suite of EIP-5792 Wallet Actions.\n *\n * - Docs: https://viem.sh/experimental\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { eip5792Actions } from 'viem/experimental'\n *\n * const walletClient = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(eip5792Actions())\n *\n * const hash = await walletClient.sendCalls({...})\n */\nexport function eip5792Actions() {\n return (client) => {\n return {\n getCallsStatus: (parameters) => getCallsStatus(client, parameters),\n getCapabilities: ((parameters) => getCapabilities(client, parameters)),\n sendCalls: (parameters) => sendCalls(client, parameters),\n showCallsStatus: (parameters) => showCallsStatus(client, parameters),\n waitForCallsStatus: (parameters) => waitForCallsStatus(client, parameters),\n writeContracts: (parameters) => writeContracts(client, parameters),\n };\n };\n}\n//# sourceMappingURL=eip5792.js.map","import { numberToHex, parseAccount } from '../../../utils/index.js';\n/**\n * Request permissions from a wallet to perform actions on behalf of a user.\n *\n * - Docs: https://viem.sh/experimental/erc7715/grantPermissions\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { grantPermissions } from 'viem/experimental'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * const result = await grantPermissions(client, {\n * expiry: 1716846083638,\n * permissions: [\n * {\n * type: 'native-token-transfer',\n * data: {\n * ticker: 'ETH',\n * },\n * policies: [\n * {\n * type: 'token-allowance',\n * data: {\n * allowance: parseEther('1'),\n * },\n * }\n * ],\n * required: true,\n * },\n * ],\n * })\n */\nexport async function grantPermissions(client, parameters) {\n const { account, expiry, permissions, signer } = parameters;\n const result = await client.request({\n method: 'wallet_grantPermissions',\n params: [\n formatParameters({ account, expiry, permissions, signer }),\n ],\n }, { retryCount: 0 });\n return formatRequest(result);\n}\nfunction formatParameters(parameters) {\n const { expiry, permissions, signer: signer_ } = parameters;\n const account = parameters.account\n ? parseAccount(parameters.account)\n : undefined;\n const signer = (() => {\n if (!account && !signer_)\n return undefined;\n // JSON-RPC Account as signer.\n if (account?.type === 'json-rpc')\n return {\n type: 'wallet',\n };\n // Local Account as signer.\n if (account?.type === 'local')\n return {\n type: 'account',\n data: {\n id: account.address,\n },\n };\n // ERC-7715 Signer as signer.\n return signer_;\n })();\n return {\n expiry,\n permissions: permissions.map((permission) => ({\n ...permission,\n policies: permission.policies.map((policy) => {\n const data = (() => {\n if (policy.type === 'token-allowance')\n return {\n allowance: numberToHex(policy.data.allowance),\n };\n if (policy.type === 'gas-limit')\n return {\n limit: numberToHex(policy.data.limit),\n };\n return policy.data;\n })();\n return {\n data,\n type: typeof policy.type === 'string' ? policy.type : policy.type.custom,\n };\n }),\n required: permission.required ?? false,\n type: typeof permission.type === 'string'\n ? permission.type\n : permission.type.custom,\n })),\n ...(signer ? { signer } : {}),\n };\n}\nfunction formatRequest(result) {\n return {\n expiry: result.expiry,\n ...(result.factory ? { factory: result.factory } : {}),\n ...(result.factoryData ? { factoryData: result.factoryData } : {}),\n grantedPermissions: result.grantedPermissions.map((permission) => ({\n ...permission,\n policies: permission.policies.map((policy) => {\n const data = (() => {\n if (policy.type === 'token-allowance')\n return {\n allowance: BigInt(policy.data.allowance),\n };\n if (policy.type === 'gas-limit')\n return {\n limit: BigInt(policy.data.limit),\n };\n return policy.data;\n })();\n return {\n data,\n type: policy.type,\n };\n }),\n })),\n permissionsContext: result.permissionsContext,\n ...(result.signerData ? { signerData: result.signerData } : {}),\n };\n}\n//# sourceMappingURL=grantPermissions.js.map","import { grantPermissions, } from '../actions/grantPermissions.js';\n/**\n * A suite of ERC-7715 Wallet Actions.\n *\n * - Docs: https://viem.sh/experimental\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7715Actions } from 'viem/experimental'\n *\n * const walletClient = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7715Actions())\n *\n * const result = await walletClient.grantPermissions({...})\n */\nexport function erc7715Actions() {\n return (client) => {\n return {\n grantPermissions: (parameters) => grantPermissions(client, parameters),\n };\n };\n}\n//# sourceMappingURL=erc7715.js.map","import { signMessage, } from '../actions/signMessage.js';\nimport { signTypedData, } from '../actions/signTypedData.js';\n/**\n * A suite of Actions based on [Solady contracts](https://github.com/Vectorized/solady).\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7739Actions } from 'viem/experimental'\n *\n * const walletClient = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7739Actions())\n *\n * const result = await walletClient.signMessage({...})\n */\nexport function erc7739Actions(parameters = {}) {\n const { verifier } = parameters;\n return (client) => {\n return {\n signMessage: (parameters) => signMessage(client, { verifier, ...parameters }),\n signTypedData: (parameters) => signTypedData(client, { verifier, ...parameters }),\n };\n };\n}\n//# sourceMappingURL=erc7739.js.map","import { parseAccount, } from '../../../accounts/utils/parseAccount.js';\nimport { ethAddress } from '../../../constants/address.js';\nimport { AccountNotFoundError } from '../../../errors/account.js';\nimport { hexToBigInt, } from '../../../utils/encoding/fromHex.js';\nimport { numberToHex, } from '../../../utils/encoding/toHex.js';\n/**\n * Retrieves assets for a given account from the target Wallet.\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getAssets } from 'viem/experimental'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * const result = await getAssets(client, {\n * account: '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef',\n * })\n *\n * @param client - Client to use to make the request.\n * @param parameters - Parameters.\n * @returns Assets for the given account.\n */\nexport async function getAssets(client, ...[parameters]) {\n const { account = client.account, aggregate = true } = parameters ?? {};\n const result = await client.request({\n method: 'wallet_getAssets',\n params: [formatRequest({ ...parameters, account })],\n });\n const response = formatResponse(result);\n const aggregated = (() => {\n if (!aggregate)\n return undefined;\n const aggregated = {};\n for (const [chainId, assets] of Object.entries(response)) {\n if (chainId === '0')\n continue;\n const seen = new Set();\n for (const asset of assets) {\n const key = typeof aggregate === 'function'\n ? aggregate(asset)\n : (asset.address ?? ethAddress);\n const item = (aggregated[key] ?? {});\n if (seen.has(key))\n continue;\n seen.add(key);\n aggregated[key] = {\n ...asset,\n balance: asset.balance + (item?.balance ?? 0n),\n chainIds: [...(item?.chainIds ?? []), Number(chainId)],\n };\n }\n }\n return Object.values(aggregated);\n })();\n if (aggregated)\n return { 0: aggregated, ...response };\n return response;\n}\n/** @internal */\nfunction formatRequest(parameters = {}) {\n const { account: account_, assets, assetTypes, chainIds } = parameters;\n if (typeof account_ === 'undefined')\n throw new AccountNotFoundError({\n docsPath: '/experimental/erc7811/getAssets',\n });\n const account = parseAccount(account_);\n return {\n account: account.address,\n assetFilter: assets,\n assetTypeFilter: assetTypes,\n chainFilter: chainIds?.map((chainId) => numberToHex(chainId)),\n };\n}\n/** @internal */\nfunction formatResponse(response) {\n return Object.fromEntries(Object.entries(response).map(([chainId, assets]) => [\n Number(chainId),\n assets.map((asset) => {\n const balance = hexToBigInt(asset.balance);\n const metadata = asset.metadata;\n const type = (() => {\n if (asset.type === 'native')\n return 'native';\n if (asset.type === 'erc20')\n return 'erc20';\n if (asset.type === 'erc721')\n return 'erc721';\n return { custom: asset.type };\n })();\n const address = type === 'native' ? undefined : asset.address;\n return {\n balance,\n type,\n ...(address ? { address } : {}),\n ...(metadata\n ? {\n metadata: {\n ...metadata,\n ...('tokenId' in metadata\n ? { tokenId: hexToBigInt(metadata.tokenId) }\n : {}),\n },\n }\n : {}),\n };\n }),\n ]));\n}\n//# sourceMappingURL=getAssets.js.map","import { getAssets, } from '../actions/getAssets.js';\n/**\n * A suite of ERC-7811 Wallet Actions.\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7811Actions } from 'viem/experimental/erc7811'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7811Actions())\n *\n * const response = await client.getAssets({\n * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * })\n */\nexport function erc7811Actions() {\n return (client) => {\n return {\n // @ts-expect-error\n getAssets: (...[parameters]) => getAssets(client, parameters),\n };\n };\n}\n//# sourceMappingURL=erc7811.js.map","export const abi = [\n {\n type: 'fallback',\n stateMutability: 'payable',\n },\n {\n type: 'receive',\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'execute',\n inputs: [\n {\n name: 'mode',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'executionData',\n type: 'bytes',\n internalType: 'bytes',\n },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'supportsExecutionMode',\n inputs: [\n {\n name: 'mode',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n outputs: [\n {\n name: 'result',\n type: 'bool',\n internalType: 'bool',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'error',\n name: 'FnSelectorNotRecognized',\n inputs: [],\n },\n {\n type: 'error',\n name: 'UnsupportedExecutionMode',\n inputs: [],\n },\n];\nexport const executionMode = {\n default: '0x0100000000000000000000000000000000000000000000000000000000000000',\n opData: '0x0100000000007821000100000000000000000000000000000000000000000000',\n batchOfBatches: '0x0100000000007821000200000000000000000000000000000000000000000000',\n};\n//# sourceMappingURL=constants.js.map","import { BaseError } from '../../errors/base.js';\nexport class ExecuteUnsupportedError extends BaseError {\n constructor() {\n super('ERC-7821 execution is not supported.', {\n name: 'ExecuteUnsupportedError',\n });\n }\n}\nexport class FunctionSelectorNotRecognizedError extends BaseError {\n constructor() {\n super('Function is not recognized.', {\n metaMessages: [\n 'This could be due to any of the following:',\n ' - The contract does not have the function,',\n ' - The address is not a contract.',\n ],\n name: 'FunctionSelectorNotRecognizedError',\n });\n }\n}\n//# sourceMappingURL=errors.js.map","import * as AbiParameters from 'ox/AbiParameters';\nimport { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js';\nexport function encodeCalls(calls_, opData) {\n const calls = calls_.map((call_) => {\n const call = call_;\n return {\n data: call.abi ? encodeFunctionData(call) : (call.data ?? '0x'),\n value: call.value ?? 0n,\n target: call.to,\n };\n });\n return AbiParameters.encode(AbiParameters.from([\n 'struct Call { address target; uint256 value; bytes data; }',\n 'Call[] calls',\n ...(opData ? ['bytes opData'] : []),\n ]), [calls, ...(opData ? [opData] : [])]);\n}\n//# sourceMappingURL=encodeCalls.js.map","import { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js';\nimport { abi, executionMode } from '../constants.js';\nimport { encodeCalls } from './encodeCalls.js';\nexport function encodeExecuteData(parameters) {\n const { calls, opData } = parameters;\n const encodedCalls = encodeCalls(calls, opData);\n const mode = opData ? executionMode.opData : executionMode.default;\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [mode, encodedCalls],\n });\n}\n//# sourceMappingURL=encodeExecuteData.js.map","import * as AbiError from 'ox/AbiError';\nimport { decodeErrorResult } from '../../../utils/abi/decodeErrorResult.js';\nimport { getContractError, } from '../../../utils/errors/getContractError.js';\nimport { FunctionSelectorNotRecognizedError, } from '../errors.js';\nexport function getExecuteError(e, parameters) {\n const error = e.walk((e) => 'data' in e);\n if (!error?.data)\n return e;\n if (error.data ===\n AbiError.getSelector(AbiError.from('error FnSelectorNotRecognized()')))\n return new FunctionSelectorNotRecognizedError();\n let matched = null;\n for (const c of parameters.calls) {\n const call = c;\n if (!call.abi)\n continue;\n try {\n const matches = Boolean(decodeErrorResult({\n abi: call.abi,\n data: error.data,\n }));\n if (!matches)\n continue;\n matched = call;\n }\n catch { }\n }\n if (matched)\n return getContractError(error, {\n abi: matched.abi,\n address: matched.to,\n args: matched.args,\n functionName: matched.functionName,\n });\n return e;\n}\n//# sourceMappingURL=getExecuteError.js.map","import { readContract } from '../../../actions/public/readContract.js';\nimport { withCache } from '../../../utils/promise/withCache.js';\nimport { abi, executionMode } from '../constants.js';\nconst toSerializedMode = {\n default: executionMode.default,\n opData: executionMode.opData,\n batchOfBatches: executionMode.batchOfBatches,\n};\n/**\n * Checks if the contract supports the ERC-7821 execution mode.\n *\n * @example\n * ```ts\n * import { createClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { supportsExecutionMode } from 'viem/experimental/erc7821'\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const supported = await supportsExecutionMode(client, {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * })\n * ```\n *\n * @param client - Client to use.\n * @param parameters - {@link SupportsExecutionModeParameters}\n * @returns If the execution mode is supported. {@link SupportsExecutionModeReturnType}\n */\nexport async function supportsExecutionMode(client, parameters) {\n const { address, mode: m = 'default' } = parameters;\n const mode = m.startsWith('0x') ? m : toSerializedMode[m];\n try {\n return await withCache(() => readContract(client, {\n abi,\n address,\n functionName: 'supportsExecutionMode',\n args: [mode],\n }), {\n cacheKey: `supportsExecutionMode.${address}.${mode}`,\n });\n }\n catch {\n return false;\n }\n}\n//# sourceMappingURL=supportsExecutionMode.js.map","import { sendTransaction, } from '../../../actions/wallet/sendTransaction.js';\nimport { withCache } from '../../../utils/promise/withCache.js';\nimport { executionMode } from '../constants.js';\nimport { ExecuteUnsupportedError } from '../errors.js';\nimport { encodeExecuteData, } from '../utils/encodeExecuteData.js';\nimport { getExecuteError, } from '../utils/getExecuteError.js';\nimport { supportsExecutionMode } from './supportsExecutionMode.js';\n/**\n * Executes call(s) using the `execute` function on an [ERC-7821-compatible contract](https://eips.ethereum.org/EIPS/eip-7821).\n *\n * @example\n * ```ts\n * import { createClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { execute } from 'viem/experimental/erc7821'\n *\n * const account = privateKeyToAccount('0x...')\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const hash = await execute(client, {\n * account,\n * calls: [{\n * {\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 69420n,\n * },\n * }],\n * to: account.address,\n * })\n * ```\n *\n * @example\n * ```ts\n * // Account Hoisting\n * import { createClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { execute } from 'viem/experimental/erc7821'\n *\n * const account = privateKeyToAccount('0x...')\n *\n * const client = createClient({\n * account,\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const hash = await execute(client, {\n * calls: [{\n * {\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 69420n,\n * },\n * }],\n * to: account.address,\n * })\n * ```\n *\n * @param client - Client to use.\n * @param parameters - {@link ExecuteParameters}\n * @returns Transaction hash. {@link ExecuteReturnType}\n */\nexport async function execute(client, parameters) {\n const { authorizationList, calls, opData } = parameters;\n const address = authorizationList?.[0]?.address ?? parameters.address;\n const mode = opData ? executionMode.opData : executionMode.default;\n const supported = await withCache(() => supportsExecutionMode(client, {\n address,\n mode,\n }), {\n cacheKey: `supportsExecutionMode.${client.uid}.${address}.${mode}`,\n });\n if (!supported)\n throw new ExecuteUnsupportedError();\n try {\n return await sendTransaction(client, {\n ...parameters,\n to: parameters.address,\n data: encodeExecuteData({ calls, opData }),\n });\n }\n catch (e) {\n throw getExecuteError(e, { calls });\n }\n}\n//# sourceMappingURL=execute.js.map","import * as AbiParameters from 'ox/AbiParameters';\nimport { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js';\nimport { abi, executionMode } from '../constants.js';\nimport { encodeCalls } from './encodeCalls.js';\nexport function encodeExecuteBatchesData(parameters) {\n const { batches } = parameters;\n const encodedBatches = AbiParameters.encode(AbiParameters.from('bytes[]'), [\n batches.map((b) => {\n const batch = b;\n return encodeCalls(batch.calls, batch.opData);\n }),\n ]);\n return encodeFunctionData({\n abi,\n functionName: 'execute',\n args: [executionMode.batchOfBatches, encodedBatches],\n });\n}\n//# sourceMappingURL=encodeExecuteBatchesData.js.map","import { sendTransaction, } from '../../../actions/wallet/sendTransaction.js';\nimport { withCache } from '../../../utils/promise/withCache.js';\nimport { ExecuteUnsupportedError } from '../errors.js';\nimport { encodeExecuteBatchesData, } from '../utils/encodeExecuteBatchesData.js';\nimport { getExecuteError, } from '../utils/getExecuteError.js';\nimport { supportsExecutionMode } from './supportsExecutionMode.js';\n/**\n * Executes batches of call(s) using \"batch of batches\" mode on an [ERC-7821-compatible contract](https://eips.ethereum.org/EIPS/eip-7821).\n *\n * @example\n * ```ts\n * import { createClient, http, parseEther } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { executeBatches } from 'viem/experimental/erc7821'\n *\n * const account = privateKeyToAccount('0x...')\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const hash = await executeBatches(client, {\n * account,\n * batches: [\n * {\n * calls: [\n * {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * },\n * ],\n * },\n * {\n * calls: [\n * {\n * to: '0xcb98643b8786950F0461f3B0edf99D88F274574D',\n * value: parseEther('2'),\n * },\n * {\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * ],\n * },\n * ],\n * to: account.address,\n * })\n * ```\n *\n * @example\n * ```ts\n * // Account Hoisting\n * import { createClient, http, parseEther } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { executeBatches } from 'viem/experimental/erc7821'\n *\n * const account = privateKeyToAccount('0x...')\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * })\n *\n * const hash = await executeBatches(client, {\n * batches: [\n * {\n * calls: [\n * {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * },\n * ],\n * },\n * {\n * calls: [\n * {\n * to: '0xcb98643b8786950F0461f3B0edf99D88F274574D',\n * value: parseEther('2'),\n * },\n * {\n * data: '0xdeadbeef',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * },\n * ],\n * },\n * ],\n * to: account.address,\n * })\n * ```\n *\n * @param client - Client to use.\n * @param parameters - {@link ExecuteBatchesParameters}\n * @returns Transaction hash. {@link ExecuteBatchesReturnType}\n */\nexport async function executeBatches(client, parameters) {\n const { authorizationList, batches } = parameters;\n const address = authorizationList?.[0]?.address ?? parameters.address;\n const supported = await withCache(() => supportsExecutionMode(client, {\n address,\n mode: 'batchOfBatches',\n }), {\n cacheKey: `supportsExecutionMode.${client.uid}.${address}.batchOfBatches`,\n });\n if (!supported)\n throw new ExecuteUnsupportedError();\n try {\n return await sendTransaction(client, {\n ...parameters,\n to: parameters.address,\n data: encodeExecuteBatchesData({ batches }),\n });\n }\n catch (e) {\n const calls = batches.flatMap((b) => b.calls);\n throw getExecuteError(e, { calls });\n }\n}\n//# sourceMappingURL=executeBatches.js.map","import { execute, } from '../actions/execute.js';\nimport { executeBatches, } from '../actions/executeBatches.js';\nimport { supportsExecutionMode, } from '../actions/supportsExecutionMode.js';\n/**\n * A suite of Actions for [ERC-7821](https://eips.ethereum.org/EIPS/eip-7821).\n *\n * @example\n * import { createClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7821Actions } from 'viem/experimental'\n *\n * const client = createClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7821Actions())\n */\nexport function erc7821Actions() {\n return (client) => {\n return {\n execute: (parameters) => execute(client, parameters),\n executeBatches: (parameters) => executeBatches(client, parameters),\n supportsExecutionMode: (parameters) => supportsExecutionMode(client, parameters),\n };\n };\n}\n//# sourceMappingURL=erc7821.js.map","import { requestAddresses, } from '../../../actions/wallet/requestAddresses.js';\nimport { numberToHex } from '../../../utils/encoding/toHex.js';\n/**\n * Requests to connect account(s) with optional capabilities.\n *\n * - Docs: https://viem.sh/experimental/erc7846/connect\n * - JSON-RPC Methods: [`wallet_connect`](https://github.com/ethereum/ERCs/blob/abd1c9f4eda2d6ad06ade0e3af314637a27d1ee7/ERCS/erc-7846.md)\n *\n * @param client - Client to use\n * @param parameters - {@link ConnectParameters}\n * @returns List of accounts managed by a wallet {@link ConnectReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { connect } from 'viem/experimental/erc7846'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const response = await connect(client)\n */\nexport async function connect(client, parameters = {}) {\n const capabilities = formatRequestCapabilities(parameters.capabilities);\n const response = await (async () => {\n try {\n return await client.request({ method: 'wallet_connect', params: [{ capabilities, version: '1' }] }, { dedupe: true, retryCount: 0 });\n }\n catch (e) {\n const error = e;\n // If the wallet does not support `wallet_connect`, and has no\n // capabilities, attempt to use `eth_requestAccounts` instead.\n if (!parameters.capabilities &&\n (error.name === 'InvalidInputRpcError' ||\n error.name === 'InvalidParamsRpcError' ||\n error.name === 'MethodNotFoundRpcError' ||\n error.name === 'MethodNotSupportedRpcError' ||\n error.name === 'UnsupportedProviderMethodError')) {\n const addresses = await requestAddresses(client);\n return {\n accounts: addresses.map((address) => ({\n address,\n capabilities: {},\n })),\n };\n }\n throw error;\n }\n })();\n return {\n ...response,\n accounts: (response.accounts ?? []).map((account) => ({\n ...account,\n capabilities: formatResponseCapabilities(account.capabilities),\n })),\n };\n}\nfunction formatRequestCapabilities(capabilities) {\n const { unstable_addSubAccount, unstable_getSubAccounts: getSubAccounts, unstable_signInWithEthereum, ...rest } = capabilities ?? {};\n const addSubAccount = unstable_addSubAccount\n ? {\n ...unstable_addSubAccount,\n account: {\n ...unstable_addSubAccount.account,\n ...(unstable_addSubAccount.account.chainId\n ? {\n chainId: numberToHex(unstable_addSubAccount.account.chainId),\n }\n : {}),\n },\n }\n : undefined;\n const { chainId, expirationTime, issuedAt, notBefore } = unstable_signInWithEthereum ?? {};\n const signInWithEthereum = unstable_signInWithEthereum\n ? {\n ...unstable_signInWithEthereum,\n chainId: numberToHex(chainId),\n ...(expirationTime\n ? {\n expirationTime: expirationTime.toISOString(),\n }\n : {}),\n ...(issuedAt\n ? {\n issuedAt: issuedAt.toISOString(),\n }\n : {}),\n ...(notBefore\n ? {\n notBefore: notBefore.toISOString(),\n }\n : {}),\n }\n : undefined;\n return {\n ...rest,\n ...(addSubAccount\n ? {\n addSubAccount,\n }\n : {}),\n ...(getSubAccounts\n ? {\n getSubAccounts,\n }\n : {}),\n ...(signInWithEthereum\n ? {\n signInWithEthereum,\n }\n : {}),\n };\n}\nfunction formatResponseCapabilities(capabilities) {\n return Object.entries(capabilities ?? {}).reduce((capabilities, [key, value]) => {\n const k = (() => {\n if (key === 'signInWithEthereum')\n return 'unstable_signInWithEthereum';\n if (key === 'subAccounts')\n return 'unstable_subAccounts';\n return key;\n })();\n capabilities[k] = value;\n return capabilities;\n }, {});\n}\n//# sourceMappingURL=connect.js.map","/**\n * Requests to disconnect connected accounts.\n *\n * - Docs: https://viem.sh/experimental/erc7846/disconnect\n * - JSON-RPC Methods: [`wallet_disconnect`](https://github.com/ethereum/ERCs/blob/abd1c9f4eda2d6ad06ade0e3af314637a27d1ee7/ERCS/erc-7846.md)\n *\n * @param client - Client to use\n * @returns void\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { disconnect } from 'viem/experimental/erc7846'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n *\n * await disconnect(client)\n */\nexport async function disconnect(client) {\n return await client.request({ method: 'wallet_disconnect' }, { dedupe: true, retryCount: 0 });\n}\n//# sourceMappingURL=disconnect.js.map","import { connect, } from '../actions/connect.js';\nimport { disconnect } from '../actions/disconnect.js';\n/**\n * A suite of ERC-7846 Wallet Actions.\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7846Actions } from 'viem/experimental/erc7846'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7846Actions())\n *\n * const response = await client.connect()\n */\nexport function erc7846Actions() {\n return (client) => {\n return {\n connect: (parameters) => connect(client, parameters),\n disconnect: () => disconnect(client),\n };\n };\n}\n//# sourceMappingURL=erc7846.js.map","import { numberToHex } from '../../../utils/index.js';\n/**\n * Requests to add a Sub Account.\n *\n * - Docs: https://viem.sh/experimental/erc7895/addSubAccount\n * - JSON-RPC Methods: [`wallet_addSubAccount`](https://github.com/ethereum/ERCs/blob/abd1c9f4eda2d6ad06ade0e3af314637a27d1ee7/ERCS/erc-7895.md)\n *\n * @param client - Client to use\n * @param parameters - {@link AddSubAccountParameters}\n * @returns Sub Account. {@link AddSubAccountReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { addSubAccount } from 'viem/experimental/erc7895'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const response = await addSubAccount(client, {\n * keys: [{ publicKey: '0x0000000000000000000000000000000000000000', type: 'address' }],\n * type: 'create',\n * })\n */\nexport async function addSubAccount(client, parameters) {\n return client.request({\n method: 'wallet_addSubAccount',\n params: [\n {\n account: {\n ...parameters,\n ...(parameters.chainId\n ? { chainId: numberToHex(parameters.chainId) }\n : {}),\n },\n version: '1',\n },\n ],\n });\n}\n//# sourceMappingURL=addSubAccount.js.map","import { addSubAccount, } from '../actions/addSubAccount.js';\n/**\n * A suite of ERC-7895 Wallet Actions.\n *\n * @example\n * import { createPublicClient, createWalletClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { erc7895Actions } from 'viem/experimental'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * }).extend(erc7895Actions())\n *\n * const response = await client.addSubAccount({\n * keys: [{ key: '0x0000000000000000000000000000000000000000', type: 'address' }],\n * type: 'create',\n * })\n */\nexport function erc7895Actions() {\n return (client) => {\n return {\n addSubAccount: (parameters) => addSubAccount(client, parameters),\n };\n };\n}\n//# sourceMappingURL=erc7895.js.map","// biome-ignore lint/performance/noBarrelFile: entrypoint module\nexport { \n/** @deprecated This is no longer experimental – use `import { getCallsStatus } from 'viem/actions'` instead. */\ngetCallsStatus, } from '../actions/wallet/getCallsStatus.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { getCapabilities } from 'viem/actions'` instead. */\ngetCapabilities, } from '../actions/wallet/getCapabilities.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { prepareAuthorization } from 'viem/actions'` instead. */\nprepareAuthorization, } from '../actions/wallet/prepareAuthorization.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { sendCalls } from 'viem/actions'` instead. */\nsendCalls, } from '../actions/wallet/sendCalls.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { showCallsStatus } from 'viem/actions'` instead. */\nshowCallsStatus, } from '../actions/wallet/showCallsStatus.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { signAuthorization } from 'viem/actions'` instead. */\nsignAuthorization, } from '../actions/wallet/signAuthorization.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { waitForCallsStatus } from 'viem/actions'` instead. */\nwaitForCallsStatus, } from '../actions/wallet/waitForCallsStatus.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { createWalletClient } from 'viem'` or `import { walletActions } from 'viem'` instead. */\nwalletActions as eip7702Actions, } from '../clients/decorators/wallet.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { hashAuthorization } from 'viem/utils'` instead. */\nhashAuthorization, } from '../utils/authorization/hashAuthorization.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { recoverAuthorizationAddress } from 'viem/utils'` instead. */\nrecoverAuthorizationAddress, } from '../utils/authorization/recoverAuthorizationAddress.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { serializeAuthorizationList } from 'viem/utils'` instead. */\nserializeAuthorizationList, } from '../utils/authorization/serializeAuthorizationList.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { verifyAuthorization } from 'viem/utils'` instead. */\nverifyAuthorization, } from '../utils/authorization/verifyAuthorization.js';\nexport { \n/** @deprecated Use `sendCalls` instead. */\nwriteContracts, } from './eip5792/actions/writeContracts.js';\nexport { \n/** @deprecated This is no longer experimental – use `import { createWalletClient } from 'viem'` or `import { walletActions } from 'viem'` instead. */\neip5792Actions, } from './eip5792/decorators/eip5792.js';\nexport { grantPermissions, } from './erc7715/actions/grantPermissions.js';\nexport { erc7715Actions, } from './erc7715/decorators/erc7715.js';\nexport { erc7739Actions, } from './erc7739/decorators/erc7739.js';\nexport { erc7811Actions, } from './erc7811/decorators/erc7811.js';\nexport { erc7821Actions, } from './erc7821/decorators/erc7821.js';\nexport { erc7846Actions, } from './erc7846/decorators/erc7846.js';\nexport { erc7895Actions, } from './erc7895/decorators/erc7895.js';\n//# sourceMappingURL=index.js.map","import { logDialogActionClicked, logDialogDismissed, logDialogShown, } from '../../../core/telemetry/events/dialog.js';\nimport { store } from '../../../store/store.js';\nimport { initDialog } from '../../../ui/Dialog/index.js';\nexport async function presentAddOwnerDialog() {\n const appName = store.config.get().metadata?.appName ?? 'App';\n const dialog = initDialog();\n return new Promise((resolve) => {\n logDialogShown({ dialogContext: 'sub_account_add_owner' });\n dialog.presentItem({\n title: `Re-authorize ${appName}`,\n message: `${appName} has lost access to your account. Please sign at the next step to re-authorize ${appName}`,\n onClose: () => {\n logDialogDismissed({ dialogContext: 'sub_account_add_owner' });\n resolve('cancel');\n },\n actionItems: [\n {\n text: 'Continue',\n variant: 'primary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'sub_account_add_owner',\n dialogAction: 'confirm',\n });\n dialog.clear();\n resolve('authenticate');\n },\n },\n {\n text: 'Not now',\n variant: 'secondary',\n onClick: () => {\n logDialogActionClicked({\n dialogContext: 'sub_account_add_owner',\n dialogAction: 'cancel',\n });\n dialog.clear();\n resolve('cancel');\n },\n },\n ],\n });\n });\n}\n//# sourceMappingURL=presentAddOwnerDialog.js.map","import { standardErrors } from '../../../core/error/errors.js';\nimport { getClient } from '../../../store/chain-clients/utils.js';\nimport { store } from '../../../store/store.js';\nimport { assertPresence } from '../../../util/assertPresence.js';\nimport { decodeAbiParameters, encodeFunctionData, numberToHex, toHex } from 'viem';\nimport { waitForCallsStatus } from 'viem/experimental';\nimport { abi } from './constants.js';\nimport { findOwnerIndex } from './findOwnerIndex.js';\nimport { presentAddOwnerDialog } from './presentAddOwnerDialog.js';\nexport async function handleAddSubAccountOwner({ ownerAccount, globalAccountRequest, chainId, }) {\n const account = store.account.get();\n const subAccount = store.subAccounts.get();\n const globalAccount = account.accounts?.find((account) => account.toLowerCase() !== subAccount?.address.toLowerCase());\n assertPresence(globalAccount, standardErrors.provider.unauthorized('no global account'));\n assertPresence(account.chain?.id, standardErrors.provider.unauthorized('no chain id'));\n assertPresence(subAccount?.address, standardErrors.provider.unauthorized('no sub account'));\n const calls = [];\n if (ownerAccount.type === 'local' && ownerAccount.address) {\n calls.push({\n to: subAccount.address,\n data: encodeFunctionData({\n abi,\n functionName: 'addOwnerAddress',\n args: [ownerAccount.address],\n }),\n value: toHex(0),\n });\n }\n if (ownerAccount.publicKey) {\n const [x, y] = decodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes32' }], ownerAccount.publicKey);\n calls.push({\n to: subAccount.address,\n data: encodeFunctionData({\n abi,\n functionName: 'addOwnerPublicKey',\n args: [x, y],\n }),\n value: toHex(0),\n });\n }\n const request = {\n method: 'wallet_sendCalls',\n params: [\n {\n version: '1',\n calls,\n chainId: numberToHex(chainId),\n from: globalAccount,\n },\n ],\n };\n const selection = await presentAddOwnerDialog();\n if (selection === 'cancel') {\n throw standardErrors.provider.unauthorized('user cancelled');\n }\n const callsId = (await globalAccountRequest(request));\n const client = getClient(account.chain.id);\n assertPresence(client, standardErrors.rpc.internal(`client not found for chainId ${account.chain.id}`));\n const callsResult = await waitForCallsStatus(client, {\n id: callsId,\n });\n if (callsResult.status !== 'success') {\n throw standardErrors.rpc.internal('add owner call failed');\n }\n const ownerIndex = await findOwnerIndex({\n address: subAccount.address,\n publicKey: ownerAccount.type === 'local' && ownerAccount.address\n ? ownerAccount.address\n : ownerAccount.publicKey,\n client,\n });\n if (ownerIndex === -1) {\n throw standardErrors.rpc.internal('failed to find owner index');\n }\n return ownerIndex;\n}\n//# sourceMappingURL=handleAddSubAccountOwner.js.map","import { spendPermissions } from '../../../store/store.js';\nimport { encodeFunctionData, hexToBigInt, } from 'viem';\nimport { createWalletSendCallsRequest, injectRequestCapabilities, isEthSendTransactionParams, isSendCallsParams, waitForCallsTransactionHash, } from '../utils.js';\nimport { abi } from './constants.js';\n/**\n * This function is used to send a request to the global account.\n * It is used to execute a request that requires a spend permission through the global account.\n * @returns The result of the request.\n */\nexport async function routeThroughGlobalAccount({ request, globalAccountAddress, subAccountAddress, client, globalAccountRequest, chainId, prependCalls, }) {\n // Construct call to execute the original calls using executeBatch\n let originalSendCallsParams;\n if (request.method === 'wallet_sendCalls' && isSendCallsParams(request.params)) {\n originalSendCallsParams = request.params[0];\n }\n else if (request.method === 'eth_sendTransaction' &&\n isEthSendTransactionParams(request.params)) {\n const sendCallsRequest = createWalletSendCallsRequest({\n calls: [request.params[0]],\n chainId,\n from: request.params[0].from,\n });\n originalSendCallsParams = sendCallsRequest.params[0];\n }\n else {\n throw new Error(`Could not get original call from ${request.method} request`);\n }\n const subAccountCallData = encodeFunctionData({\n abi,\n functionName: 'executeBatch',\n args: [\n originalSendCallsParams.calls.map((call) => ({\n target: call.to,\n value: hexToBigInt(call.value ?? '0x0'),\n data: call.data ?? '0x',\n })),\n ],\n });\n // Send using wallet_sendCalls\n const calls = [\n ...(prependCalls ?? []),\n { data: subAccountCallData, to: subAccountAddress, value: '0x0' },\n ];\n const requestToParent = injectRequestCapabilities({\n method: 'wallet_sendCalls',\n params: [\n {\n ...originalSendCallsParams,\n calls,\n from: globalAccountAddress,\n version: '2.0.0',\n atomicRequired: true,\n },\n ],\n }, {\n spendPermissions: {\n request: {\n spender: subAccountAddress,\n },\n },\n });\n const result = (await globalAccountRequest(requestToParent));\n let callsId = result.id;\n // Cache returned spend permissions\n if (result.capabilities?.spendPermissions) {\n spendPermissions.set(result.capabilities.spendPermissions.permissions);\n }\n // Wait for transaction hash if sending a transaction\n if (request.method === 'eth_sendTransaction') {\n return waitForCallsTransactionHash({\n client,\n id: callsId,\n });\n }\n return result;\n}\n//# sourceMappingURL=routeThroughGlobalAccount.js.map","import { standardErrors } from '../../../core/error/errors.js';\nimport { assertPresence } from '../../../util/assertPresence.js';\nimport { presentSubAccountFundingDialog } from '../utils.js';\nimport { routeThroughGlobalAccount } from './routeThroughGlobalAccount.js';\nexport async function handleInsufficientBalanceError({ globalAccountAddress, subAccountAddress, client, request, globalAccountRequest, }) {\n const chainId = client.chain?.id;\n assertPresence(chainId, standardErrors.rpc.internal(`invalid chainId`));\n try {\n await presentSubAccountFundingDialog();\n }\n catch {\n throw standardErrors.provider.userRejectedRequest({\n message: 'User cancelled funding',\n });\n }\n const result = await routeThroughGlobalAccount({\n request,\n globalAccountAddress,\n subAccountAddress,\n client,\n globalAccountRequest,\n chainId,\n });\n return result;\n}\n//# sourceMappingURL=handleInsufficientBalance.js.map","import { CB_WALLET_RPC_URL } from '../../core/constants.js';\nimport { hexToNumber, isAddressEqual, numberToHex } from 'viem';\nimport { isActionableHttpRequestError, isViemError, standardErrors } from '../../core/error/errors.js';\nimport { logHandshakeCompleted, logHandshakeError, logHandshakeStarted, logRequestCompleted, logRequestError, logRequestStarted, } from '../../core/telemetry/events/scw-signer.js';\nimport { logAddOwnerCompleted, logAddOwnerError, logAddOwnerStarted, logInsufficientBalanceErrorHandlingCompleted, logInsufficientBalanceErrorHandlingError, logInsufficientBalanceErrorHandlingStarted, logSubAccountRequestCompleted, logSubAccountRequestError, logSubAccountRequestStarted, } from '../../core/telemetry/events/scw-sub-account.js';\nimport { parseErrorMessageFromAny } from '../../core/telemetry/utils.js';\nimport { ensureIntNumber, hexStringFromNumber } from '../../core/type/util.js';\nimport { createClients, getClient } from '../../store/chain-clients/utils.js';\nimport { correlationIds } from '../../store/correlation-ids/store.js';\nimport { spendPermissions, store } from '../../store/store.js';\nimport { assertArrayPresence, assertPresence } from '../../util/assertPresence.js';\nimport { assertSubAccount } from '../../util/assertSubAccount.js';\nimport { decryptContent, encryptContent, exportKeyToHexString, importKeyFromHexString, } from '../../util/cipher.js';\nimport { fetchRPCRequest } from '../../util/provider.js';\nimport { getCryptoKeyAccount } from '../../kms/crypto-key/index.js';\nimport { SCWKeyManager } from './SCWKeyManager.js';\nimport { addSenderToRequest, appendWithoutDuplicates, assertFetchPermissionsRequest, assertGetCapabilitiesParams, assertParamsChainId, fillMissingParamsForFetchPermissions, getSenderFromRequest, initSubAccountConfig, injectRequestCapabilities, makeDataSuffix, prependWithoutDuplicates, } from './utils.js';\nimport { createSubAccountSigner } from './utils/createSubAccountSigner.js';\nimport { findOwnerIndex } from './utils/findOwnerIndex.js';\nimport { handleAddSubAccountOwner } from './utils/handleAddSubAccountOwner.js';\nimport { handleInsufficientBalanceError } from './utils/handleInsufficientBalance.js';\nimport { routeThroughGlobalAccount } from './utils/routeThroughGlobalAccount.js';\nexport class Signer {\n communicator;\n keyManager;\n callback;\n accounts;\n chain;\n constructor(params) {\n this.communicator = params.communicator;\n this.callback = params.callback;\n this.keyManager = new SCWKeyManager();\n const { account, chains } = store.getState();\n this.accounts = account.accounts ?? [];\n this.chain = account.chain ?? {\n id: params.metadata.appChainIds?.[0] ?? 1,\n };\n // Initialize chain clients if chains are provided\n if (chains) {\n createClients(chains);\n }\n // Note: getClient will automatically create fallback clients when needed\n }\n get isConnected() {\n return this.accounts.length > 0;\n }\n async handshake(args) {\n const correlationId = correlationIds.get(args);\n logHandshakeStarted({ method: args.method, correlationId });\n try {\n // Open the popup before constructing the request message.\n // This is to ensure that the popup is not blocked by some browsers (i.e. Safari)\n await this.communicator.waitForPopupLoaded?.();\n const handshakeMessage = await this.createRequestMessage({\n handshake: {\n method: args.method,\n params: args.params ?? [],\n },\n }, correlationId);\n const response = await this.communicator.postRequestAndWaitForResponse(handshakeMessage);\n // store peer's public key\n if ('failure' in response.content) {\n throw response.content.failure;\n }\n const peerPublicKey = await importKeyFromHexString('public', response.sender);\n await this.keyManager.setPeerPublicKey(peerPublicKey);\n const decrypted = await this.decryptResponseMessage(response);\n this.handleResponse(args, decrypted);\n logHandshakeCompleted({ method: args.method, correlationId });\n }\n catch (error) {\n logHandshakeError({\n method: args.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(error),\n });\n throw error;\n }\n }\n async request(request) {\n const correlationId = correlationIds.get(request);\n logRequestStarted({ method: request.method, correlationId });\n try {\n const result = await this._request(request);\n logRequestCompleted({ method: request.method, correlationId });\n return result;\n }\n catch (error) {\n logRequestError({\n method: request.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(error),\n });\n throw error;\n }\n }\n async _request(request) {\n if (this.accounts.length === 0) {\n switch (request.method) {\n case 'wallet_switchEthereumChain': {\n assertParamsChainId(request.params);\n this.chain.id = Number(request.params[0].chainId);\n return;\n }\n case 'wallet_connect': {\n // Wait for the popup to be loaded before making async calls\n await this.communicator.waitForPopupLoaded?.();\n await initSubAccountConfig();\n const subAccountsConfig = store.subAccountsConfig.get();\n // Inject capabilities from config (e.g., addSubAccount when creation: 'on-connect')\n const modifiedRequest = injectRequestCapabilities(request, subAccountsConfig?.capabilities ?? {});\n return this.sendRequestToPopup(modifiedRequest);\n }\n case 'wallet_sendCalls':\n case 'wallet_sign': {\n return this.sendRequestToPopup(request);\n }\n default:\n throw standardErrors.provider.unauthorized();\n }\n }\n if (this.shouldRequestUseSubAccountSigner(request)) {\n const correlationId = correlationIds.get(request);\n logSubAccountRequestStarted({ method: request.method, correlationId });\n try {\n const result = await this.sendRequestToSubAccountSigner(request);\n logSubAccountRequestCompleted({ method: request.method, correlationId });\n return result;\n }\n catch (error) {\n logSubAccountRequestError({\n method: request.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(error),\n });\n throw error;\n }\n }\n switch (request.method) {\n case 'eth_requestAccounts':\n case 'eth_accounts': {\n const subAccount = store.subAccounts.get();\n const subAccountsConfig = store.subAccountsConfig.get();\n if (subAccount?.address) {\n // if defaultAccount is 'sub' and we have a sub account, we need to return it as the first account\n // otherwise, we just append it to the accounts array\n this.accounts =\n subAccountsConfig?.defaultAccount === 'sub'\n ? prependWithoutDuplicates(this.accounts, subAccount.address)\n : appendWithoutDuplicates(this.accounts, subAccount.address);\n }\n this.callback?.('connect', { chainId: numberToHex(this.chain.id) });\n return this.accounts;\n }\n case 'eth_coinbase':\n return this.accounts[0];\n case 'net_version':\n return this.chain.id;\n case 'eth_chainId':\n return numberToHex(this.chain.id);\n case 'wallet_getCapabilities':\n return this.handleGetCapabilitiesRequest(request);\n case 'wallet_switchEthereumChain':\n return this.handleSwitchChainRequest(request);\n case 'eth_ecRecover':\n case 'personal_sign':\n case 'wallet_sign':\n case 'personal_ecRecover':\n case 'eth_signTransaction':\n case 'eth_sendTransaction':\n case 'eth_signTypedData_v1':\n case 'eth_signTypedData_v3':\n case 'eth_signTypedData_v4':\n case 'eth_signTypedData':\n case 'wallet_addEthereumChain':\n case 'wallet_watchAsset':\n case 'wallet_sendCalls':\n case 'wallet_showCallsStatus':\n case 'wallet_grantPermissions':\n return this.sendRequestToPopup(request);\n case 'wallet_connect': {\n // Wait for the popup to be loaded before making async calls\n await this.communicator.waitForPopupLoaded?.();\n await initSubAccountConfig();\n const subAccountsConfig = store.subAccountsConfig.get();\n const modifiedRequest = injectRequestCapabilities(request, subAccountsConfig?.capabilities ?? {});\n const result = await this.sendRequestToPopup(modifiedRequest);\n this.callback?.('connect', { chainId: numberToHex(this.chain.id) });\n return result;\n }\n // Sub Account Support\n case 'wallet_getSubAccounts': {\n const subAccount = store.subAccounts.get();\n if (subAccount?.address) {\n return {\n subAccounts: [subAccount],\n };\n }\n if (!this.chain.rpcUrl) {\n throw standardErrors.rpc.internal('No RPC URL set for chain');\n }\n const response = (await fetchRPCRequest(request, this.chain.rpcUrl));\n assertArrayPresence(response.subAccounts, 'subAccounts');\n if (response.subAccounts.length > 0) {\n // cache the sub account\n assertSubAccount(response.subAccounts[0]);\n const subAccount = response.subAccounts[0];\n store.subAccounts.set({\n address: subAccount.address,\n factory: subAccount.factory,\n factoryData: subAccount.factoryData,\n });\n }\n return response;\n }\n case 'wallet_addSubAccount':\n return this.addSubAccount(request);\n case 'coinbase_fetchPermissions': {\n assertFetchPermissionsRequest(request);\n const completeRequest = fillMissingParamsForFetchPermissions(request);\n const permissions = (await fetchRPCRequest(completeRequest, CB_WALLET_RPC_URL));\n const requestedChainId = hexToNumber(completeRequest.params?.[0].chainId);\n store.spendPermissions.set(permissions.permissions.map((permission) => ({\n ...permission,\n chainId: requestedChainId,\n })));\n return permissions;\n }\n case 'coinbase_fetchPermission': {\n const fetchPermissionRequest = request;\n const response = (await fetchRPCRequest(fetchPermissionRequest, CB_WALLET_RPC_URL));\n // Store the single permission if it has a chainId\n if (response.permission && response.permission.chainId) {\n store.spendPermissions.set([response.permission]);\n }\n return response;\n }\n default:\n if (!this.chain.rpcUrl) {\n throw standardErrors.rpc.internal('No RPC URL set for chain');\n }\n return fetchRPCRequest(request, this.chain.rpcUrl);\n }\n }\n async sendRequestToPopup(request) {\n // Open the popup before constructing the request message.\n // This is to ensure that the popup is not blocked by some browsers (i.e. Safari)\n await this.communicator.waitForPopupLoaded?.();\n const response = await this.sendEncryptedRequest(request);\n const decrypted = await this.decryptResponseMessage(response);\n return this.handleResponse(request, decrypted);\n }\n async handleResponse(request, decrypted) {\n const result = decrypted.result;\n if ('error' in result)\n throw result.error;\n switch (request.method) {\n case 'eth_requestAccounts': {\n const accounts = result.value;\n this.accounts = accounts;\n store.account.set({\n accounts,\n chain: this.chain,\n });\n this.callback?.('accountsChanged', accounts);\n break;\n }\n case 'wallet_connect': {\n const response = result.value;\n const accounts = response.accounts.map((account) => account.address);\n this.accounts = accounts;\n store.account.set({\n accounts,\n });\n const account = response.accounts.at(0);\n const capabilities = account?.capabilities;\n if (capabilities?.subAccounts) {\n const capabilityResponse = capabilities?.subAccounts;\n assertArrayPresence(capabilityResponse, 'subAccounts');\n assertSubAccount(capabilityResponse[0]);\n store.subAccounts.set({\n address: capabilityResponse[0].address,\n factory: capabilityResponse[0].factory,\n factoryData: capabilityResponse[0].factoryData,\n });\n }\n const subAccount = store.subAccounts.get();\n const subAccountsConfig = store.subAccountsConfig.get();\n if (subAccount?.address) {\n // Sub account should be returned as the default account if defaultAccount is 'sub'\n this.accounts =\n subAccountsConfig?.defaultAccount === 'sub'\n ? prependWithoutDuplicates(this.accounts, subAccount.address)\n : appendWithoutDuplicates(this.accounts, subAccount.address);\n }\n const spendPermissions = response?.accounts?.[0].capabilities?.spendPermissions;\n if (spendPermissions && 'permissions' in spendPermissions) {\n store.spendPermissions.set(spendPermissions?.permissions);\n }\n this.callback?.('accountsChanged', this.accounts);\n break;\n }\n case 'wallet_addSubAccount': {\n assertSubAccount(result.value);\n const subAccount = result.value;\n store.subAccounts.set(subAccount);\n const subAccountsConfig = store.subAccountsConfig.get();\n this.accounts =\n subAccountsConfig?.defaultAccount === 'sub'\n ? prependWithoutDuplicates(this.accounts, subAccount.address)\n : appendWithoutDuplicates(this.accounts, subAccount.address);\n this.callback?.('accountsChanged', this.accounts);\n break;\n }\n default:\n break;\n }\n return result.value;\n }\n async cleanup() {\n const metadata = store.config.get().metadata;\n await this.keyManager.clear();\n // clear the store\n store.account.clear();\n store.subAccounts.clear();\n store.spendPermissions.clear();\n store.chains.clear();\n // reset the signer\n this.accounts = [];\n this.chain = {\n id: metadata?.appChainIds?.[0] ?? 1,\n };\n }\n /**\n * @returns `null` if the request was successful.\n * https://eips.ethereum.org/EIPS/eip-3326#wallet_switchethereumchain\n */\n async handleSwitchChainRequest(request) {\n assertParamsChainId(request.params);\n const chainId = ensureIntNumber(request.params[0].chainId);\n const localResult = this.updateChain(chainId);\n if (localResult)\n return null;\n const popupResult = await this.sendRequestToPopup(request);\n if (popupResult === null) {\n this.updateChain(chainId);\n }\n return popupResult;\n }\n async handleGetCapabilitiesRequest(request) {\n assertGetCapabilitiesParams(request.params);\n const requestedAccount = request.params[0];\n const filterChainIds = request.params[1]; // Optional second parameter\n if (!this.accounts.some((account) => isAddressEqual(account, requestedAccount))) {\n throw standardErrors.provider.unauthorized('no active account found when getting capabilities');\n }\n const capabilities = store.getState().account.capabilities;\n // Return empty object if capabilities is undefined\n if (!capabilities) {\n return {};\n }\n // If no filter is provided, return all capabilities\n if (!filterChainIds || filterChainIds.length === 0) {\n return capabilities;\n }\n // Convert filter chain IDs to numbers once for efficient lookup\n const filterChainNumbers = new Set(filterChainIds.map((chainId) => hexToNumber(chainId)));\n // Filter capabilities\n const filteredCapabilities = Object.fromEntries(Object.entries(capabilities).filter(([capabilityKey]) => {\n try {\n const capabilityChainNumber = hexToNumber(capabilityKey);\n return filterChainNumbers.has(capabilityChainNumber);\n }\n catch {\n // If capabilityKey is not a valid hex string, exclude it\n return false;\n }\n }));\n return filteredCapabilities;\n }\n async sendEncryptedRequest(request) {\n const sharedSecret = await this.keyManager.getSharedSecret();\n if (!sharedSecret) {\n throw standardErrors.provider.unauthorized('No shared secret found when encrypting request');\n }\n const encrypted = await encryptContent({\n action: request,\n chainId: this.chain.id,\n }, sharedSecret);\n const correlationId = correlationIds.get(request);\n const message = await this.createRequestMessage({ encrypted }, correlationId);\n return this.communicator.postRequestAndWaitForResponse(message);\n }\n async createRequestMessage(content, correlationId) {\n const publicKey = await exportKeyToHexString('public', await this.keyManager.getOwnPublicKey());\n return {\n id: crypto.randomUUID(),\n correlationId,\n sender: publicKey,\n content,\n timestamp: new Date(),\n };\n }\n async decryptResponseMessage(message) {\n const content = message.content;\n // throw protocol level error\n if ('failure' in content) {\n throw content.failure;\n }\n const sharedSecret = await this.keyManager.getSharedSecret();\n if (!sharedSecret) {\n throw standardErrors.provider.unauthorized('Invalid session: no shared secret found when decrypting response');\n }\n const response = await decryptContent(content.encrypted, sharedSecret);\n const availableChains = response.data?.chains;\n if (availableChains) {\n const nativeCurrencies = response.data?.nativeCurrencies;\n const chains = Object.entries(availableChains).map(([id, rpcUrl]) => {\n const nativeCurrency = nativeCurrencies?.[Number(id)];\n return {\n id: Number(id),\n rpcUrl,\n ...(nativeCurrency ? { nativeCurrency } : {}),\n };\n });\n store.chains.set(chains);\n this.updateChain(this.chain.id, chains);\n createClients(chains);\n }\n const walletCapabilities = response.data?.capabilities;\n if (walletCapabilities) {\n store.account.set({\n capabilities: walletCapabilities,\n });\n }\n return response;\n }\n updateChain(chainId, newAvailableChains) {\n const state = store.getState();\n const chains = newAvailableChains ?? state.chains;\n const chain = chains?.find((chain) => chain.id === chainId);\n if (!chain)\n return false;\n if (chain !== this.chain) {\n this.chain = chain;\n store.account.set({\n chain,\n });\n this.callback?.('chainChanged', hexStringFromNumber(chain.id));\n }\n return true;\n }\n async addSubAccount(request) {\n const state = store.getState();\n const subAccount = state.subAccount;\n const subAccountsConfig = store.subAccountsConfig.get();\n if (subAccount?.address) {\n this.accounts =\n subAccountsConfig?.defaultAccount === 'sub'\n ? prependWithoutDuplicates(this.accounts, subAccount.address)\n : appendWithoutDuplicates(this.accounts, subAccount.address);\n this.callback?.('accountsChanged', this.accounts);\n return subAccount;\n }\n // Wait for the popup to be loaded before sending the request\n await this.communicator.waitForPopupLoaded?.();\n if (Array.isArray(request.params) &&\n request.params.length > 0 &&\n request.params[0].account &&\n request.params[0].account.type === 'create') {\n let keys;\n if (request.params[0].account.keys && request.params[0].account.keys.length > 0) {\n keys = request.params[0].account.keys;\n }\n else {\n const config = store.subAccountsConfig.get() ?? {};\n const { account: ownerAccount } = config.toOwnerAccount\n ? await config.toOwnerAccount()\n : await getCryptoKeyAccount();\n if (!ownerAccount) {\n throw standardErrors.provider.unauthorized('could not get subaccount owner account when adding sub account');\n }\n keys = [\n {\n type: ownerAccount.address ? 'address' : 'webauthn-p256',\n publicKey: ownerAccount.address || ownerAccount.publicKey,\n },\n ];\n }\n request.params[0].account.keys = keys;\n }\n const response = await this.sendRequestToPopup(request);\n assertSubAccount(response);\n return response;\n }\n shouldRequestUseSubAccountSigner(request) {\n const sender = getSenderFromRequest(request);\n const subAccount = store.subAccounts.get();\n if (sender) {\n return sender.toLowerCase() === subAccount?.address.toLowerCase();\n }\n return false;\n }\n async sendRequestToSubAccountSigner(request) {\n const subAccount = store.subAccounts.get();\n const subAccountsConfig = store.subAccountsConfig.get();\n const config = store.config.get();\n assertPresence(subAccount?.address, standardErrors.provider.unauthorized('no active sub account when sending request to sub account signer'));\n // Get the owner account from the config\n const ownerAccount = subAccountsConfig?.toOwnerAccount\n ? await subAccountsConfig.toOwnerAccount()\n : await getCryptoKeyAccount();\n assertPresence(ownerAccount?.account, standardErrors.provider.unauthorized('no active sub account owner when sending request to sub account signer'));\n const sender = getSenderFromRequest(request);\n // if sender is undefined, we inject the active sub account\n // address into the params for the supported request methods\n if (sender === undefined) {\n request = addSenderToRequest(request, subAccount.address);\n }\n const globalAccountAddress = this.accounts.find((account) => account.toLowerCase() !== subAccount.address.toLowerCase());\n assertPresence(globalAccountAddress, standardErrors.provider.unauthorized('no global account found when sending request to sub account signer'));\n const dataSuffix = makeDataSuffix({\n attribution: config.preference?.attribution,\n dappOrigin: window.location.origin,\n });\n // Determine effective chainId - use request chainId for wallet_sendCalls, default otherwise\n const walletSendCallsChainId = request.method === 'wallet_sendCalls' &&\n request.params?.[0]?.chainId;\n const chainId = walletSendCallsChainId ? hexToNumber(walletSendCallsChainId) : this.chain.id;\n const client = getClient(chainId);\n assertPresence(client, standardErrors.rpc.internal(`client not found for chainId ${chainId} when sending request to sub account signer`));\n if (['eth_sendTransaction', 'wallet_sendCalls'].includes(request.method)) {\n // If we have never had a spend permission, we need to do this tx through the global account\n // Only perform this check if funding mode is 'spend-permissions'\n const subAccountsConfig = store.subAccountsConfig.get();\n if (subAccountsConfig?.funding === 'spend-permissions') {\n const storedSpendPermissions = spendPermissions.get();\n if (storedSpendPermissions.length === 0) {\n const result = await routeThroughGlobalAccount({\n request,\n globalAccountAddress,\n subAccountAddress: subAccount.address,\n client,\n globalAccountRequest: this.sendRequestToPopup.bind(this),\n chainId,\n });\n return result;\n }\n }\n }\n const publicKey = ownerAccount.account.type === 'local'\n ? ownerAccount.account.address\n : ownerAccount.account.publicKey;\n let ownerIndex = await findOwnerIndex({\n address: subAccount.address,\n factory: subAccount.factory,\n factoryData: subAccount.factoryData,\n publicKey,\n client,\n });\n if (ownerIndex === -1) {\n const correlationId = correlationIds.get(request);\n logAddOwnerStarted({ method: request.method, correlationId });\n try {\n ownerIndex = await handleAddSubAccountOwner({\n ownerAccount: ownerAccount.account,\n globalAccountRequest: this.sendRequestToPopup.bind(this),\n chainId: chainId,\n });\n logAddOwnerCompleted({ method: request.method, correlationId });\n }\n catch (error) {\n logAddOwnerError({\n method: request.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(error),\n });\n return standardErrors.provider.unauthorized('failed to add sub account owner when sending request to sub account signer');\n }\n }\n const { request: subAccountRequest } = await createSubAccountSigner({\n address: subAccount.address,\n owner: ownerAccount.account,\n client: client,\n factory: subAccount.factory,\n factoryData: subAccount.factoryData,\n parentAddress: globalAccountAddress,\n attribution: dataSuffix ? { suffix: dataSuffix } : undefined,\n ownerIndex,\n });\n try {\n const result = await subAccountRequest(request);\n return result;\n }\n catch (error) {\n // Skip insufficient balance error handling if funding mode is 'manual'\n const subAccountsConfig = store.subAccountsConfig.get();\n if (subAccountsConfig?.funding === 'manual') {\n throw error;\n }\n let errorObject;\n if (isViemError(error)) {\n errorObject = JSON.parse(error.details);\n }\n else if (isActionableHttpRequestError(error)) {\n errorObject = error;\n }\n else {\n throw error;\n }\n if (!(isActionableHttpRequestError(errorObject) && errorObject.data)) {\n throw error;\n }\n if (!errorObject.data) {\n throw error;\n }\n const correlationId = correlationIds.get(request);\n logInsufficientBalanceErrorHandlingStarted({ method: request.method, correlationId });\n try {\n const result = await handleInsufficientBalanceError({\n errorData: errorObject.data,\n globalAccountAddress,\n subAccountAddress: subAccount.address,\n client,\n request,\n globalAccountRequest: this.request.bind(this),\n });\n logInsufficientBalanceErrorHandlingCompleted({ method: request.method, correlationId });\n return result;\n }\n catch (handlingError) {\n console.error(handlingError);\n logInsufficientBalanceErrorHandlingError({\n method: request.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(handlingError),\n });\n throw error;\n }\n }\n }\n}\n//# sourceMappingURL=Signer.js.map","import { Communicator } from '../../../core/communicator/Communicator.js';\nimport { CB_WALLET_RPC_URL } from '../../../core/constants.js';\nimport { standardErrorCodes } from '../../../core/error/constants.js';\nimport { standardErrors } from '../../../core/error/errors.js';\nimport { serializeError } from '../../../core/error/serialize.js';\nimport { ProviderEventEmitter, } from '../../../core/provider/interface.js';\nimport { logRequestError, logRequestResponded, logRequestStarted, } from '../../../core/telemetry/events/provider.js';\nimport { parseErrorMessageFromAny } from '../../../core/telemetry/utils.js';\nimport { hexStringFromNumber } from '../../../core/type/util.js';\nimport { Signer } from '../../../sign/base-account/Signer.js';\nimport { initSubAccountConfig } from '../../../sign/base-account/utils.js';\nimport { correlationIds } from '../../../store/correlation-ids/store.js';\nimport { store } from '../../../store/store.js';\nimport { checkErrorForInvalidRequestArgs, fetchRPCRequest } from '../../../util/provider.js';\nexport class BaseAccountProvider extends ProviderEventEmitter {\n communicator;\n signer;\n constructor({ metadata, preference: { walletUrl, ...preference }, }) {\n super();\n this.communicator = new Communicator({\n url: walletUrl,\n metadata,\n preference,\n });\n this.signer = new Signer({\n metadata,\n communicator: this.communicator,\n callback: this.emit.bind(this),\n });\n }\n async request(args) {\n // correlation id across the entire request lifecycle\n const correlationId = crypto.randomUUID();\n correlationIds.set(args, correlationId);\n logRequestStarted({ method: args.method, correlationId });\n try {\n const result = await this._request(args);\n logRequestResponded({\n method: args.method,\n correlationId,\n });\n return result;\n }\n catch (error) {\n logRequestError({\n method: args.method,\n correlationId,\n errorMessage: parseErrorMessageFromAny(error),\n });\n throw error;\n }\n finally {\n correlationIds.delete(args);\n }\n }\n async _request(args) {\n try {\n checkErrorForInvalidRequestArgs(args);\n if (!this.signer.isConnected) {\n switch (args.method) {\n case 'eth_requestAccounts': {\n await this.signer.handshake({ method: 'handshake' });\n // We are translating eth_requestAccounts to wallet_connect always\n await initSubAccountConfig();\n await this.signer.request({\n method: 'wallet_connect',\n params: [\n {\n version: '1',\n capabilities: {\n ...(store.subAccountsConfig.get()?.capabilities ?? {}),\n },\n },\n ],\n });\n // wallet_connect will retrieve and save the account info in the store\n // continue to requesting it again at L130 for emitting the connect event +\n // returning the accounts\n break;\n }\n case 'wallet_connect': {\n await this.signer.handshake({ method: 'handshake' }); // exchange session keys\n const result = await this.signer.request(args); // send diffie-hellman encrypted request\n return result;\n }\n case 'wallet_switchEthereumChain': {\n // wallet_switchEthereumChain does not need to be sent to the popup\n // it is handled by the base account signer\n // so we just return the result\n const result = await this.signer.request(args);\n return result;\n }\n case 'wallet_sendCalls':\n case 'wallet_sign': {\n try {\n await this.signer.handshake({ method: 'handshake' }); // exchange session keys\n const result = await this.signer.request(args); // send diffie-hellman encrypted request\n return result;\n }\n finally {\n await this.signer.cleanup(); // clean up (rotate) the ephemeral session keys\n }\n }\n case 'wallet_getCallsStatus': {\n const result = await fetchRPCRequest(args, CB_WALLET_RPC_URL);\n return result;\n }\n case 'eth_accounts': {\n return [];\n }\n case 'net_version': {\n const result = 1; // default value\n return result;\n }\n case 'eth_chainId': {\n const result = hexStringFromNumber(1); // default value\n return result;\n }\n default: {\n throw standardErrors.provider.unauthorized(\"Must call 'eth_requestAccounts' before other methods\");\n }\n }\n }\n const result = await this.signer.request(args);\n return result;\n }\n catch (error) {\n const { code } = error;\n if (code === standardErrorCodes.provider.unauthorized) {\n await this.disconnect();\n }\n return Promise.reject(serializeError(error));\n }\n }\n async disconnect() {\n await this.signer.cleanup();\n correlationIds.clear();\n this.emit('disconnect', standardErrors.provider.disconnected('User initiated disconnection'));\n }\n isBaseAccount = true;\n}\n//# sourceMappingURL=BaseAccountProvider.js.map","const TBA_PROVIDER_IDENTIFIER = 'isCoinbaseBrowser';\nexport function getInjectedProvider() {\n const injectedProvider = window.top?.ethereum ?? window.ethereum;\n if (injectedProvider?.[TBA_PROVIDER_IDENTIFIER]) {\n return injectedProvider;\n }\n return null;\n}\n//# sourceMappingURL=getInjectedProvider.js.map","import { loadTelemetryScript } from '../../../core/telemetry/initCCA.js';\nimport { abi } from '../../../sign/base-account/utils/constants.js';\nimport { store } from '../../../store/store.js';\nimport { assertPresence } from '../../../util/assertPresence.js';\nimport { checkCrossOriginOpenerPolicy } from '../../../util/checkCrossOriginOpenerPolicy.js';\nimport { validatePreferences, validateSubAccount } from '../../../util/validatePreferences.js';\nimport { decodeAbiParameters, encodeFunctionData, toHex } from 'viem';\nimport { BaseAccountProvider } from './BaseAccountProvider.js';\nimport { getInjectedProvider } from './getInjectedProvider.js';\n/**\n * Create Base AccountSDK instance with EIP-1193 compliant provider\n * @param params - Options to create a base account SDK instance.\n * @returns An SDK object with a getProvider method that returns an EIP-1193 compliant provider.\n */\nexport function createBaseAccountSDK(params) {\n const options = {\n metadata: {\n appName: params.appName || 'App',\n appLogoUrl: params.appLogoUrl || '',\n appChainIds: params.appChainIds || [],\n },\n preference: params.preference ?? {},\n paymasterUrls: params.paymasterUrls,\n };\n // ====================================================================\n // If we have a toOwnerAccount function, set it in the non-persisted config\n // ====================================================================\n if (params.subAccounts?.toOwnerAccount) {\n validateSubAccount(params.subAccounts.toOwnerAccount);\n }\n store.subAccountsConfig.set({\n toOwnerAccount: params.subAccounts?.toOwnerAccount,\n creation: params.subAccounts?.creation ?? 'manual',\n defaultAccount: params.subAccounts?.defaultAccount ?? 'universal',\n funding: params.subAccounts?.funding ?? 'spend-permissions',\n });\n // ====================================================================\n // Set the options in the store and rehydrate the store from storage\n // ====================================================================\n store.config.set(options);\n void store.persist.rehydrate();\n // ====================================================================\n // Validation and telemetry\n // ====================================================================\n void checkCrossOriginOpenerPolicy();\n validatePreferences(options.preference);\n if (options.preference.telemetry !== false) {\n void loadTelemetryScript();\n }\n // ====================================================================\n // Return the provider\n // ====================================================================\n let provider = null;\n const sdk = {\n getProvider: () => {\n if (!provider) {\n provider = getInjectedProvider() ?? new BaseAccountProvider(options);\n }\n return provider;\n },\n subAccount: {\n async create(accountParam) {\n return (await sdk.getProvider()?.request({\n method: 'wallet_addSubAccount',\n params: [\n {\n version: '1',\n account: accountParam,\n },\n ],\n }));\n },\n async get() {\n const subAccount = store.subAccounts.get();\n if (subAccount?.address) {\n return subAccount;\n }\n const response = (await sdk.getProvider()?.request({\n method: 'wallet_connect',\n params: [\n {\n version: '1',\n capabilities: {},\n },\n ],\n }));\n const subAccounts = response.accounts[0].capabilities?.subAccounts;\n if (!Array.isArray(subAccounts)) {\n return null;\n }\n return subAccounts[0];\n },\n addOwner: async ({ address, publicKey, chainId, }) => {\n const subAccount = store.subAccounts.get();\n const account = store.account.get();\n assertPresence(account, new Error('account does not exist'));\n assertPresence(subAccount?.address, new Error('subaccount does not exist'));\n const calls = [];\n if (publicKey) {\n const [x, y] = decodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes32' }], publicKey);\n calls.push({\n to: subAccount.address,\n data: encodeFunctionData({\n abi,\n functionName: 'addOwnerPublicKey',\n args: [x, y],\n }),\n value: toHex(0),\n });\n }\n if (address) {\n calls.push({\n to: subAccount.address,\n data: encodeFunctionData({\n abi,\n functionName: 'addOwnerAddress',\n args: [address],\n }),\n value: toHex(0),\n });\n }\n return (await sdk.getProvider()?.request({\n method: 'wallet_sendCalls',\n params: [\n {\n calls,\n chainId: toHex(chainId),\n from: account.accounts?.[0],\n version: '1',\n },\n ],\n }));\n },\n setToOwnerAccount(toSubAccountOwner) {\n validateSubAccount(toSubAccountOwner);\n store.subAccountsConfig.set({\n toOwnerAccount: toSubAccountOwner,\n });\n },\n },\n };\n return sdk;\n}\n//# sourceMappingURL=createBaseAccountSDK.js.map","/**\n * Token configuration for supported payment tokens\n */\nexport const TOKENS = {\n USDC: {\n decimals: 6,\n addresses: {\n base: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n baseSepolia: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',\n },\n },\n};\n/**\n * Chain IDs for supported networks\n */\nexport const CHAIN_IDS = {\n base: 8453,\n baseSepolia: 84532,\n};\n/**\n * ERC20 transfer function ABI\n */\nexport const ERC20_TRANSFER_ABI = [\n {\n name: 'transfer',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'to', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool' }],\n },\n {\n name: 'Transfer',\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', type: 'address', indexed: true },\n { name: 'to', type: 'address', indexed: true },\n { name: 'value', type: 'uint256', indexed: false },\n ],\n },\n];\n//# sourceMappingURL=constants.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logPaymentStarted = ({ amount, testnet, correlationId, }) => {\n logEvent('payment.pay.started', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'pay',\n correlationId,\n signerType: 'base-account',\n amount,\n testnet,\n }, AnalyticsEventImportance.high);\n};\nexport const logPaymentError = ({ amount, testnet, correlationId, errorMessage, }) => {\n logEvent('payment.pay.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method: 'pay',\n correlationId,\n signerType: 'base-account',\n amount,\n testnet,\n errorMessage,\n }, AnalyticsEventImportance.high);\n};\nexport const logPaymentCompleted = ({ amount, testnet, correlationId, }) => {\n logEvent('payment.pay.completed', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'pay',\n correlationId,\n signerType: 'base-account',\n amount,\n testnet,\n }, AnalyticsEventImportance.high);\n};\nexport const logPaymentStatusCheckStarted = ({ testnet, correlationId, }) => {\n logEvent('payment.status_check.started', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'getPaymentStatus',\n correlationId,\n signerType: 'base-account',\n testnet,\n }, AnalyticsEventImportance.low);\n};\nexport const logPaymentStatusCheckCompleted = ({ testnet, status, correlationId, }) => {\n logEvent('payment.status_check.completed', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'getPaymentStatus',\n correlationId,\n signerType: 'base-account',\n testnet,\n status,\n }, AnalyticsEventImportance.low);\n};\nexport const logPaymentStatusCheckError = ({ testnet, correlationId, errorMessage, }) => {\n logEvent('payment.status_check.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method: 'getPaymentStatus',\n correlationId,\n errorMessage,\n signerType: 'base-account',\n testnet,\n }, AnalyticsEventImportance.low);\n};\n//# sourceMappingURL=payment.js.map","import { decodeEventLog, formatUnits, getAddress, isAddressEqual } from 'viem';\nimport { logPaymentStatusCheckCompleted, logPaymentStatusCheckError, logPaymentStatusCheckStarted, } from '../../core/telemetry/events/payment.js';\nimport { ERC20_TRANSFER_ABI, TOKENS } from './constants.js';\n/**\n * Check the status of a payment transaction using its transaction ID (userOp hash)\n *\n * @param options - Payment status check options\n * @returns Promise<PaymentStatus> - Status information about the payment\n * @throws Error if unable to connect to the RPC endpoint or if the RPC request fails\n *\n * @example\n * ```typescript\n * try {\n * const status = await getPaymentStatus({\n * id: \"0x1234...5678\",\n * testnet: true\n * })\n *\n * if (status.status === 'failed') {\n * console.log(`Payment failed: ${status.reason}`)\n * }\n * } catch (error) {\n * console.error('Unable to check payment status:', error.message)\n * }\n * ```\n *\n * @note The id is the userOp hash returned from the pay function\n */\nexport async function getPaymentStatus(options) {\n const { id, testnet = false, telemetry = true } = options;\n // Generate correlation ID for this status check\n const correlationId = crypto.randomUUID();\n // Log status check started\n if (telemetry) {\n logPaymentStatusCheckStarted({ testnet, correlationId });\n }\n try {\n // Get the bundler URL based on network\n const bundlerUrl = testnet\n ? 'https://api.developer.coinbase.com/rpc/v1/base-sepolia/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O'\n : 'https://api.developer.coinbase.com/rpc/v1/base/S-fOd2n2Oi4fl4e1Crm83XeDXZ7tkg8O';\n // Call eth_getUserOperationReceipt via the bundler\n const receipt = await fetch(bundlerUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 1,\n method: 'eth_getUserOperationReceipt',\n params: [id],\n }),\n }).then((res) => res.json());\n // Handle RPC errors\n if (receipt.error) {\n console.error('[getPaymentStatus] RPC error:', receipt.error);\n const errorMessage = receipt.error.message || 'Network error';\n if (telemetry) {\n logPaymentStatusCheckError({ testnet, correlationId, errorMessage });\n }\n // Re-throw error for RPC failures\n throw new Error(`RPC error: ${errorMessage}`);\n }\n // If no result, payment is still pending or not found\n if (!receipt.result) {\n // Try eth_getUserOperationByHash to see if it's in mempool\n const userOpResponse = await fetch(bundlerUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 2,\n method: 'eth_getUserOperationByHash',\n params: [id],\n }),\n }).then((res) => res.json());\n if (userOpResponse.result) {\n // UserOp exists but no receipt yet - it's pending\n if (telemetry) {\n logPaymentStatusCheckCompleted({ testnet, status: 'pending', correlationId });\n }\n const result = {\n status: 'pending',\n id: id,\n message: 'Your payment is being processed. This usually takes a few seconds.',\n sender: userOpResponse.result.sender,\n };\n return result;\n }\n // Not found at all\n if (telemetry) {\n logPaymentStatusCheckCompleted({ testnet, status: 'not_found', correlationId });\n }\n const result = {\n status: 'not_found',\n id: id,\n message: 'Payment not found. Please check your transaction ID.',\n };\n return result;\n }\n // Parse the receipt\n const { success, receipt: txReceipt, reason } = receipt.result;\n // Determine status based on success flag\n if (success) {\n // Parse USDC amount from logs\n let amount;\n let recipient;\n if (txReceipt?.logs) {\n const network = testnet ? 'baseSepolia' : 'base';\n const usdcAddress = TOKENS.USDC.addresses[network].toLowerCase();\n // Normalize sender address for comparison\n const senderAddress = receipt.result.sender\n ? getAddress(receipt.result.sender)\n : undefined;\n // Collect all USDC transfers\n const usdcTransfers = [];\n for (let i = 0; i < txReceipt.logs.length; i++) {\n const log = txReceipt.logs[i];\n // Check if this is a USDC log\n const logAddressLower = log.address?.toLowerCase();\n const isUsdcLog = logAddressLower === usdcAddress;\n if (isUsdcLog) {\n try {\n const decoded = decodeEventLog({\n abi: ERC20_TRANSFER_ABI,\n data: log.data,\n topics: log.topics,\n });\n if (decoded.eventName === 'Transfer' && decoded.args) {\n const args = decoded.args;\n if (args.value && args.to && args.from) {\n const formattedAmount = formatUnits(args.value, 6);\n usdcTransfers.push({\n from: args.from,\n to: args.to,\n value: args.value,\n formattedAmount,\n logIndex: i,\n });\n }\n }\n }\n catch (_e) {\n // Do not fail here - fail when we can't find a single valid transfer\n }\n }\n }\n // Now select the correct transfer\n // Strategy: Find the transfer from the sender (smart wallet) address\n if (usdcTransfers.length > 0 && senderAddress) {\n // Look for transfers from the sender address (smart wallet)\n // Compare checksummed addresses for consistency\n const senderTransfers = usdcTransfers.filter((t) => {\n try {\n return isAddressEqual(t.from, senderAddress);\n }\n catch {\n return false;\n }\n });\n if (senderTransfers.length === 0) {\n // No transfer from the sender wallet was found\n throw new Error(`Unable to find USDC transfer from sender wallet ${receipt.result.sender}. ` +\n `Found ${usdcTransfers.length} USDC transfer(s) but none originated from the sender wallet.`);\n }\n if (senderTransfers.length > 1) {\n // Multiple transfers from the sender wallet found\n const transferDetails = senderTransfers\n .map((t) => `${t.formattedAmount} USDC to ${t.to}`)\n .join(', ');\n throw new Error(`Found multiple USDC transfers from sender wallet ${receipt.result.sender}: ${transferDetails}. Expected exactly one transfer.`);\n }\n // Exactly one transfer from sender found\n amount = senderTransfers[0].formattedAmount;\n recipient = senderTransfers[0].to;\n }\n }\n if (telemetry) {\n logPaymentStatusCheckCompleted({ testnet, status: 'completed', correlationId });\n }\n const result = {\n status: 'completed',\n id: id,\n message: 'Payment completed successfully',\n sender: receipt.result.sender,\n amount,\n recipient,\n };\n return result;\n }\n // else block - Parse a user-friendly reason for failure\n let userFriendlyReason = 'Payment could not be completed';\n if (reason) {\n if (reason.toLowerCase().includes('insufficient')) {\n userFriendlyReason = 'Insufficient USDC balance';\n }\n else {\n userFriendlyReason = reason;\n }\n }\n if (telemetry) {\n logPaymentStatusCheckCompleted({ testnet, status: 'failed', correlationId });\n }\n const result = {\n status: 'failed',\n id: id,\n message: 'Payment failed',\n sender: receipt.result.sender,\n reason: userFriendlyReason,\n };\n return result;\n }\n catch (error) {\n console.error('[getPaymentStatus] Error checking status:', error);\n const errorMessage = error instanceof Error ? error.message : 'Connection error';\n if (telemetry) {\n logPaymentStatusCheckError({ testnet, correlationId, errorMessage });\n }\n // Re-throw the error\n throw error;\n }\n}\n//# sourceMappingURL=getPaymentStatus.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\nexport const logSpendPermissionUtilStarted = (functionName) => {\n logEvent(`spend_permission_utils.${functionName}.started`, {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n }, AnalyticsEventImportance.high);\n};\nexport const logSpendPermissionUtilCompleted = (functionName) => {\n logEvent(`spend_permission_utils.${functionName}.completed`, {\n action: ActionType.unknown,\n componentType: ComponentType.unknown,\n }, AnalyticsEventImportance.high);\n};\nexport const logSpendPermissionUtilError = (functionName, errorMessage) => {\n logEvent(`spend_permission_utils.${functionName}.error`, {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n errorMessage,\n }, AnalyticsEventImportance.high);\n};\n//# sourceMappingURL=spend-permission.js.map","import { logSpendPermissionUtilCompleted, logSpendPermissionUtilError, logSpendPermissionUtilStarted, } from '../../../core/telemetry/events/spend-permission.js';\nimport { parseErrorMessageFromAny } from '../../../core/telemetry/utils.js';\nimport { store } from '../../../store/store.js';\n// biome-ignore lint/suspicious/noExplicitAny: HOF\nexport function withTelemetry(fn) {\n // Honor the telemetry preference\n const config = store.config.get();\n if (config.preference?.telemetry === false) {\n return fn;\n }\n return (...args) => {\n const functionName = getFunctionName(fn);\n logSpendPermissionUtilStarted(functionName);\n try {\n const result = fn(...args);\n logSpendPermissionUtilCompleted(functionName);\n return result;\n }\n catch (error) {\n logSpendPermissionUtilError(functionName, parseErrorMessageFromAny(error));\n throw error;\n }\n };\n}\n// biome-ignore lint/suspicious/noExplicitAny: HOF helper\nfunction getFunctionName(fn) {\n return fn.name.replace('Fn', '');\n}\n//# sourceMappingURL=withTelemetry.js.map","import { CB_WALLET_RPC_URL } from '../../../../core/constants.js';\nimport { fetchRPCRequest } from '../../../../util/provider.js';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Fetches a single spend permission by its hash.\n *\n * This helper method retrieves a specific spend permission using its unique hash identifier.\n * This is useful when you have a permission hash and need to retrieve the full permission details.\n *\n * The method uses coinbase_fetchPermission RPC method to query the permission\n * from the backend service. If a provider is supplied, it will use that provider to make the request.\n * Otherwise, it will make a direct RPC request to the Coinbase Wallet RPC endpoint.\n *\n * @param params - The parameters for the fetchPermission method.\n * @param params.permissionHash - The hash of the permission to fetch.\n * @param params.provider - Optional provider interface used to make the coinbase_fetchPermission request.\n *\n * @returns A promise that resolves to a SpendPermission object.\n *\n * @example\n * ```typescript\n * import { fetchPermission } from '@base-org/account/spend-permission';\n *\n * // Fetch a specific permission by its hash (with provider)\n * const permission = await fetchPermission({\n * provider, // Base Account Provider\n * permissionHash: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984'\n * });\n *\n * // Fetch a specific permission by its hash (without provider)\n * const permission = await fetchPermission({\n * permissionHash: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984'\n * });\n *\n * console.log(`Permission for token: ${permission.permission.token}`);\n * console.log(`Spender: ${permission.permission.spender}`);\n * console.log(`Allowance: ${permission.permission.allowance}`);\n * ```\n */\nconst fetchPermissionFn = async ({ provider, permissionHash, }) => {\n let response;\n if (provider) {\n response = (await provider.request({\n method: 'coinbase_fetchPermission',\n params: [\n {\n permissionHash,\n },\n ],\n }));\n }\n else {\n response = (await fetchRPCRequest({\n method: 'coinbase_fetchPermission',\n params: [\n {\n permissionHash,\n },\n ],\n }, CB_WALLET_RPC_URL));\n }\n return response.permission;\n};\nexport const fetchPermission = withTelemetry(fetchPermissionFn);\n//# sourceMappingURL=fetchPermission.js.map","import { CB_WALLET_RPC_URL } from '../../../../core/constants.js';\nimport { fetchRPCRequest } from '../../../../util/provider.js';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Fetches existing spend permissions for a specific account, spender, and chain.\n *\n * This helper method retrieves all spend permissions that have been granted by a specific\n * account to a specific spender on a given chain. This is useful when you need to check\n * what permissions have already been granted.\n *\n * The method uses coinbase_fetchPermissions RPC method to query the permissions\n * from the backend service. If a provider is supplied, it will use that provider to make the request.\n * Otherwise, it will make a direct RPC request to the Coinbase Wallet RPC endpoint.\n *\n * @param params - The parameters for the fetchPermissions method.\n * @param params.account - The account to fetch permissions for.\n * @param params.chainId - The chain ID to fetch permissions for.\n * @param params.spender - The spender to fetch permissions for.\n * @param params.provider - Optional provider interface used to make the coinbase_fetchPermissions request.\n *\n * @returns A promise that resolves to an array of SpendPermission objects.\n *\n * @example\n * ```typescript\n * import { fetchPermissions } from '@base-org/account/spend-permission';\n *\n * // Fetch all permissions for an account-spender pair (with provider)\n * const permissions = await fetchPermissions({\n * provider, // Base Account Provider\n * account: '0x1234...',\n * spender: '0x5678...',\n * chainId: 8453 // Base mainnet\n * });\n *\n * // Fetch all permissions for an account-spender pair (without provider)\n * const permissions = await fetchPermissions({\n * account: '0x1234...',\n * spender: '0x5678...',\n * chainId: 8453 // Base mainnet\n * });\n *\n * console.log(`Found ${permissions.length} permissions`);\n * permissions.forEach(permission => {\n * console.log(`Token: ${permission.permission.token}`);\n * });\n * ```\n */\nconst fetchPermissionsFn = async ({ provider, account, chainId, spender, }) => {\n let response;\n const chainIdHex = `0x${chainId.toString(16)}`;\n if (provider) {\n response = (await provider.request({\n method: 'coinbase_fetchPermissions',\n params: [\n {\n account,\n chainId: chainIdHex,\n spender,\n },\n ],\n }));\n }\n else {\n response = (await fetchRPCRequest({\n method: 'coinbase_fetchPermissions',\n params: [\n {\n account,\n chainId: chainIdHex,\n spender,\n },\n ],\n }, CB_WALLET_RPC_URL));\n }\n return response.permissions;\n};\nexport const fetchPermissions = withTelemetry(fetchPermissionsFn);\n//# sourceMappingURL=fetchPermissions.js.map","import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/base-account/utils/constants.js';\nimport { getClient } from '../../../../store/chain-clients/utils.js';\nimport { readContract } from 'viem/actions';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Gets the hash of a spend permission from the SpendPermissionManager contract.\n *\n * This function calls the getHash method on the SpendPermissionManager contract\n * to compute the unique hash for a given spend permission. This hash can be used\n * to identify the permission on-chain.\n *\n * @param params - The parameters for the getHash method.\n * @param params.permission - The spend permission message object from the typed data that\n * contains all permission details.\n * @param params.chainId - The chain ID to use for the contract call\n *\n * @returns A promise that resolves to the permission hash as a hex string\n *\n * @example\n * ```typescript\n * import { getHash } from '@base-org/account/spend-permission';\n *\n * const permission = {\n * account: '0x1234...',\n * spender: '0x5678...',\n * token: '0xabcd...',\n * allowance: '1000000', // 1 USDC (6 decimals)\n * period: 86400 * 30, // 30 days in seconds\n * start: Date.now(),\n * end: Date.now() + (86400 * 365),\n * salt: '0x1234567890abcdef...',\n * extraData: '0x'\n * };\n *\n * const hash = await getHash(permission, 8453); // Base mainnet\n * console.log('Permission hash:', hash);\n * ```\n */\nconst getHashFn = async ({ permission, chainId, }) => {\n const client = getClient(chainId);\n if (!client) {\n throw new Error(`No client found for chain ID ${chainId}. Chain not supported or RPC URL not available`);\n }\n const spendPermissionArgs = {\n ...permission,\n allowance: BigInt(permission.allowance),\n salt: BigInt(permission.salt),\n };\n const hash = await readContract(client, {\n address: spendPermissionManagerAddress,\n abi: spendPermissionManagerAbi,\n functionName: 'getHash',\n args: [spendPermissionArgs],\n });\n return hash;\n};\nexport const getHash = withTelemetry(getHashFn);\n//# sourceMappingURL=getHash.js.map","import { spendPermissionManagerAddress } from '../../../sign/base-account/utils/constants.js';\nimport { getAddress } from 'viem';\nconst ETERNITY_TIMESTAMP = 281474976710655; // 2^48 - 1\nconst SPEND_PERMISSION_TYPED_DATA_TYPES = {\n SpendPermission: [\n {\n name: 'account',\n type: 'address',\n },\n {\n name: 'spender',\n type: 'address',\n },\n {\n name: 'token',\n type: 'address',\n },\n {\n name: 'allowance',\n type: 'uint160',\n },\n {\n name: 'period',\n type: 'uint48',\n },\n {\n name: 'start',\n type: 'uint48',\n },\n {\n name: 'end',\n type: 'uint48',\n },\n {\n name: 'salt',\n type: 'uint256',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport function createSpendPermissionTypedData(request) {\n const { account, spender, token, chainId, allowance, periodInDays, start, end, salt, extraData } = request;\n return {\n domain: {\n name: 'Spend Permission Manager',\n version: '1',\n chainId: chainId,\n verifyingContract: spendPermissionManagerAddress,\n },\n types: SPEND_PERMISSION_TYPED_DATA_TYPES,\n primaryType: 'SpendPermission',\n message: {\n account: getAddress(account),\n spender: getAddress(spender),\n token: getAddress(token),\n allowance: allowance.toString(),\n period: 86400 * periodInDays,\n start: dateToTimestampInSeconds(start ?? new Date()),\n end: end ? dateToTimestampInSeconds(end) : ETERNITY_TIMESTAMP,\n salt: salt ?? getRandomHexString(32),\n extraData: extraData ? extraData : '0x',\n },\n };\n}\n/**\n * TEST ONLY: Creates a spend permission with period in seconds instead of days.\n * ⚠️ WARNING: This function should ONLY be used for testing purposes on testnet.\n * Using this in production scenarios is not supported and may lead to unexpected behavior.\n *\n * @testOnly\n * @param request - The request parameters with periodInSeconds instead of periodInDays\n * @returns SpendPermissionTypedData\n */\nexport function createSpendPermissionTypedDataWithSeconds(request) {\n const { account, spender, token, chainId, allowance, periodInSeconds, start, end, salt, extraData, } = request;\n // Runtime check to prevent misuse\n if (process.env.NODE_ENV === 'production') {\n console.warn('⚠️ createSpendPermissionTypedDataWithSeconds is being used. ' +\n 'This function is intended for testing purposes only.');\n }\n return {\n domain: {\n name: 'Spend Permission Manager',\n version: '1',\n chainId: chainId,\n verifyingContract: spendPermissionManagerAddress,\n },\n types: SPEND_PERMISSION_TYPED_DATA_TYPES,\n primaryType: 'SpendPermission',\n message: {\n account: getAddress(account),\n spender: getAddress(spender),\n token: getAddress(token),\n allowance: allowance.toString(),\n period: periodInSeconds, // Direct seconds value for testing\n start: dateToTimestampInSeconds(start ?? new Date()),\n end: end ? dateToTimestampInSeconds(end) : ETERNITY_TIMESTAMP,\n salt: salt ?? getRandomHexString(32),\n extraData: extraData ? extraData : '0x',\n },\n };\n}\nfunction getRandomHexString(byteLength) {\n const bytes = new Uint8Array(byteLength);\n crypto.getRandomValues(bytes);\n const hexString = Array.from(bytes)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('');\n return `0x${hexString}`;\n}\n/**\n * Converts a JavaScript Date object to a Unix timestamp in seconds.\n *\n * @param date - The Date object to convert.\n * @returns The Unix timestamp in seconds.\n */\nexport function dateToTimestampInSeconds(date) {\n return Math.floor(date.getTime() / 1000);\n}\n/**\n\n * Converts a Unix timestamp in seconds to a Date object.\n *\n * @param timestamp - The Unix timestamp in seconds.\n * @returns A Date object.\n */\nexport function timestampInSecondsToDate(timestamp) {\n return new Date(timestamp * 1000);\n}\n/**\n * Calculates the current period for a spend permission based on the permission parameters.\n *\n * This function computes which period we're currently in based on the permission's start time,\n * period duration, and the current time. It's useful when there's no on-chain state yet.\n *\n * @param permission - The SpendPermission object to calculate the period for\n * @param currentTimestamp - Optional timestamp to use as \"now\" (defaults to current time)\n * @returns The current period with start, end, and spend (0 for inferred periods)\n */\nexport function calculateCurrentPeriod(permission, currentTimestamp) {\n const now = currentTimestamp ?? Math.floor(Date.now() / 1000);\n const { start, end, period } = permission.permission;\n const permissionStart = Number(start);\n const permissionEnd = Number(end);\n const periodDuration = Number(period);\n // If we're before the permission starts, return the first period\n if (now < permissionStart) {\n const firstPeriodEnd = permissionStart + periodDuration;\n return {\n start: permissionStart,\n end: firstPeriodEnd > permissionEnd ? permissionEnd : firstPeriodEnd - 1,\n spend: BigInt(0),\n };\n }\n // If we're after the permission ends, return the last period\n if (now > permissionEnd) {\n // Calculate the start of the last period that would contain permissionEnd\n const totalDuration = permissionEnd - permissionStart;\n const completePeriods = Math.floor(totalDuration / periodDuration);\n const lastPeriodStart = permissionStart + completePeriods * periodDuration;\n // If the last period would start after permissionEnd, go back one period\n if (lastPeriodStart >= permissionEnd && completePeriods > 0) {\n return {\n start: permissionStart + (completePeriods - 1) * periodDuration,\n end: permissionEnd,\n spend: BigInt(0),\n };\n }\n return {\n start: lastPeriodStart,\n end: permissionEnd,\n spend: BigInt(0),\n };\n }\n // Calculate which period we're in\n const timeElapsed = now - permissionStart;\n const currentPeriodIndex = Math.floor(timeElapsed / periodDuration);\n const currentPeriodStart = permissionStart + currentPeriodIndex * periodDuration;\n const nextPeriodStart = currentPeriodStart + periodDuration;\n // For the last period, end should be exactly the permission end\n // For other periods, end should be nextPeriodStart - 1\n const currentPeriodEnd = nextPeriodStart >= permissionEnd ? permissionEnd : nextPeriodStart - 1;\n return {\n start: currentPeriodStart,\n end: currentPeriodEnd,\n spend: BigInt(0), // When inferring, we assume no spend has occurred\n };\n}\n/**\n * Converts a SpendPermission object to the arguments expected by the SpendPermissionManager contract.\n *\n * This function creates the standard args in the correct order.\n *\n * @param permission - The SpendPermission object to convert.\n * @returns The arguments expected by the SpendPermissionManager contract.\n *\n * @example\n * ```typescript\n * import { toSpendPermissionArgs } from '@base-org/account/spend-permission';\n *\n * const args = toSpendPermissionArgs(permission);\n * const currentPeriod = await readContract(client, {\n * address: spendPermissionManagerAddress,\n * abi: spendPermissionManagerAbi,\n * functionName: 'getCurrentPeriod',\n * args: [args]\n * });\n * ```\n */\nexport function toSpendPermissionArgs(permission) {\n const { account, spender, token, allowance: allowanceStr, period, start, end, salt, extraData, } = permission.permission;\n return {\n account: getAddress(account),\n spender: getAddress(spender),\n token: getAddress(token),\n allowance: BigInt(allowanceStr),\n period,\n start,\n end,\n salt: BigInt(salt),\n extraData: extraData,\n };\n}\n//# sourceMappingURL=utils.js.map","import { createPublicClient, http } from 'viem';\nimport * as chains from 'viem/chains';\n/**\n * Converts a chainId to a viem PublicClient.\n *\n * This helper is for the node environment or server side rendering. It imports all the chains from viem,\n * which can be bloated for frontend applications.\n *\n * @param chainId - The chain ID to get a public client for\n * @returns PublicClient instance or undefined if chain is not supported\n */\nexport function getPublicClientFromChainId(chainId) {\n const viemChain = Object.values(chains).find((chain) => chain.id === chainId);\n if (!viemChain) {\n return undefined;\n }\n return createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n}\n//# sourceMappingURL=utils.node.js.map","import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/base-account/utils/constants.js';\nimport { getClient } from '../../../../store/chain-clients/utils.js';\nimport { readContract } from 'viem/actions';\nimport { timestampInSecondsToDate, toSpendPermissionArgs } from '../utils.js';\nimport { getPublicClientFromChainId } from '../utils.node.js';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Gets the current status of a spend permission.\n *\n * This helper method queries the blockchain to retrieve real-time information\n * about a spend permission, including how much can still be spent in the current\n * period, when the next period starts, and whether the permission is still active.\n *\n * The function automatically uses the appropriate blockchain client based on the\n * permission's chain ID and calls multiple view functions on the SpendPermissionManager\n * contract to gather comprehensive status information.\n *\n * When the spend permission does not have a chainId, the function will throw an error.\n *\n * @param permission - The spend permission object to check status for.\n *\n * @returns A promise that resolves to an object containing permission status details.\n *\n * @example\n * ```typescript\n * import { getPermissionStatus } from '@base-org/account/spend-permission';\n *\n * // Check the status of a permission (no client needed)\n * const status = await getPermissionStatus(permission);\n *\n * console.log(`Remaining spend: ${status.remainingSpend} wei`);\n * console.log(`Next period starts: ${status.nextPeriodStart}`);\n * console.log(`Is revoked: ${status.isRevoked}`);\n * console.log(`Is expired: ${status.isExpired}`);\n * console.log(`Is active: ${status.isActive}`);\n *\n * if (status.isActive && status.remainingSpend > BigInt(0)) {\n * console.log('Permission can be used for spending');\n * }\n * ```\n */\nconst getPermissionStatusFn = async (permission) => {\n const { chainId } = permission;\n if (!chainId) {\n throw new Error('chainId is missing in the spend permission');\n }\n // Try to get client from store first (browser environment with connected SDK)\n let client = getClient(chainId);\n // If no client in store, create one using the node utility (node environment or disconnected SDK)\n if (!client) {\n client = getPublicClientFromChainId(chainId);\n if (!client) {\n throw new Error(`No client available for chain ID ${chainId}. Chain is not supported.`);\n }\n }\n const spendPermissionArgs = toSpendPermissionArgs(permission);\n const [currentPeriod, isRevoked, isValid] = await Promise.all([\n readContract(client, {\n address: spendPermissionManagerAddress,\n abi: spendPermissionManagerAbi,\n functionName: 'getCurrentPeriod',\n args: [spendPermissionArgs],\n }),\n readContract(client, {\n address: spendPermissionManagerAddress,\n abi: spendPermissionManagerAbi,\n functionName: 'isRevoked',\n args: [spendPermissionArgs],\n }),\n readContract(client, {\n address: spendPermissionManagerAddress,\n abi: spendPermissionManagerAbi,\n functionName: 'isValid',\n args: [spendPermissionArgs],\n }),\n ]);\n // Calculate remaining spend in current period\n const allowance = BigInt(permission.permission.allowance);\n const spent = currentPeriod.spend;\n const remainingSpend = allowance > spent ? allowance - spent : BigInt(0);\n // Calculate next period start\n // Next period starts immediately after current period ends\n const nextPeriodStart = (Number(currentPeriod.end) + 1).toString();\n // Check if permission is expired\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const isExpired = currentTimestamp > permission.permission.end;\n // Permission is active if it's not revoked and not expired\n const isActive = !isRevoked && !isExpired;\n // isApprovedOnchain indicates if the permission has been approved on the blockchain and is not revoked\n const isApprovedOnchain = isValid;\n return {\n remainingSpend,\n nextPeriodStart: timestampInSecondsToDate(Number(nextPeriodStart)),\n isRevoked,\n isExpired,\n isActive,\n isApprovedOnchain,\n currentPeriod,\n };\n};\nexport const getPermissionStatus = withTelemetry(getPermissionStatusFn);\n//# sourceMappingURL=getPermissionStatus.js.map","import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/base-account/utils/constants.js';\nimport { encodeFunctionData } from 'viem';\nimport { toSpendPermissionArgs } from '../utils.js';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Prepares call data for revoking a spend permission without user interaction.\n *\n * This helper method generates the encoded transaction data needed to revoke a spend\n * permission silently, without opening a popup or requiring user approval. This is\n * useful for automated or programmatic revocations where user interaction is not desired.\n *\n * The returned call data can be used with other transaction methods or batch operations.\n *\n * If you need simpler revoke flow, use `requestRevoke` instead, which opens a popup to ask\n * the user to revoke the permission.\n *\n * @param permission - The spend permission object containing the permission details to revoke.\n *\n * @returns A promise that resolves to an object containing the contract address and encoded call data.\n *\n * @example\n * ```typescript\n * import { prepareRevokeCallData } from '@base-org/account/spend-permission';\n *\n * // Prepare revoke call data for silent execution\n * const { to, data } = await prepareRevokeCallData({ permission: myPermission });\n *\n * // Use the call data in a batch transaction or other context\n * const call = {\n * to,\n * data,\n * value: 0n\n * };\n * ```\n */\nconst prepareRevokeCallDataFn = async (permission) => {\n const spendPermissionArgs = toSpendPermissionArgs(permission);\n const data = encodeFunctionData({\n abi: spendPermissionManagerAbi,\n functionName: 'revokeAsSpender',\n args: [spendPermissionArgs],\n });\n const response = {\n to: spendPermissionManagerAddress,\n data,\n value: 0n,\n };\n return response;\n};\nexport const prepareRevokeCallData = withTelemetry(prepareRevokeCallDataFn);\n//# sourceMappingURL=prepareRevokeCallData.js.map","import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/base-account/utils/constants.js';\nimport { encodeFunctionData } from 'viem';\nimport { toSpendPermissionArgs } from '../utils.js';\nimport { withTelemetry } from '../withTelemetry.js';\nimport { getPermissionStatus } from './getPermissionStatus.js';\n/**\n * Prepares call data for approving and spending a spend permission.\n *\n * This helper method constructs the call data for `approveWithSignature`\n * and `spend` functions. The approve call is only included when the permission\n * is not yet approved onchain. If the permission is already approved, only the spend call is returned.\n *\n * When 'max-remaining-allowance' is provided as the amount, the function automatically uses all remaining\n * spend permission allowance.\n *\n * If a recipient address is provided, an ERC20 transfer call will be appended to transfer\n * the spent tokens to the recipient.\n *\n * The resulting call data must be sent using the spender account, not the\n * account holder. The spender is responsible for executing both the approval\n * and spend operations.\n *\n * @param permission - The spend permission object containing the permission details and signature.\n * @param amount - The amount to spend in wei. If 'max-remaining-allowance' is provided, the full remaining allowance will be spent.\n * @param recipient - Optional recipient address to receive the spent tokens via ERC20 transfer.\n *\n * @returns A promise that resolves to an array containing all the necessary calls.\n *\n * @throws {Error} Throws an error if the spend permission has been revoked.\n * @throws {Error} Throws an error if the spend amount is 0.\n * @throws {Error} Throws an error if the spend amount exceeds the remaining allowance.\n *\n * @example\n * ```typescript\n * import { prepareSpendCallData } from '@base-org/account/spend-permission';\n *\n * // Prepare calls to approve and spend a specific amount from a permission\n * const spendCalls = await prepareSpendCallData(\n * permission, // from requestSpendPermission or fetchPermissions\n * 50n * 10n ** 6n // spend 50 USDC (6 decimals)\n * );\n *\n * // To spend all remaining allowance, use 'max-remaining-allowance'\n * const callsFullAmount = await prepareSpendCallData(\n * permission,\n * 'max-remaining-allowance'\n * );\n *\n * // Prepare calls with a recipient to receive the tokens\n * const callsWithRecipient = await prepareSpendCallData(\n * permission,\n * 50n * 10n ** 6n,\n * '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb8' // recipient address\n * );\n *\n * // Send the calls using your app's spender account\n * // this is an example of how to send the calls using the wallet_sendCalls method\n * await provider.request({\n * method: 'wallet_sendCalls',\n * params: [{\n * version: '2.0.0',\n * atomicRequired: true,\n * from: permission.permission.spender, // Must be the spender!\n * chainId: `0x${permission.chainId?.toString(16)}`,\n * calls: spendCalls,\n * }],\n * });\n *\n * // Or send the calls using eth_sendTransaction to submit both calls in exact order\n * const promises = spendCalls.map((call) => provider.request({\n * method: 'eth_sendTransaction',\n * params: [\n * {\n * ...call,\n * from: permission.permission.spender, // Must be the spender!\n * }\n * ]\n * }))\n *\n * await Promise.all(promises);\n * ```\n */\n// ERC20 transfer function ABI for recipient transfers\nconst ERC20_TRANSFER_ABI = [\n {\n name: 'transfer',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'to', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool' }],\n },\n];\nconst prepareSpendCallDataFn = async (permission, amount, recipient) => {\n const { remainingSpend, isApprovedOnchain, isRevoked } = await getPermissionStatus(permission);\n if (isRevoked) {\n throw new Error('Spend permission has been revoked');\n }\n const spendAmount = amount === 'max-remaining-allowance' ? remainingSpend : amount;\n if (spendAmount === BigInt(0)) {\n throw new Error('Spend amount cannot be 0');\n }\n if (spendAmount > remainingSpend) {\n throw new Error('Remaining spend amount is insufficient');\n }\n let approveCall = null;\n const spendPermissionArgs = toSpendPermissionArgs(permission);\n if (!isApprovedOnchain) {\n const approveData = encodeFunctionData({\n abi: spendPermissionManagerAbi,\n functionName: 'approveWithSignature',\n args: [spendPermissionArgs, permission.signature],\n });\n approveCall = {\n to: spendPermissionManagerAddress,\n data: approveData,\n value: 0n,\n };\n }\n const spendData = encodeFunctionData({\n abi: spendPermissionManagerAbi,\n functionName: 'spend',\n args: [spendPermissionArgs, spendAmount],\n });\n const spendCall = {\n to: spendPermissionManagerAddress,\n data: spendData,\n value: 0n,\n };\n const calls = [approveCall, spendCall].filter((item) => item !== null);\n // If a recipient is specified, add an ERC20 transfer call\n if (recipient) {\n // Encode the ERC20 transfer call data\n const transferCallData = encodeFunctionData({\n abi: ERC20_TRANSFER_ABI,\n functionName: 'transfer',\n args: [recipient, spendAmount],\n });\n // Add the transfer call to the result\n calls.push({\n to: permission.permission.token,\n data: transferCallData,\n value: 0n,\n });\n }\n return calls;\n};\nexport const prepareSpendCallData = withTelemetry(prepareSpendCallDataFn);\n//# sourceMappingURL=prepareSpendCallData.js.map","import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/base-account/utils/constants.js';\nimport { encodeFunctionData, numberToHex } from 'viem';\nimport { toSpendPermissionArgs } from '../utils.js';\nimport { withTelemetry } from '../withTelemetry.js';\n/**\n * Requests user approval to revoke a spend permission.\n *\n * This helper method opens a popup to ask the user to revoke a spend permission.\n * It requires no additional setup from the app side and handles the entire revoke\n * flow by calling the smart contract's revoke function through wallet_sendCalls.\n *\n * If you're looking for a silent revoke that doesn't require user interaction,\n * use `prepareRevokeCallData` instead, which requires extra configuration.\n *\n * @param params - The parameters for the requestRevoke method.\n * @param params.permission - The spend permission object to revoke. Must include a valid chainId.\n * @param params.provider - The provider interface used to make the wallet_sendCalls request.\n *\n * @returns A promise that resolves to the transaction hash as a hex string.\n *\n * @example\n * ```typescript\n * import { requestRevoke } from '@base-org/account/spend-permission';\n *\n * // Revoke a spend permission with user approval\n * try {\n * const hash = await requestRevoke({ permission, provider });\n * console.log(`Permission revoked in transaction: ${hash}`);\n * } catch (error) {\n * console.error('Failed to revoke permission:', error);\n * }\n * ```\n */\nconst requestRevokeFn = async ({ provider, permission, }) => {\n const { chainId } = permission;\n if (!chainId) {\n throw new Error('chainId is required in the spend permission');\n }\n const spendPermissionArgs = toSpendPermissionArgs(permission);\n const data = encodeFunctionData({\n abi: spendPermissionManagerAbi,\n functionName: 'revoke',\n args: [spendPermissionArgs],\n });\n const call = {\n to: spendPermissionManagerAddress,\n data,\n };\n const result = (await provider.request({\n method: 'wallet_sendCalls',\n params: [\n {\n version: '2.0.0',\n from: permission.permission.account,\n chainId: numberToHex(chainId),\n atomicRequired: true,\n calls: [call],\n },\n ],\n }));\n return result;\n};\nexport const requestRevoke = withTelemetry(requestRevokeFn);\n//# sourceMappingURL=requestRevoke.js.map","import { createSpendPermissionTypedData, dateToTimestampInSeconds } from '../utils.js';\nimport { withTelemetry } from '../withTelemetry.js';\nimport { getHash } from './getHash.js';\n/**\n * Requests user approval to create a new spend permission.\n *\n * This helper method opens a prompt to ask the user to sign a spend permission.\n * To learn more about spend permissions, see the [Spend Permission documentation](https://docs.base.org/base-account/improve-ux/spend-permissions).\n *\n * The method uses EIP-712 typed data signing to create a cryptographically secure\n * permission that can be verified on-chain. The resulting permission object contains\n * the signature and all necessary data for later use.\n *\n * @param params - The parameters for the requestSpendPermission method.\n * @param params.provider - Base Account Provider\n * @param params.account - The account to request a spend permission for.\n * @param params.spender - The spender to request a spend permission for.\n * @param params.token - The token to request a spend permission for.\n * @param params.chainId - The chain ID to request a spend permission for.\n * @param params.allowance - The allowance to request a spend permission for.\n * @param params.periodInDays - The peroid in days for the allowance to be valid for.\n * @param params.start - The start date for the allowance to be valid from.\n * @param params.end - The end date for the allowance to be valid until next period starts.\n * @param params.salt - Salt\n * @param params.extraData - The extra data to use for the allowance.\n *\n * @returns A promise that resolves to a SpendPermission object containing the signature and permission details.\n *\n * @example\n * ```typescript\n * import { requestSpendPermission } from '@base-org/account/spend-permission';\n *\n * // Request approval for a spend permission\n * const permission = await requestSpendPermission({\n * provider, // Base Account Provider\n * account: '0x1234...',\n * spender: '0x5678...',\n * token: '0xabcd...', // USDC address\n * chainId: 8453, // Base mainnet\n * allowance: parseUnits('100', 6), // 100 USDC\n * periodInDays: 30, // Monthly allowance\n * });\n *\n * console.log('Permission created:', permission.signature);\n * ```\n */\nconst requestSpendPermissionFn = async (request) => {\n const { provider, account, chainId } = request;\n const typedData = createSpendPermissionTypedData(request);\n const [signature, permissionHash] = await Promise.all([\n provider.request({\n method: 'eth_signTypedData_v4',\n params: [account, typedData],\n }),\n getHash({ permission: typedData.message, chainId }),\n ]);\n const permission = {\n createdAt: dateToTimestampInSeconds(new Date()),\n permissionHash,\n signature,\n chainId,\n permission: typedData.message,\n };\n return permission;\n};\nexport const requestSpendPermission = withTelemetry(requestSpendPermissionFn);\n//# sourceMappingURL=requestSpendPermission.js.map","import { formatUnits } from 'viem';\nimport { fetchPermission, getPermissionStatus, } from '../public-utilities/spend-permission/index.js';\nimport { timestampInSecondsToDate } from '../public-utilities/spend-permission/utils.js';\nimport { CHAIN_IDS, TOKENS } from './constants.js';\n/**\n * Gets the current status and details of a subscription.\n *\n * This function fetches the subscription (spend permission) details using its ID (permission hash)\n * and returns status information about the subscription.\n *\n * @param options - Options for checking subscription status\n * @param options.id - The subscription ID (permission hash) returned from subscribe()\n * @param options.testnet - Whether to check on testnet (Base Sepolia). Defaults to false (mainnet)\n * @returns Promise<SubscriptionStatus> - Subscription status information\n * @throws Error if the subscription cannot be found or if fetching fails\n *\n * @example\n * ```typescript\n * import { getSubscriptionStatus } from '@base-org/account/payment';\n *\n * // Check status of a subscription using its ID\n * const status = await getSubscriptionStatus({\n * id: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984',\n * testnet: false\n * });\n *\n * console.log(`Subscribed: ${status.isSubscribed}`);\n * console.log(`Next payment: ${status.nextPeriodStart}`);\n * console.log(`Recurring amount: $${status.recurringCharge}`);\n * console.log(`Owner address: ${status.subscriptionOwner}`);\n * ```\n */\nexport async function getSubscriptionStatus(options) {\n const { id, testnet = false } = options;\n // First, try to fetch the permission details using the hash\n const permission = await fetchPermission({\n permissionHash: id,\n });\n // If no permission found in the indexer, return as not subscribed\n if (!permission) {\n // No permission found - the subscription doesn't exist or cannot be found\n return {\n isSubscribed: false,\n recurringCharge: '0',\n };\n }\n // Validate this is a USDC permission on Base/Base Sepolia\n const expectedChainId = testnet ? CHAIN_IDS.baseSepolia : CHAIN_IDS.base;\n const expectedTokenAddress = testnet\n ? TOKENS.USDC.addresses.baseSepolia.toLowerCase()\n : TOKENS.USDC.addresses.base.toLowerCase();\n if (permission.chainId !== expectedChainId) {\n // Determine if the subscription is on mainnet or testnet\n const isSubscriptionOnMainnet = permission.chainId === CHAIN_IDS.base;\n const isSubscriptionOnTestnet = permission.chainId === CHAIN_IDS.baseSepolia;\n let errorMessage;\n if (testnet && isSubscriptionOnMainnet) {\n errorMessage =\n 'The subscription was requested on testnet but is actually a mainnet subscription';\n }\n else if (!testnet && isSubscriptionOnTestnet) {\n errorMessage =\n 'The subscription was requested on mainnet but is actually a testnet subscription';\n }\n else {\n // Fallback for unexpected chain IDs\n errorMessage = `Subscription is on chain ${permission.chainId}, expected ${expectedChainId} (${testnet ? 'Base Sepolia' : 'Base'})`;\n }\n throw new Error(errorMessage);\n }\n if (permission.permission.token.toLowerCase() !== expectedTokenAddress) {\n throw new Error(`Subscription is not for USDC token. Got ${permission.permission.token}, expected ${expectedTokenAddress}`);\n }\n // Get the current permission status (includes period info and active state)\n const status = await getPermissionStatus(permission);\n // Format the allowance amount from wei to USD string (USDC has 6 decimals)\n const recurringCharge = formatUnits(BigInt(permission.permission.allowance), 6);\n // Calculate period in days from the period duration in seconds\n const periodInDays = Number(permission.permission.period) / 86400;\n // Check if the subscription period has started\n const currentTime = Math.floor(Date.now() / 1000);\n const permissionStart = Number(permission.permission.start);\n if (currentTime < permissionStart) {\n throw new Error(`Subscription has not started yet. It will begin at ${new Date(permissionStart * 1000).toISOString()}`);\n }\n // Build the result with data from getPermissionStatus\n const result = {\n isSubscribed: status.isActive,\n recurringCharge,\n remainingChargeInPeriod: formatUnits(status.remainingSpend, 6),\n currentPeriodStart: timestampInSecondsToDate(status.currentPeriod.start),\n nextPeriodStart: status.nextPeriodStart,\n periodInDays,\n subscriptionOwner: permission.permission.spender,\n };\n return result;\n}\n//# sourceMappingURL=getSubscriptionStatus.js.map","import { createBaseAccountSDK } from '../../builder/core/createBaseAccountSDK.js';\nimport { CHAIN_IDS } from '../constants.js';\n/**\n * Creates an ephemeral SDK instance configured for payments\n * @param chainId - The chain ID to use\n * @param walletUrl - Optional wallet URL to use\n * @param telemetry - Whether to enable telemetry (defaults to true)\n * @returns The configured SDK instance\n */\nexport function createEphemeralSDK(chainId, walletUrl, telemetry = true) {\n const appName = typeof window !== 'undefined' ? window.location.origin : 'Base Pay SDK';\n const sdk = createBaseAccountSDK({\n appName: appName,\n appChainIds: [chainId],\n preference: {\n telemetry: telemetry,\n walletUrl,\n },\n });\n // Chain clients will be automatically created when needed by getClient\n // This ensures that the chain client is available for operations like getHash\n // even when the wallet hasn't been connected yet\n return sdk;\n}\n/**\n * Executes a payment using the SDK\n * @param sdk - The SDK instance\n * @param requestParams - The wallet_sendCalls request parameters\n * @returns The payment execution result with transaction hash and optional info responses\n */\nexport async function executePayment(sdk, requestParams) {\n const provider = sdk.getProvider();\n const result = await provider.request({\n method: 'wallet_sendCalls',\n params: [requestParams],\n });\n let transactionHash;\n let payerInfoResponses;\n // Handle different response formats\n if (typeof result === 'string' && result.length >= 66) {\n // Standard response format - just a transaction hash\n transactionHash = result.slice(0, 66);\n }\n else if (typeof result === 'object' && result !== null) {\n // Object response format - contains id and capabilities with dataCallback (sendCalls 2.0.0+)\n const resultObj = result;\n // Extract transaction hash from id field\n if (typeof resultObj.id === 'string' && resultObj.id.length >= 66) {\n transactionHash = resultObj.id.slice(0, 66);\n // Extract info responses from capabilities.dataCallback\n if (resultObj.capabilities?.dataCallback) {\n payerInfoResponses = resultObj.capabilities.dataCallback;\n }\n }\n else {\n throw new Error(`Could not extract transaction hash from object response. Available fields: ${Object.keys(resultObj).join(', ')}`);\n }\n }\n else {\n throw new Error(`Unexpected response format from wallet_sendCalls: expected string with length > 66 or object with id, got ${typeof result}`);\n }\n return { transactionHash, payerInfoResponses };\n}\n/**\n * Manages the complete payment flow with SDK lifecycle\n * @param requestParams - The wallet_sendCalls request parameters\n * @param testnet - Whether to use testnet\n * @param walletUrl - Optional wallet URL to use\n * @param telemetry - Whether to enable telemetry (defaults to true)\n * @returns The payment execution result\n */\nexport async function executePaymentWithSDK(requestParams, testnet, walletUrl, telemetry = true) {\n const network = testnet ? 'baseSepolia' : 'base';\n const chainId = CHAIN_IDS[network];\n const sdk = createEphemeralSDK(chainId, walletUrl, telemetry);\n const provider = sdk.getProvider();\n try {\n const result = await executePayment(sdk, requestParams);\n return result;\n }\n finally {\n // Clean up provider state for subsequent payments\n await provider.disconnect();\n }\n}\n//# sourceMappingURL=sdkManager.js.map","import { encodeFunctionData, parseUnits, toHex } from 'viem';\nimport { CHAIN_IDS, ERC20_TRANSFER_ABI, TOKENS } from '../constants.js';\n/**\n * Encodes an ERC20 transfer call\n * @param recipient - The recipient address\n * @param amount - The amount in USDC (will be converted to 6 decimals)\n * @returns The encoded function data\n */\nexport function encodeTransferCall(recipient, amount) {\n const amountInUnits = parseUnits(amount, TOKENS.USDC.decimals);\n // Encode the transfer function call\n return encodeFunctionData({\n abi: ERC20_TRANSFER_ABI,\n functionName: 'transfer',\n args: [recipient, amountInUnits],\n });\n}\n/**\n * Builds the wallet_sendCalls request parameters\n * @param transferData - The encoded transfer call data\n * @param testnet - Whether to use testnet\n * @param payerInfo - Optional payer information configuration for data callbacks\n * @returns The request parameters for wallet_sendCalls\n */\nexport function buildSendCallsRequest(transferData, testnet, payerInfo) {\n const network = testnet ? 'baseSepolia' : 'base';\n const chainId = CHAIN_IDS[network];\n const usdcAddress = TOKENS.USDC.addresses[network];\n // Build the call object\n const call = {\n to: usdcAddress,\n data: transferData,\n value: toHex(0n), // No ETH value for ERC20 transfer\n };\n // Build the capabilities object\n const capabilities = {};\n // Add dataCallback capability if payerInfo is provided\n if (payerInfo && payerInfo.requests.length > 0) {\n capabilities.dataCallback = {\n requests: payerInfo.requests.map((request) => ({\n type: request.type,\n optional: request.optional ?? false,\n })),\n ...(payerInfo.callbackURL && { callbackURL: payerInfo.callbackURL }),\n };\n }\n // Build the request parameters\n const requestParams = {\n version: '2.0.0',\n chainId: chainId,\n calls: [call],\n capabilities,\n };\n return requestParams;\n}\n/**\n * Translates payment options into a wallet_sendCalls request\n * @param recipient - The recipient address\n * @param amount - The amount to send\n * @param testnet - Whether to use testnet\n * @param payerInfo - Optional payer information configuration for data callbacks\n * @returns The complete request parameters\n */\nexport function translatePaymentToSendCalls(recipient, amount, testnet, payerInfo) {\n // Encode the transfer call\n const transferData = encodeTransferCall(recipient, amount);\n // Build and return the sendCalls request\n return buildSendCallsRequest(transferData, testnet, payerInfo);\n}\n//# sourceMappingURL=translatePayment.js.map","import { getAddress } from 'viem';\n/**\n * Validates that the amount is a positive string with max decimal places\n * @param amount - The amount to validate as a string\n * @param maxDecimals - Maximum number of decimal places allowed\n * @throws Error if amount is invalid\n */\nexport function validateStringAmount(amount, maxDecimals) {\n if (typeof amount !== 'string') {\n throw new Error('Invalid amount: must be a string');\n }\n const numAmount = parseFloat(amount);\n if (isNaN(numAmount)) {\n throw new Error('Invalid amount: must be a valid number');\n }\n if (numAmount <= 0) {\n throw new Error('Invalid amount: must be greater than 0');\n }\n // Only allow specified decimal places\n const decimalIndex = amount.indexOf('.');\n if (decimalIndex !== -1) {\n const decimalPlaces = amount.length - decimalIndex - 1;\n if (decimalPlaces > maxDecimals) {\n throw new Error(`Invalid amount: pay only supports up to ${maxDecimals} decimal places`);\n }\n }\n}\n/**\n * Validates that the address is a valid Ethereum address\n * @param address - The address to validate\n * @throws Error if address is invalid\n * @returns The checksummed address\n */\nexport function normalizeAddress(address) {\n if (!address) {\n throw new Error('Invalid address: address is required');\n }\n try {\n // getAddress will normalize the address to its checksummed version\n // It will throw if the address is invalid\n return getAddress(address);\n }\n catch (_error) {\n throw new Error('Invalid address: must be a valid Ethereum address');\n }\n}\n//# sourceMappingURL=validation.js.map","import { logPaymentCompleted, logPaymentError, logPaymentStarted, } from '../../core/telemetry/events/payment.js';\nimport { executePaymentWithSDK } from './utils/sdkManager.js';\nimport { translatePaymentToSendCalls } from './utils/translatePayment.js';\nimport { normalizeAddress, validateStringAmount } from './utils/validation.js';\n/**\n * Pay a specified address with USDC on Base network using an ephemeral wallet\n *\n * @param options - Payment options\n * @param options.amount - Amount of USDC to send as a string (e.g., \"10.50\")\n * @param options.to - Ethereum address to send payment to\n * @param options.testnet - Whether to use Base Sepolia testnet (default: false)\n * @param options.payerInfo - Optional payer information configuration for data callbacks\n * @returns Promise<PaymentResult> - Result of the payment transaction\n * @throws Error if the payment fails\n *\n * @example\n * ```typescript\n * try {\n * const payment = await pay({\n * amount: \"10.50\",\n * to: \"0xFe21034794A5a574B94fE4fDfD16e005F1C96e51\",\n * testnet: true\n * });\n *\n * console.log(`Payment sent! Transaction ID: ${payment.id}`);\n * } catch (error) {\n * console.error(`Payment failed: ${error.message}`);\n * }\n * ```\n */\nexport async function pay(options) {\n const { amount, to, testnet = false, payerInfo, walletUrl, telemetry = true } = options;\n // Generate correlation ID for this payment request\n const correlationId = crypto.randomUUID();\n // Log payment started\n if (telemetry) {\n logPaymentStarted({ amount, testnet, correlationId });\n }\n try {\n validateStringAmount(amount, 6);\n const normalizedAddress = normalizeAddress(to);\n // Step 2: Translate payment to sendCalls format\n const requestParams = translatePaymentToSendCalls(normalizedAddress, amount, testnet, payerInfo);\n // Step 3: Execute payment with SDK\n const executionResult = await executePaymentWithSDK(requestParams, testnet, walletUrl, telemetry);\n // Log payment completed\n if (telemetry) {\n logPaymentCompleted({ amount, testnet, correlationId });\n }\n // Return success result\n return {\n success: true,\n id: executionResult.transactionHash,\n amount: amount,\n to: normalizedAddress,\n payerInfoResponses: executionResult.payerInfoResponses,\n };\n }\n catch (error) {\n // Extract error message\n let errorMessage = 'Unknown error occurred';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n else if (typeof error === 'string') {\n errorMessage = error;\n }\n else if (error && typeof error === 'object') {\n // Check for various error message properties using optional chaining\n const err = error;\n if (typeof err?.message === 'string') {\n errorMessage = err.message;\n }\n else if (typeof err?.error?.message === 'string') {\n errorMessage = err.error.message;\n }\n else if (typeof err?.reason === 'string') {\n errorMessage = err.reason;\n }\n }\n // Log payment error\n if (telemetry) {\n logPaymentError({ amount, testnet, correlationId, errorMessage });\n }\n // Re-throw the original error\n throw error;\n }\n}\n//# sourceMappingURL=pay.js.map","import { parseUnits } from 'viem';\nimport { fetchPermission, prepareSpendCallData, } from '../public-utilities/spend-permission/index.js';\nimport { CHAIN_IDS, TOKENS } from './constants.js';\n/**\n * Prepares call data for charging a subscription.\n *\n * This function fetches the subscription (spend permission) details using its ID (permission hash)\n * and prepares the necessary call data to charge the subscription. It wraps the lower-level\n * prepareSpendCallData function with subscription-specific logic.\n *\n * The resulting call data includes:\n * - An approval call (if the permission is not yet active)\n * - A spend call to charge the subscription\n *\n * @param options - Options for preparing the charge\n * @param options.id - The subscription ID (permission hash) returned from subscribe()\n * @param options.amount - Amount to charge as a string (e.g., \"10.50\") or 'max-remaining-charge'\n * @param options.testnet - Whether this permission is on testnet (Base Sepolia). Defaults to false (mainnet)\n * @param options.recipient - Optional recipient address to receive the charged USDC\n * @returns Promise<PrepareChargeResult> - Array of call data for the charge\n * @throws Error if the subscription cannot be found or if the amount exceeds remaining allowance\n *\n * @example\n * ```typescript\n * import { base } from '@base-org/account/payment';\n *\n * // Prepare to charge a specific amount from a subscription\n * const chargeCalls = await base.subscription.prepareCharge({\n * id: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984',\n * amount: '9.99',\n * testnet: false\n * });\n *\n * // Prepare to charge the full remaining charge\n * const maxChargeCalls = await base.subscription.prepareCharge({\n * id: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984',\n * amount: 'max-remaining-charge'\n * });\n *\n * // Prepare to charge and transfer to a recipient\n * const chargeWithRecipient = await base.subscription.prepareCharge({\n * id: '0x71319cd488f8e4f24687711ec5c95d9e0c1bacbf5c1064942937eba4c7cf2984',\n * amount: '10.00',\n * recipient: '0x0000000000000000000000000000000000000001'\n * });\n *\n * // Send the calls using your app's spender account\n * await provider.request({\n * method: 'wallet_sendCalls',\n * params: [{\n * version: '2.0.0',\n * atomicRequired: true,\n * from: subscriptionOwner, // Must be the spender/subscription owner!\n * chainId: testnet ? '0x14a34' : '0x2105',\n * calls: chargeCalls,\n * }],\n * });\n * ```\n */\nexport async function prepareCharge(options) {\n const { id, amount, testnet = false, recipient } = options;\n // Fetch the permission using the subscription ID (permission hash)\n const permission = await fetchPermission({\n permissionHash: id,\n });\n // If no permission found, throw an error\n if (!permission) {\n throw new Error(`Subscription with ID ${id} not found`);\n }\n // Validate this is a USDC permission on the correct network\n const expectedChainId = testnet ? CHAIN_IDS.baseSepolia : CHAIN_IDS.base;\n const expectedTokenAddress = testnet\n ? TOKENS.USDC.addresses.baseSepolia.toLowerCase()\n : TOKENS.USDC.addresses.base.toLowerCase();\n if (permission.chainId !== expectedChainId) {\n // Determine if the subscription is on mainnet or testnet\n const isSubscriptionOnMainnet = permission.chainId === CHAIN_IDS.base;\n const isSubscriptionOnTestnet = permission.chainId === CHAIN_IDS.baseSepolia;\n let errorMessage;\n if (testnet && isSubscriptionOnMainnet) {\n errorMessage =\n 'The subscription was requested on testnet but is actually a mainnet subscription';\n }\n else if (!testnet && isSubscriptionOnTestnet) {\n errorMessage =\n 'The subscription was requested on mainnet but is actually a testnet subscription';\n }\n else {\n // Fallback for unexpected chain IDs\n errorMessage = `Subscription is on chain ${permission.chainId}, expected ${expectedChainId} (${testnet ? 'Base Sepolia' : 'Base'})`;\n }\n throw new Error(errorMessage);\n }\n if (permission.permission.token.toLowerCase() !== expectedTokenAddress) {\n throw new Error(`Subscription is not for USDC token. Got ${permission.permission.token}, expected ${expectedTokenAddress}`);\n }\n // Determine the amount to pass to prepareSpendCallData\n let spendAmount;\n if (amount === 'max-remaining-charge') {\n // Pass 'max-remaining-allowance' to prepareSpendCallData\n // It will handle getting the permission status internally\n spendAmount = 'max-remaining-allowance';\n }\n else {\n // Parse the USD amount string to USDC wei (6 decimals)\n // For example, \"10.50\" becomes 10500000n (10.50 * 10^6)\n spendAmount = parseUnits(amount, TOKENS.USDC.decimals);\n }\n // Call the existing prepareSpendCallData utility with the optional recipient\n const callData = await prepareSpendCallData(permission, spendAmount, recipient);\n return callData;\n}\n//# sourceMappingURL=prepareCharge.js.map","import { ActionType, AnalyticsEventImportance, ComponentType, logEvent } from '../logEvent.js';\n/**\n * Logs when a subscription request is started\n */\nexport function logSubscriptionStarted(data) {\n logEvent('subscription.subscribe.started', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'subscribe',\n correlationId: data.correlationId,\n signerType: 'base-account',\n amount: data.recurringCharge,\n testnet: data.testnet,\n periodInDays: data.periodInDays,\n ...(data.periodInSeconds !== undefined && { periodInSeconds: data.periodInSeconds }),\n }, AnalyticsEventImportance.high);\n}\n/**\n * Logs when a subscription request is completed successfully\n */\nexport function logSubscriptionCompleted(data) {\n logEvent('subscription.subscribe.completed', {\n action: ActionType.process,\n componentType: ComponentType.unknown,\n method: 'subscribe',\n correlationId: data.correlationId,\n signerType: 'base-account',\n amount: data.recurringCharge,\n testnet: data.testnet,\n periodInDays: data.periodInDays,\n status: data.permissionHash, // Using status field to store permission hash\n ...(data.periodInSeconds !== undefined && { periodInSeconds: data.periodInSeconds }),\n }, AnalyticsEventImportance.high);\n}\n/**\n * Logs when a subscription request fails\n */\nexport function logSubscriptionError(data) {\n logEvent('subscription.subscribe.error', {\n action: ActionType.error,\n componentType: ComponentType.unknown,\n method: 'subscribe',\n correlationId: data.correlationId,\n signerType: 'base-account',\n amount: data.recurringCharge,\n testnet: data.testnet,\n periodInDays: data.periodInDays,\n errorMessage: data.errorMessage,\n ...(data.periodInSeconds !== undefined && { periodInSeconds: data.periodInSeconds }),\n }, AnalyticsEventImportance.high);\n}\n//# sourceMappingURL=subscription.js.map","import { logSubscriptionCompleted, logSubscriptionError, logSubscriptionStarted, } from '../../core/telemetry/events/subscription.js';\nimport { parseErrorMessageFromAny } from '../../core/telemetry/utils.js';\nimport { parseUnits } from 'viem';\nimport { getHash } from '../public-utilities/spend-permission/index.js';\nimport { createSpendPermissionTypedData, createSpendPermissionTypedDataWithSeconds, } from '../public-utilities/spend-permission/utils.js';\nimport { CHAIN_IDS, TOKENS } from './constants.js';\nimport { createEphemeralSDK } from './utils/sdkManager.js';\nimport { normalizeAddress, validateStringAmount } from './utils/validation.js';\n// Placeholder address for mutable data - will be replaced by wallet with actual account\nconst PLACEHOLDER_ADDRESS = '0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';\n/**\n * Creates a subscription using spend permissions on Base network\n *\n * @param options - Subscription options\n * @param options.recurringCharge - Amount of USDC to charge per period as a string (e.g., \"10.50\")\n * @param options.subscriptionOwner - Ethereum address that will be the spender (your application's address)\n * @param options.periodInDays - The period in days for the subscription (default: 30)\n * @param options.overridePeriodInSecondsForTestnet - TEST ONLY: Override period in seconds (only works when testnet=true)\n * @param options.testnet - Whether to use Base Sepolia testnet (default: false)\n * @param options.walletUrl - Optional wallet URL to use\n * @param options.telemetry - Whether to enable telemetry logging (default: true)\n * @returns Promise<SubscriptionResult> - Simplified result with subscription details\n * @throws Error if the subscription fails\n *\n * @example\n * ```typescript\n * try {\n * const subscription = await subscribe({\n * recurringCharge: \"10.50\",\n * subscriptionOwner: \"0xFe21034794A5a574B94fE4fDfD16e005F1C96e51\", // Your app's address\n * periodInDays: 30, // Monthly subscription\n * testnet: true\n * });\n *\n * console.log(`Subscription created!`);\n * console.log(`ID: ${subscription.id}`);\n * console.log(`Payer: ${subscription.subscriptionPayer}`);\n * console.log(`Owner: ${subscription.subscriptionOwner}`);\n * console.log(`Charge: $${subscription.recurringCharge} every ${subscription.periodInDays} days`);\n * } catch (error) {\n * console.error(`Subscription failed: ${error.message}`);\n * }\n * ```\n *\n * @example\n * ```typescript\n * // TEST ONLY: Using overridePeriodInSecondsForTestnet for faster testing\n * try {\n * const subscription = await subscribe({\n * recurringCharge: \"0.01\",\n * subscriptionOwner: \"0xFe21034794A5a574B94fE4fDfD16e005F1C96e51\",\n * overridePeriodInSecondsForTestnet: 300, // 5 minutes for testing - ONLY WORKS ON TESTNET\n * testnet: true // REQUIRED when using overridePeriodInSecondsForTestnet\n * });\n *\n * console.log(`Test subscription created with 5-minute period`);\n * } catch (error) {\n * console.error(`Subscription failed: ${error.message}`);\n * }\n * ```\n */\nexport async function subscribe(options) {\n const { recurringCharge, subscriptionOwner, periodInDays = 30, testnet = false, walletUrl, telemetry = true, } = options;\n // Check if overridePeriodInSecondsForTestnet is present in options\n const hasOverridePeriod = 'overridePeriodInSecondsForTestnet' in options;\n // Runtime validation: overridePeriodInSecondsForTestnet requires testnet: true\n if (hasOverridePeriod && !testnet) {\n throw new Error('overridePeriodInSecondsForTestnet is only available for testing on testnet. ' +\n 'Set testnet: true to use overridePeriodInSecondsForTestnet, or use periodInDays for production.');\n }\n // Extract the overridePeriodInSecondsForTestnet if present and valid\n const overridePeriodInSecondsForTestnet = testnet && hasOverridePeriod ? options.overridePeriodInSecondsForTestnet : undefined;\n // Generate correlation ID for this subscription request\n const correlationId = crypto.randomUUID();\n // Log subscription started\n if (telemetry) {\n logSubscriptionStarted({\n recurringCharge,\n periodInDays: testnet && overridePeriodInSecondsForTestnet !== undefined\n ? Math.ceil(overridePeriodInSecondsForTestnet / 86400)\n : periodInDays,\n testnet,\n correlationId,\n periodInSeconds: testnet ? overridePeriodInSecondsForTestnet : undefined,\n });\n }\n try {\n // Validate inputs\n validateStringAmount(recurringCharge, 6);\n const spenderAddress = normalizeAddress(subscriptionOwner);\n // Setup network configuration\n const network = testnet ? 'baseSepolia' : 'base';\n const chainId = CHAIN_IDS[network];\n const tokenAddress = TOKENS.USDC.addresses[network];\n // Convert amount to wei (USDC has 6 decimals)\n const allowanceInWei = parseUnits(recurringCharge, 6);\n // Create the spend permission typed data using the utility\n // The utility handles:\n // - Default values for start (now) and end (ETERNITY_TIMESTAMP)\n // - Auto-generation of salt and extraData\n // - Proper formatting of all fields\n // We use PLACEHOLDER_ADDRESS which will be replaced by wallet with actual account\n const typedData = testnet && overridePeriodInSecondsForTestnet !== undefined\n ? createSpendPermissionTypedDataWithSeconds({\n account: PLACEHOLDER_ADDRESS,\n spender: spenderAddress,\n token: tokenAddress,\n chainId: chainId,\n allowance: allowanceInWei,\n periodInSeconds: overridePeriodInSecondsForTestnet,\n })\n : createSpendPermissionTypedData({\n account: PLACEHOLDER_ADDRESS,\n spender: spenderAddress,\n token: tokenAddress,\n chainId: chainId,\n allowance: allowanceInWei,\n periodInDays: periodInDays,\n });\n // Create SDK instance\n const sdk = createEphemeralSDK(chainId, walletUrl, telemetry);\n const provider = sdk.getProvider();\n try {\n // Define the wallet_sign parameters with mutable data\n // This allows the wallet to replace PLACEHOLDER_ADDRESS with the actual account\n const signParams = {\n version: '1.0',\n request: {\n type: '0x01', // EIP-712 Typed Data\n data: typedData,\n },\n mutableData: {\n fields: ['message.account'],\n },\n };\n // Request signature from wallet\n const result = await provider.request({\n method: 'wallet_sign',\n params: [signParams],\n });\n // Type guard and validation for the result\n if (!result || typeof result !== 'object') {\n console.error('[SUBSCRIBE] Invalid response - expected object but got:', result);\n throw new Error(`Invalid response from wallet_sign: expected object but got ${typeof result}`);\n }\n // Check for expected properties\n const hasSignature = 'signature' in result;\n const hasSignedData = 'signedData' in result;\n if (!hasSignature || !hasSignedData) {\n console.error('[SUBSCRIBE] Missing expected properties. Response keys:', Object.keys(result));\n throw new Error(`Invalid response from wallet_sign: missing ${!hasSignature ? 'signature' : ''} ${!hasSignedData ? 'signedData' : ''}`);\n }\n // Cast to expected response type\n const signResult = result;\n // Extract the signed permission data\n const { signedData } = signResult;\n const { message } = signedData;\n // Calculate the real permission hash using the contract's getHash method\n const permissionHash = await getHash({\n permission: message,\n chainId,\n });\n // Log subscription completed\n if (telemetry) {\n logSubscriptionCompleted({\n recurringCharge,\n periodInDays: testnet && overridePeriodInSecondsForTestnet !== undefined\n ? Math.ceil(overridePeriodInSecondsForTestnet / 86400)\n : periodInDays,\n periodInSeconds: testnet ? overridePeriodInSecondsForTestnet : undefined,\n testnet,\n correlationId,\n permissionHash,\n });\n }\n // Return simplified result\n return {\n id: permissionHash,\n subscriptionOwner: message.spender,\n subscriptionPayer: message.account,\n recurringCharge: recurringCharge, // The amount in USD as provided by the user\n periodInDays: testnet && overridePeriodInSecondsForTestnet !== undefined\n ? Math.ceil(overridePeriodInSecondsForTestnet / 86400)\n : periodInDays,\n ...(testnet &&\n overridePeriodInSecondsForTestnet !== undefined && {\n overridePeriodInSecondsForTestnet,\n }),\n };\n }\n finally {\n // Clean up provider state\n await provider.disconnect();\n }\n }\n catch (error) {\n // Extract error message using the utility\n const errorMessage = parseErrorMessageFromAny(error);\n // Log subscription error\n if (telemetry) {\n logSubscriptionError({\n recurringCharge,\n periodInDays: testnet && overridePeriodInSecondsForTestnet !== undefined\n ? Math.ceil(overridePeriodInSecondsForTestnet / 86400)\n : periodInDays,\n periodInSeconds: testnet ? overridePeriodInSecondsForTestnet : undefined,\n testnet,\n correlationId,\n errorMessage,\n });\n }\n // Re-throw the original error\n throw error;\n }\n}\n//# sourceMappingURL=subscribe.js.map","import { CHAIN_IDS, TOKENS } from './constants.js';\nimport { getPaymentStatus } from './getPaymentStatus.js';\nimport { getSubscriptionStatus } from './getSubscriptionStatus.js';\nimport { pay } from './pay.js';\nimport { prepareCharge } from './prepareCharge.js';\nimport { subscribe } from './subscribe.js';\n/**\n * Browser payment interface\n */\nexport const base = {\n pay,\n subscribe,\n getPaymentStatus,\n subscription: {\n subscribe,\n getStatus: getSubscriptionStatus,\n prepareCharge,\n },\n constants: {\n CHAIN_IDS,\n TOKENS,\n },\n types: {},\n};\n//# sourceMappingURL=base.browser.js.map","// Browser-safe exports only - no CDP SDK dependencies\nexport { base } from './base.browser.js';\nexport { getPaymentStatus } from './getPaymentStatus.js';\nexport { getSubscriptionStatus } from './getSubscriptionStatus.js';\nexport { pay } from './pay.js';\nexport { prepareCharge } from './prepareCharge.js';\nexport { subscribe } from './subscribe.js';\n// Export constants\nexport { CHAIN_IDS, TOKENS } from './constants.js';\n//# sourceMappingURL=index.js.map"],"names":["createStore","keys","factoryAddress","abi","factoryAbi","n","l","u","t","i","o","r","f","e","c","s","a","h","v","p","y","d","w","_","g","m","b","k","x","C","P","j","T","A","F","q","z","B","D","_jsx","useState","useEffect","render","_createElement","_jsxs","useMemo","logRequestStarted","logRequestError","wrapSignature","signTypedData","sign","toWebAuthnSignature","signMessage","secp","generateMnemonic","baseUtils","generateMnemonic_","secp256k1","hexToBytes","bytesToHex","wordlist","signTypedData_","signMessage_","getPaymasterStubData","getPaymasterData","getPaymasterStubData_","getPaymasterData_","getChainId","getChainId_","base","generateKeyPair","get","PublicKey","WebAuthnP256","Signature","formatRequest","getContractError","ERC20_TRANSFER_ABI","chains"],"mappings":"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OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;AACzE,IAAI,OAAO;AACX,QAAQ,GAAG,OAAO;AAClB,QAAQ,QAAQ,EAAE,MAAM,KAAK;AAC7B,QAAQ,MAAM,EAAE,IAAI;AACpB,KAAK;AACL;;ACZA;AACA;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE;AAC/E,IAAI,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC;AACzD,IAAI,OAAO,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;AAChE;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,mBAAmB,CAAC,UAAU,EAAE;AAChD,IAAI,MAAM,SAAS,GAAGU,YAAU,CAACF,WAAS,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpF,IAAI,OAAO,kBAAkB,CAAC,SAAS,CAAC;AACxC;;ACbO,MAAMG,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DV,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DT,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//Dd,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DX,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DT,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DZ,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//Db,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DP,MAAMA,UAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//DX,MAAM,QAAQ,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;AC//Dd;;ACAA;;ACOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,UAAU,EAAE;AACnD,IAAI,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU;AACzE,IAAI,MAAM,YAAY,GAAG,CAAC,MAAM;AAChC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC;AAC5B,YAAY,OAAO,SAAS;AAC5B,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS;AACjF,YAAY,OAAO,kBAAkB,CAAC,SAAS,CAAC;AAChD,QAAQ,OAAOD,YAAU,CAAC,SAAS,CAAC;AACpC,KAAK,GAAG;AACR;AACA,IAAI,MAAM,YAAY,GAAG,UAAU,CAAC;AACpC,QAAQ,IAAI,EAAE,MAAM,IAAI,EAAE;AAC1B,QAAQ,KAAK,EAAE;AACf,YAAY,YAAY,EAAE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;AAC7D,SAAS;AACT,QAAQ,WAAW,EAAE,cAAc;A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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175]}
|