OP Sepolia Testnet

Contract

0x69007702764179f14F51cdce752f4f775d74E139
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Parent Transaction Hash Block From To Amount
213348232024-12-17 21:49:46507 days ago1734472186  Contract Creation0 ETH
Loading...
Loading
Source Code Verified Exact Match

Contract Name

SemiModularAccount7702

Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled
Yes with 50000 runs
Other Settings
paris EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[{"internalType":"contract IEntryPoint","name":"entryPoint","type":"address"},{"internalType":"contract ExecutionInstallDelegate","name":"executionInstallDelegate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ArrayLengthMismatch","type":"error"},{"inputs":[],"name":"CreateFailed","type":"error"},{"inputs":[],"name":"DeferredActionSignatureInvalid","type":"error"},{"inputs":[],"name":"DeferredValidationHasValidationHooks","type":"error"},{"inputs":[{"internalType":"HookConfig","name":"hookConfig","type":"bytes25"}],"name":"ExecutionHookAlreadySet","type":"error"},{"inputs":[],"name":"FallbackSignerDisabled","type":"error"},{"inputs":[],"name":"FallbackSignerMismatch","type":"error"},{"inputs":[],"name":"FallbackValidationInstallationNotAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"InterfaceNotSupported","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidSignatureType","type":"error"},{"inputs":[{"internalType":"address","name":"module","type":"address"},{"internalType":"bytes","name":"revertReason","type":"bytes"}],"name":"ModuleInstallCallbackFailed","type":"error"},{"inputs":[],"name":"NonCanonicalEncoding","type":"error"},{"inputs":[],"name":"NotEntryPoint","type":"error"},{"inputs":[],"name":"PreValidationHookDuplicate","type":"error"},{"inputs":[],"name":"RequireUserOperationContext","type":"error"},{"inputs":[],"name":"SegmentOutOfOrder","type":"error"},{"inputs":[],"name":"SelfCallRecursionDepthExceeded","type":"error"},{"inputs":[{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"}],"name":"SignatureValidationInvalid","type":"error"},{"inputs":[],"name":"UnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"},{"internalType":"address","name":"aggregator","type":"address"}],"name":"UnexpectedAggregator","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"UnrecognizedFunction","type":"error"},{"inputs":[],"name":"UpgradeFailed","type":"error"},{"inputs":[],"name":"UpgradeNotAllowed","type":"error"},{"inputs":[{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"}],"name":"UserOpValidationInvalid","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"}],"name":"ValidationAlreadySet","type":"error"},{"inputs":[],"name":"ValidationAssocHookLimitExceeded","type":"error"},{"inputs":[],"name":"ValidationEntityIdInUse","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"ValidationFunctionMissing","type":"error"},{"inputs":[],"name":"ValidationSignatureSegmentMissing","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"},{"components":[{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"bool","name":"skipRuntimeValidation","type":"bool"},{"internalType":"bool","name":"allowGlobalValidation","type":"bool"}],"internalType":"struct ManifestExecutionFunction[]","name":"executionFunctions","type":"tuple[]"},{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"uint32","name":"entityId","type":"uint32"},{"internalType":"bool","name":"isPreHook","type":"bool"},{"internalType":"bool","name":"isPostHook","type":"bool"}],"internalType":"struct ManifestExecutionHook[]","name":"executionHooks","type":"tuple[]"},{"internalType":"bytes4[]","name":"interfaceIds","type":"bytes4[]"}],"indexed":false,"internalType":"struct ExecutionManifest","name":"manifest","type":"tuple"}],"name":"ExecutionInstalled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"},{"indexed":false,"internalType":"bool","name":"onUninstallSucceeded","type":"bool"},{"components":[{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"bool","name":"skipRuntimeValidation","type":"bool"},{"internalType":"bool","name":"allowGlobalValidation","type":"bool"}],"internalType":"struct ManifestExecutionFunction[]","name":"executionFunctions","type":"tuple[]"},{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"uint32","name":"entityId","type":"uint32"},{"internalType":"bool","name":"isPreHook","type":"bool"},{"internalType":"bool","name":"isPostHook","type":"bool"}],"internalType":"struct ManifestExecutionHook[]","name":"executionHooks","type":"tuple[]"},{"internalType":"bytes4[]","name":"interfaceIds","type":"bytes4[]"}],"indexed":false,"internalType":"struct ExecutionManifest","name":"manifest","type":"tuple"}],"name":"ExecutionUninstalled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newFallbackSigner","type":"address"},{"indexed":false,"internalType":"bool","name":"isDisabled","type":"bool"}],"name":"FallbackSignerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"},{"indexed":true,"internalType":"uint32","name":"entityId","type":"uint32"}],"name":"ValidationInstalled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"},{"indexed":true,"internalType":"uint32","name":"entityId","type":"uint32"},{"indexed":false,"internalType":"bool","name":"onUninstallSucceeded","type":"bool"}],"name":"ValidationUninstalled","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"accountId","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct Call[]","name":"calls","type":"tuple[]"}],"name":"executeBatch","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"payable","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"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"executeUserOp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"authorization","type":"bytes"}],"name":"executeWithRuntimeValidation","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getExecutionData","outputs":[{"components":[{"internalType":"address","name":"module","type":"address"},{"internalType":"bool","name":"skipRuntimeValidation","type":"bool"},{"internalType":"bool","name":"allowGlobalValidation","type":"bool"},{"internalType":"HookConfig[]","name":"executionHooks","type":"bytes25[]"}],"internalType":"struct ExecutionDataView","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFallbackSignerData","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"}],"name":"getValidationData","outputs":[{"components":[{"internalType":"ValidationFlags","name":"validationFlags","type":"uint8"},{"internalType":"HookConfig[]","name":"validationHooks","type":"bytes25[]"},{"internalType":"HookConfig[]","name":"executionHooks","type":"bytes25[]"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}],"internalType":"struct ValidationDataView","name":"data","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"},{"components":[{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"bool","name":"skipRuntimeValidation","type":"bool"},{"internalType":"bool","name":"allowGlobalValidation","type":"bool"}],"internalType":"struct ManifestExecutionFunction[]","name":"executionFunctions","type":"tuple[]"},{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"uint32","name":"entityId","type":"uint32"},{"internalType":"bool","name":"isPreHook","type":"bool"},{"internalType":"bool","name":"isPostHook","type":"bool"}],"internalType":"struct ManifestExecutionHook[]","name":"executionHooks","type":"tuple[]"},{"internalType":"bytes4[]","name":"interfaceIds","type":"bytes4[]"}],"internalType":"struct ExecutionManifest","name":"manifest","type":"tuple"},{"internalType":"bytes","name":"moduleInstallData","type":"bytes"}],"name":"installExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"ValidationConfig","name":"validationConfig","type":"bytes25"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"},{"internalType":"bytes","name":"installData","type":"bytes"},{"internalType":"bytes[]","name":"hooks","type":"bytes[]"}],"name":"installValidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bool","name":"isCreate2","type":"bool"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"performCreate","outputs":[{"internalType":"address","name":"createdAddr","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"},{"components":[{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"bool","name":"skipRuntimeValidation","type":"bool"},{"internalType":"bool","name":"allowGlobalValidation","type":"bool"}],"internalType":"struct ManifestExecutionFunction[]","name":"executionFunctions","type":"tuple[]"},{"components":[{"internalType":"bytes4","name":"executionSelector","type":"bytes4"},{"internalType":"uint32","name":"entityId","type":"uint32"},{"internalType":"bool","name":"isPreHook","type":"bool"},{"internalType":"bool","name":"isPostHook","type":"bool"}],"internalType":"struct ManifestExecutionHook[]","name":"executionHooks","type":"tuple[]"},{"internalType":"bytes4[]","name":"interfaceIds","type":"bytes4[]"}],"internalType":"struct ExecutionManifest","name":"manifest","type":"tuple"},{"internalType":"bytes","name":"moduleUninstallData","type":"bytes"}],"name":"uninstallExecution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"ModuleEntity","name":"validationFunction","type":"bytes24"},{"internalType":"bytes","name":"uninstallData","type":"bytes"},{"internalType":"bytes[]","name":"hookUninstallData","type":"bytes[]"}],"name":"uninstallValidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fallbackSigner","type":"address"},{"internalType":"bool","name":"isDisabled","type":"bool"}],"name":"updateFallbackSignerData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","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"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60e03461016c57601f615e4538819003918201601f19168301916001600160401b0383118484101761017157808492604094855283398101031261016c578051906001600160a01b038216820361016c57602001516001600160a01b038116919082900361016c576080523060a0527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd005460ff8160401c1661015b5760fe196001600160401b038216016100f8575b5060c052604051615cbd90816101888239608051818181610b34015281816110ab0152818161114e01528181612240015261274c015260a05181610ce2015260c051816119d60152f35b6001600160401b03191660ff9081177f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1386100ae565b63f92ee8a960e01b60005260046000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610026575b36156100245761001c612135565b602081519101f35b005b60003560e01c80621a63e91461015457806301ffc9a714610190578063150b7a021461018b5780631626ba7e1461018657806319822f7c146101815780631bbf564c1461017c57806330009d521461017757806334fcd5be146101725780634f1ef2861461016d57806352d1902d146101685780635998db5c14610163578063757c8a261461015e5780638dd7712f1461015957806393b1dc61146101545780639cfd7cff1461014f578063a8b047291461014a578063b0d691fe14610145578063b61d27f614610140578063b6b1ccfe1461013b578063bc197c8114610136578063d31b575b14610131578063f23a6e611461012c5763f2680c0f0361000e5761176b565b6116f8565b611652565b6114f3565b6111d6565b6110e3565b61107e565b611017565b610fb8565b610253565b610eb4565b610e3a565b610d3e565b610cce565b610c60565b610afb565b61090f565b610855565b610536565b61033b565b6102c8565b610297565b73ffffffffffffffffffffffffffffffffffffffff8116036101b357565b600080fd5b35906101c382610195565b565b9181601f840112156101b35782359167ffffffffffffffff83116101b357602083818601950101116101b357565b60606003198201126101b35760043561020b81610195565b9160243567ffffffffffffffff81116101b357606060031982850301126101b357600401916044359067ffffffffffffffff82116101b35761024f916004016101c5565b9091565b346101b357610024610264366101f3565b929190916119bb565b7fffffffff000000000000000000000000000000000000000000000000000000008116036101b357565b346101b35760206003193601126101b35760206102be6004356102b98161026d565b611a11565b6040519015158152f35b346101b35760806003193601126101b3576102e4600435610195565b6102ef602435610195565b60643567ffffffffffffffff81116101b35761030f9036906004016101c5565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101b35760406003193601126101b35760243560043567ffffffffffffffff82116101b35761038e61038874ffffffffffffffffffffffffffffffffffffffff049336906004016101c5565b9061262a565b9193909316908084906103e96103e48574ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b61305e565b9060009661040c8674ffffffffffffffffffffffffffffffffffffffffff161590565b15801561051d575b610509575b50508051805b6104755761047161043e8789886104368989613a59565b939092613ac9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b926104c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61050495019384926104be6104b86104b3868851612728565b6126f6565b60ff1690565b916138d5565b959296919095966104fe6104d88588611fb0565b517fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000001690565b8b6139c8565b61041f565b61051592975086613866565b943880610419565b5082511515610414565b90816101209103126101b35790565b346101b35760606003193601126101b35760043567ffffffffffffffff81116101b35761056a6105e9913690600401610527565b60243560443591610579612735565b600090602081013561058a81612c80565b610598610100840184611e8b565b8192919281946105aa84600216151590565b610749575b5050506105f660608501916105c48387611e8b565b74ffffffffffffffffffffffffffffffffffffffff04839293169b8c92600116151590565b1561074157600092613271565b60ff61064f6106458a74ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b5460b01c60ff1690565b16151590816106d8575b506106ae5761047196869561066d94613ea5565b9080156106a7579061067e91614073565b915b610696575b506040519081529081906020820190565b60009081803892335af15038610685565b5091610680565b7f5f49f00a0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f8dd7712f00000000000000000000000000000000000000000000000000000000915061073861073261072c7fffffffff000000000000000000000000000000000000000000000000000000009388611e8b565b9061279e565b906128bf565b16141538610659565b600192613271565b65ffffffffffff97508293955061081b9450610815906107eb61080f61078961078061077a61073289899a9961279e565b60e01c90565b63ffffffff1690565b9a8b9361080861080288876107f68c6107d361078061077a6107326107b76107b088612925565b89876127ac565b9890976107cc6107c682612925565b91612933565b91876128a7565b9a8d6107f08d6107eb6107e585612933565b94612933565b612941565b926128a7565b92909160405196613d17565b91604052565b1660a01b90565b99612933565b916128a7565b913880806105af565b9181601f840112156101b35782359167ffffffffffffffff83116101b3576020808501948460051b0101116101b357565b346101b35760806003193601126101b3576004357fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000811681036101b35760243567ffffffffffffffff81116101b3576108b2903690600401610824565b9160443567ffffffffffffffff81116101b3576108d39036906004016101c5565b906064359467ffffffffffffffff86116101b3576108f8610024963690600401610824565b959094611b1f565b6044359081151582036101b357565b346101b35760406003193601126101b35760043561092c81610195565b602435908115158092036101b357610024917fc994673d24a099778a3abde494badba9992ab6682e3ea1be5d32d13eff171f5a602073ffffffffffffffffffffffffffffffffffffffff61097e612226565b941692610a0e81857fffffffffffffffffffffffff00000000000000000000000000000000000000007f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325416179074ff00000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9160a01b1691161790565b7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a3255604051908152a2612569565b919082519283825260005b848110610a68575050601f19601f8460006020809697860101520116010190565b80602080928401015182828601015201610a47565b602081016020825282518091526040820191602060408360051b8301019401926000915b838310610ab057505050505090565b9091929394602080610aec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610a3c565b97019301930191939290610aa1565b60206003193601126101b35760043567ffffffffffffffff81116101b357610b27903690600401610824565b610b2f612226565b6060337f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610c0c5750610b7882611f67565b9160005b818110610b9f5750506104719250610b9390612569565b60405191829182610a7d565b80610be8610bb8610bb3600194868a611e3c565b611e81565b6020610bc584878b611e3c565b013590610be0610bd685888c611e3c565b6040810190611e8b565b9290916129e3565b610bf06129f8565b610bfa8287611fb0565b52610c058186611fb0565b5001610b7c565b91909260005b828110610c2857505050610b9361047192612569565b80610c5a610c3c610bb36001948787611e3c565b6020610c49848888611e3c565b013590610be0610bd6858989611e3c565b01610c12565b60406003193601126101b357610c77600435610195565b60243567ffffffffffffffff81116101b357610c979036906004016101c5565b50507faf7a95aa0000000000000000000000000000000000000000000000000000000060005260046000fd5b60009103126101b357565b346101b35760006003193601126101b357307f000000000000000000000000000000000000000000000000000000000000000003610d305760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b639f03a0266000526004601cfd5b60806003193601126101b35760043560243567ffffffffffffffff81116101b357610d6d9036906004016101c5565b90610d76610900565b92606435610d82612226565b9484604051948537600114610ddb5750f05b8015610dcd57610da661047192612569565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b637e16b8cd6000526004601cfd5b929190f5610d94565b906020808351928381520192019060005b818110610e025750505090565b82517fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000016845260209384019390920191600101610df5565b346101b35760206003193601126101b3576060610e61600435610e5c8161026d565b611fc4565b6104716040519283926020845273ffffffffffffffffffffffffffffffffffffffff81511660208501526020810151151560408501526040810151151582850152015160808084015260a0830190610de4565b346101b35760406003193601126101b35760043567ffffffffffffffff81116101b357610ee8610024913690600401610527565b610ef0612735565b610f99610f93610f6b610f6674ffffffffffffffffffffffffffffffffffffffff04610f1f6020870135612c80565b1674ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b612cb0565b6000908051610f9e575b610f8282610f8d92612dd2565b946060810190611e8b565b91612f1f565b30612f61565b612569565b9050610f8d610f82610faf36612ce6565b92915050610f75565b346101b35760006003193601126101b3576104716040805190610fdb8183611f2c565b601682527f616c6368656d792e736d612d373730322e312e302e3000000000000000000000602083015251918291602083526020830190610a3c565b346101b35760006003193601126101b3576040611032612f8d565b60ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c1673ffffffffffffffffffffffffffffffffffffffff83519216825215156020820152f35b346101b35760006003193601126101b357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9060206110e0928181520190610a3c565b90565b60606003193601126101b3576004356110fb81610195565b6044359060243567ffffffffffffffff83116101b3576111376111256104719436906004016101c5565b9061112e612226565b936060956129e3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611192575b61117e90612569565b604051918291602083526020830190610a3c565b905061117e61119f6129f8565b919050611175565b600435907fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000821682036101b357565b346101b35760606003193601126101b3576111ef6111a7565b60243567ffffffffffffffff81116101b35761120f9036906004016101c5565b9060443567ffffffffffffffff81116101b357611230903690600401610824565b909261123a612226565b9361128d61124787612fcf565b74ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b906001938061139c575b5050610024956112f0826112b0600161130595016149f7565b6112bc600282016149f7565b6112c8600382016149f7565b80547fffffffffffffffffff0000000000000000000000000000000000000000000000169055565b606081901c9160409190911c63ffffffff1690565b91909383611361575b5050604051911515825263ffffffff169173ffffffffffffffffffffffffffffffffffffffff16907f43f7309d11ba6b2e180e9ab8a6da09d2fa1f585d7daed4b26c1c7f2a90b867a290602090a3612569565b7f43f7309d11ba6b2e180e9ab8a6da09d2fa1f585d7daed4b26c1c7f2a90b867a292935063ffffffff916113959186614943565b929161130e565b6113a583612cb0565b6113ae8461305e565b916113bc8351835190612941565b81036114c957919290600093805185915b818310611448575050508051926000925b8484106113ee5750505050611297565b90919293949761142b6001916114058b868661294e565b9061141c6114166104d88b8b611fb0565b60601c90565b83611436575b50505099612da5565b9594019291906113de565b6114409350614943565b388080611422565b909194929395986114a96001916114608c878b61294e565b906114996112f06114746104d88d8a611fb0565b7fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001690565b50836114b7575b5050509a612da5565b9501919095939294956113cd565b6114c19350614943565b3880806114a0565b7fa24a13a60000000000000000000000000000000000000000000000000000000060005260046000fd5b346101b35760a06003193601126101b35761150f600435610195565b61151a602435610195565b60443567ffffffffffffffff81116101b35761153a903690600401610824565b505060643567ffffffffffffffff81116101b35761155c903690600401610824565b505060843567ffffffffffffffff81116101b35761157e9036906004016101c5565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b906020825260ff815116602083015260606115ed6115d860208401516080604087015260a0860190610de4565b6040840151601f198683030184870152610de4565b910151916080601f19828403019101526020808351928381520192019060005b81811061161a5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010161160d565b346101b35760206003193601126101b35761047161166e6111a7565b6040519061167b82611f0b565b600082526116e16003602084016060815260408501606081526116c76116ab611247606089019760608952612fcf565b9260ff845460a01c1688526116bf8461305e565b809152614740565b6116d082612cb0565b906116da82614740565b52016146de565b906116eb82614740565b52604051918291826115ab565b346101b35760a06003193601126101b357611714600435610195565b61171f602435610195565b60843567ffffffffffffffff81116101b35761173f9036906004016101c5565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b60406003193601126101b35760043567ffffffffffffffff81116101b3576117979036906004016101c5565b9060243567ffffffffffffffff81116101b3576103886117bb9136906004016101c5565b939174ffffffffffffffffffffffffffffffffffffffff04819492941661182e6118258274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b92600116151590565b156119b15761184160005b828686613271565b85856118906103e48474ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b9760009774ffffffffffffffffffffffffffffffffffffffffff8516151580156119a7575b611992575b5050968051805b611931575050611901949392610f66876118fb946118e56118ed956104719c613a59565b929091614cdc565b600090805161191e57612dd2565b936134c9565b61191261190c6129f8565b91612569565b604051918291826110cf565b905061192b848488613480565b90612dd2565b906119707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61198a949301998a936104be6104b86104b3878751612728565b949295919094956119846104d88587611fb0565b8c613655565b9091986118c1565b61199f92985087876135ae565b9538806118ba565b50895115156118b5565b6118416001611839565b505050506119c7612226565b600060405136828237389036907f00000000000000000000000000000000000000000000000000000000000000005af415611a05576101c390612569565b6040513d6000823e3d90fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167fffffffff000000000000000000000000000000000000000000000000000000008114611b19577f150b7a020000000000000000000000000000000000000000000000000000000081148015611af0575b8015611ac7575b611ac1576000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd03602052604060002054151590565b50600190565b507f01ffc9a7000000000000000000000000000000000000000000000000000000008114611a8b565b507f4e2312e0000000000000000000000000000000000000000000000000000000008114611a84565b50600090565b91939695611b2b612226565b95604084901c63ffffffff1695861580611e01575b611dd757611b5c90611b54611247876140bd565b948686614142565b60005b828110611ba757505050506101c39495611b7d9160601c92836145cd565b7fc36a28045e90a1163d24d4216c8cfd8c44c4e835a486fb84d511d6b9e0736db9600080a3612569565b611bec611bc7611bc1611bbb84878761294e565b906127c9565b90612965565b7fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000001690565b90611c02611bfb82868661294e565b80916127d7565b611c1784929467010000000000000016151590565b15611d5557865460a81c60ff1660ff60018282160111611d2b57611c829060010160ff1688547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1660a89190911b75ff00000000000000000000000000000000000000000016178855565b611ce8611ce4611cdb611cb67fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008616611bc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690565b60018a01614608565b1590565b611d0157600193611cfb9260601c614592565b01611b5f565b7f298ac3da0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fe330dd260000000000000000000000000000000000000000000000000000000060005260046000fd5b865491939160b01c60ff169160ff60018185160111611d2b5787547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16600193840160b01b76ff00000000000000000000000000000000000000000000161788559193611dd29290611dca8160028b01614399565b60601c61443a565b611cfb565b7fd44e72c20000000000000000000000000000000000000000000000000000000060005260046000fd5b508460601c1515611b40565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611e7c5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101b3570190565b611e0d565b356110e081610195565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b3570180359067ffffffffffffffff82116101b3576020019181360383136101b357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6080810190811067ffffffffffffffff821117611f2757604052565b611edc565b90601f601f19910116810190811067ffffffffffffffff821117611f2757604052565b67ffffffffffffffff8111611f275760051b60200190565b90611f7182611f4f565b611f7e6040519182611f2c565b828152601f19611f8e8294611f4f565b019060005b828110611f9f57505050565b806060602080938501015201611f93565b8051821015611e7c5760209160051b010190565b9060405191611fd283611f0b565b60008352600060208401526000604084015260608084015282612040827fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b9160e01c61204d81612a16565b156120a457611ce48161207861206561207d94612b7f565b3086528015602087015215156040860152565b612bbf565b61209f5750600161208f915b016146de565b61209881614740565b6060830152565b925050565b5081612114600192604061210d61208f96546120f06120d68273ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff168552565b61210460a082901c60ff1615156020860152565b60a81c60ff1690565b1515910152565b612089565b67ffffffffffffffff8111611f2757601f01601f191660200190565b7fffffffff000000000000000000000000000000000000000000000000000000006000351673ffffffffffffffffffffffffffffffffffffffff6121c4827fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b54169081156121f957506121ee6121d9612226565b91604051903682523660006020840137612f61565b6110e061190c6129f8565b7ffcfc5aad0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b60009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314158061255f575b806124d0575b15612445573360081b74ffffffffffffffffffffffffffffffffffffffff00166004179161229d8336613073565b6122ea6103e48474ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b92835180612433575b805b6123f157506110e09293506123cd906123c76123807fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b9174ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b906136bd565b60009181516123dd575b50612dd2565b6123ea9192503690613437565b90386123d7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01938461242c366124266104d88486611fb0565b86613612565b90946122f5565b915061243f36366134ed565b916122f3565b906110e0906124cb6124c67fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b612c74565b6123cd565b5061255a611ce46125507fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b5460a01c60ff1690565b61226f565b5030331415612269565b601f19815191019060005b81811061258057505050565b8251809303928351601f196000602087015193635d413a8188527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4389101601c890183865af1950194156125d8575050600101612574565b604051916018830152601482015263f19fc59381526040808201523d60608201523d612610575b601c601f19601f3d01166064019101fd5b60006080601f193d16830101523d6000608083013e6125ff565b91600582106101b35782358060f81c906004821660001461269257601584106101b35760501c74ffffffffffffffffffffffffffffffffffffffff00161792601501917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb0190565b60d01c64ffffffff00161792600501917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161272357565b6126c7565b9190820391821161272357565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361277457565b7fd663742a0000000000000000000000000000000000000000000000000000000060005260046000fd5b906004116101b35790600490565b90929192836004116101b35783116101b357600401916003190190565b906019116101b35790601990565b90929192836019116101b35783116101b357601901917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe70190565b906015116101b35790601590565b90601b116101b35760150190600690565b9092919283601b116101b35783116101b357601b01917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe50190565b90929192836001116101b35783116101b357600101917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b909392938483116101b35784116101b3578101920390565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106128f3575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b600401908160041161272357565b600801908160081161272357565b9190820180921161272357565b90821015611e7c5761024f9160051b810190611e8b565b919091357fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000081169260198110612999575050565b7fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000929350829060190360031b1b161690565b6000906101c393604051938185526020850137612f77565b6101c393604051938185526020850137612f77565b604051903d8252601f19603f3d840101166040523d6000602084013e565b612a1f81612b7f565b908115612b6b575b8115612b57575b8115612b43575b8115612b2f575b8115612b1b575b8115612b07575b8115612af3575b8115612adf575b8115612acb575b8115612ab7575b8115612aa3575b8115612a8f575b8115612a7e575090565b63a8b04729915063ffffffff161490565b63ffffffff81166330009d52149150612a74565b63ffffffff81166352d1902d149150612a6d565b63ffffffff811663d31b575b149150612a66565b63ffffffff811663757c8a26149150612a5f565b63ffffffff8116639cfd7cff149150612a58565b63ffffffff811663150b7a02149150612a51565b63ffffffff81166301ffc9a7149150612a4a565b63ffffffff8116631626ba7e149150612a43565b63ffffffff811663f23a6e61149150612a3c565b63ffffffff811663bc197c81149150612a35565b63ffffffff81166319822f7c149150612a2e565b63ffffffff811663b0d691fe149150612a27565b612b8881612bbf565b908115612bab575b8115612b9a575090565b63f2680c0f915063ffffffff161490565b63ffffffff8116638dd7712f149150612b90565b63ffffffff1663b61d27f68114908115612c66575b8115612c59575b8115612c4b575b8115612c3d575b8115612c2f575b8115612c21575b8115612c13575b8115612c08575090565b6330009d5291501490565b634f1ef28681149150612bfe565b635998db5c81149150612bf7565b63b6b1ccfe81149150612bf0565b6393b1dc6181149150612be9565b631bbf564c81149150612be2565b621a63e981149150612bdb565b6334fcd5be81149150612bd4565b60016110e091016146de565b60401c6004811615612ca65774ffffffffffffffffffffffffffffffffffffffffff1690565b64ffffffffff1690565b80546110e0916002019060b01c60ff166147c2565b601f8260209493601f19938186528686013760008582860101520116010190565b6110e0612d3f916040519283917fed6dfb13000000000000000000000000000000000000000000000000000000006020840152600060248401523360448401523460648401526080608484015260a48301906000612cc5565b03601f198101835282611f2c565b906110e090612d3f6040519384927fed6dfb13000000000000000000000000000000000000000000000000000000006020850152600060248501523360448501523460648501526080608485015260a4840191612cc5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146127235760010190565b805160405193926000929091805b612df257505050825260208201604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612e1e8183611fb0565b517fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008116906704000000000000001615612e9257612e5c81856148a8565b906702000000000000008116612e75575b505080612de0565b612e8b91612e8591849799614847565b96612da5565b9338612e6d565b6702000000000000008116612ea9575b5080612de0565b612e85612ee29183969860809063ffffffff6020938060601c835260401c16838201526040808201526000606082015201608081520190565b93612ea2565b929192612ef482612119565b91612f026040519384611f2c565b8294818452818301116101b3578281602093846000960137010152565b918215612f4357600319019081808452612f3857505090565b600401602083013790565b809192506004116101b3576110e09160046003193693019101612ee8565b600091389183602083519301915af115611a0557565b916000923892602083519301915af115611a0557565b73ffffffffffffffffffffffffffffffffffffffff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325416806110e057503090565b74ffffffffffffffffffffffffffffffffffffffffff90606081901c9060401c63ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001810161303e575060081b74ffffffffffffffffffffffffffffffffffffffff00166004171690565b74ffffffffffffffffffffffffffffffffffffffff00915060081b161690565b80546110e0916001019060a81c60ff166147c2565b600091600482106132135761308882846128bf565b7f8dd7712f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216146131cf575b806131006002847fffffffff0000000000000000000000000000000000000000000000000000000094614a77565b167fb61d27f600000000000000000000000000000000000000000000000000000000810361318e575050506004013573ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff16301461316457565b7f54ff929d0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f34fcd5be00000000000000000000000000000000000000000000000000000000146131b957505050565b6131c9826002936101c3956127ac565b90614b39565b509190806131dc926127ac565b90917fffffffff0000000000000000000000000000000000000000000000000000000061320c610732848661279e565b90506130d2565b5061322161326e91836128bf565b7ffcfc5aad0000000000000000000000000000000000000000000000000000000083527fffffffff0000000000000000000000000000000000000000000000000000000016600452602490565b90fd5b91929092600484106133d85761328784846128bf565b7f8dd7712f000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821614613392575b806132fe84847fffffffff0000000000000000000000000000000000000000000000000000000094614a77565b167fb61d27f600000000000000000000000000000000000000000000000000000000810361334a575050506004013573ffffffffffffffffffffffffffffffffffffffff169050613146565b919290917f34fcd5be000000000000000000000000000000000000000000000000000000001461337b575b50505050565b83613389946131c9926127ac565b38808080613375565b50928061339f92936127ac565b929091907fffffffff000000000000000000000000000000000000000000000000000000006133d1610732868661279e565b90506132d1565b6134336133e585856128bf565b7ffcfc5aad000000000000000000000000000000000000000000000000000000006000527fffffffff0000000000000000000000000000000000000000000000000000000016600452602490565b6000fd5b908115613474575060a4601f19601f604060e48501519463ed6dfb1360448201523360848201523485820152608060c48201520193011601815290565b6110e091506000612d4d565b919082156134bf57505060a4601f19601f604060e48501519463ed6dfb1360448201523360848201523485820152608060c48201520193011601815290565b6110e09250612d4d565b919082156134e157505060e46101c391013430612f77565b6101c3925034306129e3565b61358f90613581613551949360006040519687947f465d33e000000000000000000000000000000000000000000000000000000000602087015282602487015282604487015233606487015234608487015260c060a487015260e486019083612cc5565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8584030160c4860152612cc5565b03601f198101845283611f2c565b633d6bda32602483015260a060a483015260c482018051601f19019052565b939261358f92613581916135516040519788957f465d33e0000000000000000000000000000000000000000000000000000000006020880152600060248801526000604488015233606488015234608488015260c060a488015260e4870191612cc5565b909150600063ffffffff8360401c169260601c9183604482015260c481015190826044838301015260406024389301910183855af115613650575050565b61378e565b92600091936040602463ffffffff87831c169660601c958760448501528460c485015191828601828060448301526136a5575b505050601f19601f389601160101910183855af115613650575050565b6064908982601f198616830101520137843880613688565b6001016000926136d7826001600052602052604060002090565b5490604051945b600183161580613785575b1561371557600161370e910192808460051b8801528490600052602052604060002090565b54916136de565b925093929050600261372f6104b8835460ff9060b01c1690565b91019060019160005b82811061375457505050506001810160051b8201604052815290565b909192936137716001809201958490600052602052604060002090565b5491828660051b8801520192919092613738565b508215156136e9565b604051916018830152601482015263a32d2f5d81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6040519160188301526014820152634622c74881526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6040519160188301526014820152635f85b3b481526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b90604051926018840152601483015281526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b9291633f41826e612d3f6138d06080946040519283917fe7db7f7e000000000000000000000000000000000000000000000000000000006020840152602483019960008b5260006044850152336064850152608484015260a483019660a0885260c4840191612cc5565b945252565b9160ff6138e28385614e34565b3560f81c91169081811061399e57146138fe5736926000929190565b91826005116101b3576005600183013560e01c0163ffffffff81116127235763ffffffff1692836005116101b3578084116101b357613962907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb85019481856128a7565b91909284156139745760050193929190565b7fb91b669d0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f95c6cb380000000000000000000000000000000000000000000000000000000060005260046000fd5b6000906040601f19601f602095978063ffffffff8a861c169960601c988a6044880152818060c4890152613a43575b5050011660a4019101845afa15613a0c575050565b60405191601883015260148201526346cfe46d81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b8760e48684168901015260e487013780386139f7565b9190918215611e7c5760ff813560f81c03613a9f57826001116101b357600101917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f151d90fe0000000000000000000000000000000000000000000000000000000060005260046000fd5b939291909374ffffffffffffffffffffffffffffffffffffffffff821615613af5576110e09450615036565b5050613b5392613b03614e3d565b7f19822f7c000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000006000351603613b9f57614f24565b613b7b577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b90613c4590613bdf60606040517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881524660208201523060408201522090565b907f294a8735843d4afb4f017c76faf3b7731def145ed0025fc9b1d5ce30adf113ff600052602052604060002090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b90614f24565b919091357fffffffffffffffffffffffffffffffffffffffffff000000000000000000000081169260158110613c7f575050565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000929350829060150360031b1b161690565b919091357fffffffffffff000000000000000000000000000000000000000000000000000081169260068110613ce5575050565b7fffffffffffff0000000000000000000000000000000000000000000000000000929350829060060360031b1b161690565b93929091613d54613d3a613d34613d2e8487612812565b90613c4b565b60581c90565b74ffffffffffffffffffffffffffffffffffffffffff1690565b9074ffffffffffffffffffffffffffffffffffffffff048216613db78174ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b9260ff613dc9855460ff9060a81c1690565b16613e7b578291613dda8388612820565b613de391613cb1565b60d01c9889613df385808b612831565b91613dfd936151d2565b9481613e0a85808b612831565b919094613e1990600116151590565b6000149a610f9999613e5e99613e45613e58986110e09f98610f6697613e4a9a61074157600092613271565b615292565b6000908051613e6557612dd2565b94612831565b90306129cb565b905061192b613e7584808a612831565b90612d4d565b7fd7c794140000000000000000000000000000000000000000000000000000000060005260046000fd5b91613ef36103e48274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b94600094859474ffffffffffffffffffffffffffffffffffffffffff841615158015614069575b614055575b50868051805b613f58575050613f4394939291613f3b91613a59565b9290916155e2565b915115613f5457906110e091614073565b5090565b96613fb76104d89294613faf613fa27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611474979c019b8c936104be6104b86104b3878d51612728565b9892979194909899611fb0565b93848a615520565b9173ffffffffffffffffffffffffffffffffffffffff83169060018211613fed5750508791613fe5916155b9565b968891613f25565b7fc616f69a000000000000000000000000000000000000000000000000000000006000527fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660045273ffffffffffffffffffffffffffffffffffffffff1660245260446000fd5b6140629195508490615391565b9338613f1f565b5087511515613f1a565b90600173ffffffffffffffffffffffffffffffffffffffff614095838561571e565b9316036140a3575060011790565b73ffffffffffffffffffffffffffffffffffffffff161790565b74ffffffffffffffffffffffffffffffffffffffffff90604081901c63ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001810161303e575060581c74ffffffffffffffffffffffffffffffffffffffff00166004171690565b9190811015611e7c5760051b0190565b356110e08161026d565b919273ffffffffffffffffffffffffffffffffffffffff614177845473ffffffffffffffffffffffffffffffffffffffff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000841660181a91606085901c91168061434a575084547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617845561423a905b84805490917fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90911660a09190911b74ff000000000000000000000000000000000000000016179055565b60005b81811061424b575050505050565b61425e614259828488614128565b614138565b614298611ce461428f7fffffffff000000000000000000000000000000000000000000000000000000008416611cb6565b60038801614608565b6142a5575060010161423d565b613433906142d56114747fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000871681565b7fd5d4419e000000000000000000000000000000000000000000000000000000006000527fffffffff000000000000000000000000000000000000000000000000000000009091166004527fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016602452604490565b9073ffffffffffffffffffffffffffffffffffffffff160361436f5761423a906141ef565b7f50a67a840000000000000000000000000000000000000000000000000000000060005260046000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000006143c791168092614608565b156143cf5750565b7f236e22ad0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b9160206110e0938181520191612cc5565b60409073ffffffffffffffffffffffffffffffffffffffff6110e094931681528160208201520190610a3c565b92919081614449575b50509050565b614476611ce47fb02cc19200000000000000000000000000000000000000000000000000000000866157d1565b61454e5773ffffffffffffffffffffffffffffffffffffffff841691823b156101b3576144d692600092836040518096819582947f6d61fe70000000000000000000000000000000000000000000000000000000008452600484016143fc565b03925af19081614533575b5061452957506144ef6129f8565b906145256040519283927f1672bd930000000000000000000000000000000000000000000000000000000084526004840161440d565b0390fd5b9050803880614443565b80614542600061454893611f2c565b80610cc3565b386144e1565b7f70560bfc0000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff841660045260246000fd5b929190816145a05750509050565b614476611ce47f28171ad000000000000000000000000000000000000000000000000000000000866157d1565b929190816145db5750509050565b614476611ce47fab3e34c100000000000000000000000000000000000000000000000000000000866157d1565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690811580156146c8575b6146c157600160005280602052604060002054801580156146b7575b1561468f5750818161468a93614674614684946001600052602052604060002090565b5590600052602052604060002090565b60019055565b600190565b91806146a5836001600052602052604060002090565b55600052602052604060002055600190565b5060018116614651565b5050600090565b5081600052806020526040600020541515614635565b906000600160005282602052604060002054604051915b600182161580614737575b156147245760010190808260051b84015260005283602052604060002054906146f5565b6001810160051b83016040528252509150565b50811515614700565b80518060011c9060005b8281106147575750505050565b80820390828211612723577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211612723578161479960019387611fb0565b51906147b06147a88489611fb0565b519188611fb0565b526147bb8287611fb0565b520161474a565b6147cb81611f4f565b916147d96040519384611f2c565b818352601f196147e883611f4f565b01366020850137600060015b838210614802575050505090565b600052816020526001604060002054917fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000831661483f8288611fb0565b5201906147f4565b916020928160808263ffffffff601f19601f850116968060601c835260401c1687820152604080820152826060820152019261488a575b50509060800181520190565b90816040608094600086601f19899716860101523e0101388061487e565b91906040600063ffffffff83831c169260601c9483602482015260208151910182875af1603f3d11166020600051141692602051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc13d018510161561490c575050565b60405191601883015260148201526374a1a72c81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6001939260009291816149565750505050565b9394929373ffffffffffffffffffffffffffffffffffffffff1690813b156149f3579184916149bc93836040518096819582947f8a91b0e30000000000000000000000000000000000000000000000000000000084526020600485018181520191612cc5565b03925af190816149df575b506149d757509038808080613375565b919050613389565b836149ec91949294611f2c565b91386149c7565b8480fd5b600191825b15614a1c575b6000928352602082905260408320805490849055926149fc565b600183161580614a30575b614a0257915050565b50821515614a27565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60031115614a7257565b614a39565b91614a8181614a68565b80614aea5750611ce4614a949183615864565b614a9b5750565b7fcf7b49f6000000000000000000000000000000000000000000000000000000006000527fffffffff000000000000000000000000000000000000000000000000000000001660045260246000fd5b80614af6600192614a68565b03614b0857611ce4614a9491836158f3565b614b15611ce48284615864565b9081614b24575b50614a9b5750565b614b339150611ce490836158f3565b38614b1c565b9192908201916020818403126101b35780359067ffffffffffffffff82116101b357019180601f840112156101b357823567ffffffffffffffff81116101b3578160208260051b860101116101b357928082037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019060005b858110614bc25750505050505050565b60208160051b8301013567ffffffffffffffff81116101b357838112156101b3578201602081013573ffffffffffffffffffffffffffffffffffffffff81169081036101b3573014614c18575b50600101614bb2565b60608101359067ffffffffffffffff82116101b3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1818703018212156101b3570160208101359063ffffffff82116101b3576040019080860382136101b3576004136101b35735908160e01c63b61d27f68114908115614cce575b5061316457614cc886897fffffffff0000000000000000000000000000000000000000000000000000000060019516614a77565b90614c0f565b6334fcd5be91501438614c94565b91929174ffffffffffffffffffffffffffffffffffffffffff8116614d4f575050505073ffffffffffffffffffffffffffffffffffffffff614d1c614e3d565b163303614d2557565b7f384501590000000000000000000000000000000000000000000000000000000060005260046000fd5b80614d9d614da39274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b90615a9b565b9263ffffffff8460401c169360601c9230602484015284604484015260c060a48401528060c484019283519360208501905283850182806044830152614e1b575b505050833b156101b357614e0e9260206044600094601f19601f389601160101910183865af11590565b614e16575050565b6137c5565b606490600082601f198616830101520137803880614de4565b9015611e7c5790565b60ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c16614e71576110e0612f8d565b7fe684930a0000000000000000000000000000000000000000000000000000000060005260046000fd5b919091357fff0000000000000000000000000000000000000000000000000000000000000081169260018110614ecf575050565b7fff00000000000000000000000000000000000000000000000000000000000000929350829060010360031b1b161690565b60021115614a7257565b60ff166002811015614a725790565b60041115614a7257565b91926001811061500c578080614f4e614f49614f43614f549589614e9b565b60f81c90565b614f0b565b9561286c565b9093614f5f81614f01565b80614fbc5750614f7b9293614f75913691612ee8565b90615a5f565b50614f8581614f1a565b159182614f98575b505061468a57600090565b73ffffffffffffffffffffffffffffffffffffffff91925081169116143880614f8d565b80614fc8600192614f01565b14614ff7577f60cd402d0000000000000000000000000000000000000000000000000000000060005260046000fd5b6110e093615006913691612ee8565b91615984565b7f60cd402d0000000000000000000000000000000000000000000000000000000060005260046000fd5b929092600261508f6150888674ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b8096615a9b565b945460a01c161561518257601f93929160209182601f1960009784899563ffffffff8a60401c169960601c983060248801528a604488015260a060a4880152818060c489015261516c575b5050011660c4019101845afa601f3d111615615167575050518060201b6101b3577fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014613b7b577fffffffff0000000000000000000000000000000000000000000000000000000090565b6137fc565b8760e48684168901015260e487013780386150da565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000847f07391694000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b65ffffffffffff608093926110e095806040519586378420927f9b23e06584efc6b65fc854cee55011d89f86485487b6db36aed7d23884711ea38552602085015216604083015260608201522061525a60606040517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881524660208201523060408201522090565b604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916152fe917f1626ba7e00000000000000000000000000000000000000000000000000000000947fffffffff0000000000000000000000000000000000000000000000000000000094600074ffffffffffffffffffffffffffffffffffffffffff831661533057613ac9565b160361530657565b7f01334f770000000000000000000000000000000000000000000000000000000060005260046000fd5b5061533c848483613866565b613ac9565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101b357016020813591019167ffffffffffffffff82116101b35781360383136101b357565b6110e09061550c926040519384927f2a3d428c00000000000000000000000000000000000000000000000000000000602085015260006024850152606060448501526153fd608485016153e3836101b8565b73ffffffffffffffffffffffffffffffffffffffff169052565b602081013560a48501526154db6154cf6154706154336154206040860186615341565b61012060c48b01526101a48a0191612cc5565b6154406060860186615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c8a84030160e48b0152612cc5565b608084013561010488015260a084013561012488015260c084013561014488015261549e60e0850185615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c898403016101648a0152612cc5565b91610100810190615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c86840301610184870152612cc5565b90606483015203601f198101835282611f2c565b90929160006084602092601f19601f63ffffffff8960401c169860601c978960248901528061018489015194858a018280898301526155a3575b5050500116010182840182865af1601f3d11161561557b5750505060005190565b6004015163ffffffff16632a3d428c0361559957634db96e31613833565b6319aed90d613833565b60a490898288861683010152013780388061555a565b73ffffffffffffffffffffffffffffffffffffffff806155d9848461571e565b93169116171790565b94939074ffffffffffffffffffffffffffffffffffffffffff8616156156cd575060016156596156528774ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b8097615a9b565b955460a01c161561567d5793846110e0949551630ab8785f60048301528152615520565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000857f566f60e2000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b90506157109394506156dd614e3d565b907f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c60002090614f24565b61571957600190565b600090565b906157318260a01c65ffffffffffff1690565b65ffffffffffff8116156157c4575b65ffffffffffff61579561576261578e615762849561576d6157628960a01c90565b65ffffffffffff1690565b868116156157bd575b8616908616818111156157b1575060a01b9760d01c90565b9460d01c90565b169116818110156157a8575060d01b1790565b60d01b90501790565b60a01b90509760d01c90565b5085615776565b5065ffffffffffff615740565b6000906020926040517fffffffff00000000000000000000000000000000000000000000000000000000858201927f01ffc9a700000000000000000000000000000000000000000000000000000000845216602482015260248152615837604482611f2c565b5191617530fa6000513d82615858575b5081615851575090565b9050151590565b60201115915038615847565b906158718260e01c612b7f565b91821561588d575b5081615883575090565b6110e09150615b1a565b60ff9192506158e7907fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b5460a81c169038615879565b9060036159617fffffffff000000000000000000000000000000000000000000000000000000009274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b019116600052602052604060002054151590565b908160209103126101b3575190565b60009291612d3f6159d4859460405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190610a3c565b51915afa3d15615a58573d6159e881612119565b906159f66040519283611f2c565b81523d6000602083013e5b81615a4a575b81615a10575090565b7f1626ba7e00000000000000000000000000000000000000000000000000000000915080602080615a4693518301019101615975565b1490565b905060208151101590615a07565b6060615a01565b8151919060418303615a9057615a8992506020820151906060604084015193015160001a90615c1a565b9192909190565b505060009160029190565b906004821615615adc575060581b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffff00000000000000001790565b5460601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660389190911b6bffffffff0000000000000000161790565b74ffffffffffffffffffffffffffffffffffffffffff8116908115908115615bbf575b50611ac15760ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c16611b1957615b76612f8d565b600474ffffffffffffffffffffffffffffffffffffffff00600883901b16179091149081615ba2575090565b73ffffffffffffffffffffffffffffffffffffffff915016331490565b60049150615c0d9074ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b5460a01c16151538615b3d565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615ca4579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611a055760005173ffffffffffffffffffffffffffffffffffffffff811615615c985790600090600090565b50600090600190600090565b5050506000916003919056fea164736f6c634300081a000a0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da0320000000000000000000000000000000000008e6a39e03c7156e46b238c9e2036
Deployed Bytecode
0x60806040526004361015610026575b36156100245761001c612135565b602081519101f35b005b60003560e01c80621a63e91461015457806301ffc9a714610190578063150b7a021461018b5780631626ba7e1461018657806319822f7c146101815780631bbf564c1461017c57806330009d521461017757806334fcd5be146101725780634f1ef2861461016d57806352d1902d146101685780635998db5c14610163578063757c8a261461015e5780638dd7712f1461015957806393b1dc61146101545780639cfd7cff1461014f578063a8b047291461014a578063b0d691fe14610145578063b61d27f614610140578063b6b1ccfe1461013b578063bc197c8114610136578063d31b575b14610131578063f23a6e611461012c5763f2680c0f0361000e5761176b565b6116f8565b611652565b6114f3565b6111d6565b6110e3565b61107e565b611017565b610fb8565b610253565b610eb4565b610e3a565b610d3e565b610cce565b610c60565b610afb565b61090f565b610855565b610536565b61033b565b6102c8565b610297565b73ffffffffffffffffffffffffffffffffffffffff8116036101b357565b600080fd5b35906101c382610195565b565b9181601f840112156101b35782359167ffffffffffffffff83116101b357602083818601950101116101b357565b60606003198201126101b35760043561020b81610195565b9160243567ffffffffffffffff81116101b357606060031982850301126101b357600401916044359067ffffffffffffffff82116101b35761024f916004016101c5565b9091565b346101b357610024610264366101f3565b929190916119bb565b7fffffffff000000000000000000000000000000000000000000000000000000008116036101b357565b346101b35760206003193601126101b35760206102be6004356102b98161026d565b611a11565b6040519015158152f35b346101b35760806003193601126101b3576102e4600435610195565b6102ef602435610195565b60643567ffffffffffffffff81116101b35761030f9036906004016101c5565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b346101b35760406003193601126101b35760243560043567ffffffffffffffff82116101b35761038e61038874ffffffffffffffffffffffffffffffffffffffff049336906004016101c5565b9061262a565b9193909316908084906103e96103e48574ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b61305e565b9060009661040c8674ffffffffffffffffffffffffffffffffffffffffff161590565b15801561051d575b610509575b50508051805b6104755761047161043e8789886104368989613a59565b939092613ac9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b926104c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61050495019384926104be6104b86104b3868851612728565b6126f6565b60ff1690565b916138d5565b959296919095966104fe6104d88588611fb0565b517fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000001690565b8b6139c8565b61041f565b61051592975086613866565b943880610419565b5082511515610414565b90816101209103126101b35790565b346101b35760606003193601126101b35760043567ffffffffffffffff81116101b35761056a6105e9913690600401610527565b60243560443591610579612735565b600090602081013561058a81612c80565b610598610100840184611e8b565b8192919281946105aa84600216151590565b610749575b5050506105f660608501916105c48387611e8b565b74ffffffffffffffffffffffffffffffffffffffff04839293169b8c92600116151590565b1561074157600092613271565b60ff61064f6106458a74ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b5460b01c60ff1690565b16151590816106d8575b506106ae5761047196869561066d94613ea5565b9080156106a7579061067e91614073565b915b610696575b506040519081529081906020820190565b60009081803892335af15038610685565b5091610680565b7f5f49f00a0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f8dd7712f00000000000000000000000000000000000000000000000000000000915061073861073261072c7fffffffff000000000000000000000000000000000000000000000000000000009388611e8b565b9061279e565b906128bf565b16141538610659565b600192613271565b65ffffffffffff97508293955061081b9450610815906107eb61080f61078961078061077a61073289899a9961279e565b60e01c90565b63ffffffff1690565b9a8b9361080861080288876107f68c6107d361078061077a6107326107b76107b088612925565b89876127ac565b9890976107cc6107c682612925565b91612933565b91876128a7565b9a8d6107f08d6107eb6107e585612933565b94612933565b612941565b926128a7565b92909160405196613d17565b91604052565b1660a01b90565b99612933565b916128a7565b913880806105af565b9181601f840112156101b35782359167ffffffffffffffff83116101b3576020808501948460051b0101116101b357565b346101b35760806003193601126101b3576004357fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000811681036101b35760243567ffffffffffffffff81116101b3576108b2903690600401610824565b9160443567ffffffffffffffff81116101b3576108d39036906004016101c5565b906064359467ffffffffffffffff86116101b3576108f8610024963690600401610824565b959094611b1f565b6044359081151582036101b357565b346101b35760406003193601126101b35760043561092c81610195565b602435908115158092036101b357610024917fc994673d24a099778a3abde494badba9992ab6682e3ea1be5d32d13eff171f5a602073ffffffffffffffffffffffffffffffffffffffff61097e612226565b941692610a0e81857fffffffffffffffffffffffff00000000000000000000000000000000000000007f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325416179074ff00000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9160a01b1691161790565b7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a3255604051908152a2612569565b919082519283825260005b848110610a68575050601f19601f8460006020809697860101520116010190565b80602080928401015182828601015201610a47565b602081016020825282518091526040820191602060408360051b8301019401926000915b838310610ab057505050505090565b9091929394602080610aec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610a3c565b97019301930191939290610aa1565b60206003193601126101b35760043567ffffffffffffffff81116101b357610b27903690600401610824565b610b2f612226565b6060337f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da03273ffffffffffffffffffffffffffffffffffffffff1614610c0c5750610b7882611f67565b9160005b818110610b9f5750506104719250610b9390612569565b60405191829182610a7d565b80610be8610bb8610bb3600194868a611e3c565b611e81565b6020610bc584878b611e3c565b013590610be0610bd685888c611e3c565b6040810190611e8b565b9290916129e3565b610bf06129f8565b610bfa8287611fb0565b52610c058186611fb0565b5001610b7c565b91909260005b828110610c2857505050610b9361047192612569565b80610c5a610c3c610bb36001948787611e3c565b6020610c49848888611e3c565b013590610be0610bd6858989611e3c565b01610c12565b60406003193601126101b357610c77600435610195565b60243567ffffffffffffffff81116101b357610c979036906004016101c5565b50507faf7a95aa0000000000000000000000000000000000000000000000000000000060005260046000fd5b60009103126101b357565b346101b35760006003193601126101b357307f00000000000000000000000069007702764179f14f51cdce752f4f775d74e13903610d305760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b639f03a0266000526004601cfd5b60806003193601126101b35760043560243567ffffffffffffffff81116101b357610d6d9036906004016101c5565b90610d76610900565b92606435610d82612226565b9484604051948537600114610ddb5750f05b8015610dcd57610da661047192612569565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b637e16b8cd6000526004601cfd5b929190f5610d94565b906020808351928381520192019060005b818110610e025750505090565b82517fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000016845260209384019390920191600101610df5565b346101b35760206003193601126101b3576060610e61600435610e5c8161026d565b611fc4565b6104716040519283926020845273ffffffffffffffffffffffffffffffffffffffff81511660208501526020810151151560408501526040810151151582850152015160808084015260a0830190610de4565b346101b35760406003193601126101b35760043567ffffffffffffffff81116101b357610ee8610024913690600401610527565b610ef0612735565b610f99610f93610f6b610f6674ffffffffffffffffffffffffffffffffffffffff04610f1f6020870135612c80565b1674ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b612cb0565b6000908051610f9e575b610f8282610f8d92612dd2565b946060810190611e8b565b91612f1f565b30612f61565b612569565b9050610f8d610f82610faf36612ce6565b92915050610f75565b346101b35760006003193601126101b3576104716040805190610fdb8183611f2c565b601682527f616c6368656d792e736d612d373730322e312e302e3000000000000000000000602083015251918291602083526020830190610a3c565b346101b35760006003193601126101b3576040611032612f8d565b60ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c1673ffffffffffffffffffffffffffffffffffffffff83519216825215156020820152f35b346101b35760006003193601126101b357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032168152f35b9060206110e0928181520190610a3c565b90565b60606003193601126101b3576004356110fb81610195565b6044359060243567ffffffffffffffff83116101b3576111376111256104719436906004016101c5565b9061112e612226565b936060956129e3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032163303611192575b61117e90612569565b604051918291602083526020830190610a3c565b905061117e61119f6129f8565b919050611175565b600435907fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000821682036101b357565b346101b35760606003193601126101b3576111ef6111a7565b60243567ffffffffffffffff81116101b35761120f9036906004016101c5565b9060443567ffffffffffffffff81116101b357611230903690600401610824565b909261123a612226565b9361128d61124787612fcf565b74ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b906001938061139c575b5050610024956112f0826112b0600161130595016149f7565b6112bc600282016149f7565b6112c8600382016149f7565b80547fffffffffffffffffff0000000000000000000000000000000000000000000000169055565b606081901c9160409190911c63ffffffff1690565b91909383611361575b5050604051911515825263ffffffff169173ffffffffffffffffffffffffffffffffffffffff16907f43f7309d11ba6b2e180e9ab8a6da09d2fa1f585d7daed4b26c1c7f2a90b867a290602090a3612569565b7f43f7309d11ba6b2e180e9ab8a6da09d2fa1f585d7daed4b26c1c7f2a90b867a292935063ffffffff916113959186614943565b929161130e565b6113a583612cb0565b6113ae8461305e565b916113bc8351835190612941565b81036114c957919290600093805185915b818310611448575050508051926000925b8484106113ee5750505050611297565b90919293949761142b6001916114058b868661294e565b9061141c6114166104d88b8b611fb0565b60601c90565b83611436575b50505099612da5565b9594019291906113de565b6114409350614943565b388080611422565b909194929395986114a96001916114608c878b61294e565b906114996112f06114746104d88d8a611fb0565b7fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001690565b50836114b7575b5050509a612da5565b9501919095939294956113cd565b6114c19350614943565b3880806114a0565b7fa24a13a60000000000000000000000000000000000000000000000000000000060005260046000fd5b346101b35760a06003193601126101b35761150f600435610195565b61151a602435610195565b60443567ffffffffffffffff81116101b35761153a903690600401610824565b505060643567ffffffffffffffff81116101b35761155c903690600401610824565b505060843567ffffffffffffffff81116101b35761157e9036906004016101c5565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b906020825260ff815116602083015260606115ed6115d860208401516080604087015260a0860190610de4565b6040840151601f198683030184870152610de4565b910151916080601f19828403019101526020808351928381520192019060005b81811061161a5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010161160d565b346101b35760206003193601126101b35761047161166e6111a7565b6040519061167b82611f0b565b600082526116e16003602084016060815260408501606081526116c76116ab611247606089019760608952612fcf565b9260ff845460a01c1688526116bf8461305e565b809152614740565b6116d082612cb0565b906116da82614740565b52016146de565b906116eb82614740565b52604051918291826115ab565b346101b35760a06003193601126101b357611714600435610195565b61171f602435610195565b60843567ffffffffffffffff81116101b35761173f9036906004016101c5565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b60406003193601126101b35760043567ffffffffffffffff81116101b3576117979036906004016101c5565b9060243567ffffffffffffffff81116101b3576103886117bb9136906004016101c5565b939174ffffffffffffffffffffffffffffffffffffffff04819492941661182e6118258274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b92600116151590565b156119b15761184160005b828686613271565b85856118906103e48474ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b9760009774ffffffffffffffffffffffffffffffffffffffffff8516151580156119a7575b611992575b5050968051805b611931575050611901949392610f66876118fb946118e56118ed956104719c613a59565b929091614cdc565b600090805161191e57612dd2565b936134c9565b61191261190c6129f8565b91612569565b604051918291826110cf565b905061192b848488613480565b90612dd2565b906119707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61198a949301998a936104be6104b86104b3878751612728565b949295919094956119846104d88587611fb0565b8c613655565b9091986118c1565b61199f92985087876135ae565b9538806118ba565b50895115156118b5565b6118416001611839565b505050506119c7612226565b600060405136828237389036907f0000000000000000000000000000000000008e6a39e03c7156e46b238c9e20365af415611a05576101c390612569565b6040513d6000823e3d90fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167fffffffff000000000000000000000000000000000000000000000000000000008114611b19577f150b7a020000000000000000000000000000000000000000000000000000000081148015611af0575b8015611ac7575b611ac1576000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd03602052604060002054151590565b50600190565b507f01ffc9a7000000000000000000000000000000000000000000000000000000008114611a8b565b507f4e2312e0000000000000000000000000000000000000000000000000000000008114611a84565b50600090565b91939695611b2b612226565b95604084901c63ffffffff1695861580611e01575b611dd757611b5c90611b54611247876140bd565b948686614142565b60005b828110611ba757505050506101c39495611b7d9160601c92836145cd565b7fc36a28045e90a1163d24d4216c8cfd8c44c4e835a486fb84d511d6b9e0736db9600080a3612569565b611bec611bc7611bc1611bbb84878761294e565b906127c9565b90612965565b7fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000001690565b90611c02611bfb82868661294e565b80916127d7565b611c1784929467010000000000000016151590565b15611d5557865460a81c60ff1660ff60018282160111611d2b57611c829060010160ff1688547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1660a89190911b75ff00000000000000000000000000000000000000000016178855565b611ce8611ce4611cdb611cb67fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008616611bc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690565b60018a01614608565b1590565b611d0157600193611cfb9260601c614592565b01611b5f565b7f298ac3da0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fe330dd260000000000000000000000000000000000000000000000000000000060005260046000fd5b865491939160b01c60ff169160ff60018185160111611d2b5787547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16600193840160b01b76ff00000000000000000000000000000000000000000000161788559193611dd29290611dca8160028b01614399565b60601c61443a565b611cfb565b7fd44e72c20000000000000000000000000000000000000000000000000000000060005260046000fd5b508460601c1515611b40565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611e7c5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101b3570190565b611e0d565b356110e081610195565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b3570180359067ffffffffffffffff82116101b3576020019181360383136101b357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6080810190811067ffffffffffffffff821117611f2757604052565b611edc565b90601f601f19910116810190811067ffffffffffffffff821117611f2757604052565b67ffffffffffffffff8111611f275760051b60200190565b90611f7182611f4f565b611f7e6040519182611f2c565b828152601f19611f8e8294611f4f565b019060005b828110611f9f57505050565b806060602080938501015201611f93565b8051821015611e7c5760209160051b010190565b9060405191611fd283611f0b565b60008352600060208401526000604084015260608084015282612040827fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b9160e01c61204d81612a16565b156120a457611ce48161207861206561207d94612b7f565b3086528015602087015215156040860152565b612bbf565b61209f5750600161208f915b016146de565b61209881614740565b6060830152565b925050565b5081612114600192604061210d61208f96546120f06120d68273ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff168552565b61210460a082901c60ff1615156020860152565b60a81c60ff1690565b1515910152565b612089565b67ffffffffffffffff8111611f2757601f01601f191660200190565b7fffffffff000000000000000000000000000000000000000000000000000000006000351673ffffffffffffffffffffffffffffffffffffffff6121c4827fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b54169081156121f957506121ee6121d9612226565b91604051903682523660006020840137612f61565b6110e061190c6129f8565b7ffcfc5aad0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b60009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032163314158061255f575b806124d0575b15612445573360081b74ffffffffffffffffffffffffffffffffffffffff00166004179161229d8336613073565b6122ea6103e48474ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b92835180612433575b805b6123f157506110e09293506123cd906123c76123807fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b9174ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b906136bd565b60009181516123dd575b50612dd2565b6123ea9192503690613437565b90386123d7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01938461242c366124266104d88486611fb0565b86613612565b90946122f5565b915061243f36366134ed565b916122f3565b906110e0906124cb6124c67fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b612c74565b6123cd565b5061255a611ce46125507fffffffff00000000000000000000000000000000000000000000000000000000600035167fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b5460a01c60ff1690565b61226f565b5030331415612269565b601f19815191019060005b81811061258057505050565b8251809303928351601f196000602087015193635d413a8188527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4389101601c890183865af1950194156125d8575050600101612574565b604051916018830152601482015263f19fc59381526040808201523d60608201523d612610575b601c601f19601f3d01166064019101fd5b60006080601f193d16830101523d6000608083013e6125ff565b91600582106101b35782358060f81c906004821660001461269257601584106101b35760501c74ffffffffffffffffffffffffffffffffffffffff00161792601501917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb0190565b60d01c64ffffffff00161792600501917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161272357565b6126c7565b9190820391821161272357565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da03216330361277457565b7fd663742a0000000000000000000000000000000000000000000000000000000060005260046000fd5b906004116101b35790600490565b90929192836004116101b35783116101b357600401916003190190565b906019116101b35790601990565b90929192836019116101b35783116101b357601901917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe70190565b906015116101b35790601590565b90601b116101b35760150190600690565b9092919283601b116101b35783116101b357601b01917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe50190565b90929192836001116101b35783116101b357600101917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b909392938483116101b35784116101b3578101920390565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106128f3575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b600401908160041161272357565b600801908160081161272357565b9190820180921161272357565b90821015611e7c5761024f9160051b810190611e8b565b919091357fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000081169260198110612999575050565b7fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000929350829060190360031b1b161690565b6000906101c393604051938185526020850137612f77565b6101c393604051938185526020850137612f77565b604051903d8252601f19603f3d840101166040523d6000602084013e565b612a1f81612b7f565b908115612b6b575b8115612b57575b8115612b43575b8115612b2f575b8115612b1b575b8115612b07575b8115612af3575b8115612adf575b8115612acb575b8115612ab7575b8115612aa3575b8115612a8f575b8115612a7e575090565b63a8b04729915063ffffffff161490565b63ffffffff81166330009d52149150612a74565b63ffffffff81166352d1902d149150612a6d565b63ffffffff811663d31b575b149150612a66565b63ffffffff811663757c8a26149150612a5f565b63ffffffff8116639cfd7cff149150612a58565b63ffffffff811663150b7a02149150612a51565b63ffffffff81166301ffc9a7149150612a4a565b63ffffffff8116631626ba7e149150612a43565b63ffffffff811663f23a6e61149150612a3c565b63ffffffff811663bc197c81149150612a35565b63ffffffff81166319822f7c149150612a2e565b63ffffffff811663b0d691fe149150612a27565b612b8881612bbf565b908115612bab575b8115612b9a575090565b63f2680c0f915063ffffffff161490565b63ffffffff8116638dd7712f149150612b90565b63ffffffff1663b61d27f68114908115612c66575b8115612c59575b8115612c4b575b8115612c3d575b8115612c2f575b8115612c21575b8115612c13575b8115612c08575090565b6330009d5291501490565b634f1ef28681149150612bfe565b635998db5c81149150612bf7565b63b6b1ccfe81149150612bf0565b6393b1dc6181149150612be9565b631bbf564c81149150612be2565b621a63e981149150612bdb565b6334fcd5be81149150612bd4565b60016110e091016146de565b60401c6004811615612ca65774ffffffffffffffffffffffffffffffffffffffffff1690565b64ffffffffff1690565b80546110e0916002019060b01c60ff166147c2565b601f8260209493601f19938186528686013760008582860101520116010190565b6110e0612d3f916040519283917fed6dfb13000000000000000000000000000000000000000000000000000000006020840152600060248401523360448401523460648401526080608484015260a48301906000612cc5565b03601f198101835282611f2c565b906110e090612d3f6040519384927fed6dfb13000000000000000000000000000000000000000000000000000000006020850152600060248501523360448501523460648501526080608485015260a4840191612cc5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146127235760010190565b805160405193926000929091805b612df257505050825260208201604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612e1e8183611fb0565b517fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000008116906704000000000000001615612e9257612e5c81856148a8565b906702000000000000008116612e75575b505080612de0565b612e8b91612e8591849799614847565b96612da5565b9338612e6d565b6702000000000000008116612ea9575b5080612de0565b612e85612ee29183969860809063ffffffff6020938060601c835260401c16838201526040808201526000606082015201608081520190565b93612ea2565b929192612ef482612119565b91612f026040519384611f2c565b8294818452818301116101b3578281602093846000960137010152565b918215612f4357600319019081808452612f3857505090565b600401602083013790565b809192506004116101b3576110e09160046003193693019101612ee8565b600091389183602083519301915af115611a0557565b916000923892602083519301915af115611a0557565b73ffffffffffffffffffffffffffffffffffffffff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325416806110e057503090565b74ffffffffffffffffffffffffffffffffffffffffff90606081901c9060401c63ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001810161303e575060081b74ffffffffffffffffffffffffffffffffffffffff00166004171690565b74ffffffffffffffffffffffffffffffffffffffff00915060081b161690565b80546110e0916001019060a81c60ff166147c2565b600091600482106132135761308882846128bf565b7f8dd7712f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216146131cf575b806131006002847fffffffff0000000000000000000000000000000000000000000000000000000094614a77565b167fb61d27f600000000000000000000000000000000000000000000000000000000810361318e575050506004013573ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff16301461316457565b7f54ff929d0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f34fcd5be00000000000000000000000000000000000000000000000000000000146131b957505050565b6131c9826002936101c3956127ac565b90614b39565b509190806131dc926127ac565b90917fffffffff0000000000000000000000000000000000000000000000000000000061320c610732848661279e565b90506130d2565b5061322161326e91836128bf565b7ffcfc5aad0000000000000000000000000000000000000000000000000000000083527fffffffff0000000000000000000000000000000000000000000000000000000016600452602490565b90fd5b91929092600484106133d85761328784846128bf565b7f8dd7712f000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821614613392575b806132fe84847fffffffff0000000000000000000000000000000000000000000000000000000094614a77565b167fb61d27f600000000000000000000000000000000000000000000000000000000810361334a575050506004013573ffffffffffffffffffffffffffffffffffffffff169050613146565b919290917f34fcd5be000000000000000000000000000000000000000000000000000000001461337b575b50505050565b83613389946131c9926127ac565b38808080613375565b50928061339f92936127ac565b929091907fffffffff000000000000000000000000000000000000000000000000000000006133d1610732868661279e565b90506132d1565b6134336133e585856128bf565b7ffcfc5aad000000000000000000000000000000000000000000000000000000006000527fffffffff0000000000000000000000000000000000000000000000000000000016600452602490565b6000fd5b908115613474575060a4601f19601f604060e48501519463ed6dfb1360448201523360848201523485820152608060c48201520193011601815290565b6110e091506000612d4d565b919082156134bf57505060a4601f19601f604060e48501519463ed6dfb1360448201523360848201523485820152608060c48201520193011601815290565b6110e09250612d4d565b919082156134e157505060e46101c391013430612f77565b6101c3925034306129e3565b61358f90613581613551949360006040519687947f465d33e000000000000000000000000000000000000000000000000000000000602087015282602487015282604487015233606487015234608487015260c060a487015260e486019083612cc5565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8584030160c4860152612cc5565b03601f198101845283611f2c565b633d6bda32602483015260a060a483015260c482018051601f19019052565b939261358f92613581916135516040519788957f465d33e0000000000000000000000000000000000000000000000000000000006020880152600060248801526000604488015233606488015234608488015260c060a488015260e4870191612cc5565b909150600063ffffffff8360401c169260601c9183604482015260c481015190826044838301015260406024389301910183855af115613650575050565b61378e565b92600091936040602463ffffffff87831c169660601c958760448501528460c485015191828601828060448301526136a5575b505050601f19601f389601160101910183855af115613650575050565b6064908982601f198616830101520137843880613688565b6001016000926136d7826001600052602052604060002090565b5490604051945b600183161580613785575b1561371557600161370e910192808460051b8801528490600052602052604060002090565b54916136de565b925093929050600261372f6104b8835460ff9060b01c1690565b91019060019160005b82811061375457505050506001810160051b8201604052815290565b909192936137716001809201958490600052602052604060002090565b5491828660051b8801520192919092613738565b508215156136e9565b604051916018830152601482015263a32d2f5d81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6040519160188301526014820152634622c74881526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6040519160188301526014820152635f85b3b481526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b90604051926018840152601483015281526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b9291633f41826e612d3f6138d06080946040519283917fe7db7f7e000000000000000000000000000000000000000000000000000000006020840152602483019960008b5260006044850152336064850152608484015260a483019660a0885260c4840191612cc5565b945252565b9160ff6138e28385614e34565b3560f81c91169081811061399e57146138fe5736926000929190565b91826005116101b3576005600183013560e01c0163ffffffff81116127235763ffffffff1692836005116101b3578084116101b357613962907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb85019481856128a7565b91909284156139745760050193929190565b7fb91b669d0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f95c6cb380000000000000000000000000000000000000000000000000000000060005260046000fd5b6000906040601f19601f602095978063ffffffff8a861c169960601c988a6044880152818060c4890152613a43575b5050011660a4019101845afa15613a0c575050565b60405191601883015260148201526346cfe46d81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b8760e48684168901015260e487013780386139f7565b9190918215611e7c5760ff813560f81c03613a9f57826001116101b357600101917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f151d90fe0000000000000000000000000000000000000000000000000000000060005260046000fd5b939291909374ffffffffffffffffffffffffffffffffffffffffff821615613af5576110e09450615036565b5050613b5392613b03614e3d565b7f19822f7c000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000006000351603613b9f57614f24565b613b7b577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b90613c4590613bdf60606040517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881524660208201523060408201522090565b907f294a8735843d4afb4f017c76faf3b7731def145ed0025fc9b1d5ce30adf113ff600052602052604060002090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b90614f24565b919091357fffffffffffffffffffffffffffffffffffffffffff000000000000000000000081169260158110613c7f575050565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000929350829060150360031b1b161690565b919091357fffffffffffff000000000000000000000000000000000000000000000000000081169260068110613ce5575050565b7fffffffffffff0000000000000000000000000000000000000000000000000000929350829060060360031b1b161690565b93929091613d54613d3a613d34613d2e8487612812565b90613c4b565b60581c90565b74ffffffffffffffffffffffffffffffffffffffffff1690565b9074ffffffffffffffffffffffffffffffffffffffff048216613db78174ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b9260ff613dc9855460ff9060a81c1690565b16613e7b578291613dda8388612820565b613de391613cb1565b60d01c9889613df385808b612831565b91613dfd936151d2565b9481613e0a85808b612831565b919094613e1990600116151590565b6000149a610f9999613e5e99613e45613e58986110e09f98610f6697613e4a9a61074157600092613271565b615292565b6000908051613e6557612dd2565b94612831565b90306129cb565b905061192b613e7584808a612831565b90612d4d565b7fd7c794140000000000000000000000000000000000000000000000000000000060005260046000fd5b91613ef36103e48274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b94600094859474ffffffffffffffffffffffffffffffffffffffffff841615158015614069575b614055575b50868051805b613f58575050613f4394939291613f3b91613a59565b9290916155e2565b915115613f5457906110e091614073565b5090565b96613fb76104d89294613faf613fa27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611474979c019b8c936104be6104b86104b3878d51612728565b9892979194909899611fb0565b93848a615520565b9173ffffffffffffffffffffffffffffffffffffffff83169060018211613fed5750508791613fe5916155b9565b968891613f25565b7fc616f69a000000000000000000000000000000000000000000000000000000006000527fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660045273ffffffffffffffffffffffffffffffffffffffff1660245260446000fd5b6140629195508490615391565b9338613f1f565b5087511515613f1a565b90600173ffffffffffffffffffffffffffffffffffffffff614095838561571e565b9316036140a3575060011790565b73ffffffffffffffffffffffffffffffffffffffff161790565b74ffffffffffffffffffffffffffffffffffffffffff90604081901c63ffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000001810161303e575060581c74ffffffffffffffffffffffffffffffffffffffff00166004171690565b9190811015611e7c5760051b0190565b356110e08161026d565b919273ffffffffffffffffffffffffffffffffffffffff614177845473ffffffffffffffffffffffffffffffffffffffff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000841660181a91606085901c91168061434a575084547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617845561423a905b84805490917fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff90911660a09190911b74ff000000000000000000000000000000000000000016179055565b60005b81811061424b575050505050565b61425e614259828488614128565b614138565b614298611ce461428f7fffffffff000000000000000000000000000000000000000000000000000000008416611cb6565b60038801614608565b6142a5575060010161423d565b613433906142d56114747fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000871681565b7fd5d4419e000000000000000000000000000000000000000000000000000000006000527fffffffff000000000000000000000000000000000000000000000000000000009091166004527fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016602452604490565b9073ffffffffffffffffffffffffffffffffffffffff160361436f5761423a906141ef565b7f50a67a840000000000000000000000000000000000000000000000000000000060005260046000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000006143c791168092614608565b156143cf5750565b7f236e22ad0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b9160206110e0938181520191612cc5565b60409073ffffffffffffffffffffffffffffffffffffffff6110e094931681528160208201520190610a3c565b92919081614449575b50509050565b614476611ce47fb02cc19200000000000000000000000000000000000000000000000000000000866157d1565b61454e5773ffffffffffffffffffffffffffffffffffffffff841691823b156101b3576144d692600092836040518096819582947f6d61fe70000000000000000000000000000000000000000000000000000000008452600484016143fc565b03925af19081614533575b5061452957506144ef6129f8565b906145256040519283927f1672bd930000000000000000000000000000000000000000000000000000000084526004840161440d565b0390fd5b9050803880614443565b80614542600061454893611f2c565b80610cc3565b386144e1565b7f70560bfc0000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff841660045260246000fd5b929190816145a05750509050565b614476611ce47f28171ad000000000000000000000000000000000000000000000000000000000866157d1565b929190816145db5750509050565b614476611ce47fab3e34c100000000000000000000000000000000000000000000000000000000866157d1565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690811580156146c8575b6146c157600160005280602052604060002054801580156146b7575b1561468f5750818161468a93614674614684946001600052602052604060002090565b5590600052602052604060002090565b60019055565b600190565b91806146a5836001600052602052604060002090565b55600052602052604060002055600190565b5060018116614651565b5050600090565b5081600052806020526040600020541515614635565b906000600160005282602052604060002054604051915b600182161580614737575b156147245760010190808260051b84015260005283602052604060002054906146f5565b6001810160051b83016040528252509150565b50811515614700565b80518060011c9060005b8281106147575750505050565b80820390828211612723577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211612723578161479960019387611fb0565b51906147b06147a88489611fb0565b519188611fb0565b526147bb8287611fb0565b520161474a565b6147cb81611f4f565b916147d96040519384611f2c565b818352601f196147e883611f4f565b01366020850137600060015b838210614802575050505090565b600052816020526001604060002054917fffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000831661483f8288611fb0565b5201906147f4565b916020928160808263ffffffff601f19601f850116968060601c835260401c1687820152604080820152826060820152019261488a575b50509060800181520190565b90816040608094600086601f19899716860101523e0101388061487e565b91906040600063ffffffff83831c169260601c9483602482015260208151910182875af1603f3d11166020600051141692602051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc13d018510161561490c575050565b60405191601883015260148201526374a1a72c81526040808201523d60608201523d61261057601c601f19601f3d01166064019101fd5b6001939260009291816149565750505050565b9394929373ffffffffffffffffffffffffffffffffffffffff1690813b156149f3579184916149bc93836040518096819582947f8a91b0e30000000000000000000000000000000000000000000000000000000084526020600485018181520191612cc5565b03925af190816149df575b506149d757509038808080613375565b919050613389565b836149ec91949294611f2c565b91386149c7565b8480fd5b600191825b15614a1c575b6000928352602082905260408320805490849055926149fc565b600183161580614a30575b614a0257915050565b50821515614a27565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60031115614a7257565b614a39565b91614a8181614a68565b80614aea5750611ce4614a949183615864565b614a9b5750565b7fcf7b49f6000000000000000000000000000000000000000000000000000000006000527fffffffff000000000000000000000000000000000000000000000000000000001660045260246000fd5b80614af6600192614a68565b03614b0857611ce4614a9491836158f3565b614b15611ce48284615864565b9081614b24575b50614a9b5750565b614b339150611ce490836158f3565b38614b1c565b9192908201916020818403126101b35780359067ffffffffffffffff82116101b357019180601f840112156101b357823567ffffffffffffffff81116101b3578160208260051b860101116101b357928082037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019060005b858110614bc25750505050505050565b60208160051b8301013567ffffffffffffffff81116101b357838112156101b3578201602081013573ffffffffffffffffffffffffffffffffffffffff81169081036101b3573014614c18575b50600101614bb2565b60608101359067ffffffffffffffff82116101b3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1818703018212156101b3570160208101359063ffffffff82116101b3576040019080860382136101b3576004136101b35735908160e01c63b61d27f68114908115614cce575b5061316457614cc886897fffffffff0000000000000000000000000000000000000000000000000000000060019516614a77565b90614c0f565b6334fcd5be91501438614c94565b91929174ffffffffffffffffffffffffffffffffffffffffff8116614d4f575050505073ffffffffffffffffffffffffffffffffffffffff614d1c614e3d565b163303614d2557565b7f384501590000000000000000000000000000000000000000000000000000000060005260046000fd5b80614d9d614da39274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b90615a9b565b9263ffffffff8460401c169360601c9230602484015284604484015260c060a48401528060c484019283519360208501905283850182806044830152614e1b575b505050833b156101b357614e0e9260206044600094601f19601f389601160101910183865af11590565b614e16575050565b6137c5565b606490600082601f198616830101520137803880614de4565b9015611e7c5790565b60ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c16614e71576110e0612f8d565b7fe684930a0000000000000000000000000000000000000000000000000000000060005260046000fd5b919091357fff0000000000000000000000000000000000000000000000000000000000000081169260018110614ecf575050565b7fff00000000000000000000000000000000000000000000000000000000000000929350829060010360031b1b161690565b60021115614a7257565b60ff166002811015614a725790565b60041115614a7257565b91926001811061500c578080614f4e614f49614f43614f549589614e9b565b60f81c90565b614f0b565b9561286c565b9093614f5f81614f01565b80614fbc5750614f7b9293614f75913691612ee8565b90615a5f565b50614f8581614f1a565b159182614f98575b505061468a57600090565b73ffffffffffffffffffffffffffffffffffffffff91925081169116143880614f8d565b80614fc8600192614f01565b14614ff7577f60cd402d0000000000000000000000000000000000000000000000000000000060005260046000fd5b6110e093615006913691612ee8565b91615984565b7f60cd402d0000000000000000000000000000000000000000000000000000000060005260046000fd5b929092600261508f6150888674ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b8096615a9b565b945460a01c161561518257601f93929160209182601f1960009784899563ffffffff8a60401c169960601c983060248801528a604488015260a060a4880152818060c489015261516c575b5050011660c4019101845afa601f3d111615615167575050518060201b6101b3577fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014613b7b577fffffffff0000000000000000000000000000000000000000000000000000000090565b6137fc565b8760e48684168901015260e487013780386150da565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000847f07391694000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b65ffffffffffff608093926110e095806040519586378420927f9b23e06584efc6b65fc854cee55011d89f86485487b6db36aed7d23884711ea38552602085015216604083015260608201522061525a60606040517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881524660208201523060408201522090565b604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916152fe917f1626ba7e00000000000000000000000000000000000000000000000000000000947fffffffff0000000000000000000000000000000000000000000000000000000094600074ffffffffffffffffffffffffffffffffffffffffff831661533057613ac9565b160361530657565b7f01334f770000000000000000000000000000000000000000000000000000000060005260046000fd5b5061533c848483613866565b613ac9565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101b357016020813591019167ffffffffffffffff82116101b35781360383136101b357565b6110e09061550c926040519384927f2a3d428c00000000000000000000000000000000000000000000000000000000602085015260006024850152606060448501526153fd608485016153e3836101b8565b73ffffffffffffffffffffffffffffffffffffffff169052565b602081013560a48501526154db6154cf6154706154336154206040860186615341565b61012060c48b01526101a48a0191612cc5565b6154406060860186615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c8a84030160e48b0152612cc5565b608084013561010488015260a084013561012488015260c084013561014488015261549e60e0850185615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c898403016101648a0152612cc5565b91610100810190615341565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c86840301610184870152612cc5565b90606483015203601f198101835282611f2c565b90929160006084602092601f19601f63ffffffff8960401c169860601c978960248901528061018489015194858a018280898301526155a3575b5050500116010182840182865af1601f3d11161561557b5750505060005190565b6004015163ffffffff16632a3d428c0361559957634db96e31613833565b6319aed90d613833565b60a490898288861683010152013780388061555a565b73ffffffffffffffffffffffffffffffffffffffff806155d9848461571e565b93169116171790565b94939074ffffffffffffffffffffffffffffffffffffffffff8616156156cd575060016156596156528774ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b8097615a9b565b955460a01c161561567d5793846110e0949551630ab8785f60048301528152615520565b7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000857f566f60e2000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b90506157109394506156dd614e3d565b907f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c60002090614f24565b61571957600190565b600090565b906157318260a01c65ffffffffffff1690565b65ffffffffffff8116156157c4575b65ffffffffffff61579561576261578e615762849561576d6157628960a01c90565b65ffffffffffff1690565b868116156157bd575b8616908616818111156157b1575060a01b9760d01c90565b9460d01c90565b169116818110156157a8575060d01b1790565b60d01b90501790565b60a01b90509760d01c90565b5085615776565b5065ffffffffffff615740565b6000906020926040517fffffffff00000000000000000000000000000000000000000000000000000000858201927f01ffc9a700000000000000000000000000000000000000000000000000000000845216602482015260248152615837604482611f2c565b5191617530fa6000513d82615858575b5081615851575090565b9050151590565b60201115915038615847565b906158718260e01c612b7f565b91821561588d575b5081615883575090565b6110e09150615b1a565b60ff9192506158e7907fffffffff00000000000000000000000000000000000000000000000000000000166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd01602052604060002090565b5460a81c169038615879565b9060036159617fffffffff000000000000000000000000000000000000000000000000000000009274ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b019116600052602052604060002054151590565b908160209103126101b3575190565b60009291612d3f6159d4859460405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190610a3c565b51915afa3d15615a58573d6159e881612119565b906159f66040519283611f2c565b81523d6000602083013e5b81615a4a575b81615a10575090565b7f1626ba7e00000000000000000000000000000000000000000000000000000000915080602080615a4693518301019101615975565b1490565b905060208151101590615a07565b6060615a01565b8151919060418303615a9057615a8992506020820151906060604084015193015160001a90615c1a565b9192909190565b505060009160029190565b906004821615615adc575060581b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffff00000000000000001790565b5460601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660389190911b6bffffffff0000000000000000161790565b74ffffffffffffffffffffffffffffffffffffffffff8116908115908115615bbf575b50611ac15760ff7f5b9dc9aa943f8fa2653ceceda5e3798f0686455280432166ba472eca0bc17a325460a01c16611b1957615b76612f8d565b600474ffffffffffffffffffffffffffffffffffffffff00600883901b16179091149081615ba2575090565b73ffffffffffffffffffffffffffffffffffffffff915016331490565b60049150615c0d9074ffffffffffffffffffffffffffffffffffffffffff166000527f596912a710dec01bac203cb0ed2c7e56a2ce6b2a68276967fff6dd57561bdd02602052604060002090565b5460a01c16151538615b3d565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615ca4579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611a055760005173ffffffffffffffffffffffffffffffffffffffff811615615c985790600090600090565b50600090600190600090565b5050506000916003919056fea164736f6c634300081a000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da0320000000000000000000000000000000000008e6a39e03c7156e46b238c9e2036

-----Decoded View---------------
Arg [0] : entryPoint (address): 0x0000000071727De22E5E9d8BAf0edAc6f37da032
Arg [1] : executionInstallDelegate (address): 0x0000000000008e6a39E03C7156e46b238C9E2036

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032
Arg [1] : 0000000000000000000000000000000000008e6a39e03c7156e46b238c9e2036

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x69007702764179f14F51cdce752f4f775d74E139
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.