@pimlico/alto 0.0.0-main.20250716T135636 → 0.0.0-main.20250717T214626

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  3. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  4. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  5. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  6. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  7. package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  8. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  9. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  10. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  11. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  12. package/contracts/Math.sol/Math.json +1 -1
  13. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  14. package/contracts/Panic.sol/Panic.json +1 -1
  15. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  16. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
  17. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  18. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  19. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  20. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  21. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  22. package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -0
  23. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  24. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  25. package/contracts/Strings.sol/Strings.json +1 -1
  26. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  27. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  28. package/contracts/build-info/006aa55b425148d5.json +1 -0
  29. package/contracts/build-info/{880955d5786bfdae.json → 7112d1913b854416.json} +1 -1
  30. package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -0
  31. package/esm/cli/setupServer.js +17 -1
  32. package/esm/cli/setupServer.js.map +1 -1
  33. package/esm/cli/shutDown.d.ts +18 -0
  34. package/esm/cli/shutDown.js +247 -0
  35. package/esm/cli/shutDown.js.map +1 -0
  36. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  37. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  38. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  39. package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  40. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  41. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  42. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  43. package/esm/executor/index.d.ts +1 -0
  44. package/esm/executor/index.js +1 -0
  45. package/esm/executor/index.js.map +1 -1
  46. package/esm/executor/senderManager/createMemorySenderManager.js +12 -0
  47. package/esm/executor/senderManager/createMemorySenderManager.js.map +1 -1
  48. package/esm/executor/senderManager/index.d.ts +1 -0
  49. package/esm/executor/senderManager/index.js.map +1 -1
  50. package/esm/mempool/mempool.d.ts +0 -8
  51. package/esm/mempool/mempool.js +1 -232
  52. package/esm/mempool/mempool.js.map +1 -1
  53. package/esm/utils/entryPointOverrides.js +11 -4
  54. package/esm/utils/entryPointOverrides.js.map +1 -1
  55. package/package.json +1 -1
  56. package/contracts/build-info/7710b5a048396e70.json +0 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getSenderAddress","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getUserOpHash","inputs":[{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"handleAggregatedOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPoint.UserOpsPerAggregator[]","components":[{"name":"userOps","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"aggregator","type":"address","internalType":"contract IAggregator"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"PostOpRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationPrefundTooLow","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e569081610436823960805181611e09015260a05181611ec6015260c05181611dda015260e05181611e5801526101005181611e7e01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d77565b005b5f905f3560e01c9081630396cb60146114d65750806309ccb880146114ab5780630bd28e3b1461145a5780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199f565b91611c59565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179d565b126104cd576040516101ae816117cd565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f33565b6040519961027b84611b2d565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248b565b986103216001600160a01b038651166020870151906126c6565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af1565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120ab565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186e565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afe565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186e565b611d77565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2b565b6001600160a01b0361088f611a59565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d57565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117ea565b810190611d38565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186e565b5060243567ffffffffffffffff81116104d557610973903690600401611a2b565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0e565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d50565b906020610a42604051936109f483866117ea565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a07565b908682036040880152611a07565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199f565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186e565b1681528083522054604051908152f35b503461013e57610ae536611898565b9190915a92815193610af78583611f33565b610b0082611b2d565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248b565b9760206001600160a01b03825116910151906126c6565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af1565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186e565b8260808551610c778161179d565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179d565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186e565b916001600160a01b03610d4d611787565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2d565b604051908152f35b503461013e57606090610ddd36611898565b908392935082936001600160a01b0360e08451610dfa8186611f33565b610e0385611b2d565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120ab565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186e565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af1565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afe565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186e565b926001600160a01b03610fc9611787565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dd0565b50346113ba576102203660031901126113ba5760043567ffffffffffffffff81116113ba57611072903690600401611828565b3660231901906101c082126113ba57610140604051926110918461179d565b126113ba576040516110a2816117cd565b6024356001600160a01b03811681036113ba57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113ba5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113ba5761115f903690600401611828565b908251906060820151815190816113ce575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd549081156113c6575b01808210156113be5750935b6111e76001600160a01b0360e08401511693606084015190830361270d565b01925f928061126d575050516001600160a01b0316935b5a900301010292518381105f14611237576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112609203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611281575b5050506111fe565b9197509192505a9660a05a930191825190823b156113ba575f916112e391836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a07565b8d8d0260448301528d60648301520393f190816113a5575b50611389573d89610800821161137f575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061130c565b61139c915a9003965a900390519061270d565b905f8080611279565b6113b2919a505f906117ea565b5f985f6112fb565b5f80fd5b9050936111c8565b4891506111bc565b5f80949360206001600160a01b0383965116910192f1156113f2575f808080611171565b3d6108008111611451575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a07565b506108006113fd565b346113ba5760203660031901126113ba576004356001600160c01b03811681036113ba57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a78154611ae3565b9055005b346113ba575f3660031901126113ba5760206114c5611a59565b6001600160a01b0360405191168152f35b60203660031901126113ba5760043563ffffffff81168091036113ba57335f525f60205260405f209181156117455750600182015463ffffffff8160781c168210611701576dffffffffffffffffffffffffffff9060081c16913483018093116116ed5782156116a9576dffffffffffffffffffffffffffff83116116655754604051611632916115668261179d565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113ba57565b60a0810190811067ffffffffffffffff8211176117b957604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b957604052565b90601f8019910116810190811067ffffffffffffffff8211176117b957604052565b67ffffffffffffffff81116117b957601f01601f191660200190565b81601f820112156113ba5780359061183f8261180c565b9261184d60405194856117ea565b828452602083830101116113ba57815f926020809301838601378301015290565b600435906001600160a01b03821682036113ba57565b35906001600160a01b03821682036113ba57565b6102006003198201126113ba576004359160243567ffffffffffffffff81116113ba5761012081840360031901126113ba57600401916043190160446101c082126113ba57610140604051926118ed8461179d565b126113ba576101a090604051611902816117cd565b61190b82611884565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195560e08301611884565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113ba5760043567ffffffffffffffff81116113ba5760040182601f820112156113ba5780359267ffffffffffffffff84116113ba576020808301928560051b0101116113ba5791906024356001600160a01b03811681036113ba5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113ba5782359167ffffffffffffffff83116113ba57602083818601950101116113ba57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad8575f91611a99575090565b90506020813d602011611ad0575b81611ab4602093836117ea565b810103126113ba57516001600160a01b03811681036113ba5790565b3d9150611aa7565b6040513d5f823e3d90fd5b5f1981146116ed5760010190565b919082039182116116ed57565b3d15611b28573d90611b0f8261180c565b91611b1d60405193846117ea565b82523d5f602084013e565b606090565b604290611b39816122f1565b611b41611dd0565b91611b4b81611eec565b918015611c3c57905b60c0611b636060830183611f00565b90816040519182372091611b7a60e0820182611f00565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c04610140826117ea565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c4a6040820182611f00565b90816040519182372090611b54565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d105760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113ba57516001600160a01b03811681036113ba5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc434856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec3575b15611e2b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebd60c0826117ea565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e02565b356001600160a01b03811681036113ba5790565b903590601e19813603018212156113ba570180359067ffffffffffffffff82116113ba576020019181360383136113ba57565b611fb7906001600160a01b03611f4882611eec565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611f00565b919082611fc357505050565b6034831061206757826014116113ba57803560601c92602481106113ba576014820135906034116113ba576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120235760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d3604083019384519061272c565b156122a5575f6001600160a01b0360e07f52b7512c00000000000000000000000000000000000000000000000000000000969594612140608085960151966121326040519c8d926020860151905191602085019d8e5260248501612783565b03601f1981018c528b6117ea565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612299575b508115612287575b506121fe57601f801991011601928360405294955a90031161218f575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227d575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061220a565b9050601f605f1983019101105f61216f565b6040141591505f612167565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fe6040820182611f00565b909161230a8284612865565b156124845761231890611eec565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f6575060181b91601482116123a45750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebd6034826117ea565b816014116113ba576040516bffffffffffffffffffffffff199093166020848101918252909392611ebd92849190601319820190601401603484013781015f838201520301601f1981018352826117ea565b3b1561244057606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124ba6124b26040860186611f00565b908c8b6128a7565b015116915f9215978861268c575b5f602093926125288361251a6001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612783565b03601f1981018752866117ea565b838287875193f1925f519360203d03612685575b83604052156125af575050509461255257505050565b61255b9161272c565b156125635750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126035760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267b575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061260f565b505f61253c565b92509060205f8193878252818352604082205487811183146126bb5750612528825b96935050929350506124c8565b6125289088036126ae565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270684611ae3565b9055161490565b90619c40820181111561272657606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248457039055600190565b9035601e19823603018112156113ba57016020813591019167ffffffffffffffff82116113ba5781360383136113ba57565b61285b60409295949395606083526001600160a01b036127a282611884565b1660608401526020810135608084015261284861283c6127fc6127dd6127ca88860186612751565b61012060a08a0152610180890191611d57565b6127ea6060860186612751565b888303605f190160c08a015290611d57565b608084013560e087015260a084013561010087015260c084013561012087015261282960e0850185612751565b878303605f190161014089015290611d57565b91610100810190612751565b848303605f190161016086015290611d57565b9460208201520152565b906002116128a257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128ba575b5050505050565b6001600160a01b0384515116946128d18285612865565b612b5c57853b612b105760148210612ac4578260206001600160a01b036128f6611a59565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129248c8b6024840191611d57565b0393f1908115612ab9578491612a9a575b506001600160a01b0381168015612a4e578703612a02573b156129b6575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b3565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab3915060203d6020116109265761091881836117ea565b5f612935565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6f575b50505050565b60406001600160a01b03612b81611a59565b169351015190826014116113ba57833b156113ba575f8094612be896604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d57565b0393f18015611ad857612bfe575b808080612b69565b5f612c08916117ea565b5f612bf6565b60ff8114612c6d5760ff811690601f8211612c455760405191612c326040846117ea565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d46575b602084108314612d32578385528492908115612d135750600114612cb4575b612cb1925003826117ea565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf7575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612cdf565b60209250612cb194915060ff191682840152151560051b820101612ca5565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c86565b60ff8114612d745760ff811690601f8211612c455760405191612c326040846117ea565b506040515f6003548060011c9160018216918215612e16575b602084108314612d32578385528492908115612d135750600114612db757612cb1925003826117ea565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dfa575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612de2565b92607f1692612d8d56fea26469706673582212208855476f00a50b41fc9c82f303a23acf05e5f64571315ce66aada2551d23bc7e64736f6c634300081c0033","sourceMap":"1052:33159:25:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;:::i;:::-;1998:9;1052:33159;;;1998:9;;;-1:-1:-1;;;1998:9:25;;3401:45:19;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1052:33159:25;3542:22:19;;3528:36;;;;1052:33159:25;3591:25:19;;3574:42;;;3644:13;3627:30;;1052:33159:25;;4204:80:19;1052:33159:25;4204:80:19;;2079:95;;;;1052:33159:25;2079:95:19;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1052:33159:25;4194:91:19;;2079:95;3667:48;4278:4;4204:80;3725:27;1052:33159:25;;;;;;;;2079:95:19;1052:33159:25;;;;;3627:30:19;1052:33159:25;;;;;4204:80:19;1052:33159:25;;;;;3528:36:19;1052:33159:25;;;;;3574:42:19;1052:33159:25;;;;;3393:53:19;1052:33159:25;;;;;3456:62:19;1052:33159:25;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;2887:340:15;;1052:33159:25;;3032:2:15;3010:24;;3006:215;3032:2;;;1052:33159:25;;1854:2:15;1052:33159:25;;1840:16:15;1836:72;;3032:2;1052:33159:25;;;;2079:95:19;3032:2:15;1052:33159:25;;;;1949:36:15;3050:27;:::o;1052:33159:25:-;;;;3032:2:15;1052:33159:25;;;;;1949:36:15;3050:27;:::o;1836:72::-;1052:33159:25;3032:2:15;1052:33159:25;;;1879:18:15;;;;;;;;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;1854:2:15;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1879:18:15;;;;3006:215;-1:-1:-1;;;;;1052:33159:25;;;;3432:13:19;1052:33159:25;;;;;;;;;;;3006:215:15;3032:2;1052:33159:25;;;;;;;;;;3006:215:15;1052:33159:25;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;3432:13:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:15;;1052:33159:25;;3032:2:15;3010:24;;3006:215;3032:2;;;1052:33159:25;;1854:2:15;1052:33159:25;;1840:16:15;1836:72;;3032:2;1052:33159:25;;;;2079:95:19;3032:2:15;1052:33159:25;;;;1949:36:15;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1052:33159:25;;;;3501:16:19;1052:33159:25;;;;;;;;;;;3006:215:15;3032:2;1052:33159:25;;;;;;;;;;3006:215:15;1052:33159:25;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;;;;;3501:16:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;3501:16:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;;;;3501:16:19;1052:33159:25;;;;;;;;;;;;;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d77565b005b5f905f3560e01c9081630396cb60146114d65750806309ccb880146114ab5780630bd28e3b1461145a5780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199f565b91611c59565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179d565b126104cd576040516101ae816117cd565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f33565b6040519961027b84611b2d565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248b565b986103216001600160a01b038651166020870151906126c6565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af1565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120ab565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186e565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afe565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186e565b611d77565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2b565b6001600160a01b0361088f611a59565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d57565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117ea565b810190611d38565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186e565b5060243567ffffffffffffffff81116104d557610973903690600401611a2b565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0e565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d50565b906020610a42604051936109f483866117ea565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a07565b908682036040880152611a07565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199f565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186e565b1681528083522054604051908152f35b503461013e57610ae536611898565b9190915a92815193610af78583611f33565b610b0082611b2d565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248b565b9760206001600160a01b03825116910151906126c6565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af1565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186e565b8260808551610c778161179d565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179d565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186e565b916001600160a01b03610d4d611787565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2d565b604051908152f35b503461013e57606090610ddd36611898565b908392935082936001600160a01b0360e08451610dfa8186611f33565b610e0385611b2d565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120ab565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186e565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af1565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afe565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186e565b926001600160a01b03610fc9611787565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dd0565b50346113ba576102203660031901126113ba5760043567ffffffffffffffff81116113ba57611072903690600401611828565b3660231901906101c082126113ba57610140604051926110918461179d565b126113ba576040516110a2816117cd565b6024356001600160a01b03811681036113ba57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113ba5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113ba5761115f903690600401611828565b908251906060820151815190816113ce575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd549081156113c6575b01808210156113be5750935b6111e76001600160a01b0360e08401511693606084015190830361270d565b01925f928061126d575050516001600160a01b0316935b5a900301010292518381105f14611237576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112609203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611281575b5050506111fe565b9197509192505a9660a05a930191825190823b156113ba575f916112e391836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a07565b8d8d0260448301528d60648301520393f190816113a5575b50611389573d89610800821161137f575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061130c565b61139c915a9003965a900390519061270d565b905f8080611279565b6113b2919a505f906117ea565b5f985f6112fb565b5f80fd5b9050936111c8565b4891506111bc565b5f80949360206001600160a01b0383965116910192f1156113f2575f808080611171565b3d6108008111611451575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a07565b506108006113fd565b346113ba5760203660031901126113ba576004356001600160c01b03811681036113ba57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a78154611ae3565b9055005b346113ba575f3660031901126113ba5760206114c5611a59565b6001600160a01b0360405191168152f35b60203660031901126113ba5760043563ffffffff81168091036113ba57335f525f60205260405f209181156117455750600182015463ffffffff8160781c168210611701576dffffffffffffffffffffffffffff9060081c16913483018093116116ed5782156116a9576dffffffffffffffffffffffffffff83116116655754604051611632916115668261179d565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113ba57565b60a0810190811067ffffffffffffffff8211176117b957604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b957604052565b90601f8019910116810190811067ffffffffffffffff8211176117b957604052565b67ffffffffffffffff81116117b957601f01601f191660200190565b81601f820112156113ba5780359061183f8261180c565b9261184d60405194856117ea565b828452602083830101116113ba57815f926020809301838601378301015290565b600435906001600160a01b03821682036113ba57565b35906001600160a01b03821682036113ba57565b6102006003198201126113ba576004359160243567ffffffffffffffff81116113ba5761012081840360031901126113ba57600401916043190160446101c082126113ba57610140604051926118ed8461179d565b126113ba576101a090604051611902816117cd565b61190b82611884565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195560e08301611884565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113ba5760043567ffffffffffffffff81116113ba5760040182601f820112156113ba5780359267ffffffffffffffff84116113ba576020808301928560051b0101116113ba5791906024356001600160a01b03811681036113ba5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113ba5782359167ffffffffffffffff83116113ba57602083818601950101116113ba57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad8575f91611a99575090565b90506020813d602011611ad0575b81611ab4602093836117ea565b810103126113ba57516001600160a01b03811681036113ba5790565b3d9150611aa7565b6040513d5f823e3d90fd5b5f1981146116ed5760010190565b919082039182116116ed57565b3d15611b28573d90611b0f8261180c565b91611b1d60405193846117ea565b82523d5f602084013e565b606090565b604290611b39816122f1565b611b41611dd0565b91611b4b81611eec565b918015611c3c57905b60c0611b636060830183611f00565b90816040519182372091611b7a60e0820182611f00565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c04610140826117ea565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c4a6040820182611f00565b90816040519182372090611b54565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d105760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113ba57516001600160a01b03811681036113ba5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc434856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec3575b15611e2b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebd60c0826117ea565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e02565b356001600160a01b03811681036113ba5790565b903590601e19813603018212156113ba570180359067ffffffffffffffff82116113ba576020019181360383136113ba57565b611fb7906001600160a01b03611f4882611eec565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611f00565b919082611fc357505050565b6034831061206757826014116113ba57803560601c92602481106113ba576014820135906034116113ba576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120235760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d3604083019384519061272c565b156122a5575f6001600160a01b0360e07f52b7512c00000000000000000000000000000000000000000000000000000000969594612140608085960151966121326040519c8d926020860151905191602085019d8e5260248501612783565b03601f1981018c528b6117ea565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612299575b508115612287575b506121fe57601f801991011601928360405294955a90031161218f575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227d575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061220a565b9050601f605f1983019101105f61216f565b6040141591505f612167565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fe6040820182611f00565b909161230a8284612865565b156124845761231890611eec565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f6575060181b91601482116123a45750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebd6034826117ea565b816014116113ba576040516bffffffffffffffffffffffff199093166020848101918252909392611ebd92849190601319820190601401603484013781015f838201520301601f1981018352826117ea565b3b1561244057606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124ba6124b26040860186611f00565b908c8b6128a7565b015116915f9215978861268c575b5f602093926125288361251a6001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612783565b03601f1981018752866117ea565b838287875193f1925f519360203d03612685575b83604052156125af575050509461255257505050565b61255b9161272c565b156125635750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126035760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267b575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061260f565b505f61253c565b92509060205f8193878252818352604082205487811183146126bb5750612528825b96935050929350506124c8565b6125289088036126ae565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270684611ae3565b9055161490565b90619c40820181111561272657606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248457039055600190565b9035601e19823603018112156113ba57016020813591019167ffffffffffffffff82116113ba5781360383136113ba57565b61285b60409295949395606083526001600160a01b036127a282611884565b1660608401526020810135608084015261284861283c6127fc6127dd6127ca88860186612751565b61012060a08a0152610180890191611d57565b6127ea6060860186612751565b888303605f190160c08a015290611d57565b608084013560e087015260a084013561010087015260c084013561012087015261282960e0850185612751565b878303605f190161014089015290611d57565b91610100810190612751565b848303605f190161016086015290611d57565b9460208201520152565b906002116128a257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128ba575b5050505050565b6001600160a01b0384515116946128d18285612865565b612b5c57853b612b105760148210612ac4578260206001600160a01b036128f6611a59565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129248c8b6024840191611d57565b0393f1908115612ab9578491612a9a575b506001600160a01b0381168015612a4e578703612a02573b156129b6575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b3565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab3915060203d6020116109265761091881836117ea565b5f612935565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6f575b50505050565b60406001600160a01b03612b81611a59565b169351015190826014116113ba57833b156113ba575f8094612be896604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d57565b0393f18015611ad857612bfe575b808080612b69565b5f612c08916117ea565b5f612bf6565b60ff8114612c6d5760ff811690601f8211612c455760405191612c326040846117ea565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d46575b602084108314612d32578385528492908115612d135750600114612cb4575b612cb1925003826117ea565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf7575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612cdf565b60209250612cb194915060ff191682840152151560051b820101612ca5565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c86565b60ff8114612d745760ff811690601f8211612c455760405191612c326040846117ea565b506040515f6003548060011c9160018216918215612e16575b602084108314612d32578385528492908115612d135750600114612db757612cb1925003826117ea565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dfa575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612de2565b92607f1692612d8d56fea26469706673582212208855476f00a50b41fc9c82f303a23acf05e5f64571315ce66aada2551d23bc7e64736f6c634300081c0033","sourceMap":"1052:33159:25:-:0;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;1441:10:29;;;:::i;:::-;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26020:20;1052:33159;26020:20;;;1052:33159;;;;;2123:156;1052:33159;2123:156;;;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2285:167;;:::i;1052:33159::-;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23162:31;23265:9;;23314:17;;;23369:7;;;;;:::i;:::-;1052:33159;33435:67;23534:21;;;;:::i;:::-;1052:33159;;33718:66;1052:33159;33718:66;1052:33159;23784:28;;1052:33159;23845:26;1052:33159;23845:26;1052:33159;23845:26;;1052:33159;23845:49;1052:33159;23897:20;;1052:33159;23845:72;1052:33159;23932:37;;1052:33159;23845:124;1052:33159;23972:31;;1052:33159;23845:158;1052:33159;24006:20;;1052:33159;23845:181;1052:33159;24041:28;;1052:33159;23845:224;24087:33;1052:33159;;24205:28;24317:108;24205:28;;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;24205:28;1052:33159;;;;3472:23:30;;1052:33159:25;;;24317:108;;;;;:::i;:::-;1052:33159;24444:54;-1:-1:-1;;;;;1052:33159:25;;;;24484:13;;1052:33159;24444:54;;:::i;:::-;1052:33159;;;24596:9;1700:4;;24587:41;24583:138;;1052:33159;24794:9;-1:-1:-1;;;;;1052:33159:25;24794:9;24817:17;;1052:33159;;24817:31;;:62;;;;1052:33159;24813:186;;;1052:33159;25057:9;;;25042:24;25057:9;;25042:24;;:::i;:::-;1052:33159;25070:3;1052:33159;;;;;;25070:3;1052:33159;;;;;;;;;;;;;;;;;;;25216:9;1700:4;;25228:25;;1052:33159;1700:4;1052:33159;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;24813:186;25042:24;24932:56;;;;;;;:::i;:::-;24895:93;;24813:186;;;;;;24817:62;;;;;;24583:138;1052:33159;;;-1:-1:-1;;;24655:51:25;;1052:33159;24655:51;;1052:33159;;;;;;;;;;;;;;;;;;;;;;24655:51;;;;1052:33159;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;24655:51;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;4109:10:29;1052:33159:25;;;;;4146:10:29;1052:33159:25;;;4146:10:29;1052:33159:25;;;;;;;;4174:9:29;;;1052:33159:25;;;;;;4226:21:29;;1052:33159:25;;4320:15:29;-1:-1:-1;1052:33159:25;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;4109:10:29;;4471:50;;;1052:33159:25;4549:38:29;;;;:::i;:::-;;1052:33159:25;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:29;1052:33159:25;;;;;3657:20:29;1052:33159:25;;;3657:20:29;1052:33159:25;;;;;;;3657:25:29;;;1052:33159:25;;;;;;;;3787:15:29;1052:33159:25;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;3628:10:29;;3912:39;;1052:33159:25;;3912:39:29;1052:33159:25;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;-1:-1:-1;;1052:33159:25;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2915:15:25;;:::i;:::-;1052:33159;;;;;2915:38;;;;;;-1:-1:-1;;;2915:38:25;;;1052:33159;2915:38;;1052:33159;;;;;;:::i;:::-;2915:38;;;;;;;;;;;-1:-1:-1;;;;;2915:38:25;1052:33159;2915:38;;;;1052:33159;2970:27;;;;1052:33159;;;2970:27;2915:38;;;;1052:33159;2915:38;1052:33159;2915:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1052:33159;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:19;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1052:33159:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:19;;1052:33159:25;;;;5625:4:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25546:9;;;;25595:17;;;25650:7;;;;;:::i;:::-;25691:21;;;:::i;:::-;25668:20;;;1052:33159;;25907:28;;1052:33159;25968:26;1052:33159;25968:26;;;;1052:33159;25968:49;26020:20;;;1052:33159;25968:72;26055:37;;;1052:33159;25968:124;26095:31;;;1052:33159;25968:158;26129:20;;;1052:33159;25968:181;26164:28;;;1052:33159;25968:224;26210:33;1052:33159;;26309:28;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;26309:28;26436:9;26462:54;26364:82;26436:9;26364:82;;;;;:::i;:::-;1052:33159;25668:20;-1:-1:-1;;;;;1052:33159:25;;;26502:13;;1052:33159;26462:54;;:::i;:::-;26461:55;26457:140;;26644:9;1700:4;;26635:41;26631:138;;26842:9;27175:24;26842:9;;;26095:31;26055:37;26842:9;;26933:17;1052:33159;26933:17;;1052:33159;26020:20;26982:23;;;1052:33159;27084:9;1700:4;;27096:25;;1052:33159;1700:4;27054:18;;1052:33159;27190:9;27175:24;;:::i;:::-;27203:3;1052:33159;;;;;;27203:3;1052:33159;;;;;;;27210:3;1052:33159;26020:20;1052:33159;;;;;;25668:20;1052:33159;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;25668:20;1052:33159;;;;;;;;;;;;;;;;24655:51;1052:33159;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;507:19:0;1052:33159:25;;;-1:-1:-1;;;;;1052:33159:25;;-1:-1:-1;1052:33159:25;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;507:55:0;1052:33159:25;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13756:31;;13903:17;-1:-1:-1;;;;;1052:33159:25;13903:17;;13958:7;;;;:::i;:::-;13999:21;;;:::i;:::-;13976:20;;;1052:33159;14051:28;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;14051:28;1052:33159;14031:17;;1052:33159;14093:17;1052:33159;;14089:155;;1052:33159;;;;;;;;;;13976:20;1052:33159;;;;;;;;14089:155;14177:56;;;;;:::i;:::-;14140:93;;14089:155;;;;;;1052:33159;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;;;4820:10:29;;1052:33159:25;;;;;;;;;;;4896:32:29;;;;1052:33159:25;;4983:31:29;;;;-1:-1:-1;;;;;4983:31:29;;;;;;;;:::i;:::-;1052:33159:25;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;4820:10:29;;5029:54;;;1052:33159:25;5111:47:29;;;;:::i;:::-;;1052:33159:25;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;-1:-1:-1;;;;;1052:33159:25;;;:::i;:::-;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;279:74:0;1052:33159:25;;;279:74:0;1052:33159:25;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;1092:197:30;1052:33159:25;;;;;;;;;;;;;;;;;3466:20;;:::i;1052:33159::-;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6841:14;;;6889:20;1052:33159;6889:20;;1052:33159;;;7299:19;;7295:703;;1052:33159;8061:9;;;;;1052:33159;;1700:4;1052:33159;;1700:4;;;8109:48;1052:33159;28196:9;;28239:21;28304:14;1052:33159;31926:20;;1052:33159;;31991:28;;1052:33159;32175:35;1052:33159;32235:23;;;32231:96;;1052:33159;1700:4;3696:5:10;;;;;;:13;;;28725:60:25;-1:-1:-1;;;;;1052:33159:25;28413:17;;1052:33159;;28764:20;1052:33159;28764:20;;1052:33159;1700:4;;;28725:60;:::i;:::-;1700:4;;1052:33159;;28861:23;1052:33159;;-1:-1:-1;;1052:33159:25;-1:-1:-1;;;;;1052:33159:25;;28857:1846;30738:9;1700:4;;;;1052:33159;;;30886:23;;;30882:626;30886:23;;;1052:33159;31119:146;;;;;30882:626;1052:33159;1700:4;;;;31379:40;1700:4;;31379:40;-1:-1:-1;;;;;1052:33159:25;1822:8:29;1052:33159:25;1822:8:29;1052:33159:25;;;1822:8:29;1052:33159:25;;;;1700:4;1052:33159;;;1674:305:29;;31379:40:25;;1052:33159;;;;;;;;;;28857:1846;28973:25;;;;1052:33159;;;29016:1673;;28857:1846;;;;;;29016:1673;29143:9;;;;;;;29273;1052:33159;29273:9;29346:31;;1052:33159;;;29312:160;;;;;;1052:33159;;;;;;;29312:160;;;;;;1052:33159;29312:160;;;1052:33159;29312:160;;1052:33159;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29312:160;;;;;;;29016:1673;-1:-1:-1;29308:901:25;;1204:349:9;;1700:4:25;1204:349:9;;;;29308:901:25;1052:33159;1204:349:9;;1052:33159:25;1204:349:9;;;;1052:33159:25;1204:349:9;;;;;1052:33159:25;1204:349:9;;;1052:33159:25;;;30032:150;;;-1:-1:-1;;;30032:150:25;;1052:33159;30032:150;;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;29308:901:25;30602:68;29308:901;30275:9;1700:4;;30546:9;;1700:4;;1052:33159;;30602:68;;:::i;:::-;29016:1673;;;;;;29312:160;;;;;1052:33159;29312:160;;:::i;:::-;1052:33159;29312:160;;;;;1052:33159;;;3696:13:10;;;;;;32231:96:25;32299:13;;-1:-1:-1;32231:96:25;;7295:703;1052:33159;;;;;-1:-1:-1;;;;;1052:33159:25;;;;378:118:9;;;;7419:8:25;7415:573;;7295:703;;;;;;7415:573;1204:349:9;1700:4:25;1204:349:9;;;;7415:573:25;1700:4;1204:349:9;1052:33159:25;1204:349:9;;1052:33159:25;1204:349:9;;;;1052:33159:25;1204:349:9;;;;1052:33159:25;;1204:349:9;;;1052:33159:25;;7535:25;;;;;;1052:33159;;7535:25;;1700:4;1052:33159;1700:4;;;;:::i;1204:349:9:-;-1:-1:-1;1700:4:25;1204:349:9;;1052:33159:25;;;;;;-1:-1:-1;;1052:33159:25;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;913:10:0;1052:33159:25;;893:19:0;1052:33159:25;;-1:-1:-1;;;;;1052:33159:25;;;893:36:0;1052:33159:25;;;;;;;;893:38:0;1052:33159:25;;893:38:0;:::i;:::-;1052:33159:25;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;:::i;:::-;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;3011:10:29;1052:33159:25;;;;;;;;3040:19:29;;;1052:33159:25;;3127:20:29;;;;1052:33159:25;;;;;;3108:39:29;;1052:33159:25;;;;;;;3219:9:29;;1052:33159:25;;;;;;;3246:9:29;;1052:33159:25;;;3296:26:29;;1052:33159:25;;;;;;;;;;:::i;:::-;;;3127:20:29;1052:33159:25;3374:67:29;;;1052:33159:25;;;;;;;3374:67:29;;;1052:33159:25;;;3374:67:29;;;1052:33159:25;;;-1:-1:-1;3374:67:29;;;1052:33159:25;;;3011:10:29;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;3456:47:29;1052:33159:25;3011:10:29;3456:47;;1052:33159:25;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3010:114::-;1052:33159;;;3097:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3097:20:25;;;3090:27;3010:114;:::o;3097:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1052:33159;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;3010:114;:::o;3097:20::-;;;-1:-1:-1;3097:20:25;;;1052:33159;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1052:33159:25;;;;:::o;:::-;;;:::o;2490:300::-;3445:249:20;2490:300:25;2621:54;;;:::i;:::-;3466:20;;:::i;:::-;1701:13:30;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:30;;;;;;;:::i;:::-;3287:193:10;;;;;;;;1052:33159:25;3287:193:10;1052:33159:25;2195:281:30;-1:-1:-1;;;;;1740:12:30;2195:281;;1052:33159:25;1092:197:30;1052:33159:25;;;3287:193:10;1052:33159:25;;;1740:12:30;;;1052:33159:25;1915:15:30;1052:33159:25;;;1968:23:30;1052:33159:25;;;2030:25:30;1052:33159:25;;;1968:23:30;;;1052:33159:25;;;;;2030:25:30;;;1052:33159:25;2153:23:30;1052:33159:25;;;2083:14:30;1052:33159:25;;;;;;;;;;2195:281:30;;;;;;:::i;:::-;1052:33159:25;5014:47:30;;3287:193:10;3445:249:20;;;;;;;;;;;;;;2490:300:25;:::o;1785:82:30:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:30;3287:193:10;;;;;1785:82:30;;;1181:103:14;;;;637:66;3321:69:18;1413:93:14;;1624:4;637:66;3550:68:18;2223:49:25;1052:33159;;-1:-1:-1;;;2223:49:25;;1052:33159;2223:49;;;1052:33159;;;;;;;;;;;;;;;;2223:49;1413:93:14;1465:30;-1:-1:-1;1465:30:14;;-1:-1:-1;1465:30:14;1052:33159:25;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;2687:179:29:-;2829:30;1052:33159:25;-1:-1:-1;;;;;2777:37:29;2804:9;2777:37;-1:-1:-1;;;;;1052:33159:25;1822:8:29;1052:33159:25;1822:8:29;1052:33159:25;;;1822:8:29;1052:33159:25;;;;1700:4;1052:33159;;;1674:305:29;;2777:37;1052:33159:25;;;;;;;2829:30:29;;2687:179::o;3845:262:19:-;-1:-1:-1;;;;;3938:11:19;1052:33159:25;3929:4:19;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1052:33159:25;;4204:80:19;;;1052:33159:25;2079:95:19;1052:33159:25;;4226:11:19;1052:33159:25;2079:95:19;;1052:33159:25;4239:14:19;2079:95;;;1052:33159:25;4255:13:19;2079:95;;;1052:33159:25;3929:4:19;2079:95;;;1052:33159:25;2079:95:19;4204:80;;;;;;:::i;:::-;1052:33159:25;4194:91:19;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1052:33159:25;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8364:1086::-;8922:23;8364:1086;-1:-1:-1;;;;;8536:13:25;;;:::i;:::-;1052:33159;;;8575:12;;;1052:33159;8575:12;8559:13;;1052:33159;8681:23;;;1052:33159;475:2:30;1052:33159:25;8681:23;1052:33159;475:2:30;;8628:20:25;;;1052:33159;8598:28;;;1052:33159;8744:25;;;1052:33159;8715:26;;;1052:33159;8715:26;8863:14;;1052:33159;475:2:30;1052:33159:25;8681:23;1052:33159;475:2:30;;8810:20:25;;;1052:33159;8780:28;;;1052:33159;8922:23;;;;;:::i;:::-;8959:27;;;8955:489;;8364:1086;;;:::o;8955:489::-;531:2:30;9010:65:25;;531:2:30;;1052:33159:25;413:2:30;1052:33159:25;;;413:2:30;;8628:20:25;413:2:30;;475;1052:33159:25;-1:-1:-1;1052:33159:25;;413:2:30;1052:33159:25;;475:2:30;;531;1052:33159:25;;;475:2:30;;4562:76;;1052:33159:25;475:2:30;8681:23:25;475:2:30;;8744:25:25;9205:31;;1052:33159;8681:23;475:2:30;;8681:23:25;9166:37;;1052:33159;9340:23;;531:2:30;;8922:23:25;9404:17;1052:33159;8364:1086::o;531:2:30:-;;8598:28:25;1052:33159;-1:-1:-1;;;531:2:30;;8575:12:25;531:2:30;;;;;475;531;;1052:33159:25;531:2:30;1052:33159:25;;;531:2:30;;;;8598:28:25;1052:33159;-1:-1:-1;;;531:2:30;;8575:12:25;531:2:30;;;;;;;;1052:33159:25;531:2:30;1052:33159:25;;;531:2:30;;16665:974:25;;;;;16930:9;16983:14;;;17031:17;-1:-1:-1;;;;;17031:17:25;;;1052:33159;;17088:14;17121:48;17088:14;;;1052:33159;;;17121:48;;:::i;:::-;17120:49;17116:146;;-1:-1:-1;;;;;;17031:17:25;17993:91;17308:37;;;17993:91;17308:37;;;;1052:33159;33435:67;17993:91;17088:14;33435:67;18049:17;;;;;;1052:33159;;;17993:91;18049:17;17993:91;;;;;;;;;:::i;:::-;;1052:33159;;17993:91;;;;;;:::i;:::-;18114:14;:24;1052:33159;;18384:1229;;;;;;;;;;;-1:-1:-1;18384:1229:25;;;;;;17088:14;18384:1229;;;;;19651:8;;1052:33159;;;19651:31;;16665:974;19651:72;;;;;16665:974;19647:205;;;1052:33159;;;;;;4020:413:10;;;17088:14:25;4020:413:10;17359:101:25;17487:9;;1700:4;;17478:43;17474:149;;16665:974;;:::o;17474:149::-;17548:60;;;-1:-1:-1;;;17548:60:25;;;;;1052:33159;17088:14;17993:91;1052:33159;;;;;;;;;;;;;;;;;;17548:60;19647:205;1204:349:9;;1700:4:25;1204:349:9;;;;19647:205:25;17088:14;1204:349:9;;18049:17:25;1204:349:9;;;;17088:14:25;1204:349:9;;;;-1:-1:-1;18049:17:25;1204:349:9;;;1052:33159:25;17088:14;1052:33159;19750:87;;;-1:-1:-1;;;19750:87:25;;17993:91;19750:87;;1052:33159;;17993:91;1052:33159;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;19651:72:25;18384:1229;;19702:2;18384:1229;;;;1700:4;;19686:37;19651:72;;;:31;17088:14;19663:19;;;-1:-1:-1;19651:31:25;;;17116:146;17196:51;1052:33159;17088:14;1052:33159;17196:51;-1:-1:-1;;;17196:51:25;;;;;1052:33159;17088:14;1052:33159;;;;;;;;;;;;;;17196:51;896:503:27;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;1052:33159:25;2688:113:27;;;1052:33159:25;2688:113:27;1052:33159:25;;;;;2939:36:27;2935:241;;-1:-1:-1;3222:2:27;1052:33159:25;;1230:2:27;1211:21;;1230:2;;-1:-1:-1;;1042:15:27;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1265:26:27;;;1052:33159:25;;;1230:2:27;1265:26;;;;;1052:33159:25;1265:26:27;:::i;1207:186::-;1052:33159:25;1230:2:27;1052:33159:25;;;1042:15:27;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1340:41:27;;;;1052:33159:25;;;1340:41:27;;1052:33159:25;1340:41:27;;1052:33159:25;;1340:41:27;-1:-1:-1;;1052:33159:25;;;1230:2:27;1052:33159:25;;;;;;;;;;;;1340:41:27;;1052:33159:25;;1340:41:27;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;1052:33159:25;-1:-1:-1;;;3131:34:27;;449:8;3131:34;;;449:8;;;;;1052:33159:25;449:8:27;1052:33159:25;;;449:8:27;3131:34;449:8;;1042:15;1052:33159:25;-1:-1:-1;;;449:8:27;;;;;;;;;;;1052:33159:25;449:8:27;1052:33159:25;;;449:8:27;;1067:68;1116:8;;;1052:33159:25;1116:8:27;:::o;12490:1091:25:-;;;;;;12817:14;;1052:33159;-1:-1:-1;;;;;12975:17:25;1052:33159;;;;12929:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12975:17;1052:33159;;13006:31;-1:-1:-1;13055:23:25;;13051:182;;;;12490:1091;-1:-1:-1;15240:17:25;15039:14;;15195:85;15039:14;15195:85;-1:-1:-1;;;;;15039:14:25;;;1052:33159;;15070:12;12929:11;33435:67;15240:17;;;;1052:33159;15195:85;;;;;;;;;;;:::i;:::-;;1052:33159;;15195:85;;;;;;:::i;:::-;15294:326;;;;;;;;-1:-1:-1;15294:326:25;;15240:17;15294:326;;;;12490:1091;33718:66;12929:11;33718:66;15685:8;15681:286;;13246:100;;;13360:205;;;12490:1091;;;:::o;13360:205::-;13412:45;;;:::i;:::-;13411:46;13407:144;;12490:1091;:::o;13407:144::-;13488:44;1052:33159;12929:11;1052:33159;13488:44;-1:-1:-1;;;13488:44:25;;;;;1052:33159;12929:11;15195:85;1052:33159;;;;;;;;;;;;;13488:44;15681:286;15713:18;;;;;;15763:46;1052:33159;12929:11;1052:33159;15763:46;-1:-1:-1;;;15763:46:25;;15195:85;15763:46;;1052:33159;12929:11;15195:85;1052:33159;;;;;;;;;;;;;15763:46;15709:248;1204:349:9;;1700:4:25;1204:349:9;;;;15709:248:25;-1:-1:-1;1204:349:9;15240:17:25;1204:349:9;;;;12929:11:25;1204:349:9;;;;;1052:33159:25;12929:11;1052:33159;15855:87;;;-1:-1:-1;;;15855:87:25;;15195:85;15855:87;;1052:33159;;15195:85;1052:33159;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;15294:326:25;;-1:-1:-1;15294:326:25;;13051:182;1052:33159;;;15240:17;-1:-1:-1;1052:33159:25;;;;;;;;12929:11;1052:33159;;;13169:21;;;;;;;:49;15195:85;13169:49;;13051:182;;;;;;;;;;13169:49;15195:85;1700:4;;;13169:49;;1187:234:0;-1:-1:-1;;;;;1052:33159:25;-1:-1:-1;1052:33159:25;1373:19:0;1052:33159:25;;1317:2:0;-1:-1:-1;1052:33159:25;-1:-1:-1;;;;;1052:33159:25;1317:2:0;1052:33159:25;;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;1373:34:0;;;;:::i;:::-;1052:33159:25;;;1373:41:0;1187:234;:::o;33796:413:25:-;;1947:5;1700:4;;33931:43;;;33927:90;;34152:3;1700:4;1833:2;1700:4;;1052:33159;;33796:413;:::o;33927:90::-;33994:8;;1052:33159;33994:8;:::o;2250:397:29:-;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;2484:23:29;;;2480:74;;1700:4:25;1052:33159;;2626:4:29;2250:397;:::o;1052:33159:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;;:::o;1712:551:27:-;;1826:1;-1:-1:-1;1804:62:27;;2015:95;-1:-1:-1;;413:2:30;1052:33159:25;2207:49:27;;1712:551::o;1804:62::-;1843:12;1052:33159:25;1843:12:27;:::o;10332:1671:25:-;;;;;10501:1;10482:20;;10478:1519;;10332:1671;;;;;;:::o;10478:1519::-;-1:-1:-1;;;;;10535:14:25;;1052:33159;;10574:43;;;;;:::i;:::-;10570:495;;11082:18;;11078:121;;11234:2;11216:20;;11212:110;;11353:15;1052:33159;-1:-1:-1;;;;;11353:15:25;;:::i;:::-;1052:33159;11387:35;:14;;:35;1052:33159;11387:35;1052:33159;11353:80;;;;-1:-1:-1;;;11353:80:25;;;;;;1052:33159;;;;;;;;;;:::i;:::-;11353:80;;;;;;;;;;;;10478:1519;1052:33159;-1:-1:-1;;;;;1052:33159:25;;11451:21;;11447:115;;11579:17;;11575:116;;11708:19;:24;11704:123;;1052:33159;11234:2;1052:33159;;;11909:77;11866:23;11387:35;11866:23;413:2:30;;-1:-1:-1;;;;;1052:33159:25;;11925:17;;1052:33159;11961:14;;:24;1052:33159;;-1:-1:-1;;;;;1052:33159:25;;413:2:30;;;;1052:33159:25;;;;;;11909:77;10478:1519;;;;;;;11704:123;11759:53;1052:33159;11387:35;1052:33159;11759:53;-1:-1:-1;;;11759:53:25;;11353:80;11759:53;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11759:53;11575:116;11623:53;1052:33159;11387:35;1052:33159;11623:53;-1:-1:-1;;;11623:53:25;;11353:80;11623:53;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11623:53;11447:115;11499:48;1052:33159;11387:35;1052:33159;11499:48;-1:-1:-1;;;11499:48:25;;11353:80;11499:48;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11499:48;11353:80;;;;1052:33159;11353:80;1052:33159;11353:80;;;;;;;:::i;:::-;;;;;11387:35;1052:33159;;;;;;;;11212:110;11263:44;1052:33159;;;11263:44;-1:-1:-1;;;11263:44:25;;;;;1052:33159;;;;;;;;;;;;;;;;11263:44;11078:121;11132:52;1052:33159;;;11132:52;-1:-1:-1;;;11132:52:25;;;;;1052:33159;;;;;;;;;;;;;;;;11132:52;10570:495;10641:20;;;;10659:2;10641:20;;10637:390;;10570:495;11044:7;;;;:::o;10637:390::-;10949:35;-1:-1:-1;;;;;10910:15:25;;:::i;:::-;1052:33159;10949:14;;:35;1052:33159;;;10659:2;1052:33159;;;10910:98;;;;;10501:1;1052:33159;;;;10949:35;1052:33159;10910:98;;;;;;;1052:33159;10910:98;;;;;1052:33159;10949:35;1052:33159;;;;10659:2;1052:33159;;;;;;;;;;:::i;:::-;10910:98;;;;;;;;;10637:390;;;;;;10910:98;10501:1;10910:98;;;:::i;:::-;10501:1;10910:98;;3358:267:15;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1052:33159:25;;;;;;;:::i;:::-;2311:2:15;1052:33159:25;;;;;;;;;;;2324:106:15;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:15;;-1:-1:-1;2713:20:15;3477:142;1052:33159:25;;;-1:-1:-1;6126:13:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1052:33159:25;;;;;;1390:66:15;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1052:33159:25;;1390:66:15;1052:33159:25;;;;;1390:66:15;1052:33159:25;;;1390:66:15;;;;;;;;;;;-1:-1:-1;;;;1390:66:15;;;;;-1:-1:-1;1390:66:15;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1052:33159:25;;;;;;;:::i;3477:142:15:-;1052:33159:25;;;-1:-1:-1;6584:16:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1052:33159:25;;;;;;1390:66:15;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1846":[{"start":7689,"length":32}],"1848":[{"start":7878,"length":32}],"1850":[{"start":7642,"length":32}],"1852":[{"start":7768,"length":32}],"1854":[{"start":7806,"length":32}],"1857":[{"start":2450,"length":32}],"1860":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":"dbed18e0","handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)":"765e827f","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/a5ngpwSm/\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0x803b9b1433ce63a76d5c8953a25adfe964fe8ee99d4a35c244a115e020091d2e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5411e5df0e64d0a95bc305fb9367f72ed3e2ccf153e2040cafde7fef92a9a9e7\",\"dweb:/ipfs/QmQj1cRPW7du7H9g5xKyz85tjhYFosaJijCz65CYr8xUs7\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"PostOpRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"UserOperationPrefundTooLow","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation[]","name":"userOps","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleOps"},{"inputs":[{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"See {IERC-5267}."},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"getNonce(address,uint192)":{"params":{"key":"the high 192 bit of the nonce","sender":"the account address"},"returns":{"nonce":"a full nonce to pass for next UserOp with this sender."}},"getSenderAddress(bytes)":{"params":{"initCode":"- The constructor code to be passed into the UserOperation."}},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"params":{"userOp":"- The user operation to generate the request ID for."},"returns":{"_0":"hash the hash of this UserOperation"}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"delegateAndRevert(address,bytes)":{"notice":"Helper method for dry-run testing."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"getNonce(address,uint192)":{"notice":"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order."},"getSenderAddress(bytes)":{"notice":"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error"},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid."},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"notice":"Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol":{"keccak256":"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78","urls":["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020","dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c","urls":["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577","dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0x803b9b1433ce63a76d5c8953a25adfe964fe8ee99d4a35c244a115e020091d2e","urls":["bzz-raw://5411e5df0e64d0a95bc305fb9367f72ed3e2ccf153e2040cafde7fef92a9a9e7","dweb:/ipfs/QmQj1cRPW7du7H9g5xKyz85tjhYFosaJijCz65CYr8xUs7"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":25}
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getSenderAddress","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getUserOpHash","inputs":[{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"handleAggregatedOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct IEntryPoint.UserOpsPerAggregator[]","components":[{"name":"userOps","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"aggregator","type":"address","internalType":"contract IAggregator"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","type":"tuple[]","internalType":"struct PackedUserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"PostOpRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationPrefundTooLow","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e559081610436823960805181611e08015260a05181611ec5015260c05181611dd9015260e05181611e5701526101005181611e7d01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea26469706673582212208540fc57b4bbdffc7dc8e1b4d317c55f5adfdbd8c8e186b6a1b40eb9967bae2864736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;:::i;:::-;1977:9;1031:33023;;;1977:9;;;-1:-1:-1;;;1977:9:27;;3401:45:20;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1031:33023:27;3542:22:20;;3528:36;;;;1031:33023:27;3591:25:20;;3574:42;;;3644:13;3627:30;;1031:33023:27;;4204:80:20;1031:33023:27;4204:80:20;;2079:95;;;;1031:33023:27;2079:95:20;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;2079:95;3667:48;4278:4;4204:80;3725:27;1031:33023:27;;;;;;;;2079:95:20;1031:33023:27;;;;;3627:30:20;1031:33023:27;;;;;4204:80:20;1031:33023:27;;;;;3528:36:20;1031:33023:27;;;;;3574:42:20;1031:33023:27;;;;;3393:53:20;1031:33023:27;;;;;3456:62:20;1031:33023:27;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;1031:33023:27:-;;;;3032:2:16;1031:33023:27;;;;;1949:36:16;3050:27;:::o;1836:72::-;1031:33023:27;3032:2:16;1031:33023:27;;;1879:18:16;;;;;;;;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;1854:2:16;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1879:18:16;;;;3006:215;-1:-1:-1;;;;;1031:33023:27;;;;3432:13:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3432:13:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3432:13:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:16;;1031:33023:27;;3032:2:16;3010:24;;3006:215;3032:2;;;1031:33023:27;;1854:2:16;1031:33023:27;;1840:16:16;1836:72;;3032:2;1031:33023:27;;;;2079:95:20;3032:2:16;1031:33023:27;;;;1949:36:16;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1031:33023:27;;;;3501:16:20;1031:33023:27;;;;;;;;;;;3006:215:16;3032:2;1031:33023:27;;;;;;;;;;3006:215:16;1031:33023:27;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;1390:66:16;3168:42;:::o;1031:33023:27:-;;;;;;;3501:16:20;1031:33023:27;;;;;;;;;;;;;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;3501:16:20;1031:33023:27;;;3032:2:16;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d76565b005b5f905f3560e01c9081630396cb60146114d55750806309ccb880146114aa5780630bd28e3b146114595780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199e565b91611c58565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179c565b126104cd576040516101ae816117cc565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f32565b6040519961027b84611b2c565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248a565b986103216001600160a01b038651166020870151906126c5565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120aa565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186d565b611d76565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2a565b6001600160a01b0361088f611a58565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d56565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117e9565b810190611d37565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186d565b5060243567ffffffffffffffff81116104d557610973903690600401611a2a565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0d565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d4f565b906020610a42604051936109f483866117e9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a06565b908682036040880152611a06565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186d565b1681528083522054604051908152f35b503461013e57610ae536611897565b9190915a92815193610af78583611f32565b610b0082611b2c565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248a565b9760206001600160a01b03825116910151906126c5565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186d565b8260808551610c778161179c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186d565b916001600160a01b03610d4d611786565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2c565b604051908152f35b503461013e57606090610ddd36611897565b908392935082936001600160a01b0360e08451610dfa8186611f32565b610e0385611b2c565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120aa565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186d565b926001600160a01b03610fc9611786565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dcf565b50346113bb576102203660031901126113bb5760043567ffffffffffffffff81116113bb57611072903690600401611827565b3660231901906101c082126113bb57610140604051926110918461179c565b126113bb576040516110a2816117cc565b6024356001600160a01b03811681036113bb57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113bb5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113bb5761115f903690600401611827565b908251906060820151815190816113cd575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54806113c7575048905b01808210156113bf5750935b6111e86001600160a01b0360e08401511693606084015190830361270c565b01925f928061126e575050516001600160a01b0316935b5a900301010292518381105f14611238576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112619203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611282575b5050506111ff565b9197509192505a9660a05a930191825190823b156113bb575f916112e491836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a06565b8d8d0260448301528d60648301520393f190816113a6575b5061138a573d896108008211611380575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061130d565b61139d915a9003965a900390519061270c565b905f808061127a565b6113b3919a505f906117e9565b5f985f6112fc565b5f80fd5b9050936111c9565b906111bd565b5f80949360206001600160a01b0383965116910192f1156113f1575f808080611171565b3d6108008111611450575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a06565b506108006113fc565b346113bb5760203660031901126113bb576004356001600160c01b03811681036113bb57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a68154611ae2565b9055005b346113bb575f3660031901126113bb5760206114c4611a58565b6001600160a01b0360405191168152f35b60203660031901126113bb5760043563ffffffff81168091036113bb57335f525f60205260405f209181156117445750600182015463ffffffff8160781c168210611700576dffffffffffffffffffffffffffff9060081c16913483018093116116ec5782156116a8576dffffffffffffffffffffffffffff83116116645754604051611631916115658261179c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113bb57565b60a0810190811067ffffffffffffffff8211176117b857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b857604052565b90601f8019910116810190811067ffffffffffffffff8211176117b857604052565b67ffffffffffffffff81116117b857601f01601f191660200190565b81601f820112156113bb5780359061183e8261180b565b9261184c60405194856117e9565b828452602083830101116113bb57815f926020809301838601378301015290565b600435906001600160a01b03821682036113bb57565b35906001600160a01b03821682036113bb57565b6102006003198201126113bb576004359160243567ffffffffffffffff81116113bb5761012081840360031901126113bb57600401916043190160446101c082126113bb57610140604051926118ec8461179c565b126113bb576101a090604051611901816117cc565b61190a82611883565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195460e08301611883565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113bb5760043567ffffffffffffffff81116113bb5760040182601f820112156113bb5780359267ffffffffffffffff84116113bb576020808301928560051b0101116113bb5791906024356001600160a01b03811681036113bb5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113bb5782359167ffffffffffffffff83116113bb57602083818601950101116113bb57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad7575f91611a98575090565b90506020813d602011611acf575b81611ab3602093836117e9565b810103126113bb57516001600160a01b03811681036113bb5790565b3d9150611aa6565b6040513d5f823e3d90fd5b5f1981146116ec5760010190565b919082039182116116ec57565b3d15611b27573d90611b0e8261180b565b91611b1c60405193846117e9565b82523d5f602084013e565b606090565b604290611b38816122f0565b611b40611dcf565b91611b4a81611eeb565b918015611c3b57905b60c0611b626060830183611eff565b90816040519182372091611b7960e0820182611eff565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c03610140826117e9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c496040820182611eff565b90816040519182372090611b53565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d0f5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113bb57516001600160a01b03811681036113bb5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec2575b15611e2a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebc60c0826117e9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e01565b356001600160a01b03811681036113bb5790565b903590601e19813603018212156113bb570180359067ffffffffffffffff82116113bb576020019181360383136113bb57565b611fb6906001600160a01b03611f4782611eeb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611eff565b919082611fc257505050565b6034831061206657826014116113bb57803560601c92602481106113bb576014820135906034116113bb576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120225760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d2604083019384519061272b565b156122a4575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461213f608085960151966121316040519c8d926020860151905191602085019d8e5260248501612782565b03601f1981018c528b6117e9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612298575b508115612286575b506121fd57601f801991011601928360405294955a90031161218e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b6108009150612209565b9050601f605f1983019101105f61216e565b6040141591505f612166565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fd6040820182611eff565b90916123098284612864565b156124835761231790611eeb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f5575060181b91601482116123a35750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebc6034826117e9565b816014116113bb576040516bffffffffffffffffffffffff199093166020848101918252909392611ebc92849190601319820190601401603484013781015f838201520301601f1981018352826117e9565b3b1561243f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124b96124b16040860186611eff565b908c8b6128a6565b015116915f9215978861268b575b5f60209392612527836125196001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612782565b03601f1981018752866117e9565b838287875193f1925f519360203d03612684575b83604052156125ae575050509461255157505050565b61255a9161272b565b156125625750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126025760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a06565b610800915061260e565b505f61253b565b92509060205f8193878252818352604082205487811183146126ba5750612527825b96935050929350506124c7565b6125279088036126ad565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270584611ae2565b9055161490565b90619c40820181111561272557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248357039055600190565b9035601e19823603018112156113bb57016020813591019167ffffffffffffffff82116113bb5781360383136113bb57565b61285a60409295949395606083526001600160a01b036127a182611883565b1660608401526020810135608084015261284761283b6127fb6127dc6127c988860186612750565b61012060a08a0152610180890191611d56565b6127e96060860186612750565b888303605f190160c08a015290611d56565b608084013560e087015260a084013561010087015260c084013561012087015261282860e0850185612750565b878303605f190161014089015290611d56565b91610100810190612750565b848303605f190161016086015290611d56565b9460208201520152565b906002116128a157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128b9575b5050505050565b6001600160a01b0384515116946128d08285612864565b612b5b57853b612b0f5760148210612ac3578260206001600160a01b036128f5611a58565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129238c8b6024840191611d56565b0393f1908115612ab8578491612a99575b506001600160a01b0381168015612a4d578703612a01573b156129b5575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b2565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab2915060203d6020116109265761091881836117e9565b5f612934565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6e575b50505050565b60406001600160a01b03612b80611a58565b169351015190826014116113bb57833b156113bb575f8094612be796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d56565b0393f18015611ad757612bfd575b808080612b68565b5f612c07916117e9565b5f612bf5565b60ff8114612c6c5760ff811690601f8211612c445760405191612c316040846117e9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d45575b602084108314612d31578385528492908115612d125750600114612cb3575b612cb0925003826117e9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf6575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612cde565b60209250612cb094915060ff191682840152151560051b820101612ca4565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c85565b60ff8114612d735760ff811690601f8211612c445760405191612c316040846117e9565b506040515f6003548060011c9160018216918215612e15575b602084108314612d31578385528492908115612d125750600114612db657612cb0925003826117e9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612df9575050906020612cb092820101612ca4565b6020919350806001915483858801015201910190918392612de1565b92607f1692612d8c56fea26469706673582212208540fc57b4bbdffc7dc8e1b4d317c55f5adfdbd8c8e186b6a1b40eb9967bae2864736f6c634300081c0033","sourceMap":"1031:33023:27:-:0;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;1441:10:31;;;:::i;:::-;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25999:20;1031:33023;25999:20;;;1031:33023;;;;;2102:156;1031:33023;2102:156;;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2264:167;;:::i;1031:33023::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23141:31;23244:9;;23293:17;;;23348:7;;;;;:::i;:::-;1031:33023;33278:67;23513:21;;;;:::i;:::-;1031:33023;;33561:66;1031:33023;33561:66;1031:33023;23763:28;;1031:33023;23824:26;1031:33023;23824:26;1031:33023;23824:26;;1031:33023;23824:49;1031:33023;23876:20;;1031:33023;23824:72;1031:33023;23911:37;;1031:33023;23824:124;1031:33023;23951:31;;1031:33023;23824:158;1031:33023;23985:20;;1031:33023;23824:181;1031:33023;24020:28;;1031:33023;23824:224;24066:33;1031:33023;;24184:28;24296:108;24184:28;;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;24184:28;1031:33023;;;;3472:23:32;;1031:33023:27;;;24296:108;;;;;:::i;:::-;1031:33023;24423:54;-1:-1:-1;;;;;1031:33023:27;;;;24463:13;;1031:33023;24423:54;;:::i;:::-;1031:33023;;;24575:9;1679:4;;24566:41;24562:138;;1031:33023;24773:9;-1:-1:-1;;;;;1031:33023:27;24773:9;24796:17;;1031:33023;;24796:31;;:62;;;;1031:33023;24792:186;;;1031:33023;25036:9;;;25021:24;25036:9;;25021:24;;:::i;:::-;1031:33023;25049:3;1031:33023;;;;;;25049:3;1031:33023;;;;;;;;;;;;;;;;;;;25195:9;1679:4;;25207:25;;1031:33023;1679:4;1031:33023;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;24792:186;25021:24;24911:56;;;;;;;:::i;:::-;24874:93;;24792:186;;;;;;24796:62;;;;;;24562:138;1031:33023;;;-1:-1:-1;;;24634:51:27;;1031:33023;24634:51;;1031:33023;;;;;;;;;;;;;;;;;;;;;;24634:51;;;;1031:33023;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;4109:10:31;1031:33023:27;;;;;4146:10:31;1031:33023:27;;;4146:10:31;1031:33023:27;;;;;;;;4174:9:31;;;1031:33023:27;;;;;;4226:21:31;;1031:33023:27;;4320:15:31;-1:-1:-1;1031:33023:27;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;4109:10:31;;4471:50;;;1031:33023:27;4549:38:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:31;1031:33023:27;;;;;3657:20:31;1031:33023:27;;;3657:20:31;1031:33023:27;;;;;;;3657:25:31;;;1031:33023:27;;;;;;;;3787:15:31;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;3628:10:31;;3912:39;;1031:33023:27;;3912:39:31;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:15:27;;:::i;:::-;1031:33023;;;;;2894:38;;;;;;-1:-1:-1;;;2894:38:27;;;1031:33023;2894:38;;1031:33023;;;;;;:::i;:::-;2894:38;;;;;;;;;;;-1:-1:-1;;;;;2894:38:27;1031:33023;2894:38;;;;1031:33023;2949:27;;;;1031:33023;;;2949:27;2894:38;;;;1031:33023;2894:38;1031:33023;2894:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1031:33023;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:20;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1031:33023:27;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:20;;1031:33023:27;;;;5625:4:20;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25525:9;;;;25574:17;;;25629:7;;;;;:::i;:::-;25670:21;;;:::i;:::-;25647:20;;;1031:33023;;25886:28;;1031:33023;25947:26;1031:33023;25947:26;;;;1031:33023;25947:49;25999:20;;;1031:33023;25947:72;26034:37;;;1031:33023;25947:124;26074:31;;;1031:33023;25947:158;26108:20;;;1031:33023;25947:181;26143:28;;;1031:33023;25947:224;26189:33;1031:33023;;26288:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;26288:28;26415:9;26441:54;26343:82;26415:9;26343:82;;;;;:::i;:::-;1031:33023;25647:20;-1:-1:-1;;;;;1031:33023:27;;;26481:13;;1031:33023;26441:54;;:::i;:::-;26440:55;26436:140;;26623:9;1679:4;;26614:41;26610:138;;26821:9;27154:24;26821:9;;;26074:31;26034:37;26821:9;;26912:17;1031:33023;26912:17;;1031:33023;25999:20;26961:23;;;1031:33023;27063:9;1679:4;;27075:25;;1031:33023;1679:4;27033:18;;1031:33023;27169:9;27154:24;;:::i;:::-;27182:3;1031:33023;;;;;;27182:3;1031:33023;;;;;;;27189:3;1031:33023;25999:20;1031:33023;;;;;;25647:20;1031:33023;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;25647:20;1031:33023;;;;;;;;;;;;;;;;24634:51;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;507:19:0;1031:33023:27;;;-1:-1:-1;;;;;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;507:55:0;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13735:31;;13882:17;-1:-1:-1;;;;;1031:33023:27;13882:17;;13937:7;;;;:::i;:::-;13978:21;;;:::i;:::-;13955:20;;;1031:33023;14030:28;;10020:20;9803:28;;;1031:33023;9834:20;;;1031:33023;1679:4;9873:37;;;1031:33023;1679:4;9913:31;;;1031:33023;1679:4;9947:26;;;1031:33023;1679:4;10020:20;;1031:33023;;9633:424;;14030:28;1031:33023;14010:17;;1031:33023;14072:17;1031:33023;;14068:155;;1031:33023;;;;;;;;;;13955:20;1031:33023;;;;;;;;14068:155;14156:56;;;;;:::i;:::-;14119:93;;14068:155;;;;;;1031:33023;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;:::i;:::-;;;4820:10:31;;1031:33023:27;;;;;;;;;;;4896:32:31;;;;1031:33023:27;;4983:31:31;;;;-1:-1:-1;;;;;4983:31:31;;;;;;;;:::i;:::-;1031:33023:27;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;4820:10:31;;5029:54;;;1031:33023:27;5111:47:31;;;;:::i;:::-;;1031:33023:27;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;-1:-1:-1;;;;;1031:33023:27;;:::i;:::-;;;;;279:74:0;1031:33023:27;;;279:74:0;1031:33023:27;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;1092:197:32;1031:33023:27;;;;;;;;;;;;;;;;;3445:20;;:::i;1031:33023::-;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6820:14;;;6868:20;1031:33023;6868:20;;1031:33023;;;7278:19;;7274:703;;1031:33023;8040:9;;;;;1031:33023;;1679:4;1031:33023;;1679:4;;;8088:48;1031:33023;28175:9;;28283:14;;1031:33023;31905:20;;1031:33023;;31970:28;;1031:33023;405:35:26;1031:33023:27;2102:12:26;;;2117:13;;2102:38;;1679:4:27;3696:5:10;;;;;;:13;;;28704:60:27;-1:-1:-1;;;;;1031:33023:27;28392:17;;1031:33023;;28743:20;1031:33023;28743:20;;1031:33023;1679:4;;;28704:60;:::i;:::-;1679:4;;1031:33023;;28840:23;1031:33023;;-1:-1:-1;;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;;28836:1846;30717:9;1679:4;;;;1031:33023;;;30865:23;;;30861:626;30865:23;;;1031:33023;31098:146;;;;;30861:626;1031:33023;1679:4;;;;31358:40;1679:4;;31358:40;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;31358:40:27;;1031:33023;;;;;;;;;;28836:1846;28952:25;;;;1031:33023;;;28995:1673;;28836:1846;;;;;;28995:1673;29122:9;;;;;;;29252;1031:33023;29252:9;29325:31;;1031:33023;;;29291:160;;;;;;1031:33023;;;;;;;29291:160;;;;;;1031:33023;29291:160;;;1031:33023;29291:160;;1031:33023;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29291:160;;;;;;;28995:1673;-1:-1:-1;29287:901:27;;1204:349:9;;1679:4:27;1204:349:9;;;;29287:901:27;1031:33023;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;;1031:33023:27;1204:349:9;;;1031:33023:27;;;30011:150;;;-1:-1:-1;;;30011:150:27;;1031:33023;30011:150;;1031:33023;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;29287:901:27;30581:68;29287:901;30254:9;1679:4;;30525:9;;1679:4;;1031:33023;;30581:68;;:::i;:::-;28995:1673;;;;;;29291:160;;;;;1031:33023;29291:160;;:::i;:::-;1031:33023;29291:160;;;;;1031:33023;;;3696:13:10;;;;;;2102:38:26;;;;7274:703:27;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;378:118:9;;;;7398:8:27;7394:573;;7274:703;;;;;;7394:573;1204:349:9;1679:4:27;1204:349:9;;;;7394:573:27;1679:4;1204:349:9;1031:33023:27;1204:349:9;;1031:33023:27;1204:349:9;;;;1031:33023:27;1204:349:9;;;;1031:33023:27;;1204:349:9;;;1031:33023:27;;7514:25;;;;;;1031:33023;;7514:25;;1679:4;1031:33023;1679:4;;;;:::i;1204:349:9:-;-1:-1:-1;1679:4:27;1204:349:9;;1031:33023:27;;;;;;-1:-1:-1;;1031:33023:27;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;913:10:0;1031:33023:27;;893:19:0;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;893:36:0;1031:33023:27;;;;;;;;893:38:0;1031:33023:27;;893:38:0;:::i;:::-;1031:33023:27;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;3011:10:31;1031:33023:27;;;;;;;;3040:19:31;;;1031:33023:27;;3127:20:31;;;;1031:33023:27;;;;;;3108:39:31;;1031:33023:27;;;;;;;3219:9:31;;1031:33023:27;;;;;;;3246:9:31;;1031:33023:27;;;3296:26:31;;1031:33023:27;;;;;;;;;;:::i;:::-;;;3127:20:31;1031:33023:27;3374:67:31;;;1031:33023:27;;;;;;;3374:67:31;;;1031:33023:27;;;3374:67:31;;;1031:33023:27;;;-1:-1:-1;3374:67:31;;;1031:33023:27;;;3011:10:31;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;3456:47:31;1031:33023:27;3011:10:31;3456:47;;1031:33023:27;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1031:33023:27;;;;;;:::o;:::-;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1031:33023:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2989:114::-;1031:33023;;;3076:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3076:20:27;;;3069:27;2989:114;:::o;3076:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1031:33023;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;2989:114;:::o;3076:20::-;;;-1:-1:-1;3076:20:27;;;1031:33023;;;;;;;;;;-1:-1:-1;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1031:33023:27;;;;:::o;:::-;;;:::o;2469:300::-;3445:249:21;2469:300:27;2600:54;;;:::i;:::-;3445:20;;:::i;:::-;1701:13:32;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:32;;;;;;;:::i;:::-;3287:193:10;;;;;;;;1031:33023:27;3287:193:10;1031:33023:27;2195:281:32;-1:-1:-1;;;;;1740:12:32;2195:281;;1031:33023:27;1092:197:32;1031:33023:27;;;3287:193:10;1031:33023:27;;;1740:12:32;;;1031:33023:27;1915:15:32;1031:33023:27;;;1968:23:32;1031:33023:27;;;2030:25:32;1031:33023:27;;;1968:23:32;;;1031:33023:27;;;;;2030:25:32;;;1031:33023:27;2153:23:32;1031:33023:27;;;2083:14:32;1031:33023:27;;;;;;;;;;2195:281:32;;;;;;:::i;:::-;1031:33023:27;5014:47:32;;3287:193:10;3445:249:21;;;;;;;;;;;;;;2469:300:27;:::o;1785:82:32:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:32;3287:193:10;;;;;1785:82:32;;;1181:103:15;;;;637:66;3321:69:19;1413:93:15;;1624:4;637:66;3550:68:19;2202:49:27;1031:33023;;-1:-1:-1;;;2202:49:27;;1031:33023;2202:49;;;1031:33023;;;;;;;;;;;;;;;;2202:49;1413:93:15;1465:30;-1:-1:-1;1465:30:15;;-1:-1:-1;1465:30:15;1031:33023:27;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1031:33023:27;;;;;;;;-1:-1:-1;;1031:33023:27;;;;:::o;2687:179:31:-;2829:30;1031:33023:27;-1:-1:-1;;;;;2777:37:31;2804:9;2777:37;-1:-1:-1;;;;;1031:33023:27;1822:8:31;1031:33023:27;1822:8:31;1031:33023:27;;;1822:8:31;1031:33023:27;;;;1679:4;1031:33023;;;1674:305:31;;2777:37;1031:33023:27;;;;;;;2829:30:31;;2687:179::o;3845:262:20:-;-1:-1:-1;;;;;3938:11:20;1031:33023:27;3929:4:20;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1031:33023:27;;4204:80:20;;;1031:33023:27;2079:95:20;1031:33023:27;;4226:11:20;1031:33023:27;2079:95:20;;1031:33023:27;4239:14:20;2079:95;;;1031:33023:27;4255:13:20;2079:95;;;1031:33023:27;3929:4:20;2079:95;;;1031:33023:27;2079:95:20;4204:80;;;;;;:::i;:::-;1031:33023:27;4194:91:20;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1031:33023:27;;-1:-1:-1;;;;;1031:33023:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8343:1086::-;8901:23;8343:1086;-1:-1:-1;;;;;8515:13:27;;;:::i;:::-;1031:33023;;;8554:12;;;1031:33023;8554:12;8538:13;;1031:33023;8660:23;;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8607:20:27;;;1031:33023;8577:28;;;1031:33023;8723:25;;;1031:33023;8694:26;;;1031:33023;8694:26;8842:14;;1031:33023;475:2:32;1031:33023:27;8660:23;1031:33023;475:2:32;;8789:20:27;;;1031:33023;8759:28;;;1031:33023;8901:23;;;;;:::i;:::-;8938:27;;;8934:489;;8343:1086;;;:::o;8934:489::-;531:2:32;8989:65:27;;531:2:32;;1031:33023:27;413:2:32;1031:33023:27;;;413:2:32;;8607:20:27;413:2:32;;475;1031:33023:27;-1:-1:-1;1031:33023:27;;413:2:32;1031:33023:27;;475:2:32;;531;1031:33023:27;;;475:2:32;;4562:76;;1031:33023:27;475:2:32;8660:23:27;475:2:32;;8723:25:27;9184:31;;1031:33023;8660:23;475:2:32;;8660:23:27;9145:37;;1031:33023;9319:23;;531:2:32;;8901:23:27;9383:17;1031:33023;8343:1086::o;531:2:32:-;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;475;531;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;;;8577:28:27;1031:33023;-1:-1:-1;;;531:2:32;;8554:12:27;531:2:32;;;;;;;;1031:33023:27;531:2:32;1031:33023:27;;;531:2:32;;16644:974:27;;;;;16909:9;16962:14;;;17010:17;-1:-1:-1;;;;;17010:17:27;;;1031:33023;;17067:14;17100:48;17067:14;;;1031:33023;;;17100:48;;:::i;:::-;17099:49;17095:146;;-1:-1:-1;;;;;;17010:17:27;17972:91;17287:37;;;17972:91;17287:37;;;;1031:33023;33278:67;17972:91;17067:14;33278:67;18028:17;;;;;;1031:33023;;;17972:91;18028:17;17972:91;;;;;;;;;:::i;:::-;;1031:33023;;17972:91;;;;;;:::i;:::-;18093:14;:24;1031:33023;;18363:1229;;;;;;;;;;;-1:-1:-1;18363:1229:27;;;;;;17067:14;18363:1229;;;;;19630:8;;1031:33023;;;19630:31;;16644:974;19630:72;;;;;16644:974;19626:205;;;1031:33023;;;;;;4020:413:10;;;17067:14:27;4020:413:10;17338:101:27;17466:9;;1679:4;;17457:43;17453:149;;16644:974;;:::o;17453:149::-;17527:60;;;-1:-1:-1;;;17527:60:27;;;;;1031:33023;17067:14;17972:91;1031:33023;;;;;;;;;;;;;;;;;;17527:60;19626:205;1204:349:9;;1679:4:27;1204:349:9;;;;19626:205:27;17067:14;1204:349:9;;18028:17:27;1204:349:9;;;;17067:14:27;1204:349:9;;;;-1:-1:-1;18028:17:27;1204:349:9;;;1031:33023:27;17067:14;1031:33023;19729:87;;;-1:-1:-1;;;19729:87:27;;17972:91;19729:87;;1031:33023;;17972:91;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;19630:72:27;18363:1229;;19681:2;18363:1229;;;;1679:4;;19665:37;19630:72;;;:31;17067:14;19642:19;;;-1:-1:-1;19630:31:27;;;17095:146;17175:51;1031:33023;17067:14;1031:33023;17175:51;-1:-1:-1;;;17175:51:27;;;;;1031:33023;17067:14;1031:33023;;;;;;;;;;;;;;17175:51;896:503:29;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;1031:33023:27;2688:113:29;;;1031:33023:27;2688:113:29;1031:33023:27;;;;;2939:36:29;2935:241;;-1:-1:-1;3222:2:29;1031:33023:27;;1230:2:29;1211:21;;1230:2;;-1:-1:-1;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1265:26:29;;;1031:33023:27;;;1230:2:29;1265:26;;;;;1031:33023:27;1265:26:29;:::i;1207:186::-;1031:33023:27;1230:2:29;1031:33023:27;;;1042:15:29;1031:33023:27;-1:-1:-1;;1031:33023:27;;;1340:41:29;;;;1031:33023:27;;;1340:41:29;;1031:33023:27;1340:41:29;;1031:33023:27;;1340:41:29;-1:-1:-1;;1031:33023:27;;;1230:2:29;1031:33023:27;;;;;;;;;;;;1340:41:29;;1031:33023:27;;1340:41:29;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;1031:33023:27;-1:-1:-1;;;3131:34:29;;449:8;3131:34;;;449:8;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;3131:34;449:8;;1042:15;1031:33023:27;-1:-1:-1;;;449:8:29;;;;;;;;;;;1031:33023:27;449:8:29;1031:33023:27;;;449:8:29;;1067:68;1116:8;;;1031:33023:27;1116:8:29;:::o;12469:1091:27:-;;;;;;12796:14;;1031:33023;-1:-1:-1;;;;;12954:17:27;1031:33023;;;;12908:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12954:17;1031:33023;;12985:31;-1:-1:-1;13034:23:27;;13030:182;;;;12469:1091;-1:-1:-1;15219:17:27;15018:14;;15174:85;15018:14;15174:85;-1:-1:-1;;;;;15018:14:27;;;1031:33023;;15049:12;12908:11;33278:67;15219:17;;;;1031:33023;15174:85;;;;;;;;;;;:::i;:::-;;1031:33023;;15174:85;;;;;;:::i;:::-;15273:326;;;;;;;;-1:-1:-1;15273:326:27;;15219:17;15273:326;;;;12469:1091;33561:66;12908:11;33561:66;15664:8;15660:286;;13225:100;;;13339:205;;;12469:1091;;;:::o;13339:205::-;13391:45;;;:::i;:::-;13390:46;13386:144;;12469:1091;:::o;13386:144::-;13467:44;1031:33023;12908:11;1031:33023;13467:44;-1:-1:-1;;;13467:44:27;;;;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;13467:44;15660:286;15692:18;;;;;;15742:46;1031:33023;12908:11;1031:33023;15742:46;-1:-1:-1;;;15742:46:27;;15174:85;15742:46;;1031:33023;12908:11;15174:85;1031:33023;;;;;;;;;;;;;15742:46;15688:248;1204:349:9;;1679:4:27;1204:349:9;;;;15688:248:27;-1:-1:-1;1204:349:9;15219:17:27;1204:349:9;;;;12908:11:27;1204:349:9;;;;;1031:33023:27;12908:11;1031:33023;15834:87;;;-1:-1:-1;;;15834:87:27;;15174:85;15834:87;;1031:33023;;15174:85;1031:33023;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1679:4:27;;-1:-1:-1;1204:349:9;;15273:326:27;;-1:-1:-1;15273:326:27;;13030:182;1031:33023;;;15219:17;-1:-1:-1;1031:33023:27;;;;;;;;12908:11;1031:33023;;;13148:21;;;;;;;:49;15174:85;13148:49;;13030:182;;;;;;;;;;13148:49;15174:85;1679:4;;;13148:49;;1187:234:0;-1:-1:-1;;;;;1031:33023:27;-1:-1:-1;1031:33023:27;1373:19:0;1031:33023:27;;1317:2:0;-1:-1:-1;1031:33023:27;-1:-1:-1;;;;;1031:33023:27;1317:2:0;1031:33023:27;;-1:-1:-1;1031:33023:27;;;;;-1:-1:-1;1031:33023:27;;;;1373:34:0;;;;:::i;:::-;1031:33023:27;;;1373:41:0;1187:234;:::o;33639:413:27:-;;1926:5;1679:4;;33774:43;;;33770:90;;33995:3;1679:4;1812:2;1679:4;;1031:33023;;33639:413;:::o;33770:90::-;33837:8;;1031:33023;33837:8;:::o;2250:397:31:-;-1:-1:-1;;;;;1031:33023:27;;;;;;;;;;;;2484:23:31;;;2480:74;;1679:4:27;1031:33023;;2626:4:31;2250:397;:::o;1031:33023:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1031:33023:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1031:33023:27;;;;;18363:1229;1031:33023;:::i;:::-;;;;;;;;:::o;1712:551:29:-;;1826:1;-1:-1:-1;1804:62:29;;2015:95;-1:-1:-1;;413:2:32;1031:33023:27;2207:49:29;;1712:551::o;1804:62::-;1843:12;1031:33023:27;1843:12:29;:::o;10311:1671:27:-;;;;;10480:1;10461:20;;10457:1519;;10311:1671;;;;;;:::o;10457:1519::-;-1:-1:-1;;;;;10514:14:27;;1031:33023;;10553:43;;;;;:::i;:::-;10549:495;;11061:18;;11057:121;;11213:2;11195:20;;11191:110;;11332:15;1031:33023;-1:-1:-1;;;;;11332:15:27;;:::i;:::-;1031:33023;11366:35;:14;;:35;1031:33023;11366:35;1031:33023;11332:80;;;;-1:-1:-1;;;11332:80:27;;;;;;1031:33023;;;;;;;;;;:::i;:::-;11332:80;;;;;;;;;;;;10457:1519;1031:33023;-1:-1:-1;;;;;1031:33023:27;;11430:21;;11426:115;;11558:17;;11554:116;;11687:19;:24;11683:123;;1031:33023;11213:2;1031:33023;;;11888:77;11845:23;11366:35;11845:23;413:2:32;;-1:-1:-1;;;;;1031:33023:27;;11904:17;;1031:33023;11940:14;;:24;1031:33023;;-1:-1:-1;;;;;1031:33023:27;;413:2:32;;;;1031:33023:27;;;;;;11888:77;10457:1519;;;;;;;11683:123;11738:53;1031:33023;11366:35;1031:33023;11738:53;-1:-1:-1;;;11738:53:27;;11332:80;11738:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11738:53;11554:116;11602:53;1031:33023;11366:35;1031:33023;11602:53;-1:-1:-1;;;11602:53:27;;11332:80;11602:53;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11602:53;11426:115;11478:48;1031:33023;11366:35;1031:33023;11478:48;-1:-1:-1;;;11478:48:27;;11332:80;11478:48;;1031:33023;11366:35;1031:33023;;;;;;;;;;;;;;11478:48;11332:80;;;;1031:33023;11332:80;1031:33023;11332:80;;;;;;;:::i;:::-;;;;;11366:35;1031:33023;;;;;;;;11191:110;11242:44;1031:33023;;;11242:44;-1:-1:-1;;;11242:44:27;;;;;1031:33023;;;;;;;;;;;;;;;;11242:44;11057:121;11111:52;1031:33023;;;11111:52;-1:-1:-1;;;11111:52:27;;;;;1031:33023;;;;;;;;;;;;;;;;11111:52;10549:495;10620:20;;;;10638:2;10620:20;;10616:390;;10549:495;11023:7;;;;:::o;10616:390::-;10928:35;-1:-1:-1;;;;;10889:15:27;;:::i;:::-;1031:33023;10928:14;;:35;1031:33023;;;10638:2;1031:33023;;;10889:98;;;;;10480:1;1031:33023;;;;10928:35;1031:33023;10889:98;;;;;;;1031:33023;10889:98;;;;;1031:33023;10928:35;1031:33023;;;;10638:2;1031:33023;;;;;;;;;;:::i;:::-;10889:98;;;;;;;;;10616:390;;;;;;10889:98;10480:1;10889:98;;;:::i;:::-;10480:1;10889:98;;3358:267:16;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;:::-;2311:2:16;1031:33023:27;;;;;;;;;;;2324:106:16;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:16;;-1:-1:-1;2713:20:16;3477:142;1031:33023:27;;;-1:-1:-1;6126:13:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:33023:27;;1390:66:16;1031:33023:27;;;;;1390:66:16;1031:33023:27;;;1390:66:16;;;;;;;;;;;-1:-1:-1;;;;1390:66:16;;;;;-1:-1:-1;1390:66:16;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1031:33023:27;;;;;;;:::i;3477:142:16:-;1031:33023:27;;;-1:-1:-1;6584:16:20;1390:66:16;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1031:33023:27;;;;;;1390:66:16;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:20;-1:-1:-1;1390:66:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1906":[{"start":7688,"length":32}],"1908":[{"start":7877,"length":32}],"1910":[{"start":7641,"length":32}],"1912":[{"start":7767,"length":32}],"1914":[{"start":7805,"length":32}],"1917":[{"start":2450,"length":32}],"1920":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":"dbed18e0","handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)":"765e827f","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/a5ngpwSm/\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/SimulationOverrideHelper.sol\":{\"keccak256\":\"0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559\",\"dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b\",\"dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"PostOpRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"UserOperationPrefundTooLow","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"","type":"tuple[]","components":[{"internalType":"struct PackedUserOperation[]","name":"userOps","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleOps"},{"inputs":[{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"See {IERC-5267}."},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"getNonce(address,uint192)":{"params":{"key":"the high 192 bit of the nonce","sender":"the account address"},"returns":{"nonce":"a full nonce to pass for next UserOp with this sender."}},"getSenderAddress(bytes)":{"params":{"initCode":"- The constructor code to be passed into the UserOperation."}},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"params":{"userOp":"- The user operation to generate the request ID for."},"returns":{"_0":"hash the hash of this UserOperation"}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"delegateAndRevert(address,bytes)":{"notice":"Helper method for dry-run testing."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"getNonce(address,uint192)":{"notice":"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order."},"getSenderAddress(bytes)":{"notice":"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error"},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"notice":"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid."},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"notice":"Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol":{"keccak256":"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78","urls":["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020","dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c","urls":["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577","dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol":{"keccak256":"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d","urls":["bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4","dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/SimulationOverrideHelper.sol":{"keccak256":"0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5","urls":["bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559","dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0x8d889771da572658d9d4cc2aeeb8145c2fcc55b20fc160732ee3b3ecf27623ac","urls":["bzz-raw://7a5dab7432771386b816248df9c417987426667319024e13fd3d0056ca3efc7b","dweb:/ipfs/QmZ9h8CUHWwzxVwXxW8nSDbcttnmstXzUgDCdEoWXzYauN"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":27}