@mantleio/viem 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +54 -0
- package/dist/cjs/abis.js +3338 -0
- package/dist/cjs/abis.js.map +1 -0
- package/dist/cjs/actions/buildProveWithdrawal.js +55 -0
- package/dist/cjs/actions/buildProveWithdrawal.js.map +1 -0
- package/dist/cjs/actions/depositERC20.js +37 -0
- package/dist/cjs/actions/depositERC20.js.map +1 -0
- package/dist/cjs/actions/depositETH.js +36 -0
- package/dist/cjs/actions/depositETH.js.map +1 -0
- package/dist/cjs/actions/depositMNT.js +35 -0
- package/dist/cjs/actions/depositMNT.js.map +1 -0
- package/dist/cjs/actions/estimateDepositERC20Gas.js +38 -0
- package/dist/cjs/actions/estimateDepositERC20Gas.js.map +1 -0
- package/dist/cjs/actions/estimateDepositETHGas.js +37 -0
- package/dist/cjs/actions/estimateDepositETHGas.js.map +1 -0
- package/dist/cjs/actions/estimateDepositMNTGas.js +36 -0
- package/dist/cjs/actions/estimateDepositMNTGas.js.map +1 -0
- package/dist/cjs/actions/estimateFinalizeWithdrawalGas.js +29 -0
- package/dist/cjs/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
- package/dist/cjs/actions/estimateInitiateERC20WithdrawalGas.js +30 -0
- package/dist/cjs/actions/estimateInitiateERC20WithdrawalGas.js.map +1 -0
- package/dist/cjs/actions/estimateInitiateETHWithdrawalGas.js +29 -0
- package/dist/cjs/actions/estimateInitiateETHWithdrawalGas.js.map +1 -0
- package/dist/cjs/actions/estimateInitiateMNTWithdrawalGas.js +30 -0
- package/dist/cjs/actions/estimateInitiateMNTWithdrawalGas.js.map +1 -0
- package/dist/cjs/actions/estimateProveWithdrawalGas.js +29 -0
- package/dist/cjs/actions/estimateProveWithdrawalGas.js.map +1 -0
- package/dist/cjs/actions/finalizeWithdrawal.js +28 -0
- package/dist/cjs/actions/finalizeWithdrawal.js.map +1 -0
- package/dist/cjs/actions/getL2Output.js +31 -0
- package/dist/cjs/actions/getL2Output.js.map +1 -0
- package/dist/cjs/actions/getPortalVersion.js +24 -0
- package/dist/cjs/actions/getPortalVersion.js.map +1 -0
- package/dist/cjs/actions/getTimeToFinalize.js +46 -0
- package/dist/cjs/actions/getTimeToFinalize.js.map +1 -0
- package/dist/cjs/actions/getTimeToNextL2Output.js +62 -0
- package/dist/cjs/actions/getTimeToNextL2Output.js.map +1 -0
- package/dist/cjs/actions/getTimeToProve.js +12 -0
- package/dist/cjs/actions/getTimeToProve.js.map +1 -0
- package/dist/cjs/actions/getWithdrawalStatus.js +133 -0
- package/dist/cjs/actions/getWithdrawalStatus.js.map +1 -0
- package/dist/cjs/actions/initiateERC20Withdrawal.js +29 -0
- package/dist/cjs/actions/initiateERC20Withdrawal.js.map +1 -0
- package/dist/cjs/actions/initiateETHWithdrawal.js +28 -0
- package/dist/cjs/actions/initiateETHWithdrawal.js.map +1 -0
- package/dist/cjs/actions/initiateMNTWithdrawal.js +29 -0
- package/dist/cjs/actions/initiateMNTWithdrawal.js.map +1 -0
- package/dist/cjs/actions/proveWithdrawal.js +28 -0
- package/dist/cjs/actions/proveWithdrawal.js.map +1 -0
- package/dist/cjs/actions/waitForNextL2Output.js +31 -0
- package/dist/cjs/actions/waitForNextL2Output.js.map +1 -0
- package/dist/cjs/actions/waitToFinalize.js +10 -0
- package/dist/cjs/actions/waitToFinalize.js.map +1 -0
- package/dist/cjs/actions/waitToProve.js +24 -0
- package/dist/cjs/actions/waitToProve.js.map +1 -0
- package/dist/cjs/chainConfig.js +12 -0
- package/dist/cjs/chainConfig.js.map +1 -0
- package/dist/cjs/chains/index.js +8 -0
- package/dist/cjs/chains/index.js.map +1 -0
- package/dist/cjs/chains/mantle.js +53 -0
- package/dist/cjs/chains/mantle.js.map +1 -0
- package/dist/cjs/chains/mantleSepoliaTestnet.js +54 -0
- package/dist/cjs/chains/mantleSepoliaTestnet.js.map +1 -0
- package/dist/cjs/contracts.js +16 -0
- package/dist/cjs/contracts.js.map +1 -0
- package/dist/cjs/decorators/publicL1.js +38 -0
- package/dist/cjs/decorators/publicL1.js.map +1 -0
- package/dist/cjs/decorators/publicL2.js +18 -0
- package/dist/cjs/decorators/publicL2.js.map +1 -0
- package/dist/cjs/decorators/walletL1.js +20 -0
- package/dist/cjs/decorators/walletL1.js.map +1 -0
- package/dist/cjs/decorators/walletL2.js +16 -0
- package/dist/cjs/decorators/walletL2.js.map +1 -0
- package/dist/cjs/errors/utils.js +3 -0
- package/dist/cjs/errors/utils.js.map +1 -0
- package/dist/cjs/errors/withdrawal.js +17 -0
- package/dist/cjs/errors/withdrawal.js.map +1 -0
- package/dist/cjs/formatters.js +51 -0
- package/dist/cjs/formatters.js.map +1 -0
- package/dist/cjs/index.js +59 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/parsers.js +58 -0
- package/dist/cjs/parsers.js.map +1 -0
- package/dist/cjs/serializers.js +53 -0
- package/dist/cjs/serializers.js.map +1 -0
- package/dist/cjs/types/account.js +3 -0
- package/dist/cjs/types/account.js.map +1 -0
- package/dist/cjs/types/block.js +3 -0
- package/dist/cjs/types/block.js.map +1 -0
- package/dist/cjs/types/chain.js +3 -0
- package/dist/cjs/types/chain.js.map +1 -0
- package/dist/cjs/types/contract.js +3 -0
- package/dist/cjs/types/contract.js.map +1 -0
- package/dist/cjs/types/deposit.js +3 -0
- package/dist/cjs/types/deposit.js.map +1 -0
- package/dist/cjs/types/l1Actions.js +8 -0
- package/dist/cjs/types/l1Actions.js.map +1 -0
- package/dist/cjs/types/l2Actions.js +11 -0
- package/dist/cjs/types/l2Actions.js.map +1 -0
- package/dist/cjs/types/transaction.js +3 -0
- package/dist/cjs/types/transaction.js.map +1 -0
- package/dist/cjs/types/withdrawal.js +3 -0
- package/dist/cjs/types/withdrawal.js.map +1 -0
- package/dist/cjs/utils/extractTransactionDepositedLogs.js +13 -0
- package/dist/cjs/utils/extractTransactionDepositedLogs.js.map +1 -0
- package/dist/cjs/utils/extractWithdrawalMessageLogs.js +13 -0
- package/dist/cjs/utils/extractWithdrawalMessageLogs.js.map +1 -0
- package/dist/cjs/utils/getL2TransactionHash.js +29 -0
- package/dist/cjs/utils/getL2TransactionHash.js.map +1 -0
- package/dist/cjs/utils/getL2TransactionHashes.js +10 -0
- package/dist/cjs/utils/getL2TransactionHashes.js.map +1 -0
- package/dist/cjs/utils/getSourceHash.js +17 -0
- package/dist/cjs/utils/getSourceHash.js.map +1 -0
- package/dist/cjs/utils/getWithdrawalHashStorageSlot.js +9 -0
- package/dist/cjs/utils/getWithdrawalHashStorageSlot.js.map +1 -0
- package/dist/cjs/utils/getWithdrawals.js +9 -0
- package/dist/cjs/utils/getWithdrawals.js.map +1 -0
- package/dist/cjs/utils/opaqueDataToDepositData.js +32 -0
- package/dist/cjs/utils/opaqueDataToDepositData.js.map +1 -0
- package/dist/cjs/utils/parseDepositRequest.js +43 -0
- package/dist/cjs/utils/parseDepositRequest.js.map +1 -0
- package/dist/cjs/utils/parseInitWithdrawRequest.js +55 -0
- package/dist/cjs/utils/parseInitWithdrawRequest.js.map +1 -0
- package/dist/cjs/utils/poll.js +26 -0
- package/dist/cjs/utils/poll.js.map +1 -0
- package/dist/cjs/utils/promise/withCache.js +47 -0
- package/dist/cjs/utils/promise/withCache.js.map +1 -0
- package/dist/cjs/utils/wait.js +7 -0
- package/dist/cjs/utils/wait.js.map +1 -0
- package/dist/esm/abis.js +3335 -0
- package/dist/esm/abis.js.map +1 -0
- package/dist/esm/actions/buildProveWithdrawal.js +67 -0
- package/dist/esm/actions/buildProveWithdrawal.js.map +1 -0
- package/dist/esm/actions/depositERC20.js +39 -0
- package/dist/esm/actions/depositERC20.js.map +1 -0
- package/dist/esm/actions/depositETH.js +38 -0
- package/dist/esm/actions/depositETH.js.map +1 -0
- package/dist/esm/actions/depositMNT.js +37 -0
- package/dist/esm/actions/depositMNT.js.map +1 -0
- package/dist/esm/actions/estimateDepositERC20Gas.js +43 -0
- package/dist/esm/actions/estimateDepositERC20Gas.js.map +1 -0
- package/dist/esm/actions/estimateDepositETHGas.js +43 -0
- package/dist/esm/actions/estimateDepositETHGas.js.map +1 -0
- package/dist/esm/actions/estimateDepositMNTGas.js +41 -0
- package/dist/esm/actions/estimateDepositMNTGas.js.map +1 -0
- package/dist/esm/actions/estimateFinalizeWithdrawalGas.js +34 -0
- package/dist/esm/actions/estimateFinalizeWithdrawalGas.js.map +1 -0
- package/dist/esm/actions/estimateInitiateERC20WithdrawalGas.js +35 -0
- package/dist/esm/actions/estimateInitiateERC20WithdrawalGas.js.map +1 -0
- package/dist/esm/actions/estimateInitiateETHWithdrawalGas.js +34 -0
- package/dist/esm/actions/estimateInitiateETHWithdrawalGas.js.map +1 -0
- package/dist/esm/actions/estimateInitiateMNTWithdrawalGas.js +35 -0
- package/dist/esm/actions/estimateInitiateMNTWithdrawalGas.js.map +1 -0
- package/dist/esm/actions/estimateProveWithdrawalGas.js +34 -0
- package/dist/esm/actions/estimateProveWithdrawalGas.js.map +1 -0
- package/dist/esm/actions/finalizeWithdrawal.js +30 -0
- package/dist/esm/actions/finalizeWithdrawal.js.map +1 -0
- package/dist/esm/actions/getL2Output.js +33 -0
- package/dist/esm/actions/getL2Output.js.map +1 -0
- package/dist/esm/actions/getPortalVersion.js +26 -0
- package/dist/esm/actions/getPortalVersion.js.map +1 -0
- package/dist/esm/actions/getTimeToFinalize.js +48 -0
- package/dist/esm/actions/getTimeToFinalize.js.map +1 -0
- package/dist/esm/actions/getTimeToNextL2Output.js +68 -0
- package/dist/esm/actions/getTimeToNextL2Output.js.map +1 -0
- package/dist/esm/actions/getTimeToProve.js +14 -0
- package/dist/esm/actions/getTimeToProve.js.map +1 -0
- package/dist/esm/actions/getWithdrawalStatus.js +138 -0
- package/dist/esm/actions/getWithdrawalStatus.js.map +1 -0
- package/dist/esm/actions/initiateERC20Withdrawal.js +31 -0
- package/dist/esm/actions/initiateERC20Withdrawal.js.map +1 -0
- package/dist/esm/actions/initiateETHWithdrawal.js +30 -0
- package/dist/esm/actions/initiateETHWithdrawal.js.map +1 -0
- package/dist/esm/actions/initiateMNTWithdrawal.js +31 -0
- package/dist/esm/actions/initiateMNTWithdrawal.js.map +1 -0
- package/dist/esm/actions/proveWithdrawal.js +30 -0
- package/dist/esm/actions/proveWithdrawal.js.map +1 -0
- package/dist/esm/actions/waitForNextL2Output.js +33 -0
- package/dist/esm/actions/waitForNextL2Output.js.map +1 -0
- package/dist/esm/actions/waitToFinalize.js +11 -0
- package/dist/esm/actions/waitToFinalize.js.map +1 -0
- package/dist/esm/actions/waitToProve.js +26 -0
- package/dist/esm/actions/waitToProve.js.map +1 -0
- package/dist/esm/chainConfig.js +9 -0
- package/dist/esm/chainConfig.js.map +1 -0
- package/dist/esm/chains/index.js +3 -0
- package/dist/esm/chains/index.js.map +1 -0
- package/dist/esm/chains/mantle.js +50 -0
- package/dist/esm/chains/mantle.js.map +1 -0
- package/dist/esm/chains/mantleSepoliaTestnet.js +51 -0
- package/dist/esm/chains/mantleSepoliaTestnet.js.map +1 -0
- package/dist/esm/contracts.js +13 -0
- package/dist/esm/contracts.js.map +1 -0
- package/dist/esm/decorators/publicL1.js +35 -0
- package/dist/esm/decorators/publicL1.js.map +1 -0
- package/dist/esm/decorators/publicL2.js +15 -0
- package/dist/esm/decorators/publicL2.js.map +1 -0
- package/dist/esm/decorators/walletL1.js +17 -0
- package/dist/esm/decorators/walletL1.js.map +1 -0
- package/dist/esm/decorators/walletL2.js +13 -0
- package/dist/esm/decorators/walletL2.js.map +1 -0
- package/dist/esm/errors/utils.js +2 -0
- package/dist/esm/errors/utils.js.map +1 -0
- package/dist/esm/errors/withdrawal.js +12 -0
- package/dist/esm/errors/withdrawal.js.map +1 -0
- package/dist/esm/formatters.js +48 -0
- package/dist/esm/formatters.js.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/parsers.js +54 -0
- package/dist/esm/parsers.js.map +1 -0
- package/dist/esm/serializers.js +48 -0
- package/dist/esm/serializers.js.map +1 -0
- package/dist/esm/types/account.js +2 -0
- package/dist/esm/types/account.js.map +1 -0
- package/dist/esm/types/block.js +2 -0
- package/dist/esm/types/block.js.map +1 -0
- package/dist/esm/types/chain.js +2 -0
- package/dist/esm/types/chain.js.map +1 -0
- package/dist/esm/types/contract.js +2 -0
- package/dist/esm/types/contract.js.map +1 -0
- package/dist/esm/types/deposit.js +2 -0
- package/dist/esm/types/deposit.js.map +1 -0
- package/dist/esm/types/l1Actions.js +5 -0
- package/dist/esm/types/l1Actions.js.map +1 -0
- package/dist/esm/types/l2Actions.js +7 -0
- package/dist/esm/types/l2Actions.js.map +1 -0
- package/dist/esm/types/transaction.js +2 -0
- package/dist/esm/types/transaction.js.map +1 -0
- package/dist/esm/types/withdrawal.js +2 -0
- package/dist/esm/types/withdrawal.js.map +1 -0
- package/dist/esm/utils/extractTransactionDepositedLogs.js +10 -0
- package/dist/esm/utils/extractTransactionDepositedLogs.js.map +1 -0
- package/dist/esm/utils/extractWithdrawalMessageLogs.js +10 -0
- package/dist/esm/utils/extractWithdrawalMessageLogs.js.map +1 -0
- package/dist/esm/utils/getL2TransactionHash.js +26 -0
- package/dist/esm/utils/getL2TransactionHash.js.map +1 -0
- package/dist/esm/utils/getL2TransactionHashes.js +7 -0
- package/dist/esm/utils/getL2TransactionHashes.js.map +1 -0
- package/dist/esm/utils/getSourceHash.js +14 -0
- package/dist/esm/utils/getSourceHash.js.map +1 -0
- package/dist/esm/utils/getWithdrawalHashStorageSlot.js +6 -0
- package/dist/esm/utils/getWithdrawalHashStorageSlot.js.map +1 -0
- package/dist/esm/utils/getWithdrawals.js +6 -0
- package/dist/esm/utils/getWithdrawals.js.map +1 -0
- package/dist/esm/utils/opaqueDataToDepositData.js +29 -0
- package/dist/esm/utils/opaqueDataToDepositData.js.map +1 -0
- package/dist/esm/utils/parseDepositRequest.js +39 -0
- package/dist/esm/utils/parseDepositRequest.js.map +1 -0
- package/dist/esm/utils/parseInitWithdrawRequest.js +51 -0
- package/dist/esm/utils/parseInitWithdrawRequest.js.map +1 -0
- package/dist/esm/utils/poll.js +26 -0
- package/dist/esm/utils/poll.js.map +1 -0
- package/dist/esm/utils/promise/withCache.js +57 -0
- package/dist/esm/utils/promise/withCache.js.map +1 -0
- package/dist/esm/utils/wait.js +4 -0
- package/dist/esm/utils/wait.js.map +1 -0
- package/dist/types/abis.d.ts +3110 -0
- package/dist/types/abis.d.ts.map +1 -0
- package/dist/types/actions/buildProveWithdrawal.d.ts +34 -0
- package/dist/types/actions/buildProveWithdrawal.d.ts.map +1 -0
- package/dist/types/actions/depositERC20.d.ts +29 -0
- package/dist/types/actions/depositERC20.d.ts.map +1 -0
- package/dist/types/actions/depositETH.d.ts +29 -0
- package/dist/types/actions/depositETH.d.ts.map +1 -0
- package/dist/types/actions/depositMNT.d.ts +29 -0
- package/dist/types/actions/depositMNT.d.ts.map +1 -0
- package/dist/types/actions/estimateDepositERC20Gas.d.ts +26 -0
- package/dist/types/actions/estimateDepositERC20Gas.d.ts.map +1 -0
- package/dist/types/actions/estimateDepositETHGas.d.ts +26 -0
- package/dist/types/actions/estimateDepositETHGas.d.ts.map +1 -0
- package/dist/types/actions/estimateDepositMNTGas.d.ts +26 -0
- package/dist/types/actions/estimateDepositMNTGas.d.ts.map +1 -0
- package/dist/types/actions/estimateFinalizeWithdrawalGas.d.ts +26 -0
- package/dist/types/actions/estimateFinalizeWithdrawalGas.d.ts.map +1 -0
- package/dist/types/actions/estimateInitiateERC20WithdrawalGas.d.ts +25 -0
- package/dist/types/actions/estimateInitiateERC20WithdrawalGas.d.ts.map +1 -0
- package/dist/types/actions/estimateInitiateETHWithdrawalGas.d.ts +25 -0
- package/dist/types/actions/estimateInitiateETHWithdrawalGas.d.ts.map +1 -0
- package/dist/types/actions/estimateInitiateMNTWithdrawalGas.d.ts +25 -0
- package/dist/types/actions/estimateInitiateMNTWithdrawalGas.d.ts.map +1 -0
- package/dist/types/actions/estimateProveWithdrawalGas.d.ts +35 -0
- package/dist/types/actions/estimateProveWithdrawalGas.d.ts.map +1 -0
- package/dist/types/actions/finalizeWithdrawal.d.ts +29 -0
- package/dist/types/actions/finalizeWithdrawal.d.ts.map +1 -0
- package/dist/types/actions/getL2Output.d.ts +24 -0
- package/dist/types/actions/getL2Output.d.ts.map +1 -0
- package/dist/types/actions/getPortalVersion.d.ts +23 -0
- package/dist/types/actions/getPortalVersion.d.ts.map +1 -0
- package/dist/types/actions/getTimeToFinalize.d.ts +26 -0
- package/dist/types/actions/getTimeToFinalize.d.ts.map +1 -0
- package/dist/types/actions/getTimeToNextL2Output.d.ts +35 -0
- package/dist/types/actions/getTimeToNextL2Output.d.ts.map +1 -0
- package/dist/types/actions/getTimeToProve.d.ts +24 -0
- package/dist/types/actions/getTimeToProve.d.ts.map +1 -0
- package/dist/types/actions/getWithdrawalStatus.d.ts +22 -0
- package/dist/types/actions/getWithdrawalStatus.d.ts.map +1 -0
- package/dist/types/actions/initiateERC20Withdrawal.d.ts +27 -0
- package/dist/types/actions/initiateERC20Withdrawal.d.ts.map +1 -0
- package/dist/types/actions/initiateETHWithdrawal.d.ts +27 -0
- package/dist/types/actions/initiateETHWithdrawal.d.ts.map +1 -0
- package/dist/types/actions/initiateMNTWithdrawal.d.ts +27 -0
- package/dist/types/actions/initiateMNTWithdrawal.d.ts.map +1 -0
- package/dist/types/actions/proveWithdrawal.d.ts +36 -0
- package/dist/types/actions/proveWithdrawal.d.ts.map +1 -0
- package/dist/types/actions/waitForNextL2Output.d.ts +29 -0
- package/dist/types/actions/waitForNextL2Output.d.ts.map +1 -0
- package/dist/types/actions/waitToFinalize.d.ts +14 -0
- package/dist/types/actions/waitToFinalize.d.ts.map +1 -0
- package/dist/types/actions/waitToProve.d.ts +27 -0
- package/dist/types/actions/waitToProve.d.ts.map +1 -0
- package/dist/types/chainConfig.d.ts +43 -0
- package/dist/types/chainConfig.d.ts.map +1 -0
- package/dist/types/chains/index.d.ts +3 -0
- package/dist/types/chains/index.d.ts.map +1 -0
- package/dist/types/chains/mantle.d.ts +299 -0
- package/dist/types/chains/mantle.d.ts.map +1 -0
- package/dist/types/chains/mantleSepoliaTestnet.d.ts +299 -0
- package/dist/types/chains/mantleSepoliaTestnet.d.ts.map +1 -0
- package/dist/types/contracts.d.ts +21 -0
- package/dist/types/contracts.d.ts.map +1 -0
- package/dist/types/decorators/publicL1.d.ts +35 -0
- package/dist/types/decorators/publicL1.d.ts.map +1 -0
- package/dist/types/decorators/publicL2.d.ts +16 -0
- package/dist/types/decorators/publicL2.d.ts.map +1 -0
- package/dist/types/decorators/walletL1.d.ts +17 -0
- package/dist/types/decorators/walletL1.d.ts.map +1 -0
- package/dist/types/decorators/walletL2.d.ts +13 -0
- package/dist/types/decorators/walletL2.d.ts.map +1 -0
- package/dist/types/errors/utils.d.ts +4 -0
- package/dist/types/errors/utils.d.ts.map +1 -0
- package/dist/types/errors/withdrawal.d.ts +17 -0
- package/dist/types/errors/withdrawal.d.ts.map +1 -0
- package/dist/types/formatters.d.ts +20 -0
- package/dist/types/formatters.d.ts.map +1 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/parsers.d.ts +8 -0
- package/dist/types/parsers.d.ts.map +1 -0
- package/dist/types/serializers.d.ts +13 -0
- package/dist/types/serializers.d.ts.map +1 -0
- package/dist/types/types/account.d.ts +7 -0
- package/dist/types/types/account.d.ts.map +1 -0
- package/dist/types/types/block.d.ts +13 -0
- package/dist/types/types/block.d.ts.map +1 -0
- package/dist/types/types/chain.d.ts +9 -0
- package/dist/types/types/chain.d.ts.map +1 -0
- package/dist/types/types/contract.d.ts +14 -0
- package/dist/types/types/contract.d.ts.map +1 -0
- package/dist/types/types/deposit.d.ts +35 -0
- package/dist/types/types/deposit.d.ts.map +1 -0
- package/dist/types/types/l1Actions.d.ts +856 -0
- package/dist/types/types/l1Actions.d.ts.map +1 -0
- package/dist/types/types/l2Actions.d.ts +3 -0
- package/dist/types/types/l2Actions.d.ts.map +1 -0
- package/dist/types/types/transaction.d.ts +58 -0
- package/dist/types/types/transaction.d.ts.map +1 -0
- package/dist/types/types/withdrawal.d.ts +39 -0
- package/dist/types/types/withdrawal.d.ts.map +1 -0
- package/dist/types/utils/extractTransactionDepositedLogs.d.ts +450 -0
- package/dist/types/utils/extractTransactionDepositedLogs.d.ts.map +1 -0
- package/dist/types/utils/extractWithdrawalMessageLogs.d.ts +160 -0
- package/dist/types/utils/extractWithdrawalMessageLogs.d.ts.map +1 -0
- package/dist/types/utils/getL2TransactionHash.d.ts +12 -0
- package/dist/types/utils/getL2TransactionHash.d.ts.map +1 -0
- package/dist/types/utils/getL2TransactionHashes.d.ts +11 -0
- package/dist/types/utils/getL2TransactionHashes.d.ts.map +1 -0
- package/dist/types/utils/getSourceHash.d.ts +25 -0
- package/dist/types/utils/getSourceHash.d.ts.map +1 -0
- package/dist/types/utils/getWithdrawalHashStorageSlot.d.ts +10 -0
- package/dist/types/utils/getWithdrawalHashStorageSlot.d.ts.map +1 -0
- package/dist/types/utils/getWithdrawals.d.ts +12 -0
- package/dist/types/utils/getWithdrawals.d.ts.map +1 -0
- package/dist/types/utils/opaqueDataToDepositData.d.ts +16 -0
- package/dist/types/utils/opaqueDataToDepositData.d.ts.map +1 -0
- package/dist/types/utils/parseDepositRequest.d.ts +11 -0
- package/dist/types/utils/parseDepositRequest.d.ts.map +1 -0
- package/dist/types/utils/parseInitWithdrawRequest.d.ts +11 -0
- package/dist/types/utils/parseInitWithdrawRequest.d.ts.map +1 -0
- package/dist/types/utils/poll.d.ts +15 -0
- package/dist/types/utils/poll.d.ts.map +1 -0
- package/dist/types/utils/promise/withCache.d.ts +41 -0
- package/dist/types/utils/promise/withCache.d.ts.map +1 -0
- package/dist/types/utils/wait.d.ts +2 -0
- package/dist/types/utils/wait.d.ts.map +1 -0
- package/package.json +113 -0
- package/src/mantle/abis.ts +3339 -0
- package/src/mantle/actions/buildProveWithdrawal.ts +150 -0
- package/src/mantle/actions/depositERC20.ts +103 -0
- package/src/mantle/actions/depositETH.ts +102 -0
- package/src/mantle/actions/depositMNT.ts +101 -0
- package/src/mantle/actions/estimateDepositERC20Gas.ts +113 -0
- package/src/mantle/actions/estimateDepositETHGas.ts +113 -0
- package/src/mantle/actions/estimateDepositMNTGas.ts +111 -0
- package/src/mantle/actions/estimateFinalizeWithdrawalGas.ts +102 -0
- package/src/mantle/actions/estimateInitiateERC20WithdrawalGas.ts +106 -0
- package/src/mantle/actions/estimateInitiateETHWithdrawalGas.ts +105 -0
- package/src/mantle/actions/estimateInitiateMNTWithdrawalGas.ts +106 -0
- package/src/mantle/actions/estimateProveWithdrawalGas.ts +114 -0
- package/src/mantle/actions/finalizeWithdrawal.ts +95 -0
- package/src/mantle/actions/getL2Output.ts +75 -0
- package/src/mantle/actions/getPortalVersion.ts +57 -0
- package/src/mantle/actions/getTimeToFinalize.ts +85 -0
- package/src/mantle/actions/getTimeToNextL2Output.ts +132 -0
- package/src/mantle/actions/getTimeToProve.ts +58 -0
- package/src/mantle/actions/getWithdrawalStatus.ts +225 -0
- package/src/mantle/actions/initiateERC20Withdrawal.ts +93 -0
- package/src/mantle/actions/initiateETHWithdrawal.ts +90 -0
- package/src/mantle/actions/initiateMNTWithdrawal.ts +91 -0
- package/src/mantle/actions/proveWithdrawal.ts +107 -0
- package/src/mantle/actions/waitForNextL2Output.ts +87 -0
- package/src/mantle/actions/waitToFinalize.ts +33 -0
- package/src/mantle/actions/waitToProve.ts +83 -0
- package/src/mantle/chainConfig.ts +9 -0
- package/src/mantle/chains/index.ts +2 -0
- package/src/mantle/chains/mantle.ts +51 -0
- package/src/mantle/chains/mantleSepoliaTestnet.ts +52 -0
- package/src/mantle/contracts.ts +14 -0
- package/src/mantle/decorators/publicL1.ts +182 -0
- package/src/mantle/decorators/publicL2.ts +96 -0
- package/src/mantle/decorators/walletL1.ts +67 -0
- package/src/mantle/decorators/walletL2.ts +55 -0
- package/src/mantle/errors/utils.ts +1 -0
- package/src/mantle/errors/withdrawal.ts +24 -0
- package/src/mantle/formatters.ts +64 -0
- package/src/mantle/index.ts +179 -0
- package/src/mantle/parsers.ts +97 -0
- package/src/mantle/serializers.ts +106 -0
- package/src/mantle/types/account.ts +25 -0
- package/src/mantle/types/block.ts +34 -0
- package/src/mantle/types/chain.ts +10 -0
- package/src/mantle/types/contract.ts +26 -0
- package/src/mantle/types/deposit.ts +40 -0
- package/src/mantle/types/l1Actions.ts +21 -0
- package/src/mantle/types/l2Actions.ts +6 -0
- package/src/mantle/types/transaction.ts +108 -0
- package/src/mantle/types/withdrawal.ts +45 -0
- package/src/mantle/utils/extractTransactionDepositedLogs.ts +33 -0
- package/src/mantle/utils/extractWithdrawalMessageLogs.ts +33 -0
- package/src/mantle/utils/getL2TransactionHash.ts +51 -0
- package/src/mantle/utils/getL2TransactionHashes.ts +21 -0
- package/src/mantle/utils/getSourceHash.ts +62 -0
- package/src/mantle/utils/getWithdrawalHashStorageSlot.ts +27 -0
- package/src/mantle/utils/getWithdrawals.ts +25 -0
- package/src/mantle/utils/opaqueDataToDepositData.ts +58 -0
- package/src/mantle/utils/parseDepositRequest.ts +67 -0
- package/src/mantle/utils/parseInitWithdrawRequest.ts +68 -0
- package/src/mantle/utils/poll.ts +45 -0
- package/src/mantle/utils/promise/withCache.ts +81 -0
- package/src/mantle/utils/wait.ts +3 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../src/mantle/abis.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,SAAS;aACf;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SACzE;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACR;gBACC,UAAU,EAAE;oBACX,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnE;gBACD,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACb;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACR;gBACC,UAAU,EAAE;oBACX,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnE;gBACD,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACb;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,SAAS;aACf;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;SACxE;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;CACQ,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACb;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KACf;CACQ,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KACf;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,MAAM;aACZ;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,MAAM;aACZ;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACb;iBACD;gBACD,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACb;iBACD;gBACD,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,4CAA4C;QAClD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACb;iBACD;gBACD,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,0BAA0B;wBAChC,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBACf;iBACD;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACZ;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACb;CACQ,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,yBAAyB;gBACvC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACZ;YACD;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACZ;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,yBAAyB;gBACvC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,MAAM;aACZ;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACb;iBACD;gBACD,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACZ;SACD;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACZ;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACb;iBACD;gBACD,YAAY,EAAE,oCAAoC;gBAClD,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,UAAU,EAAE;oBACX;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,0BAA0B;wBAChC,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;qBACf;iBACD;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO;aACb;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KACf;CACQ,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5D;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACzE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACR,EAAE,YAAY,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACtE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACtD;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D;QACD,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACtC,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACnB;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACb;IACD;QACC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACb;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,yBAAyB;gBACvC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aACf;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACR;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACd;SACD;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,MAAM,EAAE;YACP;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aACf;YACD;gBACC,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KAChB;IACD;QACC,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,SAAS;KACf;CACQ,CAAC"}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import { fromRlp, keccak256, toRlp } from "viem";
|
2
|
+
import { getBlock, getProof, } from "viem/actions";
|
3
|
+
import { contracts } from "../contracts.js";
|
4
|
+
import { getWithdrawalHashStorageSlot, } from "../utils/getWithdrawalHashStorageSlot.js";
|
5
|
+
const outputRootProofVersion = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
6
|
+
/**
|
7
|
+
* Builds the transaction that proves a withdrawal was initiated on an L2. Used in the Withdrawal flow.
|
8
|
+
*
|
9
|
+
* @param client - Client to use
|
10
|
+
* @param parameters - {@link BuildProveWithdrawalParameters}
|
11
|
+
* @returns The prove withdraw transaction request. {@link BuildProveWithdrawalReturnType}
|
12
|
+
*/
|
13
|
+
export async function buildProveWithdrawal(client, args) {
|
14
|
+
const { account, chain = client.chain, output, withdrawal } = args;
|
15
|
+
const { withdrawalHash } = withdrawal;
|
16
|
+
const { l2BlockNumber } = output;
|
17
|
+
const slot = getWithdrawalHashStorageSlot({ withdrawalHash });
|
18
|
+
const [proof, block] = await Promise.all([
|
19
|
+
getProof(client, {
|
20
|
+
address: contracts.l2ToL1MessagePasser.address,
|
21
|
+
storageKeys: [slot],
|
22
|
+
blockNumber: l2BlockNumber,
|
23
|
+
}),
|
24
|
+
getBlock(client, {
|
25
|
+
blockNumber: l2BlockNumber,
|
26
|
+
}),
|
27
|
+
]);
|
28
|
+
return {
|
29
|
+
account,
|
30
|
+
l2OutputIndex: output?.outputIndex,
|
31
|
+
outputRootProof: {
|
32
|
+
latestBlockhash: block.hash,
|
33
|
+
messagePasserStorageRoot: proof.storageHash,
|
34
|
+
stateRoot: block.stateRoot,
|
35
|
+
version: outputRootProofVersion,
|
36
|
+
},
|
37
|
+
targetChain: chain,
|
38
|
+
withdrawalProof: maybeAddProofNode(keccak256(slot), proof.storageProof[0].proof),
|
39
|
+
withdrawal,
|
40
|
+
};
|
41
|
+
}
|
42
|
+
/** @internal */
|
43
|
+
export function maybeAddProofNode(key, proof) {
|
44
|
+
const lastProofRlp = proof[proof.length - 1];
|
45
|
+
const lastProof = fromRlp(lastProofRlp);
|
46
|
+
if (lastProof.length !== 17)
|
47
|
+
return proof;
|
48
|
+
const modifiedProof = [...proof];
|
49
|
+
for (const item of lastProof) {
|
50
|
+
// Find any nodes located inside of the branch node.
|
51
|
+
if (!Array.isArray(item))
|
52
|
+
continue;
|
53
|
+
// Check if the key inside the node matches the key we're looking for. We remove the first
|
54
|
+
// two characters (0x) and then we remove one more character (the first nibble) since this
|
55
|
+
// is the identifier for the type of node we're looking at. In this case we don't actually
|
56
|
+
// care what type of node it is because a branch node would only ever be the final proof
|
57
|
+
// element if (1) it includes the leaf node we're looking for or (2) it stores the value
|
58
|
+
// within itself. If (1) then this logic will work, if (2) then this won't find anything
|
59
|
+
// and we won't append any proof elements, which is exactly what we would want.
|
60
|
+
const suffix = item[0].slice(3);
|
61
|
+
if (typeof suffix !== "string" || !key.endsWith(suffix))
|
62
|
+
continue;
|
63
|
+
modifiedProof.push(toRlp(item));
|
64
|
+
}
|
65
|
+
return modifiedProof;
|
66
|
+
}
|
67
|
+
//# sourceMappingURL=buildProveWithdrawal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"buildProveWithdrawal.js","sourceRoot":"","sources":["../../../src/mantle/actions/buildProveWithdrawal.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,OAAO,EAAE,SAAS,EAAE,KAAK,EAAkB,MAAM,MAAM,CAAC;AAK9E,OAAO,EACN,QAAQ,EAER,QAAQ,GAER,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EACN,4BAA4B,GAE5B,MAAM,0CAA0C,CAAC;AAIlD,MAAM,sBAAsB,GAC3B,oEAA6E,CAAC;AAwC/E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAMzC,MAAyC,EACzC,IAKC;IAID,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAEjC,MAAM,IAAI,GAAG,4BAA4B,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,QAAQ,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,SAAS,CAAC,mBAAmB,CAAC,OAAO;YAC9C,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,WAAW,EAAE,aAAa;SAC1B,CAAC;QACF,QAAQ,CAAC,MAAM,EAAE;YAChB,WAAW,EAAE,aAAa;SAC1B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACN,OAAO;QACP,aAAa,EAAE,MAAM,EAAE,WAAW;QAClC,eAAe,EAAE;YAChB,eAAe,EAAE,KAAK,CAAC,IAAI;YAC3B,wBAAwB,EAAE,KAAK,CAAC,WAAW;YAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,sBAAsB;SAC/B;QACD,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,iBAAiB,CACjC,SAAS,CAAC,IAAI,CAAC,EACf,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3B;QACD,UAAU;KAMV,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,KAAqB;IACnE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,oDAAoD;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,0FAA0F;QAC1F,0FAA0F;QAC1F,0FAA0F;QAC1F,wFAAwF;QACxF,wFAAwF;QACxF,wFAAwF;QACxF,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAClE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { writeContract, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link DepositERC20Parameters}
|
7
|
+
* @returns The L1 transaction hash. {@link DepositERC20ReturnType}
|
8
|
+
*/
|
9
|
+
export async function depositERC20(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { l1Token, l2Token, amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "erc20",
|
21
|
+
l1Token,
|
22
|
+
l2Token,
|
23
|
+
amount,
|
24
|
+
to,
|
25
|
+
});
|
26
|
+
return writeContract(client, {
|
27
|
+
account: account,
|
28
|
+
abi: l1StandardBridge,
|
29
|
+
address: l1StandardBridgeAddress,
|
30
|
+
chain,
|
31
|
+
functionName,
|
32
|
+
args,
|
33
|
+
maxFeePerGas,
|
34
|
+
maxPriorityFeePerGas,
|
35
|
+
nonce,
|
36
|
+
gas,
|
37
|
+
});
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=depositERC20.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"depositERC20.js","sourceRoot":"","sources":["../../../src/mantle/actions/depositERC20.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,aAAa,GAGb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAiCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAKjC,MAAyC,EACzC,UAAiE;IAEjE,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EACzC,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,OAAO;QACb,OAAO;QACP,OAAO;QACP,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,KAAK;QACL,YAAY;QACZ,IAAI;QACJ,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,GAAG;KACsC,CAAC,CAAC;AAC7C,CAAC"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { writeContract, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link DepositERC20Parameters}
|
7
|
+
* @returns The L1 transaction hash. {@link DepositERC20ReturnType}
|
8
|
+
*/
|
9
|
+
export async function depositETH(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "eth",
|
21
|
+
amount,
|
22
|
+
to,
|
23
|
+
});
|
24
|
+
return writeContract(client, {
|
25
|
+
account: account,
|
26
|
+
abi: l1StandardBridge,
|
27
|
+
address: l1StandardBridgeAddress,
|
28
|
+
chain,
|
29
|
+
functionName,
|
30
|
+
args,
|
31
|
+
maxFeePerGas,
|
32
|
+
maxPriorityFeePerGas,
|
33
|
+
nonce,
|
34
|
+
gas,
|
35
|
+
value: amount,
|
36
|
+
});
|
37
|
+
}
|
38
|
+
//# sourceMappingURL=depositETH.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"depositETH.js","sourceRoot":"","sources":["../../../src/mantle/actions/depositETH.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,aAAa,GAGb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAiCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAK/B,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EACvB,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,KAAK;QACX,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,KAAK;QACL,YAAY;QACZ,IAAI;QACJ,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,GAAG;QACH,KAAK,EAAE,MAAM;KAC4B,CAAC,CAAC;AAC7C,CAAC"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { writeContract, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link DepositMNTParameters}
|
7
|
+
* @returns The L1 transaction hash. {@link DepositMNTReturnType}
|
8
|
+
*/
|
9
|
+
export async function depositMNT(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "mnt",
|
21
|
+
amount,
|
22
|
+
to,
|
23
|
+
});
|
24
|
+
return writeContract(client, {
|
25
|
+
account: account,
|
26
|
+
abi: l1StandardBridge,
|
27
|
+
address: l1StandardBridgeAddress,
|
28
|
+
chain,
|
29
|
+
functionName,
|
30
|
+
args,
|
31
|
+
maxFeePerGas,
|
32
|
+
maxPriorityFeePerGas,
|
33
|
+
nonce,
|
34
|
+
gas,
|
35
|
+
});
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=depositMNT.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"depositMNT.js","sourceRoot":"","sources":["../../../src/mantle/actions/depositMNT.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,aAAa,GAGb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAiCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAK/B,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EACvB,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,KAAK;QACX,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,KAAK;QACL,YAAY;QACZ,IAAI;QACJ,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,GAAG;KACsC,CAAC,CAAC;AAC7C,CAAC"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link EstimateDepositERC20GasParameters}
|
7
|
+
* @returns The L1 transaction hash. {@link EstimateDepositERC20GasReturnType}
|
8
|
+
*/
|
9
|
+
export async function estimateDepositERC20Gas(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { l1Token, l2Token, amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "erc20",
|
21
|
+
l1Token,
|
22
|
+
l2Token,
|
23
|
+
amount,
|
24
|
+
to,
|
25
|
+
});
|
26
|
+
const params = {
|
27
|
+
account,
|
28
|
+
abi: l1StandardBridge,
|
29
|
+
address: l1StandardBridgeAddress,
|
30
|
+
functionName,
|
31
|
+
args,
|
32
|
+
gas,
|
33
|
+
maxFeePerGas,
|
34
|
+
maxPriorityFeePerGas,
|
35
|
+
nonce,
|
36
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
37
|
+
// in `estimateContractGas` or `estimateGas`
|
38
|
+
// @ts-ignore
|
39
|
+
chain,
|
40
|
+
};
|
41
|
+
return estimateContractGas(client, params);
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=estimateDepositERC20Gas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateDepositERC20Gas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateDepositERC20Gas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAoCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAK5C,MAAyC,EACzC,UAA4E;IAE5E,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EACzC,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,OAAO;QACb,OAAO;QACP,OAAO;QACP,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;KAIL,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link EstimateDepositETHGasParameters}
|
7
|
+
* @returns The L1 transaction hash. {@link EstimateDepositETHGasReturnType}
|
8
|
+
*/
|
9
|
+
export async function estimateDepositETHGas(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "eth",
|
21
|
+
amount,
|
22
|
+
to,
|
23
|
+
});
|
24
|
+
const params = {
|
25
|
+
account,
|
26
|
+
abi: l1StandardBridge,
|
27
|
+
address: l1StandardBridgeAddress,
|
28
|
+
functionName,
|
29
|
+
args,
|
30
|
+
gas,
|
31
|
+
maxFeePerGas,
|
32
|
+
maxPriorityFeePerGas,
|
33
|
+
nonce,
|
34
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
35
|
+
// in `estimateContractGas` or `estimateGas`
|
36
|
+
// @ts-ignore
|
37
|
+
chain,
|
38
|
+
// @ts-ignore
|
39
|
+
value: amount,
|
40
|
+
};
|
41
|
+
return estimateContractGas(client, params);
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=estimateDepositETHGas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateDepositETHGas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateDepositETHGas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAoCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAK1C,MAAyC,EACzC,UAA0E;IAE1E,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EACvB,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,KAAK;QACX,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;QACL,aAAa;QACb,KAAK,EAAE,MAAM;KAIb,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { l1StandardBridge } from "../abis.js";
|
3
|
+
import { parseDepositRequest } from "../utils/parseDepositRequest.js";
|
4
|
+
/**
|
5
|
+
* @param client - Client to use
|
6
|
+
* @param parameters - {@link EstimateDepositMNTGasParameters}
|
7
|
+
* @returns The L1 transaction hash. {@link EstimateDepositMNTGasReturnType}
|
8
|
+
*/
|
9
|
+
export async function estimateDepositMNTGas(client, parameters) {
|
10
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, to }, targetChain, } = parameters;
|
11
|
+
const l1StandardBridgeAddress = (() => {
|
12
|
+
if (parameters.l1StandardBridgeAddress) {
|
13
|
+
return parameters.l1StandardBridgeAddress;
|
14
|
+
}
|
15
|
+
if (chain)
|
16
|
+
return targetChain.contracts.l1StandardBridge[chain.id].address;
|
17
|
+
return Object.values(targetChain.contracts.l1StandardBridge)[0].address;
|
18
|
+
})();
|
19
|
+
const { functionName, args } = parseDepositRequest({
|
20
|
+
type: "mnt",
|
21
|
+
amount,
|
22
|
+
to,
|
23
|
+
});
|
24
|
+
const params = {
|
25
|
+
account,
|
26
|
+
abi: l1StandardBridge,
|
27
|
+
address: l1StandardBridgeAddress,
|
28
|
+
functionName,
|
29
|
+
args,
|
30
|
+
gas,
|
31
|
+
maxFeePerGas,
|
32
|
+
maxPriorityFeePerGas,
|
33
|
+
nonce,
|
34
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
35
|
+
// in `estimateContractGas` or `estimateGas`
|
36
|
+
// @ts-ignore
|
37
|
+
chain,
|
38
|
+
};
|
39
|
+
return estimateContractGas(client, params);
|
40
|
+
}
|
41
|
+
//# sourceMappingURL=estimateDepositMNTGas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateDepositMNTGas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateDepositMNTGas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAoCtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAK1C,MAAyC,EACzC,UAA0E;IAE1E,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EACvB,WAAW,GACX,GAAG,UAAU,CAAC;IAEf,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,EAAE,KAAK;QACX,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,uBAAuB;QAChC,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;KAIL,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { portalAbi } from "../abis.js";
|
3
|
+
/**
|
4
|
+
* @param client - Client to use
|
5
|
+
* @param parameters - {@link EstimateFinalizeWithdrawalGasParameters}
|
6
|
+
* @returns Estimated gas. {@link EstimateFinalizeWithdrawalGasReturnType}
|
7
|
+
*/
|
8
|
+
export async function estimateFinalizeWithdrawalGas(client, parameters) {
|
9
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, targetChain, withdrawal, } = parameters;
|
10
|
+
const portalAddress = (() => {
|
11
|
+
if (parameters.portalAddress)
|
12
|
+
return parameters.portalAddress;
|
13
|
+
if (chain)
|
14
|
+
return targetChain.contracts.portal[chain.id].address;
|
15
|
+
return Object.values(targetChain.contracts.portal)[0].address;
|
16
|
+
})();
|
17
|
+
const params = {
|
18
|
+
account,
|
19
|
+
abi: portalAbi,
|
20
|
+
address: portalAddress,
|
21
|
+
functionName: "finalizeWithdrawalTransaction",
|
22
|
+
args: [withdrawal],
|
23
|
+
gas,
|
24
|
+
maxFeePerGas,
|
25
|
+
maxPriorityFeePerGas,
|
26
|
+
nonce,
|
27
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
28
|
+
// in `estimateContractGas` or `estimateGas`
|
29
|
+
// @ts-ignore
|
30
|
+
chain,
|
31
|
+
};
|
32
|
+
return estimateContractGas(client, params);
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=estimateFinalizeWithdrawalGas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateFinalizeWithdrawalGas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateFinalizeWithdrawalGas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoCvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAKlD,MAAyC,EACzC,UAIC;IAED,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,WAAW,EACX,UAAU,GACV,GAAG,UAAU,CAAC;IAEf,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC3B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAC;QAC9D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAClE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,+BAA+B;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;KAIL,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { l2StandardBridge } from "../abis.js";
|
3
|
+
import { contracts } from "../contracts.js";
|
4
|
+
import { parseInitWithdrawequest } from "../utils/parseInitWithdrawRequest.js";
|
5
|
+
/**
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters - {@link EstimateInitiateERC20WithdrawalGasParameters}
|
8
|
+
* @returns The L1 transaction hash. {@link EstimateInitiateERC20WithdrawalGasReturnType}
|
9
|
+
*/
|
10
|
+
export async function estimateInitiateERC20Withdrawal(client, parameters) {
|
11
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, l2Token, to }, } = parameters;
|
12
|
+
const { functionName, args } = parseInitWithdrawequest({
|
13
|
+
type: "erc20",
|
14
|
+
l2Token,
|
15
|
+
amount,
|
16
|
+
to,
|
17
|
+
});
|
18
|
+
const params = {
|
19
|
+
account,
|
20
|
+
abi: l2StandardBridge,
|
21
|
+
address: contracts.l2StandardBridge.address,
|
22
|
+
functionName,
|
23
|
+
args,
|
24
|
+
gas,
|
25
|
+
maxFeePerGas,
|
26
|
+
maxPriorityFeePerGas,
|
27
|
+
nonce,
|
28
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
29
|
+
// in `estimateContractGas` or `estimateGas`
|
30
|
+
// @ts-ignore
|
31
|
+
chain,
|
32
|
+
};
|
33
|
+
return estimateContractGas(client, params);
|
34
|
+
}
|
35
|
+
//# sourceMappingURL=estimateInitiateERC20WithdrawalGas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateInitiateERC20WithdrawalGas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateInitiateERC20WithdrawalGas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAmC/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAKpD,MAAyC,EACzC,UAIC;IAED,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAChC,GAAG,UAAU,CAAC;IAEf,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,OAAO;QACP,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO;QAC3C,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;KAIL,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { estimateContractGas, } from "viem/actions";
|
2
|
+
import { l2StandardBridge } from "../abis.js";
|
3
|
+
import { contracts } from "../contracts.js";
|
4
|
+
import { parseInitWithdrawequest } from "../utils/parseInitWithdrawRequest.js";
|
5
|
+
/**
|
6
|
+
* @param client - Client to use
|
7
|
+
* @param parameters - {@link EstimateInitiateETHWithdrawalGasParameters}
|
8
|
+
* @returns The L1 transaction hash. {@link EstimateInitiateETHWithdrawalGasReturnType}
|
9
|
+
*/
|
10
|
+
export async function estimateInitiateETHWithdrawalGas(client, parameters) {
|
11
|
+
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { amount, to }, } = parameters;
|
12
|
+
const { functionName, args } = parseInitWithdrawequest({
|
13
|
+
type: "eth",
|
14
|
+
amount,
|
15
|
+
to,
|
16
|
+
});
|
17
|
+
const params = {
|
18
|
+
account,
|
19
|
+
abi: l2StandardBridge,
|
20
|
+
address: contracts.l2StandardBridge.address,
|
21
|
+
functionName,
|
22
|
+
args,
|
23
|
+
gas,
|
24
|
+
maxFeePerGas,
|
25
|
+
maxPriorityFeePerGas,
|
26
|
+
nonce,
|
27
|
+
// TODO: Not sure `chain` is necessary since it's not used downstream
|
28
|
+
// in `estimateContractGas` or `estimateGas`
|
29
|
+
// @ts-ignore
|
30
|
+
chain,
|
31
|
+
};
|
32
|
+
return estimateContractGas(client, params);
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=estimateInitiateETHWithdrawalGas.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimateInitiateETHWithdrawalGas.js","sourceRoot":"","sources":["../../../src/mantle/actions/estimateInitiateETHWithdrawalGas.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAmC/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAKrD,MAAyC,EACzC,UAIC;IAED,MAAM,EACL,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GACvB,GAAG,UAAU,CAAC;IAEf,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC;QACtD,IAAI,EAAE,KAAK;QACX,MAAM;QACN,EAAE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACd,OAAO;QACP,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO;QAC3C,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,qEAAqE;QACrE,4CAA4C;QAC5C,aAAa;QACb,KAAK;KAIL,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;AACnD,CAAC"}
|