@arbitrum/nitro-contracts 1.2.1 → 2.0.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +26 -2
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +13 -2
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
- package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
- package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.json +13 -0
- package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
- package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
- package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Inbox.sol/Inbox.json +2 -2
- package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
- package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +2 -2
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +4 -0
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +517 -0
- package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +1 -1
- package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.json +2 -2
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +1 -1
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +50 -2
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +1 -1
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +55 -0
- package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +1 -1
- package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
- package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +4 -0
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +10 -0
- package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
- package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
- package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
- package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
- package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +4 -0
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +46 -0
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +28 -2
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +2 -2
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +1 -1
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +2 -2
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +4 -0
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +71 -0
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +4 -0
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +36 -0
- package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +4 -0
- package/build/contracts/src/mocks/Program.sol/ProgramTest.json +142 -0
- package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +4 -0
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +25 -0
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +2 -2
- package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +4 -0
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +37 -0
- package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +1 -1
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +50 -2
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +1 -1
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +50 -2
- package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
- package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
- package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
- package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +48 -0
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +88 -0
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +50 -2
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +90 -2
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +90 -2
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +90 -2
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +90 -2
- package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.json +7 -0
- package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.json +161 -0
- package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +4 -0
- package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.json +453 -0
- package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +4 -0
- package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.json +126 -0
- package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
- package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +2 -2
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +4 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +68 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +4 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.json +58 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +4 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.json +40 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +4 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.json +24 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +4 -0
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.json +24 -0
- package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +18 -0
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +18 -0
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +18 -0
- package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +1 -1
- package/build/contracts/src/rollup/Node.sol/NodeLib.json +2 -2
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +28 -2
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +13 -0
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +2 -2
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +2 -2
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +31 -0
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +33 -2
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +33 -2
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +2 -2
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +2 -2
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
- package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
- package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
- package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
- package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
- package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
- package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
- package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
- package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
- package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
- package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +4 -0
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +10 -0
- package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
- package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
- package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +28 -2
- package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
- package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
- package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
- package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
- package/package.json +17 -8
- package/src/bridge/AbsInbox.sol +16 -4
- package/src/bridge/AbsOutbox.sol +11 -2
- package/src/bridge/ERC20Bridge.sol +30 -3
- package/src/bridge/ERC20Inbox.sol +28 -4
- package/src/bridge/ERC20Outbox.sol +10 -1
- package/src/bridge/IERC20Bridge.sol +7 -0
- package/src/bridge/IERC20Inbox.sol +4 -3
- package/src/bridge/IInbox.sol +3 -3
- package/src/bridge/Inbox.sol +6 -1
- package/src/bridge/Outbox.sol +5 -0
- package/src/chain/CacheManager.sol +293 -0
- package/src/challenge/ChallengeLib.sol +0 -45
- package/src/challenge/ChallengeManager.sol +24 -9
- package/src/challenge/IChallengeManager.sol +13 -0
- package/src/libraries/Constants.sol +11 -0
- package/src/libraries/DecimalsConverterHelper.sol +33 -0
- package/src/libraries/Error.sol +6 -0
- package/src/mocks/Benchmarks.sol +52 -0
- package/src/mocks/BridgeStub.sol +3 -0
- package/src/mocks/MultiCallTest.sol +117 -0
- package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +29 -0
- package/src/mocks/Program.sol +126 -0
- package/src/mocks/SdkStorage.sol +176 -0
- package/src/mocks/SimpleCacheManager.sol +22 -0
- package/src/node-interface/NodeInterface.sol +1 -1
- package/src/osp/IOneStepProofEntry.sol +10 -0
- package/src/osp/OneStepProofEntry.sol +81 -7
- package/src/osp/OneStepProver0.sol +64 -20
- package/src/osp/OneStepProverHostIo.sol +201 -2
- package/src/osp/OneStepProverMemory.sol +4 -33
- package/src/precompiles/ArbDebug.sol +2 -0
- package/src/precompiles/ArbOwner.sol +51 -9
- package/src/precompiles/ArbWasm.sol +119 -0
- package/src/precompiles/ArbWasmCache.sol +36 -0
- package/src/rollup/AbsRollupEventInbox.sol +3 -4
- package/src/rollup/DeployHelper.sol +22 -11
- package/src/rollup/ERC20RollupEventInbox.sol +5 -0
- package/src/rollup/FactoryDeployerHelper.sol +54 -0
- package/src/rollup/IRollupLogic.sol +2 -0
- package/src/rollup/RollupAdminLogic.sol +11 -0
- package/src/rollup/RollupCore.sol +1 -0
- package/src/rollup/RollupCreator.sol +49 -1
- package/src/rollup/RollupEventInbox.sol +8 -0
- package/src/rollup/RollupUserLogic.sol +35 -13
- package/src/state/Deserialize.sol +88 -47
- package/src/state/Instructions.sol +38 -3
- package/src/state/Machine.sol +92 -15
- package/src/state/MerkleProof.sol +22 -4
- package/src/state/Module.sol +3 -1
- package/src/state/ModuleMemory.sol +54 -0
- package/src/state/MultiStack.sol +58 -0
- package/src/state/StackFrame.sol +6 -1
- package/src/state/Value.sol +13 -1
- package/src/state/ValueStack.sol +6 -1
- package/src/test-helpers/BridgeTester.sol +3 -0
@@ -65,6 +65,23 @@
|
|
65
65
|
"name": "valueStack",
|
66
66
|
"type": "tuple"
|
67
67
|
},
|
68
|
+
{
|
69
|
+
"components": [
|
70
|
+
{
|
71
|
+
"internalType": "bytes32",
|
72
|
+
"name": "inactiveStackHash",
|
73
|
+
"type": "bytes32"
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"internalType": "bytes32",
|
77
|
+
"name": "remainingHash",
|
78
|
+
"type": "bytes32"
|
79
|
+
}
|
80
|
+
],
|
81
|
+
"internalType": "struct MultiStack",
|
82
|
+
"name": "valueMultiStack",
|
83
|
+
"type": "tuple"
|
84
|
+
},
|
68
85
|
{
|
69
86
|
"components": [
|
70
87
|
{
|
@@ -152,6 +169,23 @@
|
|
152
169
|
"name": "frameStack",
|
153
170
|
"type": "tuple"
|
154
171
|
},
|
172
|
+
{
|
173
|
+
"components": [
|
174
|
+
{
|
175
|
+
"internalType": "bytes32",
|
176
|
+
"name": "inactiveStackHash",
|
177
|
+
"type": "bytes32"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"internalType": "bytes32",
|
181
|
+
"name": "remainingHash",
|
182
|
+
"type": "bytes32"
|
183
|
+
}
|
184
|
+
],
|
185
|
+
"internalType": "struct MultiStack",
|
186
|
+
"name": "frameMultiStack",
|
187
|
+
"type": "tuple"
|
188
|
+
},
|
155
189
|
{
|
156
190
|
"internalType": "bytes32",
|
157
191
|
"name": "globalStateHash",
|
@@ -172,6 +206,11 @@
|
|
172
206
|
"name": "functionPc",
|
173
207
|
"type": "uint32"
|
174
208
|
},
|
209
|
+
{
|
210
|
+
"internalType": "bytes32",
|
211
|
+
"name": "recoveryPc",
|
212
|
+
"type": "bytes32"
|
213
|
+
},
|
175
214
|
{
|
176
215
|
"internalType": "bytes32",
|
177
216
|
"name": "modulesRoot",
|
@@ -221,6 +260,11 @@
|
|
221
260
|
"name": "functionsMerkleRoot",
|
222
261
|
"type": "bytes32"
|
223
262
|
},
|
263
|
+
{
|
264
|
+
"internalType": "bytes32",
|
265
|
+
"name": "extraHash",
|
266
|
+
"type": "bytes32"
|
267
|
+
},
|
224
268
|
{
|
225
269
|
"internalType": "uint32",
|
226
270
|
"name": "internalsOffset",
|
@@ -299,6 +343,23 @@
|
|
299
343
|
"name": "valueStack",
|
300
344
|
"type": "tuple"
|
301
345
|
},
|
346
|
+
{
|
347
|
+
"components": [
|
348
|
+
{
|
349
|
+
"internalType": "bytes32",
|
350
|
+
"name": "inactiveStackHash",
|
351
|
+
"type": "bytes32"
|
352
|
+
},
|
353
|
+
{
|
354
|
+
"internalType": "bytes32",
|
355
|
+
"name": "remainingHash",
|
356
|
+
"type": "bytes32"
|
357
|
+
}
|
358
|
+
],
|
359
|
+
"internalType": "struct MultiStack",
|
360
|
+
"name": "valueMultiStack",
|
361
|
+
"type": "tuple"
|
362
|
+
},
|
302
363
|
{
|
303
364
|
"components": [
|
304
365
|
{
|
@@ -386,6 +447,23 @@
|
|
386
447
|
"name": "frameStack",
|
387
448
|
"type": "tuple"
|
388
449
|
},
|
450
|
+
{
|
451
|
+
"components": [
|
452
|
+
{
|
453
|
+
"internalType": "bytes32",
|
454
|
+
"name": "inactiveStackHash",
|
455
|
+
"type": "bytes32"
|
456
|
+
},
|
457
|
+
{
|
458
|
+
"internalType": "bytes32",
|
459
|
+
"name": "remainingHash",
|
460
|
+
"type": "bytes32"
|
461
|
+
}
|
462
|
+
],
|
463
|
+
"internalType": "struct MultiStack",
|
464
|
+
"name": "frameMultiStack",
|
465
|
+
"type": "tuple"
|
466
|
+
},
|
389
467
|
{
|
390
468
|
"internalType": "bytes32",
|
391
469
|
"name": "globalStateHash",
|
@@ -406,6 +484,11 @@
|
|
406
484
|
"name": "functionPc",
|
407
485
|
"type": "uint32"
|
408
486
|
},
|
487
|
+
{
|
488
|
+
"internalType": "bytes32",
|
489
|
+
"name": "recoveryPc",
|
490
|
+
"type": "bytes32"
|
491
|
+
},
|
409
492
|
{
|
410
493
|
"internalType": "bytes32",
|
411
494
|
"name": "modulesRoot",
|
@@ -455,6 +538,11 @@
|
|
455
538
|
"name": "functionsMerkleRoot",
|
456
539
|
"type": "bytes32"
|
457
540
|
},
|
541
|
+
{
|
542
|
+
"internalType": "bytes32",
|
543
|
+
"name": "extraHash",
|
544
|
+
"type": "bytes32"
|
545
|
+
},
|
458
546
|
{
|
459
547
|
"internalType": "uint32",
|
460
548
|
"name": "internalsOffset",
|
@@ -470,8 +558,8 @@
|
|
470
558
|
"type": "function"
|
471
559
|
}
|
472
560
|
],
|
473
|
-
"bytecode": "0x608060405234801561001057600080fd5b50612640806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063da78e7d114610030575b600080fd5b61004361003e366004611bc6565b61005a565b604051610051929190611dd8565b60405180910390f35b610062611a8e565b61006a611b37565b61007387612280565b915061008436879003870187612383565b90506000610095602087018761241a565b9050611b8161ffff82166100ac57506102bd61029f565b61ffff8216600114156100c257506102c861029f565b61ffff8216600f14156100d857506102cf61029f565b61ffff8216601014156100ee57506103fb61029f565b61ffff82166180091415610105575061049561029f565b61ffff821661800a141561011c575061054161029f565b61ffff821660111415610132575061062e61029f565b61ffff821661800314156101495750610a0f61029f565b61ffff821661800414156101605750610a4e61029f565b61ffff8216602014156101765750610aac61029f565b61ffff82166021141561018c5750610aee61029f565b61ffff8216602314156101a25750610b3361029f565b61ffff8216602414156101b85750610b5b61029f565b61ffff821661800214156101cf5750610b8b61029f565b61ffff8216601a14156101e55750610c2861029f565b61ffff8216601b14156101fb5750610c3561029f565b604161ffff8316108015906102155750604461ffff831611155b156102235750610ca461029f565b61ffff8216618005148061023c575061ffff8216618006145b1561024a5750610d9861029f565b61ffff821661800814156102615750610e6b61029f565b60405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f4f50434f444560901b60448201526064015b60405180910390fd5b6102b084848989898663ffffffff16565b5050965096945050505050565b505060029092525050565b5050505050565b60006102de8660600151610e7a565b9050600481515160068111156102f6576102f6611ca9565b141561031d578560025b9081600381111561031357610313611ca9565b81525050506102c8565b6006815151600681111561033357610333611ca9565b146103795760405162461bcd60e51b8152602060048201526016602482015275494e56414c49445f52455455524e5f50435f5459504560501b6044820152606401610296565b805160209081015190819081901c604082901c606083901c156103d75760405162461bcd60e51b8152602060048201526016602482015275494e56414c49445f52455455524e5f50435f4441544160501b6044820152606401610296565b63ffffffff92831660e08b015290821660c08a01521660a088015250505050505050565b61041261040786610f1a565b602087015190610f7d565b60006104218660600151610f8d565b905061043e6104338260400151610fd9565b602088015190610f7d565b61044e6104338260600151610fd9565b602084013563ffffffff811681146104785760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660c08701525050600060e090940193909352505050565b6104a161040786610f1a565b6104b16104078660a00151610fd9565b6104c16104078560800151610fd9565b6020808401359081901c604082901c1561051d5760405162461bcd60e51b815260206004820152601a60248201527f4241445f43524f53535f4d4f44554c455f43414c4c5f444154410000000000006044820152606401610296565b63ffffffff90811660a08801521660c08601525050600060e0909301929092525050565b61054d61040786610f1a565b61055d6104078660a00151610fd9565b61056d6104078560800151610fd9565b600061057c8660600151610f8d565b9050806060015163ffffffff166000141561059957856002610300565b602084013563ffffffff811681146105f35760405162461bcd60e51b815260206004820152601d60248201527f4241445f43414c4c45525f494e5445524e414c5f43414c4c5f444154410000006044820152606401610296565b604082015163ffffffff1660a0880152606082015161061390829061247b565b63ffffffff1660c08801525050600060e08601525050505050565b600080610646610641886020015161100c565b611031565b90506000806000808060006106676040518060200160405280606081525090565b6106728b8b876110c2565b955093506106818b8b87611129565b90965094506106918b8b87611145565b955092506106a08b8b876110c2565b955091506106af8b8b87611129565b90975094506106bf8b8b8761117b565b6040516d21b0b6361034b73234b932b1ba1d60911b60208201526001600160c01b031960c088901b16602e8201526036810189905290965090915060009060560160408051601f19818403018152919052805160209182012091508d013581146107645760405162461bcd60e51b81526020600482015260166024820152754241445f43414c4c5f494e4449524543545f4441544160501b6044820152606401610296565b61077a826001600160401b03871686868c611255565b90508d6040015181146107c15760405162461bcd60e51b815260206004820152600f60248201526e10905117d51050931154d7d493d3d5608a1b6044820152606401610296565b826001600160401b03168963ffffffff16106107eb57505060028d52506102c89650505050505050565b5050505050600061080c604080518082019091526000808252602082015290565b6040805160208101909152606081526108268a8a86611129565b945092506108358a8a866112f7565b945091506108448a8a8661117b565b9450905060006108618263ffffffff808b1690879087906113f316565b90508681146108a65760405162461bcd60e51b815260206004820152601160248201527010905117d153115351539514d7d493d3d5607a1b6044820152606401610296565b8584146108d6578d60025b908160038111156108c4576108c4611ca9565b815250505050505050505050506102c8565b6004835160068111156108eb576108eb611ca9565b14156108f9578d60026108b1565b60058351600681111561090e5761090e611ca9565b141561096d576020830151985063ffffffff891689146109685760405162461bcd60e51b81526020600482015260156024820152744241445f46554e435f5245465f434f4e54454e545360581b6044820152606401610296565b6109a5565b60405162461bcd60e51b815260206004820152600d60248201526c4241445f454c454d5f5459504560981b6044820152606401610296565b50505050505050506109b961043387610f1a565b60006109c88760600151610f8d565b90506109e56109da8260400151610fd9565b602089015190610f7d565b6109f56109da8260600151610fd9565b5063ffffffff1660c0860152600060e08601525050505050565b602083013563ffffffff81168114610a395760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660e09095019490945250505050565b6000610a60610641876020015161100c565b905063ffffffff811615610aa457602084013563ffffffff81168114610a985760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660e08701525b505050505050565b6000610abb8660600151610f8d565b90506000610ad382602001518660200135868661148d565b6020880151909150610ae59082610f7d565b50505050505050565b6000610afd866020015161100c565b90506000610b0e8760600151610f8d565b9050610b2581602001518660200135848787611525565b602090910152505050505050565b6000610b4985600001518560200135858561148d565b6020870151909150610aa49082610f7d565b6000610b6a866020015161100c565b9050610b8185600001518560200135838686611525565b9094525050505050565b6000610b9a866020015161100c565b90506000610bab876020015161100c565b90506000610bbc886020015161100c565b905060006040518060800160405280838152602001886020013560001b8152602001610be785611031565b63ffffffff168152602001610bfb86611031565b63ffffffff168152509050610c1d818a606001516115bf90919063ffffffff16565b505050505050505050565b610aa4856020015161100c565b6000610c47610641876020015161100c565b90506000610c58876020015161100c565b90506000610c69886020015161100c565b905063ffffffff831615610c8b576020880151610c869082610f7d565b610c9a565b6020880151610c9a9083610f7d565b5050505050505050565b6000610cb3602085018561241a565b9050600061ffff821660411415610ccc57506000610d4f565b61ffff821660421415610ce157506001610d4f565b61ffff821660431415610cf657506002610d4f565b61ffff821660441415610d0b57506003610d4f565b60405162461bcd60e51b8152602060048201526019602482015278434f4e53545f505553485f494e56414c49445f4f50434f444560381b6044820152606401610296565b610ae56040518060400160405280836006811115610d6f57610d6f611ca9565b815260200187602001356001600160401b03168152508860200151610f7d90919063ffffffff16565b6040805180820190915260008082526020820152618005610dbc602086018661241a565b61ffff161415610dea57610dd3866020015161100c565b6040870151909150610de59082610f7d565b610aa4565b618006610dfa602086018661241a565b61ffff161415610e2357610e11866040015161100c565b6020870151909150610de59082610f7d565b60405162461bcd60e51b815260206004820152601c60248201527f4d4f56455f494e5445524e414c5f494e56414c49445f4f50434f4445000000006044820152606401610296565b6000610b4986602001516116a6565b610e82611b8b565b815151600114610ea45760405162461bcd60e51b8152600401610296906124a3565b81518051600090610eb757610eb76124ce565b6020026020010151905060006001600160401b03811115610eda57610eda611f00565b604051908082528060200260200182016040528015610f1357816020015b610f00611b8b565b815260200190600190039081610ef85790505b5090915290565b604080518082018252600080825260209182015260e083015160c084015160a090940151835180850185526006815263ffffffff90921694831b67ffffffff0000000016949094179390921b63ffffffff60401b16929092179181019190915290565b8151610f8990826116db565b5050565b610f95611b8b565b815151600114610fb75760405162461bcd60e51b8152600401610296906124a3565b81518051600090610fca57610fca6124ce565b60200260200101519050919050565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b6040805180820190915260008082526020820152815161102b906117a4565b92915050565b6020810151600090818351600681111561104d5761104d611ca9565b146110845760405162461bcd60e51b81526020600482015260076024820152662727aa2fa4999960c91b6044820152606401610296565b640100000000811061102b5760405162461bcd60e51b81526020600482015260076024820152662120a22fa4999960c91b6044820152606401610296565b600081815b6008811015611120576008836001600160401b0316901b92508585838181106110f2576110f26124ce565b919091013560f81c9390931792508161110a816124e4565b9250508080611118906124e4565b9150506110c7565b50935093915050565b600081816111388686846118ad565b9097909650945050505050565b60008184848281811061115a5761115a6124ce565b919091013560f81c9250819050611170816124e4565b915050935093915050565b604080516020810190915260608152816000611198868684611145565b92509050600060ff82166001600160401b038111156111b9576111b9611f00565b6040519080825280602002602001820160405280156111e2578160200160208202803683370190505b50905060005b8260ff168160ff16101561123957611201888886611129565b838360ff1681518110611216576112166124ce565b602002602001018196508281525050508080611231906124ff565b9150506111e8565b5060405180602001604052808281525093505050935093915050565b604051652a30b136329d60d11b60208201526001600160f81b031960f885901b1660268201526001600160c01b031960c084901b166027820152602f81018290526000908190604f016040516020818303038152906040528051906020012090506112ec878783604051806040016040528060128152602001712a30b136329036b2b935b632903a3932b29d60711b815250611902565b979650505050505050565b6040805180820190915260008082526020820152816000858583818110611320576113206124ce565b919091013560f81c9150829050611336816124e4565b925050611341600690565b600681111561135257611352611ca9565b60ff168160ff1611156113985760405162461bcd60e51b815260206004820152600e60248201526d4241445f56414c55455f5459504560901b6044820152606401610296565b60006113a58787856118ad565b809450819250505060405180604001604052808360ff1660068111156113cd576113cd611ca9565b60068111156113de576113de611ca9565b81526020018281525093505050935093915050565b60008083611400846119d4565b6040516d2a30b136329032b632b6b2b73a1d60911b6020820152602e810192909252604e820152606e016040516020818303038152906040528051906020012090506114838686836040518060400160405280601a81526020017f5461626c6520656c656d656e74206d65726b6c6520747265653a000000000000815250611902565b9695505050505050565b604080518082019091526000808252602082015260006114bd604080518082019091526000808252602082015290565b6040805160208101909152606081526114d78686856112f7565b935091506114e686868561117b565b9350905060006114f7828985611a0e565b90508881146115185760405162461bcd60e51b81526004016102969061251f565b5090979650505050505050565b6000611541604080518082019091526000808252602082015290565b60006115596040518060200160405280606081525090565b6115648686846112f7565b909350915061157486868461117b565b925090506000611585828a86611a0e565b90508981146115a65760405162461bcd60e51b81526004016102969061251f565b6115b1828a8a611a0e565b9a9950505050505050505050565b8151516000906115d090600161254a565b6001600160401b038111156115e7576115e7611f00565b60405190808252806020026020018201604052801561162057816020015b61160d611b8b565b8152602001906001900390816116055790505b50905060005b83515181101561167c578351805182908110611644576116446124ce565b602002602001015182828151811061165e5761165e6124ce565b60200260200101819052508080611674906124e4565b915050611626565b50818184600001515181518110611695576116956124ce565b602090810291909101015290915250565b6040805180820190915260008082526020820152815151516116d46116cc600183612562565b845190611a56565b9392505050565b8151516000906116ec90600161254a565b6001600160401b0381111561170357611703611f00565b60405190808252806020026020018201604052801561174857816020015b60408051808201909152600080825260208201528152602001906001900390816117215790505b50905060005b83515181101561167c57835180518290811061176c5761176c6124ce565b6020026020010151828281518110611786576117866124ce565b6020026020010181905250808061179c906124e4565b91505061174e565b6040805180820190915260008082526020820152815180516117c890600190612562565b815181106117d8576117d86124ce565b60200260200101519050600060018360000151516117f69190612562565b6001600160401b0381111561180d5761180d611f00565b60405190808252806020026020018201604052801561185257816020015b604080518082019091526000808252602082015281526020019060019003908161182b5790505b50905060005b8151811015610f13578351805182908110611875576118756124ce565b602002602001015182828151811061188f5761188f6124ce565b602002602001018190525080806118a5906124e4565b915050611858565b600081815b602081101561112057600883901b92508585838181106118d4576118d46124ce565b919091013560f81c939093179250816118ec816124e4565b92505080806118fa906124e4565b9150506118b2565b8160005b8551518110156119cb576001851661196757828287600001518381518110611930576119306124ce565b602002602001015160405160200161194a93929190612579565b6040516020818303038152906040528051906020012091506119b2565b828660000151828151811061197e5761197e6124ce565b60200260200101518360405160200161199993929190612579565b6040516020818303038152906040528051906020012091505b60019490941c93806119c3816124e4565b915050611906565b50949350505050565b6000816000015182602001516040516020016119f19291906125bf565b604051602081830303815290604052805190602001209050919050565b6000611a4e8484611a1e856119d4565b604051806040016040528060128152602001712b30b63ab29036b2b935b632903a3932b29d60711b815250611902565b949350505050565b60408051808201909152600080825260208201528251805183908110611a7e57611a7e6124ce565b6020026020010151905092915050565b6040805161012081019091528060008152602001611ac360408051606080820183529181019182529081526000602082015290565b8152602001611ae960408051606080820183529181019182529081526000602082015290565b8152602001611b0e604051806040016040528060608152602001600080191681525090565b815260006020820181905260408201819052606082018190526080820181905260a09091015290565b6040805160a0810182526000808252825160608101845281815260208181018390529381019190915290918201905b81526000602082018190526040820181905260609091015290565b611b896125f4565b565b6040805160c0810190915260006080820181815260a08301919091528190611b66565b600060408284031215611bc057600080fd5b50919050565b6000806000806000808688036101a0811215611be157600080fd5b611beb8989611bae565b965060408801356001600160401b0380821115611c0757600080fd5b90890190610120828c031215611c1c57600080fd5b81975060e0605f1984011215611c3157600080fd5b60608a019650611c458b6101408c01611bae565b95506101808a0135925080831115611c5c57600080fd5b828a0192508a601f840112611c7057600080fd5b8235915080821115611c8157600080fd5b50896020828401011115611c9457600080fd5b60208201935080925050509295509295509295565b634e487b7160e01b600052602160045260246000fd5b60048110611ccf57611ccf611ca9565b9052565b805160078110611ce557611ce5611ca9565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015611d4257611d2e828651611cd3565b938201936001939093019290850190611d1b565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b82811015611dc1578451611d8d858251611cd3565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a090930192600101611d78565b509687015197909601969096525093949350505050565b6000610100808352611ded8184018651611cbf565b602085015161012084810152611e07610220850182611cf2565b9050604086015160ff198086840301610140870152611e268383611cf2565b925060608801519150808684030161016087015250611e458282611d56565b915050608086015161018085015260a0860151611e6b6101a086018263ffffffff169052565b5060c086015163ffffffff81166101c08601525060e086015163ffffffff81166101e0860152509085015161020084015290506116d460208301848051825260208101516001600160401b0380825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a083015263ffffffff60808201511660c08301525050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715611f3857611f38611f00565b60405290565b604051602081016001600160401b0381118282101715611f3857611f38611f00565b604051608081016001600160401b0381118282101715611f3857611f38611f00565b60405161012081016001600160401b0381118282101715611f3857611f38611f00565b60405160a081016001600160401b0381118282101715611f3857611f38611f00565b604051606081016001600160401b0381118282101715611f3857611f38611f00565b604051601f8201601f191681016001600160401b038111828210171561201157612011611f00565b604052919050565b80356004811061202857600080fd5b919050565b60006001600160401b0382111561204657612046611f00565b5060051b60200190565b60006040828403121561206257600080fd5b61206a611f16565b905081356007811061207b57600080fd5b808252506020820135602082015292915050565b600060408083850312156120a257600080fd5b6120aa611f16565b915082356001600160401b03808211156120c357600080fd5b818501915060208083880312156120d957600080fd5b6120e1611f3e565b8335838111156120f057600080fd5b80850194505087601f85011261210557600080fd5b8335925061211a6121158461202d565b611fe9565b83815260069390931b8401820192828101908985111561213957600080fd5b948301945b8486101561215f576121508a87612050565b8252948601949083019061213e565b8252508552948501359484019490945250909392505050565b803563ffffffff8116811461202857600080fd5b6000604080838503121561219f57600080fd5b6121a7611f16565b915082356001600160401b038111156121bf57600080fd5b8301601f810185136121d057600080fd5b803560206121e06121158361202d565b82815260a092830284018201928282019190898511156121ff57600080fd5b948301945b848610156122685780868b03121561221c5760008081fd5b612224611f60565b61222e8b88612050565b815287870135858201526060612245818901612178565b8983015261225560808901612178565b9082015283529485019491830191612204565b50808752505080860135818601525050505092915050565b6000610120823603121561229357600080fd5b61229b611f82565b6122a483612019565b815260208301356001600160401b03808211156122c057600080fd5b6122cc3683870161208f565b602084015260408501359150808211156122e557600080fd5b6122f13683870161208f565b6040840152606085013591508082111561230a57600080fd5b506123173682860161218c565b6060830152506080830135608082015261233360a08401612178565b60a082015261234460c08401612178565b60c082015261235560e08401612178565b60e082015261010092830135928101929092525090565b80356001600160401b038116811461202857600080fd5b600081830360e081121561239657600080fd5b61239e611fa5565b833581526060601f19830112156123b457600080fd5b6123bc611fc7565b91506123ca6020850161236c565b82526123d86040850161236c565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015261240d60c08501612178565b6080820152949350505050565b60006020828403121561242c57600080fd5b813561ffff811681146116d457600080fd5b6020808252600d908201526c4241445f43414c4c5f4441544160981b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681851680830382111561249a5761249a612465565b01949350505050565b6020808252601190820152700848288beae929c889eaebe988a9c8ea89607b1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006000198214156124f8576124f8612465565b5060010190565b600060ff821660ff81141561251657612516612465565b60010192915050565b60208082526011908201527015d493d391d7d3515492d31157d493d3d5607a1b604082015260600190565b6000821982111561255d5761255d612465565b500190565b60008282101561257457612574612465565b500390565b6000845160005b8181101561259a5760208188018101518583015201612580565b818111156125a9576000828501525b5091909101928352506020820152604001919050565b652b30b63ab29d60d11b81526000600784106125dd576125dd611ca9565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220b902a6388a562f04c941d5ce1c3185c91f9ee83e272d461c79a1235e019d1fb464736f6c63430008090033",
|
474
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063da78e7d114610030575b600080fd5b61004361003e366004611bc6565b61005a565b604051610051929190611dd8565b60405180910390f35b610062611a8e565b61006a611b37565b61007387612280565b915061008436879003870187612383565b90506000610095602087018761241a565b9050611b8161ffff82166100ac57506102bd61029f565b61ffff8216600114156100c257506102c861029f565b61ffff8216600f14156100d857506102cf61029f565b61ffff8216601014156100ee57506103fb61029f565b61ffff82166180091415610105575061049561029f565b61ffff821661800a141561011c575061054161029f565b61ffff821660111415610132575061062e61029f565b61ffff821661800314156101495750610a0f61029f565b61ffff821661800414156101605750610a4e61029f565b61ffff8216602014156101765750610aac61029f565b61ffff82166021141561018c5750610aee61029f565b61ffff8216602314156101a25750610b3361029f565b61ffff8216602414156101b85750610b5b61029f565b61ffff821661800214156101cf5750610b8b61029f565b61ffff8216601a14156101e55750610c2861029f565b61ffff8216601b14156101fb5750610c3561029f565b604161ffff8316108015906102155750604461ffff831611155b156102235750610ca461029f565b61ffff8216618005148061023c575061ffff8216618006145b1561024a5750610d9861029f565b61ffff821661800814156102615750610e6b61029f565b60405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f4f50434f444560901b60448201526064015b60405180910390fd5b6102b084848989898663ffffffff16565b5050965096945050505050565b505060029092525050565b5050505050565b60006102de8660600151610e7a565b9050600481515160068111156102f6576102f6611ca9565b141561031d578560025b9081600381111561031357610313611ca9565b81525050506102c8565b6006815151600681111561033357610333611ca9565b146103795760405162461bcd60e51b8152602060048201526016602482015275494e56414c49445f52455455524e5f50435f5459504560501b6044820152606401610296565b805160209081015190819081901c604082901c606083901c156103d75760405162461bcd60e51b8152602060048201526016602482015275494e56414c49445f52455455524e5f50435f4441544160501b6044820152606401610296565b63ffffffff92831660e08b015290821660c08a01521660a088015250505050505050565b61041261040786610f1a565b602087015190610f7d565b60006104218660600151610f8d565b905061043e6104338260400151610fd9565b602088015190610f7d565b61044e6104338260600151610fd9565b602084013563ffffffff811681146104785760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660c08701525050600060e090940193909352505050565b6104a161040786610f1a565b6104b16104078660a00151610fd9565b6104c16104078560800151610fd9565b6020808401359081901c604082901c1561051d5760405162461bcd60e51b815260206004820152601a60248201527f4241445f43524f53535f4d4f44554c455f43414c4c5f444154410000000000006044820152606401610296565b63ffffffff90811660a08801521660c08601525050600060e0909301929092525050565b61054d61040786610f1a565b61055d6104078660a00151610fd9565b61056d6104078560800151610fd9565b600061057c8660600151610f8d565b9050806060015163ffffffff166000141561059957856002610300565b602084013563ffffffff811681146105f35760405162461bcd60e51b815260206004820152601d60248201527f4241445f43414c4c45525f494e5445524e414c5f43414c4c5f444154410000006044820152606401610296565b604082015163ffffffff1660a0880152606082015161061390829061247b565b63ffffffff1660c08801525050600060e08601525050505050565b600080610646610641886020015161100c565b611031565b90506000806000808060006106676040518060200160405280606081525090565b6106728b8b876110c2565b955093506106818b8b87611129565b90965094506106918b8b87611145565b955092506106a08b8b876110c2565b955091506106af8b8b87611129565b90975094506106bf8b8b8761117b565b6040516d21b0b6361034b73234b932b1ba1d60911b60208201526001600160c01b031960c088901b16602e8201526036810189905290965090915060009060560160408051601f19818403018152919052805160209182012091508d013581146107645760405162461bcd60e51b81526020600482015260166024820152754241445f43414c4c5f494e4449524543545f4441544160501b6044820152606401610296565b61077a826001600160401b03871686868c611255565b90508d6040015181146107c15760405162461bcd60e51b815260206004820152600f60248201526e10905117d51050931154d7d493d3d5608a1b6044820152606401610296565b826001600160401b03168963ffffffff16106107eb57505060028d52506102c89650505050505050565b5050505050600061080c604080518082019091526000808252602082015290565b6040805160208101909152606081526108268a8a86611129565b945092506108358a8a866112f7565b945091506108448a8a8661117b565b9450905060006108618263ffffffff808b1690879087906113f316565b90508681146108a65760405162461bcd60e51b815260206004820152601160248201527010905117d153115351539514d7d493d3d5607a1b6044820152606401610296565b8584146108d6578d60025b908160038111156108c4576108c4611ca9565b815250505050505050505050506102c8565b6004835160068111156108eb576108eb611ca9565b14156108f9578d60026108b1565b60058351600681111561090e5761090e611ca9565b141561096d576020830151985063ffffffff891689146109685760405162461bcd60e51b81526020600482015260156024820152744241445f46554e435f5245465f434f4e54454e545360581b6044820152606401610296565b6109a5565b60405162461bcd60e51b815260206004820152600d60248201526c4241445f454c454d5f5459504560981b6044820152606401610296565b50505050505050506109b961043387610f1a565b60006109c88760600151610f8d565b90506109e56109da8260400151610fd9565b602089015190610f7d565b6109f56109da8260600151610fd9565b5063ffffffff1660c0860152600060e08601525050505050565b602083013563ffffffff81168114610a395760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660e09095019490945250505050565b6000610a60610641876020015161100c565b905063ffffffff811615610aa457602084013563ffffffff81168114610a985760405162461bcd60e51b81526004016102969061243e565b63ffffffff1660e08701525b505050505050565b6000610abb8660600151610f8d565b90506000610ad382602001518660200135868661148d565b6020880151909150610ae59082610f7d565b50505050505050565b6000610afd866020015161100c565b90506000610b0e8760600151610f8d565b9050610b2581602001518660200135848787611525565b602090910152505050505050565b6000610b4985600001518560200135858561148d565b6020870151909150610aa49082610f7d565b6000610b6a866020015161100c565b9050610b8185600001518560200135838686611525565b9094525050505050565b6000610b9a866020015161100c565b90506000610bab876020015161100c565b90506000610bbc886020015161100c565b905060006040518060800160405280838152602001886020013560001b8152602001610be785611031565b63ffffffff168152602001610bfb86611031565b63ffffffff168152509050610c1d818a606001516115bf90919063ffffffff16565b505050505050505050565b610aa4856020015161100c565b6000610c47610641876020015161100c565b90506000610c58876020015161100c565b90506000610c69886020015161100c565b905063ffffffff831615610c8b576020880151610c869082610f7d565b610c9a565b6020880151610c9a9083610f7d565b5050505050505050565b6000610cb3602085018561241a565b9050600061ffff821660411415610ccc57506000610d4f565b61ffff821660421415610ce157506001610d4f565b61ffff821660431415610cf657506002610d4f565b61ffff821660441415610d0b57506003610d4f565b60405162461bcd60e51b8152602060048201526019602482015278434f4e53545f505553485f494e56414c49445f4f50434f444560381b6044820152606401610296565b610ae56040518060400160405280836006811115610d6f57610d6f611ca9565b815260200187602001356001600160401b03168152508860200151610f7d90919063ffffffff16565b6040805180820190915260008082526020820152618005610dbc602086018661241a565b61ffff161415610dea57610dd3866020015161100c565b6040870151909150610de59082610f7d565b610aa4565b618006610dfa602086018661241a565b61ffff161415610e2357610e11866040015161100c565b6020870151909150610de59082610f7d565b60405162461bcd60e51b815260206004820152601c60248201527f4d4f56455f494e5445524e414c5f494e56414c49445f4f50434f4445000000006044820152606401610296565b6000610b4986602001516116a6565b610e82611b8b565b815151600114610ea45760405162461bcd60e51b8152600401610296906124a3565b81518051600090610eb757610eb76124ce565b6020026020010151905060006001600160401b03811115610eda57610eda611f00565b604051908082528060200260200182016040528015610f1357816020015b610f00611b8b565b815260200190600190039081610ef85790505b5090915290565b604080518082018252600080825260209182015260e083015160c084015160a090940151835180850185526006815263ffffffff90921694831b67ffffffff0000000016949094179390921b63ffffffff60401b16929092179181019190915290565b8151610f8990826116db565b5050565b610f95611b8b565b815151600114610fb75760405162461bcd60e51b8152600401610296906124a3565b81518051600090610fca57610fca6124ce565b60200260200101519050919050565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b6040805180820190915260008082526020820152815161102b906117a4565b92915050565b6020810151600090818351600681111561104d5761104d611ca9565b146110845760405162461bcd60e51b81526020600482015260076024820152662727aa2fa4999960c91b6044820152606401610296565b640100000000811061102b5760405162461bcd60e51b81526020600482015260076024820152662120a22fa4999960c91b6044820152606401610296565b600081815b6008811015611120576008836001600160401b0316901b92508585838181106110f2576110f26124ce565b919091013560f81c9390931792508161110a816124e4565b9250508080611118906124e4565b9150506110c7565b50935093915050565b600081816111388686846118ad565b9097909650945050505050565b60008184848281811061115a5761115a6124ce565b919091013560f81c9250819050611170816124e4565b915050935093915050565b604080516020810190915260608152816000611198868684611145565b92509050600060ff82166001600160401b038111156111b9576111b9611f00565b6040519080825280602002602001820160405280156111e2578160200160208202803683370190505b50905060005b8260ff168160ff16101561123957611201888886611129565b838360ff1681518110611216576112166124ce565b602002602001018196508281525050508080611231906124ff565b9150506111e8565b5060405180602001604052808281525093505050935093915050565b604051652a30b136329d60d11b60208201526001600160f81b031960f885901b1660268201526001600160c01b031960c084901b166027820152602f81018290526000908190604f016040516020818303038152906040528051906020012090506112ec878783604051806040016040528060128152602001712a30b136329036b2b935b632903a3932b29d60711b815250611902565b979650505050505050565b6040805180820190915260008082526020820152816000858583818110611320576113206124ce565b919091013560f81c9150829050611336816124e4565b925050611341600690565b600681111561135257611352611ca9565b60ff168160ff1611156113985760405162461bcd60e51b815260206004820152600e60248201526d4241445f56414c55455f5459504560901b6044820152606401610296565b60006113a58787856118ad565b809450819250505060405180604001604052808360ff1660068111156113cd576113cd611ca9565b60068111156113de576113de611ca9565b81526020018281525093505050935093915050565b60008083611400846119d4565b6040516d2a30b136329032b632b6b2b73a1d60911b6020820152602e810192909252604e820152606e016040516020818303038152906040528051906020012090506114838686836040518060400160405280601a81526020017f5461626c6520656c656d656e74206d65726b6c6520747265653a000000000000815250611902565b9695505050505050565b604080518082019091526000808252602082015260006114bd604080518082019091526000808252602082015290565b6040805160208101909152606081526114d78686856112f7565b935091506114e686868561117b565b9350905060006114f7828985611a0e565b90508881146115185760405162461bcd60e51b81526004016102969061251f565b5090979650505050505050565b6000611541604080518082019091526000808252602082015290565b60006115596040518060200160405280606081525090565b6115648686846112f7565b909350915061157486868461117b565b925090506000611585828a86611a0e565b90508981146115a65760405162461bcd60e51b81526004016102969061251f565b6115b1828a8a611a0e565b9a9950505050505050505050565b8151516000906115d090600161254a565b6001600160401b038111156115e7576115e7611f00565b60405190808252806020026020018201604052801561162057816020015b61160d611b8b565b8152602001906001900390816116055790505b50905060005b83515181101561167c578351805182908110611644576116446124ce565b602002602001015182828151811061165e5761165e6124ce565b60200260200101819052508080611674906124e4565b915050611626565b50818184600001515181518110611695576116956124ce565b602090810291909101015290915250565b6040805180820190915260008082526020820152815151516116d46116cc600183612562565b845190611a56565b9392505050565b8151516000906116ec90600161254a565b6001600160401b0381111561170357611703611f00565b60405190808252806020026020018201604052801561174857816020015b60408051808201909152600080825260208201528152602001906001900390816117215790505b50905060005b83515181101561167c57835180518290811061176c5761176c6124ce565b6020026020010151828281518110611786576117866124ce565b6020026020010181905250808061179c906124e4565b91505061174e565b6040805180820190915260008082526020820152815180516117c890600190612562565b815181106117d8576117d86124ce565b60200260200101519050600060018360000151516117f69190612562565b6001600160401b0381111561180d5761180d611f00565b60405190808252806020026020018201604052801561185257816020015b604080518082019091526000808252602082015281526020019060019003908161182b5790505b50905060005b8151811015610f13578351805182908110611875576118756124ce565b602002602001015182828151811061188f5761188f6124ce565b602002602001018190525080806118a5906124e4565b915050611858565b600081815b602081101561112057600883901b92508585838181106118d4576118d46124ce565b919091013560f81c939093179250816118ec816124e4565b92505080806118fa906124e4565b9150506118b2565b8160005b8551518110156119cb576001851661196757828287600001518381518110611930576119306124ce565b602002602001015160405160200161194a93929190612579565b6040516020818303038152906040528051906020012091506119b2565b828660000151828151811061197e5761197e6124ce565b60200260200101518360405160200161199993929190612579565b6040516020818303038152906040528051906020012091505b60019490941c93806119c3816124e4565b915050611906565b50949350505050565b6000816000015182602001516040516020016119f19291906125bf565b604051602081830303815290604052805190602001209050919050565b6000611a4e8484611a1e856119d4565b604051806040016040528060128152602001712b30b63ab29036b2b935b632903a3932b29d60711b815250611902565b949350505050565b60408051808201909152600080825260208201528251805183908110611a7e57611a7e6124ce565b6020026020010151905092915050565b6040805161012081019091528060008152602001611ac360408051606080820183529181019182529081526000602082015290565b8152602001611ae960408051606080820183529181019182529081526000602082015290565b8152602001611b0e604051806040016040528060608152602001600080191681525090565b815260006020820181905260408201819052606082018190526080820181905260a09091015290565b6040805160a0810182526000808252825160608101845281815260208181018390529381019190915290918201905b81526000602082018190526040820181905260609091015290565b611b896125f4565b565b6040805160c0810190915260006080820181815260a08301919091528190611b66565b600060408284031215611bc057600080fd5b50919050565b6000806000806000808688036101a0811215611be157600080fd5b611beb8989611bae565b965060408801356001600160401b0380821115611c0757600080fd5b90890190610120828c031215611c1c57600080fd5b81975060e0605f1984011215611c3157600080fd5b60608a019650611c458b6101408c01611bae565b95506101808a0135925080831115611c5c57600080fd5b828a0192508a601f840112611c7057600080fd5b8235915080821115611c8157600080fd5b50896020828401011115611c9457600080fd5b60208201935080925050509295509295509295565b634e487b7160e01b600052602160045260246000fd5b60048110611ccf57611ccf611ca9565b9052565b805160078110611ce557611ce5611ca9565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015611d4257611d2e828651611cd3565b938201936001939093019290850190611d1b565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b82811015611dc1578451611d8d858251611cd3565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a090930192600101611d78565b509687015197909601969096525093949350505050565b6000610100808352611ded8184018651611cbf565b602085015161012084810152611e07610220850182611cf2565b9050604086015160ff198086840301610140870152611e268383611cf2565b925060608801519150808684030161016087015250611e458282611d56565b915050608086015161018085015260a0860151611e6b6101a086018263ffffffff169052565b5060c086015163ffffffff81166101c08601525060e086015163ffffffff81166101e0860152509085015161020084015290506116d460208301848051825260208101516001600160401b0380825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a083015263ffffffff60808201511660c08301525050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715611f3857611f38611f00565b60405290565b604051602081016001600160401b0381118282101715611f3857611f38611f00565b604051608081016001600160401b0381118282101715611f3857611f38611f00565b60405161012081016001600160401b0381118282101715611f3857611f38611f00565b60405160a081016001600160401b0381118282101715611f3857611f38611f00565b604051606081016001600160401b0381118282101715611f3857611f38611f00565b604051601f8201601f191681016001600160401b038111828210171561201157612011611f00565b604052919050565b80356004811061202857600080fd5b919050565b60006001600160401b0382111561204657612046611f00565b5060051b60200190565b60006040828403121561206257600080fd5b61206a611f16565b905081356007811061207b57600080fd5b808252506020820135602082015292915050565b600060408083850312156120a257600080fd5b6120aa611f16565b915082356001600160401b03808211156120c357600080fd5b818501915060208083880312156120d957600080fd5b6120e1611f3e565b8335838111156120f057600080fd5b80850194505087601f85011261210557600080fd5b8335925061211a6121158461202d565b611fe9565b83815260069390931b8401820192828101908985111561213957600080fd5b948301945b8486101561215f576121508a87612050565b8252948601949083019061213e565b8252508552948501359484019490945250909392505050565b803563ffffffff8116811461202857600080fd5b6000604080838503121561219f57600080fd5b6121a7611f16565b915082356001600160401b038111156121bf57600080fd5b8301601f810185136121d057600080fd5b803560206121e06121158361202d565b82815260a092830284018201928282019190898511156121ff57600080fd5b948301945b848610156122685780868b03121561221c5760008081fd5b612224611f60565b61222e8b88612050565b815287870135858201526060612245818901612178565b8983015261225560808901612178565b9082015283529485019491830191612204565b50808752505080860135818601525050505092915050565b6000610120823603121561229357600080fd5b61229b611f82565b6122a483612019565b815260208301356001600160401b03808211156122c057600080fd5b6122cc3683870161208f565b602084015260408501359150808211156122e557600080fd5b6122f13683870161208f565b6040840152606085013591508082111561230a57600080fd5b506123173682860161218c565b6060830152506080830135608082015261233360a08401612178565b60a082015261234460c08401612178565b60c082015261235560e08401612178565b60e082015261010092830135928101929092525090565b80356001600160401b038116811461202857600080fd5b600081830360e081121561239657600080fd5b61239e611fa5565b833581526060601f19830112156123b457600080fd5b6123bc611fc7565b91506123ca6020850161236c565b82526123d86040850161236c565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015261240d60c08501612178565b6080820152949350505050565b60006020828403121561242c57600080fd5b813561ffff811681146116d457600080fd5b6020808252600d908201526c4241445f43414c4c5f4441544160981b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681851680830382111561249a5761249a612465565b01949350505050565b6020808252601190820152700848288beae929c889eaebe988a9c8ea89607b1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006000198214156124f8576124f8612465565b5060010190565b600060ff821660ff81141561251657612516612465565b60010192915050565b60208082526011908201527015d493d391d7d3515492d31157d493d3d5607a1b604082015260600190565b6000821982111561255d5761255d612465565b500190565b60008282101561257457612574612465565b500390565b6000845160005b8181101561259a5760208188018101518583015201612580565b818111156125a9576000828501525b5091909101928352506020820152604001919050565b652b30b63ab29d60d11b81526000600784106125dd576125dd611ca9565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220b902a6388a562f04c941d5ce1c3185c91f9ee83e272d461c79a1235e019d1fb464736f6c63430008090033",
|
561
|
+
"bytecode": "0x608060405234801561001057600080fd5b50612c11806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633604366f14610030575b600080fd5b61004361003e36600461209a565b61005a565b6040516100519291906122ae565b60405180910390f35b610062611f0b565b61006a611fec565b610073876127d6565b915061008436879003870187612912565b9050600061009560208701876129b4565b905061204461ffff82166100ac57506102eb6102cd565b61ffff8216600114156100c257506102f66102cd565b61ffff8216600f14156100d857506102fd6102cd565b61ffff8216601014156100ee57506103246102cd565b61ffff8216618009141561010557506103c06102cd565b61ffff821661800b141561011c575061043e6102cd565b61ffff821661800c141561013357506104ce6102cd565b61ffff821661800a141561014a57506106116102cd565b61ffff82166011141561016057506107026102cd565b61ffff821661800314156101775750610ae06102cd565b61ffff8216618004141561018e5750610b206102cd565b61ffff8216602014156101a45750610b7e6102cd565b61ffff8216602114156101ba5750610bc06102cd565b61ffff8216602314156101d05750610c056102cd565b61ffff8216602414156101e65750610c2d6102cd565b61ffff821661800214156101fd5750610c5d6102cd565b61ffff8216601a14156102135750610cfa6102cd565b61ffff8216601b14156102295750610d076102cd565b604161ffff8316108015906102435750604461ffff831611155b156102515750610d766102cd565b61ffff8216618005148061026a575061ffff8216618006145b156102785750610e6a6102cd565b61ffff8216618008141561028f5750610f3d6102cd565b60405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f4f50434f444560901b60448201526064015b60405180910390fd5b6102de84848989898663ffffffff16565b5050965096945050505050565b505060029092525050565b5050505050565b600061030c8660800151610f4c565b805190915061031c908790610fec565b505050505050565b61033b61033086611065565b6020870151906110e2565b600061034a86608001516110ee565b905061036761035c826040015161113a565b6020880151906110e2565b61037761035c826060015161113a565b602084013563ffffffff811681146103a15760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff166101008701525050600061012090940193909352505050565b6103cc61033086611065565b6103dc6103308660e0015161113a565b6103ec6103308560a0015161113a565b6020808401359081901c604082901c156104185760405162461bcd60e51b81526004016102c4906129ff565b63ffffffff90811660e08801521661010086015250506000610120909301929092525050565b61044a61033086611065565b600061045986608001516110ee565b905061046b61035c826040015161113a565b61047b61035c826060015161113a565b6020808501359081901c604082901c156104a75760405162461bcd60e51b81526004016102c4906129ff565b63ffffffff90811660e0890152166101008701525050600061012090940193909352505050565b60008360200135905060006104ee6104e9886020015161116d565b61118c565b90506104f8611fec565b604080516020810190915260608152600061051487878361121d565b90935090506105248787836112e1565b6101608c015191935091506105448363ffffffff8088169087906113bb16565b1461059c5760405162461bcd60e51b815260206004820152602260248201527f43524f53535f4d4f44554c455f494e5445524e414c5f4d4f44554c45535f524f60448201526113d560f21b60648201526084016102c4565b6105b36105a88b611065565b60208c0151906110e2565b6105c36105a88b60e0015161113a565b6105d36105a88a60a0015161113a565b63ffffffff841660e08b015260a08301516105ee9086612a4c565b63ffffffff166101008b0152505060006101209098019790975250505050505050565b61061d61033086611065565b61062d6103308660e0015161113a565b61063d6103308560a0015161113a565b600061064c86608001516110ee565b9050806060015163ffffffff166000141561066b5750600285526102f6565b602084013563ffffffff811681146106c55760405162461bcd60e51b815260206004820152601d60248201527f4241445f43414c4c45525f494e5445524e414c5f43414c4c5f4441544100000060448201526064016102c4565b604082015163ffffffff1660e088015260608201516106e5908290612a4c565b63ffffffff16610100880152505060006101208601525050505050565b6000806107156104e9886020015161116d565b90506000806000808060006107366040518060200160405280606081525090565b6107418b8b87611406565b955093506107508b8b8761146d565b90965094506107608b8b87611489565b9550925061076f8b8b87611406565b9550915061077e8b8b8761146d565b909750945061078e8b8b876112e1565b6040516d21b0b6361034b73234b932b1ba1d60911b60208201526001600160c01b031960c088901b16602e8201526036810189905290965090915060009060560160408051601f19818403018152919052805160209182012091508d013581146108335760405162461bcd60e51b81526020600482015260166024820152754241445f43414c4c5f494e4449524543545f4441544160501b60448201526064016102c4565b610849826001600160401b03871686868c6114bf565b90508d6040015181146108905760405162461bcd60e51b815260206004820152600f60248201526e10905117d51050931154d7d493d3d5608a1b60448201526064016102c4565b826001600160401b03168963ffffffff16106108ba57505060028d52506102f69650505050505050565b505050505060006108db604080518082019091526000808252602082015290565b6040805160208101909152606081526108f58a8a8661146d565b945092506109048a8a86611561565b945091506109138a8a866112e1565b9450905060006109308263ffffffff808b16908790879061165d16565b90508681146109755760405162461bcd60e51b815260206004820152601160248201527010905117d153115351539514d7d493d3d5607a1b60448201526064016102c4565b8584146109a5578d60025b908160038111156109935761099361217f565b815250505050505050505050506102f6565b6004835160068111156109ba576109ba61217f565b14156109c8578d6002610980565b6005835160068111156109dd576109dd61217f565b1415610a3c576020830151985063ffffffff89168914610a375760405162461bcd60e51b81526020600482015260156024820152744241445f46554e435f5245465f434f4e54454e545360581b60448201526064016102c4565b610a74565b60405162461bcd60e51b815260206004820152600d60248201526c4241445f454c454d5f5459504560981b60448201526064016102c4565b5050505050505050610a8861035c87611065565b6000610a9787608001516110ee565b9050610ab4610aa9826040015161113a565b6020890151906110e2565b610ac4610aa9826060015161113a565b5063ffffffff1661010086015260006101208601525050505050565b602083013563ffffffff81168114610b0a5760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff166101209095019490945250505050565b6000610b326104e9876020015161116d565b905063ffffffff81161561031c57602084013563ffffffff81168114610b6a5760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff16610120870152505050505050565b6000610b8d86608001516110ee565b90506000610ba58260200151866020013586866116f9565b6020880151909150610bb790826110e2565b50505050505050565b6000610bcf866020015161116d565b90506000610be087608001516110ee565b9050610bf781602001518660200135848787611791565b602090910152505050505050565b6000610c1b8560000151856020013585856116f9565b602087015190915061031c90826110e2565b6000610c3c866020015161116d565b9050610c5385600001518560200135838686611791565b9094525050505050565b6000610c6c866020015161116d565b90506000610c7d876020015161116d565b90506000610c8e886020015161116d565b905060006040518060800160405280838152602001886020013560001b8152602001610cb98561118c565b63ffffffff168152602001610ccd8661118c565b63ffffffff168152509050610cef818a6080015161182b90919063ffffffff16565b505050505050505050565b61031c856020015161116d565b6000610d196104e9876020015161116d565b90506000610d2a876020015161116d565b90506000610d3b886020015161116d565b905063ffffffff831615610d5d576020880151610d5890826110e2565b610d6c565b6020880151610d6c90836110e2565b5050505050505050565b6000610d8560208501856129b4565b9050600061ffff821660411415610d9e57506000610e21565b61ffff821660421415610db357506001610e21565b61ffff821660431415610dc857506002610e21565b61ffff821660441415610ddd57506003610e21565b60405162461bcd60e51b8152602060048201526019602482015278434f4e53545f505553485f494e56414c49445f4f50434f444560381b60448201526064016102c4565b610bb76040518060400160405280836006811115610e4157610e4161217f565b815260200187602001356001600160401b031681525088602001516110e290919063ffffffff16565b6040805180820190915260008082526020820152618005610e8e60208601866129b4565b61ffff161415610ebc57610ea5866020015161116d565b6060870151909150610eb790826110e2565b61031c565b618006610ecc60208601866129b4565b61ffff161415610ef557610ee3866060015161116d565b6020870151909150610eb790826110e2565b60405162461bcd60e51b815260206004820152601c60248201527f4d4f56455f494e5445524e414c5f494e56414c49445f4f50434f44450000000060448201526064016102c4565b6000610c1b8660200151611912565b610f5461204e565b815151600114610f765760405162461bcd60e51b81526004016102c490612a74565b81518051600090610f8957610f89612a9f565b6020026020010151905060006001600160401b03811115610fac57610fac612426565b604051908082528060200260200182016040528015610fe557816020015b610fd261204e565b815260200190600190039081610fca5790505b5090915290565b6004815160068111156110015761100161217f565b1415611025578160025b9081600381111561101e5761101e61217f565b9052505050565b60068151600681111561103a5761103a61217f565b146110475781600261100b565b611055828260200151611940565b6110615781600261100b565b5050565b60408051808201909152600080825260208201526110dc8261012001518361010001518460e001516040805180820190915260008082526020820152506040805180820182526006815263ffffffff94909416602093841b67ffffffff00000000161791901b63ffffffff60401b16179082015290565b92915050565b81516110619082611982565b6110f661204e565b8151516001146111185760405162461bcd60e51b81526004016102c490612a74565b8151805160009061112b5761112b612a9f565b60200260200101519050919050565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b604080518082019091526000808252602082015281516110dc90611a4b565b602081015160009081835160068111156111a8576111a861217f565b146111df5760405162461bcd60e51b81526020600482015260076024820152662727aa2fa4999960c91b60448201526064016102c4565b64010000000081106110dc5760405162461bcd60e51b81526020600482015260076024820152662120a22fa4999960c91b60448201526064016102c4565b611225611fec565b604080516060810182526000808252602082018190529181018290528391906000806000806112558b8b8961146d565b975095506112648b8b89611b54565b975094506112738b8b8961146d565b975093506112828b8b8961146d565b975092506112918b8b8961146d565b975091506112a08b8b89611bcf565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b6040805160208101909152606081528160006112fe868684611489565b92509050600060ff82166001600160401b0381111561131f5761131f612426565b604051908082528060200260200182016040528015611348578160200160208202803683370190505b50905060005b8260ff168160ff16101561139f5761136788888661146d565b838360ff168151811061137c5761137c612a9f565b60200260200101819650828152505050808061139790612ab5565b91505061134e565b5060405180602001604052808281525093505050935093915050565b60006113fc84846113cb85611c2a565b6040518060400160405280601381526020017226b7b23ab6329036b2b935b632903a3932b29d60691b815250611cc3565b90505b9392505050565b600081815b6008811015611464576008836001600160401b0316901b925085858381811061143657611436612a9f565b919091013560f81c9390931792508161144e81612ad5565b925050808061145c90612ad5565b91505061140b565b50935093915050565b6000818161147c868684611dcd565b9097909650945050505050565b60008184848281811061149e5761149e612a9f565b919091013560f81c92508190506114b481612ad5565b915050935093915050565b604051652a30b136329d60d11b60208201526001600160f81b031960f885901b1660268201526001600160c01b031960c084901b166027820152602f81018290526000908190604f01604051602081830303815290604052805190602001209050611556878783604051806040016040528060128152602001712a30b136329036b2b935b632903a3932b29d60711b815250611cc3565b979650505050505050565b604080518082019091526000808252602082015281600085858381811061158a5761158a612a9f565b919091013560f81c91508290506115a081612ad5565b9250506115ab600690565b60068111156115bc576115bc61217f565b60ff168160ff1611156116025760405162461bcd60e51b815260206004820152600e60248201526d4241445f56414c55455f5459504560901b60448201526064016102c4565b600061160f878785611dcd565b809450819250505060405180604001604052808360ff1660068111156116375761163761217f565b60068111156116485761164861217f565b81526020018281525093505050935093915050565b6000808361166a84611e22565b6040516d2a30b136329032b632b6b2b73a1d60911b6020820152602e810192909252604e820152606e016040516020818303038152906040528051906020012090506116ed8686836040518060400160405280601a81526020017f5461626c6520656c656d656e74206d65726b6c6520747265653a000000000000815250611cc3565b9150505b949350505050565b60408051808201909152600080825260208201526000611729604080518082019091526000808252602082015290565b604080516020810190915260608152611743868685611561565b935091506117528686856112e1565b935090506000611763828985611e3f565b90508881146117845760405162461bcd60e51b81526004016102c490612af0565b5090979650505050505050565b60006117ad604080518082019091526000808252602082015290565b60006117c56040518060200160405280606081525090565b6117d0868684611561565b90935091506117e08686846112e1565b9250905060006117f1828a86611e3f565b90508981146118125760405162461bcd60e51b81526004016102c490612af0565b61181d828a8a611e3f565b9a9950505050505050505050565b81515160009061183c906001612b1b565b6001600160401b0381111561185357611853612426565b60405190808252806020026020018201604052801561188c57816020015b61187961204e565b8152602001906001900390816118715790505b50905060005b8351518110156118e85783518051829081106118b0576118b0612a9f565b60200260200101518282815181106118ca576118ca612a9f565b602002602001018190525080806118e090612ad5565b915050611892565b5081818460000151518151811061190157611901612a9f565b602090810291909101015290915250565b6040805180820190915260008082526020820152815151516113ff611938600183612b33565b845190611e7f565b6000606082901c15611954575060006110dc565b5063ffffffff818116610120840152602082901c811661010084015260409190911c1660e090910152600190565b815151600090611993906001612b1b565b6001600160401b038111156119aa576119aa612426565b6040519080825280602002602001820160405280156119ef57816020015b60408051808201909152600080825260208201528152602001906001900390816119c85790505b50905060005b8351518110156118e8578351805182908110611a1357611a13612a9f565b6020026020010151828281518110611a2d57611a2d612a9f565b60200260200101819052508080611a4390612ad5565b9150506119f5565b604080518082019091526000808252602082015281518051611a6f90600190612b33565b81518110611a7f57611a7f612a9f565b6020026020010151905060006001836000015151611a9d9190612b33565b6001600160401b03811115611ab457611ab4612426565b604051908082528060200260200182016040528015611af957816020015b6040805180820190915260008082526020820152815260200190600190039081611ad25790505b50905060005b8151811015610fe5578351805182908110611b1c57611b1c612a9f565b6020026020010151828281518110611b3657611b36612a9f565b60200260200101819052508080611b4c90612ad5565b915050611aff565b60408051606081018252600080825260208201819052918101919091528160008080611b81888886611406565b94509250611b90888886611406565b94509150611b9f88888661146d565b604080516060810182526001600160401b0396871681529490951660208501529383015250969095509350505050565b600081815b60048110156114645760088363ffffffff16901b9250858583818110611bfc57611bfc612a9f565b919091013560f81c93909317925081611c1481612ad5565b9250508080611c2290612ad5565b915050611bd4565b60008160000151611c3e8360200151611eb7565b6040808501516060860151608087015160a08801519351611ca6969594906020016626b7b23ab6329d60c91b81526007810196909652602786019490945260478501929092526067840152608783015260e01b6001600160e01b03191660a782015260ab0190565b604051602081830303815290604052805190602001209050919050565b8160005b855151811015611d8c5760018516611d2857828287600001518381518110611cf157611cf1612a9f565b6020026020010151604051602001611d0b93929190612b4a565b604051602081830303815290604052805190602001209150611d73565b8286600001518281518110611d3f57611d3f612a9f565b602002602001015183604051602001611d5a93929190612b4a565b6040516020818303038152906040528051906020012091505b60019490941c9380611d8481612ad5565b915050611cc7565b5083156116f15760405162461bcd60e51b815260206004820152600f60248201526e141493d3d197d513d3d7d4d213d495608a1b60448201526064016102c4565b600081815b602081101561146457600883901b9250858583818110611df457611df4612a9f565b919091013560f81c93909317925081611e0c81612ad5565b9250508080611e1a90612ad5565b915050611dd2565b600081600001518260200151604051602001611ca6929190612b90565b60006113fc8484611e4f85611e22565b604051806040016040528060128152602001712b30b63ab29036b2b935b632903a3932b29d60711b815250611cc3565b60408051808201909152600080825260208201528251805183908110611ea757611ea7612a9f565b6020026020010151905092915050565b805160208083015160408085015190516626b2b6b7b93c9d60c91b938101939093526001600160c01b031960c094851b811660278501529190931b16602f8201526037810191909152600090605701611ca6565b6040805161018081019091528060008152602001611f4060408051606080820183529181019182529081526000602082015290565b8152604080518082018252600080825260208083019190915283015201611f7e60408051606080820183529181019182529081526000602082015290565b8152602001611fa3604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6040805160c081019091526000815260208101612022604080516060810182526000808252602082018190529181019190915290565b8152600060208201819052604082018190526060820181905260809091015290565b61204c612bc5565b565b6040805160c08101825260006080820181815260a08301829052825260208201819052918101829052606081019190915290565b60006040828403121561209457600080fd5b50919050565b6000806000806000808688036101c0808212156120b657600080fd5b6120c08a8a612082565b975060408901356001600160401b03808211156120dc57600080fd5b818b01915082828d0312156120f057600080fd5b819850610100605f198501121561210657600080fd5b60608b01975061211a8c6101608d01612082565b96506101a08b013593508084111561213157600080fd5b838b0193508b601f85011261214557600080fd5b833592508083111561215657600080fd5b505089602082840101111561216a57600080fd5b60208201935080925050509295509295509295565b634e487b7160e01b600052602160045260246000fd5b600481106121a5576121a561217f565b9052565b8051600781106121bb576121bb61217f565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015612218576122048286516121a9565b9382019360019390930192908501906121f1565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b828110156122975784516122638582516121a9565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a09093019260010161224e565b509687015197909601969096525093949350505050565b60006101208083526122c38184018651612195565b60208501516101c061014081818701526122e16102e08701846121c8565b925060408801516101606123018189018380518252602090810151910152565b60608a0151915061011f1980898703016101a08a015261232186846121c8565b955060808b015192508089870301858a01525061233e858361222c565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c08601525091506113ff905060208301848051825260208101516001600160401b0380825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561245e5761245e612426565b60405290565b604051602081016001600160401b038111828210171561245e5761245e612426565b604051608081016001600160401b038111828210171561245e5761245e612426565b60405161018081016001600160401b038111828210171561245e5761245e612426565b60405160c081016001600160401b038111828210171561245e5761245e612426565b604051606081016001600160401b038111828210171561245e5761245e612426565b604051601f8201601f191681016001600160401b038111828210171561253757612537612426565b604052919050565b80356004811061254e57600080fd5b919050565b60006001600160401b0382111561256c5761256c612426565b5060051b60200190565b60006040828403121561258857600080fd5b61259061243c565b90508135600781106125a157600080fd5b808252506020820135602082015292915050565b600060408083850312156125c857600080fd5b6125d061243c565b915082356001600160401b03808211156125e957600080fd5b818501915060208083880312156125ff57600080fd5b612607612464565b83358381111561261657600080fd5b80850194505087601f85011261262b57600080fd5b8335925061264061263b84612553565b61250f565b83815260069390931b8401820192828101908985111561265f57600080fd5b948301945b84861015612685576126768a87612576565b82529486019490830190612664565b8252508552948501359484019490945250909392505050565b6000604082840312156126b057600080fd5b6126b861243c565b9050813581526020820135602082015292915050565b803563ffffffff8116811461254e57600080fd5b600060408083850312156126f557600080fd5b6126fd61243c565b915082356001600160401b0381111561271557600080fd5b8301601f8101851361272657600080fd5b8035602061273661263b83612553565b82815260a0928302840182019282820191908985111561275557600080fd5b948301945b848610156127be5780868b0312156127725760008081fd5b61277a612486565b6127848b88612576565b81528787013585820152606061279b8189016126ce565b898301526127ab608089016126ce565b908201528352948501949183019161275a565b50808752505080860135818601525050505092915050565b60006101c082360312156127e957600080fd5b6127f16124a8565b6127fa8361253f565b815260208301356001600160401b038082111561281657600080fd5b612822368387016125b5565b6020840152612834366040870161269e565b6040840152608085013591508082111561284d57600080fd5b612859368387016125b5565b606084015260a085013591508082111561287257600080fd5b5061287f368286016126e2565b6080830152506128923660c0850161269e565b60a08201526101008084013560c08301526101206128b18186016126ce565b60e08401526101406128c48187016126ce565b8385015261016092506128d88387016126ce565b91840191909152610180850135908301526101a090930135928101929092525090565b80356001600160401b038116811461254e57600080fd5b600081830361010081121561292657600080fd5b61292e6124cb565b833581526060601f198301121561294457600080fd5b61294c6124ed565b915061295a602085016128fb565b8252612968604085016128fb565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c084013560808201526129a760e085016126ce565b60a0820152949350505050565b6000602082840312156129c657600080fd5b813561ffff811681146113ff57600080fd5b6020808252600d908201526c4241445f43414c4c5f4441544160981b604082015260600190565b6020808252601a908201527f4241445f43524f53535f4d4f44554c455f43414c4c5f44415441000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818516808303821115612a6b57612a6b612a36565b01949350505050565b6020808252601190820152700848288beae929c889eaebe988a9c8ea89607b1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff811415612acc57612acc612a36565b60010192915050565b6000600019821415612ae957612ae9612a36565b5060010190565b60208082526011908201527015d493d391d7d3515492d31157d493d3d5607a1b604082015260600190565b60008219821115612b2e57612b2e612a36565b500190565b600082821015612b4557612b45612a36565b500390565b6000845160005b81811015612b6b5760208188018101518583015201612b51565b81811115612b7a576000828501525b5091909101928352506020820152604001919050565b652b30b63ab29d60d11b8152600060078410612bae57612bae61217f565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220fc103f19f529f25606dcf95d221632948bea361b65291f312c2bdf94f716271c64736f6c63430008090033",
|
562
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80633604366f14610030575b600080fd5b61004361003e36600461209a565b61005a565b6040516100519291906122ae565b60405180910390f35b610062611f0b565b61006a611fec565b610073876127d6565b915061008436879003870187612912565b9050600061009560208701876129b4565b905061204461ffff82166100ac57506102eb6102cd565b61ffff8216600114156100c257506102f66102cd565b61ffff8216600f14156100d857506102fd6102cd565b61ffff8216601014156100ee57506103246102cd565b61ffff8216618009141561010557506103c06102cd565b61ffff821661800b141561011c575061043e6102cd565b61ffff821661800c141561013357506104ce6102cd565b61ffff821661800a141561014a57506106116102cd565b61ffff82166011141561016057506107026102cd565b61ffff821661800314156101775750610ae06102cd565b61ffff8216618004141561018e5750610b206102cd565b61ffff8216602014156101a45750610b7e6102cd565b61ffff8216602114156101ba5750610bc06102cd565b61ffff8216602314156101d05750610c056102cd565b61ffff8216602414156101e65750610c2d6102cd565b61ffff821661800214156101fd5750610c5d6102cd565b61ffff8216601a14156102135750610cfa6102cd565b61ffff8216601b14156102295750610d076102cd565b604161ffff8316108015906102435750604461ffff831611155b156102515750610d766102cd565b61ffff8216618005148061026a575061ffff8216618006145b156102785750610e6a6102cd565b61ffff8216618008141561028f5750610f3d6102cd565b60405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f4f50434f444560901b60448201526064015b60405180910390fd5b6102de84848989898663ffffffff16565b5050965096945050505050565b505060029092525050565b5050505050565b600061030c8660800151610f4c565b805190915061031c908790610fec565b505050505050565b61033b61033086611065565b6020870151906110e2565b600061034a86608001516110ee565b905061036761035c826040015161113a565b6020880151906110e2565b61037761035c826060015161113a565b602084013563ffffffff811681146103a15760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff166101008701525050600061012090940193909352505050565b6103cc61033086611065565b6103dc6103308660e0015161113a565b6103ec6103308560a0015161113a565b6020808401359081901c604082901c156104185760405162461bcd60e51b81526004016102c4906129ff565b63ffffffff90811660e08801521661010086015250506000610120909301929092525050565b61044a61033086611065565b600061045986608001516110ee565b905061046b61035c826040015161113a565b61047b61035c826060015161113a565b6020808501359081901c604082901c156104a75760405162461bcd60e51b81526004016102c4906129ff565b63ffffffff90811660e0890152166101008701525050600061012090940193909352505050565b60008360200135905060006104ee6104e9886020015161116d565b61118c565b90506104f8611fec565b604080516020810190915260608152600061051487878361121d565b90935090506105248787836112e1565b6101608c015191935091506105448363ffffffff8088169087906113bb16565b1461059c5760405162461bcd60e51b815260206004820152602260248201527f43524f53535f4d4f44554c455f494e5445524e414c5f4d4f44554c45535f524f60448201526113d560f21b60648201526084016102c4565b6105b36105a88b611065565b60208c0151906110e2565b6105c36105a88b60e0015161113a565b6105d36105a88a60a0015161113a565b63ffffffff841660e08b015260a08301516105ee9086612a4c565b63ffffffff166101008b0152505060006101209098019790975250505050505050565b61061d61033086611065565b61062d6103308660e0015161113a565b61063d6103308560a0015161113a565b600061064c86608001516110ee565b9050806060015163ffffffff166000141561066b5750600285526102f6565b602084013563ffffffff811681146106c55760405162461bcd60e51b815260206004820152601d60248201527f4241445f43414c4c45525f494e5445524e414c5f43414c4c5f4441544100000060448201526064016102c4565b604082015163ffffffff1660e088015260608201516106e5908290612a4c565b63ffffffff16610100880152505060006101208601525050505050565b6000806107156104e9886020015161116d565b90506000806000808060006107366040518060200160405280606081525090565b6107418b8b87611406565b955093506107508b8b8761146d565b90965094506107608b8b87611489565b9550925061076f8b8b87611406565b9550915061077e8b8b8761146d565b909750945061078e8b8b876112e1565b6040516d21b0b6361034b73234b932b1ba1d60911b60208201526001600160c01b031960c088901b16602e8201526036810189905290965090915060009060560160408051601f19818403018152919052805160209182012091508d013581146108335760405162461bcd60e51b81526020600482015260166024820152754241445f43414c4c5f494e4449524543545f4441544160501b60448201526064016102c4565b610849826001600160401b03871686868c6114bf565b90508d6040015181146108905760405162461bcd60e51b815260206004820152600f60248201526e10905117d51050931154d7d493d3d5608a1b60448201526064016102c4565b826001600160401b03168963ffffffff16106108ba57505060028d52506102f69650505050505050565b505050505060006108db604080518082019091526000808252602082015290565b6040805160208101909152606081526108f58a8a8661146d565b945092506109048a8a86611561565b945091506109138a8a866112e1565b9450905060006109308263ffffffff808b16908790879061165d16565b90508681146109755760405162461bcd60e51b815260206004820152601160248201527010905117d153115351539514d7d493d3d5607a1b60448201526064016102c4565b8584146109a5578d60025b908160038111156109935761099361217f565b815250505050505050505050506102f6565b6004835160068111156109ba576109ba61217f565b14156109c8578d6002610980565b6005835160068111156109dd576109dd61217f565b1415610a3c576020830151985063ffffffff89168914610a375760405162461bcd60e51b81526020600482015260156024820152744241445f46554e435f5245465f434f4e54454e545360581b60448201526064016102c4565b610a74565b60405162461bcd60e51b815260206004820152600d60248201526c4241445f454c454d5f5459504560981b60448201526064016102c4565b5050505050505050610a8861035c87611065565b6000610a9787608001516110ee565b9050610ab4610aa9826040015161113a565b6020890151906110e2565b610ac4610aa9826060015161113a565b5063ffffffff1661010086015260006101208601525050505050565b602083013563ffffffff81168114610b0a5760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff166101209095019490945250505050565b6000610b326104e9876020015161116d565b905063ffffffff81161561031c57602084013563ffffffff81168114610b6a5760405162461bcd60e51b81526004016102c4906129d8565b63ffffffff16610120870152505050505050565b6000610b8d86608001516110ee565b90506000610ba58260200151866020013586866116f9565b6020880151909150610bb790826110e2565b50505050505050565b6000610bcf866020015161116d565b90506000610be087608001516110ee565b9050610bf781602001518660200135848787611791565b602090910152505050505050565b6000610c1b8560000151856020013585856116f9565b602087015190915061031c90826110e2565b6000610c3c866020015161116d565b9050610c5385600001518560200135838686611791565b9094525050505050565b6000610c6c866020015161116d565b90506000610c7d876020015161116d565b90506000610c8e886020015161116d565b905060006040518060800160405280838152602001886020013560001b8152602001610cb98561118c565b63ffffffff168152602001610ccd8661118c565b63ffffffff168152509050610cef818a6080015161182b90919063ffffffff16565b505050505050505050565b61031c856020015161116d565b6000610d196104e9876020015161116d565b90506000610d2a876020015161116d565b90506000610d3b886020015161116d565b905063ffffffff831615610d5d576020880151610d5890826110e2565b610d6c565b6020880151610d6c90836110e2565b5050505050505050565b6000610d8560208501856129b4565b9050600061ffff821660411415610d9e57506000610e21565b61ffff821660421415610db357506001610e21565b61ffff821660431415610dc857506002610e21565b61ffff821660441415610ddd57506003610e21565b60405162461bcd60e51b8152602060048201526019602482015278434f4e53545f505553485f494e56414c49445f4f50434f444560381b60448201526064016102c4565b610bb76040518060400160405280836006811115610e4157610e4161217f565b815260200187602001356001600160401b031681525088602001516110e290919063ffffffff16565b6040805180820190915260008082526020820152618005610e8e60208601866129b4565b61ffff161415610ebc57610ea5866020015161116d565b6060870151909150610eb790826110e2565b61031c565b618006610ecc60208601866129b4565b61ffff161415610ef557610ee3866060015161116d565b6020870151909150610eb790826110e2565b60405162461bcd60e51b815260206004820152601c60248201527f4d4f56455f494e5445524e414c5f494e56414c49445f4f50434f44450000000060448201526064016102c4565b6000610c1b8660200151611912565b610f5461204e565b815151600114610f765760405162461bcd60e51b81526004016102c490612a74565b81518051600090610f8957610f89612a9f565b6020026020010151905060006001600160401b03811115610fac57610fac612426565b604051908082528060200260200182016040528015610fe557816020015b610fd261204e565b815260200190600190039081610fca5790505b5090915290565b6004815160068111156110015761100161217f565b1415611025578160025b9081600381111561101e5761101e61217f565b9052505050565b60068151600681111561103a5761103a61217f565b146110475781600261100b565b611055828260200151611940565b6110615781600261100b565b5050565b60408051808201909152600080825260208201526110dc8261012001518361010001518460e001516040805180820190915260008082526020820152506040805180820182526006815263ffffffff94909416602093841b67ffffffff00000000161791901b63ffffffff60401b16179082015290565b92915050565b81516110619082611982565b6110f661204e565b8151516001146111185760405162461bcd60e51b81526004016102c490612a74565b8151805160009061112b5761112b612a9f565b60200260200101519050919050565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b604080518082019091526000808252602082015281516110dc90611a4b565b602081015160009081835160068111156111a8576111a861217f565b146111df5760405162461bcd60e51b81526020600482015260076024820152662727aa2fa4999960c91b60448201526064016102c4565b64010000000081106110dc5760405162461bcd60e51b81526020600482015260076024820152662120a22fa4999960c91b60448201526064016102c4565b611225611fec565b604080516060810182526000808252602082018190529181018290528391906000806000806112558b8b8961146d565b975095506112648b8b89611b54565b975094506112738b8b8961146d565b975093506112828b8b8961146d565b975092506112918b8b8961146d565b975091506112a08b8b89611bcf565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b6040805160208101909152606081528160006112fe868684611489565b92509050600060ff82166001600160401b0381111561131f5761131f612426565b604051908082528060200260200182016040528015611348578160200160208202803683370190505b50905060005b8260ff168160ff16101561139f5761136788888661146d565b838360ff168151811061137c5761137c612a9f565b60200260200101819650828152505050808061139790612ab5565b91505061134e565b5060405180602001604052808281525093505050935093915050565b60006113fc84846113cb85611c2a565b6040518060400160405280601381526020017226b7b23ab6329036b2b935b632903a3932b29d60691b815250611cc3565b90505b9392505050565b600081815b6008811015611464576008836001600160401b0316901b925085858381811061143657611436612a9f565b919091013560f81c9390931792508161144e81612ad5565b925050808061145c90612ad5565b91505061140b565b50935093915050565b6000818161147c868684611dcd565b9097909650945050505050565b60008184848281811061149e5761149e612a9f565b919091013560f81c92508190506114b481612ad5565b915050935093915050565b604051652a30b136329d60d11b60208201526001600160f81b031960f885901b1660268201526001600160c01b031960c084901b166027820152602f81018290526000908190604f01604051602081830303815290604052805190602001209050611556878783604051806040016040528060128152602001712a30b136329036b2b935b632903a3932b29d60711b815250611cc3565b979650505050505050565b604080518082019091526000808252602082015281600085858381811061158a5761158a612a9f565b919091013560f81c91508290506115a081612ad5565b9250506115ab600690565b60068111156115bc576115bc61217f565b60ff168160ff1611156116025760405162461bcd60e51b815260206004820152600e60248201526d4241445f56414c55455f5459504560901b60448201526064016102c4565b600061160f878785611dcd565b809450819250505060405180604001604052808360ff1660068111156116375761163761217f565b60068111156116485761164861217f565b81526020018281525093505050935093915050565b6000808361166a84611e22565b6040516d2a30b136329032b632b6b2b73a1d60911b6020820152602e810192909252604e820152606e016040516020818303038152906040528051906020012090506116ed8686836040518060400160405280601a81526020017f5461626c6520656c656d656e74206d65726b6c6520747265653a000000000000815250611cc3565b9150505b949350505050565b60408051808201909152600080825260208201526000611729604080518082019091526000808252602082015290565b604080516020810190915260608152611743868685611561565b935091506117528686856112e1565b935090506000611763828985611e3f565b90508881146117845760405162461bcd60e51b81526004016102c490612af0565b5090979650505050505050565b60006117ad604080518082019091526000808252602082015290565b60006117c56040518060200160405280606081525090565b6117d0868684611561565b90935091506117e08686846112e1565b9250905060006117f1828a86611e3f565b90508981146118125760405162461bcd60e51b81526004016102c490612af0565b61181d828a8a611e3f565b9a9950505050505050505050565b81515160009061183c906001612b1b565b6001600160401b0381111561185357611853612426565b60405190808252806020026020018201604052801561188c57816020015b61187961204e565b8152602001906001900390816118715790505b50905060005b8351518110156118e85783518051829081106118b0576118b0612a9f565b60200260200101518282815181106118ca576118ca612a9f565b602002602001018190525080806118e090612ad5565b915050611892565b5081818460000151518151811061190157611901612a9f565b602090810291909101015290915250565b6040805180820190915260008082526020820152815151516113ff611938600183612b33565b845190611e7f565b6000606082901c15611954575060006110dc565b5063ffffffff818116610120840152602082901c811661010084015260409190911c1660e090910152600190565b815151600090611993906001612b1b565b6001600160401b038111156119aa576119aa612426565b6040519080825280602002602001820160405280156119ef57816020015b60408051808201909152600080825260208201528152602001906001900390816119c85790505b50905060005b8351518110156118e8578351805182908110611a1357611a13612a9f565b6020026020010151828281518110611a2d57611a2d612a9f565b60200260200101819052508080611a4390612ad5565b9150506119f5565b604080518082019091526000808252602082015281518051611a6f90600190612b33565b81518110611a7f57611a7f612a9f565b6020026020010151905060006001836000015151611a9d9190612b33565b6001600160401b03811115611ab457611ab4612426565b604051908082528060200260200182016040528015611af957816020015b6040805180820190915260008082526020820152815260200190600190039081611ad25790505b50905060005b8151811015610fe5578351805182908110611b1c57611b1c612a9f565b6020026020010151828281518110611b3657611b36612a9f565b60200260200101819052508080611b4c90612ad5565b915050611aff565b60408051606081018252600080825260208201819052918101919091528160008080611b81888886611406565b94509250611b90888886611406565b94509150611b9f88888661146d565b604080516060810182526001600160401b0396871681529490951660208501529383015250969095509350505050565b600081815b60048110156114645760088363ffffffff16901b9250858583818110611bfc57611bfc612a9f565b919091013560f81c93909317925081611c1481612ad5565b9250508080611c2290612ad5565b915050611bd4565b60008160000151611c3e8360200151611eb7565b6040808501516060860151608087015160a08801519351611ca6969594906020016626b7b23ab6329d60c91b81526007810196909652602786019490945260478501929092526067840152608783015260e01b6001600160e01b03191660a782015260ab0190565b604051602081830303815290604052805190602001209050919050565b8160005b855151811015611d8c5760018516611d2857828287600001518381518110611cf157611cf1612a9f565b6020026020010151604051602001611d0b93929190612b4a565b604051602081830303815290604052805190602001209150611d73565b8286600001518281518110611d3f57611d3f612a9f565b602002602001015183604051602001611d5a93929190612b4a565b6040516020818303038152906040528051906020012091505b60019490941c9380611d8481612ad5565b915050611cc7565b5083156116f15760405162461bcd60e51b815260206004820152600f60248201526e141493d3d197d513d3d7d4d213d495608a1b60448201526064016102c4565b600081815b602081101561146457600883901b9250858583818110611df457611df4612a9f565b919091013560f81c93909317925081611e0c81612ad5565b9250508080611e1a90612ad5565b915050611dd2565b600081600001518260200151604051602001611ca6929190612b90565b60006113fc8484611e4f85611e22565b604051806040016040528060128152602001712b30b63ab29036b2b935b632903a3932b29d60711b815250611cc3565b60408051808201909152600080825260208201528251805183908110611ea757611ea7612a9f565b6020026020010151905092915050565b805160208083015160408085015190516626b2b6b7b93c9d60c91b938101939093526001600160c01b031960c094851b811660278501529190931b16602f8201526037810191909152600090605701611ca6565b6040805161018081019091528060008152602001611f4060408051606080820183529181019182529081526000602082015290565b8152604080518082018252600080825260208083019190915283015201611f7e60408051606080820183529181019182529081526000602082015290565b8152602001611fa3604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6040805160c081019091526000815260208101612022604080516060810182526000808252602082018190529181019190915290565b8152600060208201819052604082018190526060820181905260809091015290565b61204c612bc5565b565b6040805160c08101825260006080820181815260a08301829052825260208201819052918101829052606081019190915290565b60006040828403121561209457600080fd5b50919050565b6000806000806000808688036101c0808212156120b657600080fd5b6120c08a8a612082565b975060408901356001600160401b03808211156120dc57600080fd5b818b01915082828d0312156120f057600080fd5b819850610100605f198501121561210657600080fd5b60608b01975061211a8c6101608d01612082565b96506101a08b013593508084111561213157600080fd5b838b0193508b601f85011261214557600080fd5b833592508083111561215657600080fd5b505089602082840101111561216a57600080fd5b60208201935080925050509295509295509295565b634e487b7160e01b600052602160045260246000fd5b600481106121a5576121a561217f565b9052565b8051600781106121bb576121bb61217f565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b80841015612218576122048286516121a9565b9382019360019390930192908501906121f1565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b828110156122975784516122638582516121a9565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a09093019260010161224e565b509687015197909601969096525093949350505050565b60006101208083526122c38184018651612195565b60208501516101c061014081818701526122e16102e08701846121c8565b925060408801516101606123018189018380518252602090810151910152565b60608a0151915061011f1980898703016101a08a015261232186846121c8565b955060808b015192508089870301858a01525061233e858361222c565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c08601525091506113ff905060208301848051825260208101516001600160401b0380825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561245e5761245e612426565b60405290565b604051602081016001600160401b038111828210171561245e5761245e612426565b604051608081016001600160401b038111828210171561245e5761245e612426565b60405161018081016001600160401b038111828210171561245e5761245e612426565b60405160c081016001600160401b038111828210171561245e5761245e612426565b604051606081016001600160401b038111828210171561245e5761245e612426565b604051601f8201601f191681016001600160401b038111828210171561253757612537612426565b604052919050565b80356004811061254e57600080fd5b919050565b60006001600160401b0382111561256c5761256c612426565b5060051b60200190565b60006040828403121561258857600080fd5b61259061243c565b90508135600781106125a157600080fd5b808252506020820135602082015292915050565b600060408083850312156125c857600080fd5b6125d061243c565b915082356001600160401b03808211156125e957600080fd5b818501915060208083880312156125ff57600080fd5b612607612464565b83358381111561261657600080fd5b80850194505087601f85011261262b57600080fd5b8335925061264061263b84612553565b61250f565b83815260069390931b8401820192828101908985111561265f57600080fd5b948301945b84861015612685576126768a87612576565b82529486019490830190612664565b8252508552948501359484019490945250909392505050565b6000604082840312156126b057600080fd5b6126b861243c565b9050813581526020820135602082015292915050565b803563ffffffff8116811461254e57600080fd5b600060408083850312156126f557600080fd5b6126fd61243c565b915082356001600160401b0381111561271557600080fd5b8301601f8101851361272657600080fd5b8035602061273661263b83612553565b82815260a0928302840182019282820191908985111561275557600080fd5b948301945b848610156127be5780868b0312156127725760008081fd5b61277a612486565b6127848b88612576565b81528787013585820152606061279b8189016126ce565b898301526127ab608089016126ce565b908201528352948501949183019161275a565b50808752505080860135818601525050505092915050565b60006101c082360312156127e957600080fd5b6127f16124a8565b6127fa8361253f565b815260208301356001600160401b038082111561281657600080fd5b612822368387016125b5565b6020840152612834366040870161269e565b6040840152608085013591508082111561284d57600080fd5b612859368387016125b5565b606084015260a085013591508082111561287257600080fd5b5061287f368286016126e2565b6080830152506128923660c0850161269e565b60a08201526101008084013560c08301526101206128b18186016126ce565b60e08401526101406128c48187016126ce565b8385015261016092506128d88387016126ce565b91840191909152610180850135908301526101a090930135928101929092525090565b80356001600160401b038116811461254e57600080fd5b600081830361010081121561292657600080fd5b61292e6124cb565b833581526060601f198301121561294457600080fd5b61294c6124ed565b915061295a602085016128fb565b8252612968604085016128fb565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c084013560808201526129a760e085016126ce565b60a0820152949350505050565b6000602082840312156129c657600080fd5b813561ffff811681146113ff57600080fd5b6020808252600d908201526c4241445f43414c4c5f4441544160981b604082015260600190565b6020808252601a908201527f4241445f43524f53535f4d4f44554c455f43414c4c5f44415441000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818516808303821115612a6b57612a6b612a36565b01949350505050565b6020808252601190820152700848288beae929c889eaebe988a9c8ea89607b1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff811415612acc57612acc612a36565b60010192915050565b6000600019821415612ae957612ae9612a36565b5060010190565b60208082526011908201527015d493d391d7d3515492d31157d493d3d5607a1b604082015260600190565b60008219821115612b2e57612b2e612a36565b500190565b600082821015612b4557612b45612a36565b500390565b6000845160005b81811015612b6b5760208188018101518583015201612b51565b81811115612b7a576000828501525b5091909101928352506020820152604001919050565b652b30b63ab29d60d11b8152600060078410612bae57612bae61217f565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220fc103f19f529f25606dcf95d221632948bea361b65291f312c2bdf94f716271c64736f6c63430008090033",
|
475
563
|
"linkReferences": {},
|
476
564
|
"deployedLinkReferences": {}
|
477
565
|
}
|