@artblocks/contracts 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -10
- package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/AdminACLV0RoyaltyRegistry.json +193 -0
- package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/IRoyaltyRegistry.json +35 -0
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +2 -2
- package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +2 -2
- package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +210 -2
- package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +235 -20
- package/artifacts/contracts/GenArt721CoreV3_Curated_Flex.sol/GenArt721CoreV3_Curated_Flex.json +3197 -0
- package/artifacts/contracts/GenArt721CoreV3_Explorations_Flex.sol/GenArt721CoreV3_Explorations_Flex.json +3192 -0
- package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +2 -2
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +27 -2
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +27 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +25 -0
- package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +28 -2
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +239 -20
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +267 -48
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +27 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +27 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +25 -0
- package/artifacts/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol/AbstractTransferHook.json +79 -0
- package/artifacts/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol/OwnerHistoryTransferHook.json +315 -0
- package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
- package/artifacts/contracts/interfaces/v0.8.x/IClaimMinter.sol/IClaimMinter.json +189 -0
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +149 -0
- package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +26 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +25 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +25 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +123 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +123 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +25 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +25 -0
- package/artifacts/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol/IOwnerHistoryTransferHook.json +299 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +7 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
- package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
- package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
- package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
- package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
- package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
- package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
- package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
- package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
- package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
- package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
- package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +2 -2
- package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +2 -2
- package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
- package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
- package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
- package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
- package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
- package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
- package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
- package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
- package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
- package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
- package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
- package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
- package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +9 -3
- package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
- package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
- package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
- package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
- package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
- package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
- package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
- package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
- package/contracts/DependencyRegistryV0.sol +143 -13
- package/contracts/GenArt721CoreV3_Curated.sol +1 -1
- package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
- package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
- package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
- package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
- package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
- package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
- package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
- package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
- package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
- package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
- package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
- package/contracts/interfaces/v0.8.x/IPMPV0.sol +5 -3
- package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
- package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
- package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
- package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
- package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
- package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
- package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
- package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
- package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
- package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
- package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
- package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
- package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
- package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
- package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
- package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
- package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
- package/contracts/mock/ENSLibMock.sol +25 -0
- package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
- package/contracts/mock/FeistelWalkLibMock.sol +81 -0
- package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
- package/contracts/mock/MockGenArt721V3Core.sol +416 -0
- package/contracts/mock/MockPMP.sol +287 -0
- package/contracts/mock/MockTransferHook.sol +160 -0
- package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
- package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
- package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
- package/contracts/relay/RelayExecutor.sol +61 -0
- package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
- package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
- package/contracts/utils/MintMulticallUtil.sol +103 -0
- package/contracts/web3call/PMPV0.sol +92 -98
- package/contracts/web3call/PMPV1.sol +1204 -0
- package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
- package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
- package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
- package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
- package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
- package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
- package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
- package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
- package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
- package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
- package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
- package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
- package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
- package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
- package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
- package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
- package/package.json +40 -25
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "PMPV1",
|
|
4
|
+
"sourceName": "contracts/web3call/PMPV1.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "contract IDelegateRegistry",
|
|
10
|
+
"name": "delegateRegistry_",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"stateMutability": "nonpayable",
|
|
15
|
+
"type": "constructor"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"inputs": [],
|
|
19
|
+
"name": "ReentrancyGuardReentrantCall",
|
|
20
|
+
"type": "error"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"anonymous": false,
|
|
24
|
+
"inputs": [
|
|
25
|
+
{
|
|
26
|
+
"indexed": false,
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "delegationRegistry",
|
|
29
|
+
"type": "address"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"name": "DelegationRegistryUpdated",
|
|
33
|
+
"type": "event"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"anonymous": false,
|
|
37
|
+
"inputs": [
|
|
38
|
+
{
|
|
39
|
+
"indexed": false,
|
|
40
|
+
"internalType": "address",
|
|
41
|
+
"name": "coreContract",
|
|
42
|
+
"type": "address"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"indexed": false,
|
|
46
|
+
"internalType": "uint256",
|
|
47
|
+
"name": "projectId",
|
|
48
|
+
"type": "uint256"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"components": [
|
|
52
|
+
{
|
|
53
|
+
"internalType": "string",
|
|
54
|
+
"name": "key",
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"components": [
|
|
59
|
+
{
|
|
60
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
61
|
+
"name": "authOption",
|
|
62
|
+
"type": "uint8"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
66
|
+
"name": "paramType",
|
|
67
|
+
"type": "uint8"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"internalType": "uint48",
|
|
71
|
+
"name": "pmpLockedAfterTimestamp",
|
|
72
|
+
"type": "uint48"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"internalType": "address",
|
|
76
|
+
"name": "authAddress",
|
|
77
|
+
"type": "address"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"internalType": "string[]",
|
|
81
|
+
"name": "selectOptions",
|
|
82
|
+
"type": "string[]"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"internalType": "bytes32",
|
|
86
|
+
"name": "minRange",
|
|
87
|
+
"type": "bytes32"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"internalType": "bytes32",
|
|
91
|
+
"name": "maxRange",
|
|
92
|
+
"type": "bytes32"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
96
|
+
"name": "pmpConfig",
|
|
97
|
+
"type": "tuple"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"indexed": false,
|
|
101
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
102
|
+
"name": "pmpInputConfigs",
|
|
103
|
+
"type": "tuple[]"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"indexed": false,
|
|
107
|
+
"internalType": "uint8",
|
|
108
|
+
"name": "projectConfigNonce",
|
|
109
|
+
"type": "uint8"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"name": "ProjectConfigured",
|
|
113
|
+
"type": "event"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"anonymous": false,
|
|
117
|
+
"inputs": [
|
|
118
|
+
{
|
|
119
|
+
"indexed": false,
|
|
120
|
+
"internalType": "address",
|
|
121
|
+
"name": "coreContract",
|
|
122
|
+
"type": "address"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"indexed": false,
|
|
126
|
+
"internalType": "uint256",
|
|
127
|
+
"name": "projectId",
|
|
128
|
+
"type": "uint256"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"indexed": false,
|
|
132
|
+
"internalType": "contract IPMPConfigureHook",
|
|
133
|
+
"name": "tokenPMPPostConfigHook",
|
|
134
|
+
"type": "address"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"indexed": false,
|
|
138
|
+
"internalType": "contract IPMPAugmentHook",
|
|
139
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
140
|
+
"type": "address"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"name": "ProjectHooksConfigured",
|
|
144
|
+
"type": "event"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"anonymous": false,
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"indexed": false,
|
|
151
|
+
"internalType": "address",
|
|
152
|
+
"name": "coreContract",
|
|
153
|
+
"type": "address"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"indexed": false,
|
|
157
|
+
"internalType": "uint256",
|
|
158
|
+
"name": "tokenId",
|
|
159
|
+
"type": "uint256"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"components": [
|
|
163
|
+
{
|
|
164
|
+
"internalType": "string",
|
|
165
|
+
"name": "key",
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
170
|
+
"name": "configuredParamType",
|
|
171
|
+
"type": "uint8"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"internalType": "bytes32",
|
|
175
|
+
"name": "configuredValue",
|
|
176
|
+
"type": "bytes32"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"internalType": "bool",
|
|
180
|
+
"name": "configuringArtistString",
|
|
181
|
+
"type": "bool"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"internalType": "string",
|
|
185
|
+
"name": "configuredValueString",
|
|
186
|
+
"type": "string"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"indexed": false,
|
|
190
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
191
|
+
"name": "pmpInputs",
|
|
192
|
+
"type": "tuple[]"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"indexed": false,
|
|
196
|
+
"internalType": "address[]",
|
|
197
|
+
"name": "authAddresses",
|
|
198
|
+
"type": "address[]"
|
|
199
|
+
}
|
|
200
|
+
],
|
|
201
|
+
"name": "TokenParamsConfigured",
|
|
202
|
+
"type": "event"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"inputs": [],
|
|
206
|
+
"name": "DELEGATION_REGISTRY_TOKEN_OWNER_RIGHTS",
|
|
207
|
+
"outputs": [
|
|
208
|
+
{
|
|
209
|
+
"internalType": "bytes32",
|
|
210
|
+
"name": "",
|
|
211
|
+
"type": "bytes32"
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"stateMutability": "view",
|
|
215
|
+
"type": "function"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"inputs": [
|
|
219
|
+
{
|
|
220
|
+
"internalType": "address",
|
|
221
|
+
"name": "coreContract",
|
|
222
|
+
"type": "address"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"internalType": "uint256",
|
|
226
|
+
"name": "projectId",
|
|
227
|
+
"type": "uint256"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"components": [
|
|
231
|
+
{
|
|
232
|
+
"internalType": "string",
|
|
233
|
+
"name": "key",
|
|
234
|
+
"type": "string"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"components": [
|
|
238
|
+
{
|
|
239
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
240
|
+
"name": "authOption",
|
|
241
|
+
"type": "uint8"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
245
|
+
"name": "paramType",
|
|
246
|
+
"type": "uint8"
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"internalType": "uint48",
|
|
250
|
+
"name": "pmpLockedAfterTimestamp",
|
|
251
|
+
"type": "uint48"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"internalType": "address",
|
|
255
|
+
"name": "authAddress",
|
|
256
|
+
"type": "address"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"internalType": "string[]",
|
|
260
|
+
"name": "selectOptions",
|
|
261
|
+
"type": "string[]"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"internalType": "bytes32",
|
|
265
|
+
"name": "minRange",
|
|
266
|
+
"type": "bytes32"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"internalType": "bytes32",
|
|
270
|
+
"name": "maxRange",
|
|
271
|
+
"type": "bytes32"
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
275
|
+
"name": "pmpConfig",
|
|
276
|
+
"type": "tuple"
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
280
|
+
"name": "pmpInputConfigs",
|
|
281
|
+
"type": "tuple[]"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"name": "configureProject",
|
|
285
|
+
"outputs": [],
|
|
286
|
+
"stateMutability": "nonpayable",
|
|
287
|
+
"type": "function"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"internalType": "address",
|
|
293
|
+
"name": "coreContract",
|
|
294
|
+
"type": "address"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"internalType": "uint256",
|
|
298
|
+
"name": "projectId",
|
|
299
|
+
"type": "uint256"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"internalType": "contract IPMPConfigureHook",
|
|
303
|
+
"name": "tokenPMPPostConfigHook",
|
|
304
|
+
"type": "address"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"internalType": "contract IPMPAugmentHook",
|
|
308
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
309
|
+
"type": "address"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"name": "configureProjectHooks",
|
|
313
|
+
"outputs": [],
|
|
314
|
+
"stateMutability": "nonpayable",
|
|
315
|
+
"type": "function"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"inputs": [
|
|
319
|
+
{
|
|
320
|
+
"internalType": "address",
|
|
321
|
+
"name": "coreContract",
|
|
322
|
+
"type": "address"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"internalType": "uint256",
|
|
326
|
+
"name": "tokenId",
|
|
327
|
+
"type": "uint256"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"components": [
|
|
331
|
+
{
|
|
332
|
+
"internalType": "string",
|
|
333
|
+
"name": "key",
|
|
334
|
+
"type": "string"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
338
|
+
"name": "configuredParamType",
|
|
339
|
+
"type": "uint8"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"internalType": "bytes32",
|
|
343
|
+
"name": "configuredValue",
|
|
344
|
+
"type": "bytes32"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"internalType": "bool",
|
|
348
|
+
"name": "configuringArtistString",
|
|
349
|
+
"type": "bool"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"internalType": "string",
|
|
353
|
+
"name": "configuredValueString",
|
|
354
|
+
"type": "string"
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
358
|
+
"name": "pmpInputs",
|
|
359
|
+
"type": "tuple[]"
|
|
360
|
+
}
|
|
361
|
+
],
|
|
362
|
+
"name": "configureTokenParams",
|
|
363
|
+
"outputs": [],
|
|
364
|
+
"stateMutability": "nonpayable",
|
|
365
|
+
"type": "function"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"inputs": [],
|
|
369
|
+
"name": "delegateRegistry",
|
|
370
|
+
"outputs": [
|
|
371
|
+
{
|
|
372
|
+
"internalType": "contract IDelegateRegistry",
|
|
373
|
+
"name": "",
|
|
374
|
+
"type": "address"
|
|
375
|
+
}
|
|
376
|
+
],
|
|
377
|
+
"stateMutability": "view",
|
|
378
|
+
"type": "function"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"inputs": [
|
|
382
|
+
{
|
|
383
|
+
"internalType": "address",
|
|
384
|
+
"name": "coreContract",
|
|
385
|
+
"type": "address"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"internalType": "uint256",
|
|
389
|
+
"name": "projectId",
|
|
390
|
+
"type": "uint256"
|
|
391
|
+
}
|
|
392
|
+
],
|
|
393
|
+
"name": "getProjectConfig",
|
|
394
|
+
"outputs": [
|
|
395
|
+
{
|
|
396
|
+
"internalType": "string[]",
|
|
397
|
+
"name": "pmpKeys",
|
|
398
|
+
"type": "string[]"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"internalType": "uint8",
|
|
402
|
+
"name": "configNonce",
|
|
403
|
+
"type": "uint8"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"internalType": "contract IPMPConfigureHook",
|
|
407
|
+
"name": "tokenPMPPostConfigHook",
|
|
408
|
+
"type": "address"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"internalType": "contract IPMPAugmentHook",
|
|
412
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
413
|
+
"type": "address"
|
|
414
|
+
}
|
|
415
|
+
],
|
|
416
|
+
"stateMutability": "view",
|
|
417
|
+
"type": "function"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"inputs": [
|
|
421
|
+
{
|
|
422
|
+
"internalType": "address",
|
|
423
|
+
"name": "coreContract",
|
|
424
|
+
"type": "address"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"internalType": "uint256",
|
|
428
|
+
"name": "projectId",
|
|
429
|
+
"type": "uint256"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"internalType": "string",
|
|
433
|
+
"name": "pmpKey",
|
|
434
|
+
"type": "string"
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"name": "getProjectPMPConfig",
|
|
438
|
+
"outputs": [
|
|
439
|
+
{
|
|
440
|
+
"components": [
|
|
441
|
+
{
|
|
442
|
+
"internalType": "uint8",
|
|
443
|
+
"name": "highestConfigNonce",
|
|
444
|
+
"type": "uint8"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
448
|
+
"name": "authOption",
|
|
449
|
+
"type": "uint8"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
453
|
+
"name": "paramType",
|
|
454
|
+
"type": "uint8"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"internalType": "uint48",
|
|
458
|
+
"name": "pmpLockedAfterTimestamp",
|
|
459
|
+
"type": "uint48"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"internalType": "address",
|
|
463
|
+
"name": "authAddress",
|
|
464
|
+
"type": "address"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"internalType": "uint8",
|
|
468
|
+
"name": "selectOptionsLength",
|
|
469
|
+
"type": "uint8"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"internalType": "string[]",
|
|
473
|
+
"name": "selectOptions",
|
|
474
|
+
"type": "string[]"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"internalType": "bytes32",
|
|
478
|
+
"name": "minRange",
|
|
479
|
+
"type": "bytes32"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"internalType": "bytes32",
|
|
483
|
+
"name": "maxRange",
|
|
484
|
+
"type": "bytes32"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"internalType": "struct IPMPV0.PMPConfigView",
|
|
488
|
+
"name": "pmpConfigView",
|
|
489
|
+
"type": "tuple"
|
|
490
|
+
}
|
|
491
|
+
],
|
|
492
|
+
"stateMutability": "view",
|
|
493
|
+
"type": "function"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"inputs": [
|
|
497
|
+
{
|
|
498
|
+
"internalType": "address",
|
|
499
|
+
"name": "coreContract",
|
|
500
|
+
"type": "address"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"internalType": "uint256",
|
|
504
|
+
"name": "tokenId",
|
|
505
|
+
"type": "uint256"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"internalType": "string",
|
|
509
|
+
"name": "pmpKey",
|
|
510
|
+
"type": "string"
|
|
511
|
+
}
|
|
512
|
+
],
|
|
513
|
+
"name": "getTokenPMPStorage",
|
|
514
|
+
"outputs": [
|
|
515
|
+
{
|
|
516
|
+
"components": [
|
|
517
|
+
{
|
|
518
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
519
|
+
"name": "configuredParamType",
|
|
520
|
+
"type": "uint8"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"internalType": "bytes32",
|
|
524
|
+
"name": "configuredValue",
|
|
525
|
+
"type": "bytes32"
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"internalType": "string",
|
|
529
|
+
"name": "artistConfiguredValueString",
|
|
530
|
+
"type": "string"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"internalType": "string",
|
|
534
|
+
"name": "nonArtistConfiguredValueString",
|
|
535
|
+
"type": "string"
|
|
536
|
+
}
|
|
537
|
+
],
|
|
538
|
+
"internalType": "struct IPMPV0.PMPStorage",
|
|
539
|
+
"name": "pmp",
|
|
540
|
+
"type": "tuple"
|
|
541
|
+
}
|
|
542
|
+
],
|
|
543
|
+
"stateMutability": "view",
|
|
544
|
+
"type": "function"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"inputs": [
|
|
548
|
+
{
|
|
549
|
+
"internalType": "address",
|
|
550
|
+
"name": "coreContract",
|
|
551
|
+
"type": "address"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"internalType": "uint256",
|
|
555
|
+
"name": "tokenId",
|
|
556
|
+
"type": "uint256"
|
|
557
|
+
}
|
|
558
|
+
],
|
|
559
|
+
"name": "getTokenParams",
|
|
560
|
+
"outputs": [
|
|
561
|
+
{
|
|
562
|
+
"components": [
|
|
563
|
+
{
|
|
564
|
+
"internalType": "string",
|
|
565
|
+
"name": "key",
|
|
566
|
+
"type": "string"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"internalType": "string",
|
|
570
|
+
"name": "value",
|
|
571
|
+
"type": "string"
|
|
572
|
+
}
|
|
573
|
+
],
|
|
574
|
+
"internalType": "struct IWeb3Call.TokenParam[]",
|
|
575
|
+
"name": "tokenParams",
|
|
576
|
+
"type": "tuple[]"
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"stateMutability": "view",
|
|
580
|
+
"type": "function"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"inputs": [
|
|
584
|
+
{
|
|
585
|
+
"internalType": "address",
|
|
586
|
+
"name": "wallet",
|
|
587
|
+
"type": "address"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"internalType": "address",
|
|
591
|
+
"name": "coreContract",
|
|
592
|
+
"type": "address"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"internalType": "uint256",
|
|
596
|
+
"name": "tokenId",
|
|
597
|
+
"type": "uint256"
|
|
598
|
+
}
|
|
599
|
+
],
|
|
600
|
+
"name": "isTokenOwnerOrDelegate",
|
|
601
|
+
"outputs": [
|
|
602
|
+
{
|
|
603
|
+
"internalType": "bool",
|
|
604
|
+
"name": "isTokenOwnerOrDelegate_",
|
|
605
|
+
"type": "bool"
|
|
606
|
+
}
|
|
607
|
+
],
|
|
608
|
+
"stateMutability": "view",
|
|
609
|
+
"type": "function"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"inputs": [],
|
|
613
|
+
"name": "pmpType",
|
|
614
|
+
"outputs": [
|
|
615
|
+
{
|
|
616
|
+
"internalType": "string",
|
|
617
|
+
"name": "",
|
|
618
|
+
"type": "string"
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"stateMutability": "pure",
|
|
622
|
+
"type": "function"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"inputs": [
|
|
626
|
+
{
|
|
627
|
+
"internalType": "bytes4",
|
|
628
|
+
"name": "interfaceId",
|
|
629
|
+
"type": "bytes4"
|
|
630
|
+
}
|
|
631
|
+
],
|
|
632
|
+
"name": "supportsInterface",
|
|
633
|
+
"outputs": [
|
|
634
|
+
{
|
|
635
|
+
"internalType": "bool",
|
|
636
|
+
"name": "",
|
|
637
|
+
"type": "bool"
|
|
638
|
+
}
|
|
639
|
+
],
|
|
640
|
+
"stateMutability": "view",
|
|
641
|
+
"type": "function"
|
|
642
|
+
}
|
|
643
|
+
],
|
|
644
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b50604051620051d6380380620051d6833981016040819052620000349162000082565b60016000556001600160a01b03811660808190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a150620000b4565b6000602082840312156200009557600080fd5b81516001600160a01b0381168114620000ad57600080fd5b9392505050565b608051615100620000d66000396000818160d60152612ef001526151006000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c806301ffc9a7146100a957806313bfffac146100d157806316dba0f2146101105780633c303afb1461012557806354ca22371461013a5780636f8637a01461015d57806398a6e11814610170578063af544a611461019a578063b69c984d146101ad578063ba8dba48146101c0578063c2b4f411146101e0578063dc809b1a14610200575b600080fd5b6100bc6100b7366004613b93565b610220565b60405190151581526020015b60405180910390f35b6100f87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c8565b610118610257565b6040516100c89190613c0d565b610138610133366004613c8c565b61026f565b005b61014d610148366004613ce7565b61079f565b6040516100c89493929190613d6d565b61013861016b366004613c8c565b610802565b61018c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100c8565b6100bc6101a8366004613da9565b610b20565b6101386101bb366004613dea565b610b36565b6101d36101ce366004613f4a565b610d2a565b6040516100c89190614029565b6101f36101ee366004613ce7565b610e92565b6040516100c8919061414a565b61021361020e366004613f4a565b6110b2565b6040516100c8919061415d565b60006001600160e01b0319821663c2b4f41160e01b148061025157506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061026a64504d50563160d81b611288565b905090565b6102776112f3565b61028284843361131d565b806101008111156102d55760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103905760008484838181106102f4576102f46141ba565b905060200281019061030691906141d0565b61031090806141f0565b9150508015801590610323575061010081105b6103875760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b60648201526084016102cc565b506001016102d8565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103c99160ff169061424c565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f6576103f6613e3d565b60405190808252806020026020018201604052801561042957816020015b60608152602001906001900390816104145790505b50905060005b848110156104c057868682818110610449576104496141ba565b905060200281019061045b91906141d0565b61046590806141f0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104ad576104ad6141ba565b602090810291909101015260010161042f565b506104cb81846113d9565b60005b8481101561074b5760008460010160006105008585815181106104f3576104f36141ba565b6020026020010151611471565b81526020810191909152604001600020805490915061052d906301000000900465ffffffffffff166114a1565b6105db5761056c81898985818110610547576105476141ba565b905060200281019061055991906141d0565b610567906020810190614265565b6114b1565b6105c95760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b60648201526084016102cc565b805460ff191660ff8516179055610743565b6106158888848181106105f0576105f06141ba565b905060200281019061060291906141d0565b610610906020810190614265565b611657565b805460ff191660ff85161781556000888884818110610636576106366141ba565b905060200281019061064891906141d0565b610656906020810190614265565b61065f9061435c565b8051835491925090839061ff00191661010083600681111561068357610683613fa2565b021790555060208101518254839062ff00001916620100008360088111156106ad576106ad613fa2565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b031990941693909317939093171617835561072e906001840190611db6565b60a0810151600283015560c001516003909101555b6001016104ce565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516107839594939291906144be565b60405180910390a1505050506107996001600055565b50505050565b6001600160a01b0382166000908152600160209081526040808320848452909152812060609190819081906107d381612078565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61080a6112f3565b6001600160a01b03841660009081526001602052604081208161082c866122a2565b815260200190815260200160002090506000838390506001600160401b0381111561085957610859613e3d565b604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b83811015610ad45760006108fd8686848181106108a7576108a76141ba565b90506020028101906108b9919061465d565b6108c390806141f0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061147192505050565b90506000868684818110610913576109136141ba565b9050602002810190610925919061465d565b61092e90614681565b6001600160a01b038a1660009081526002602081815260408084208d85528252808420878552825280842060018b01909252909220908801549293509091610980908b908d908690859060ff166122b1565b868681518110610992576109926141ba565b6001600160a01b039290921660209283029190910190910152805482546201000090910460ff1690839060ff191660018360088111156109d4576109d4613fa2565b02179055506008815462010000900460ff1660088111156109f7576109f7613fa2565b03610a3457826060015115610a205760808301516002830190610a1a90826147c1565b50610a3f565b60808301516003830190610a1a90826147c1565b604083015160018301555b600287015461010090046001600160a01b031615610ac457600287015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610a91908e908e908890600401614880565b600060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050505b5050600190920191506108889050565b507f3dfcd927ac9e2552184b368328e6cca04f875ef453930277d7dfa53f40dbeac48686868685604051610b0c95949392919061493c565b60405180910390a150506107996001600055565b6000610b2d828486612e14565b50949350505050565b610b3e6112f3565b610b4984843361131d565b6001600160a01b03821615610bdd57610b698263677e713560e01b612f65565b610bdd576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b60648201526084016102cc565b6001600160a01b03811615610c7d57610bfd816358f8699f60e01b612f65565b610c7d5760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a4016102cc565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce389060800160405180910390a1506107996001600055565b610d7960408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610da785611471565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610ddf57610ddf613fa2565b90816006811115610df257610df2613fa2565b9052508054604083019062010000900460ff166008811115610e1657610e16613fa2565b90816008811115610e2957610e29613fa2565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610e7260018201612078565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610e9f836122a2565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610ece82612078565b8051909150806001600160401b03811115610eeb57610eeb613e3d565b604051908082528060200260200182016040528015610f3057816020015b6040805180820190915260608082526020820152815260200190600190039081610f095790505b5094506000805b82811015611012576000610f568583815181106104f3576104f36141ba565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610f9c91612f88565b9150915081610fad5750505061100a565b6040518060400160405280888681518110610fca57610fca6141ba565b60200260200101518152602001828152508a8681518110610fed57610fed6141ba565b6020026020010181905250848061100390614a4a565b9550505050505b600101610f37565b5080865260038401546001600160a01b0316156110a75760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f9061105f908b908b908b90600401614a63565b600060405180830381865afa15801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a49190810190614ad7565b95505b505050505092915050565b6110dc60408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b038416600090815260026020908152604080832086845290915281209061110984611471565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561113c5761113c613fa2565b600881111561114d5761114d613fa2565b81526020016001820154815260200160028201805461116b90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461119790614737565b80156111e45780601f106111b9576101008083540402835291602001916111e4565b820191906000526020600020905b8154815290600101906020018083116111c757829003601f168201915b505050505081526020016003820180546111fd90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461122990614737565b80156112765780601f1061124b57610100808354040283529160200191611276565b820191906000526020600020905b81548152906001019060200180831161125957829003601f168201915b50505050508152505090509392505050565b606060005b828160ff16602081106112a2576112a26141ba565b1a60f81b6001600160f81b031916158015906112c1575060208160ff16105b156112d857806112d081614be2565b91505061128d565b60405191506040820160405280825282602083015250919050565b60026000540361131657604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190614c01565b6001600160a01b0316146113d45760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b60448201526064016102cc565b505050565b60006113e482612078565b9050600081518451146113f957506001611461565b60005b845181101561145f5761144a83828151811061141a5761141a6141ba565b6020026020010151868381518110611434576114346141ba565b60200260200101516133fb90919063ffffffff16565b611457576001915061145f565b6001016113fc565b505b8015610799576107998385611db6565b6000816040516020016114849190613c0d565b604051602081830303815290604052805190602001209050919050565b6000811580610251575050421090565b60006114c06020830183614c1e565b60068111156114d1576114d1613fa2565b8354610100900460ff1660068111156114ec576114ec613fa2565b14158061153457506115046040830160208401614c39565b600881111561151557611515613fa2565b835462010000900460ff16600881111561153157611531613fa2565b14155b80611562575061154a6060830160408401614c54565b83546301000000900465ffffffffffff908116911614155b8061159157506115786080830160608401614c6f565b8354600160481b90046001600160a01b03908116911614155b806115a457508160a00135836002015414155b806115b757508160c00135836003015414155b806115db57506115ca6080830183614c8c565b8454600160e81b900460ff16141590505b156115e857506000610251565b6115f56080830183614c8c565b604051602001611606929190614cd5565b6040516020818303038152906040528051906020012061162884600101612078565b6040516020016116389190614ce9565b6040516020818303038152906040528051906020012014905092915050565b60006116696040830160208401614c39565b9050600061167a6020840184614c1e565b9050600082600881111561169057611690613fa2565b036116dd5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e66696775726564000060448201526064016102cc565b6116fd6116f06060850160408601614c54565b65ffffffffffff166114a1565b61177d5760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a4016102cc565b600681600681111561179157611791613fa2565b11156117d95760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b60448201526064016102cc565b60088260088111156117ed576117ed613fa2565b111561180b5760405162461bcd60e51b81526004016102cc90614cfc565b600882600881111561181f5761181f613fa2565b036118f557600081600681111561183857611838613fa2565b14806118555750600381600681111561185357611853613fa2565b145b806118715750600681600681111561186f5761186f613fa2565b145b8061188d5750600481600681111561188b5761188b613fa2565b145b6118f55760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b60648201526084016102cc565b600281600681111561190957611909613fa2565b14806119265750600581600681111561192457611924613fa2565b145b806119425750600481600681111561194057611940613fa2565b145b8061195e5750600681600681111561195c5761195c613fa2565b145b156119cb5760006119756080850160608601614c6f565b6001600160a01b0316036119c65760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b60448201526064016102cc565b611a32565b60006119dd6080850160608601614c6f565b6001600160a01b031614611a325760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b60448201526064016102cc565b6002826008811115611a4657611a46613fa2565b1480611a6357506008826008811115611a6157611a61613fa2565b145b80611a7f57506006826008811115611a7d57611a7d613fa2565b145b15611b4e57611a916080840184614c8c565b159050611ab05760405162461bcd60e51b81526004016102cc90614d2c565b60a083013515611aff5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b60448201526064016102cc565b60c0830135156113d45760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b60448201526064016102cc565b6001826008811115611b6257611b62613fa2565b03611c22576000611b766080850185614c8c565b905011611bc35760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b60448201526064016102cc565b610100611bd36080850185614c8c565b905010611ab05760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e203235350060448201526064016102cc565b6003826008811115611c3657611c36613fa2565b1480611c5357506004826008811115611c5157611c51613fa2565b145b80611c6f57506005826008811115611c6d57611c6d613fa2565b145b80611c8b57506007826008811115611c8957611c89613fa2565b145b15611d9e57611c9d6080840184614c8c565b159050611cbc5760405162461bcd60e51b81526004016102cc90614d2c565b6004826008811115611cd057611cd0613fa2565b03611d055760a083013560c0840135808212611cfe5760405162461bcd60e51b81526004016102cc90614d63565b5050505050565b60a083013560c0840135808210611d2e5760405162461bcd60e51b81526004016102cc90614d63565b6007846008811115611d4257611d42613fa2565b03611cfe576001600160401b03811115611cfe5760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d4158000060448201526064016102cc565b60405162461bcd60e51b81526004016102cc90614cfc565b80516000819003611dd357505080546001600160a01b0319169055565b6000816001600160401b03811115611ded57611ded613e3d565b604051908082528060200260200182016040528015611e16578160200160208202803683370190505b5090506000805b83811015611e885781838281518110611e3857611e386141ba565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611e6a57611e6a6141ba565b60200260200101515182611e7e9190614d96565b9150600101611e1d565b506001600160401b03811115611ede5760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b60448201526064016102cc565b600081611eec856008614da9565b611ef7906008614d96565b611f019190614d96565b90506000611f10826020614d96565b6001600160401b03811115611f2757611f27613e3d565b6040519080825280601f01601f191660200182016040528015611f51576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611faa576000868281518110611f8157611f816141ba565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611f65565b5060005b86811015612044576000888281518110611fca57611fca6141ba565b6020026020010151905060008151905060006020830190506000602083611ff19190614dd6565b90506000612000602085614dea565b905060005b82811015612023578351885260209788019790930192600101612005565b5080156120335782518752958601955b505060019093019250611fae915050565b50508181528061205381613420565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b03166120bc5760408051600080825260208201909252906120b5565b60608152602001906001900390816120a05790505b5092915050565b81546000906120d3906001600160a01b03166134c5565b602081015190915060c01c806001600160401b038111156120f6576120f6613e3d565b60405190808252806020026020018201604052801561212957816020015b60608152602001906001900390816121145790505b50925060005b8181101561229a576000808084612147856001614d96565b03612175576000865190506028870193506008850284015160c01c9250600886026008018103915050612197565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b60006121a38383614dfe565b6001600160401b0316905060006121bb826020614d96565b6001600160401b038111156121d2576121d2613e3d565b6040519080825280601f01601f1916602001820160405280156121fc576020820181803683370190505b5090506020810160005b83811015612262576000816001600160401b0388166122268c6008614da9565b612231906028614d96565b61223b9190614d96565b6122459190614d96565b8b015183525060209182019161225b9082614d96565b9050612206565b50819050828152818a888151811061227c5761227c6141ba565b6020026020010181905250505050505050808060010191505061212f565b505050919050565b6000610251620f424083614dd6565b815460009060ff83811691161461232d5760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b60648201526084016102cc565b8254612347906301000000900465ffffffffffff166114a1565b61238a5760405162461bcd60e51b81526020600482015260146024820152731413540e881c185c985b481a5cc81b1bd8dad95960621b60448201526064016102cc565b825462010000900460ff1660088111156123a6576123a6613fa2565b846020015160088111156123bc576123bc613fa2565b146124035760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b60448201526064016102cc565b60008460200151600881111561241b5761241b613fa2565b036124745760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b60648201526084016102cc565b8254600090610100900460ff168181600681111561249457612494613fa2565b14806124b1575060048160068111156124af576124af613fa2565b145b806124cd575060038160068111156124cb576124cb613fa2565b145b806124e9575060068160068111156124e7576124e7613fa2565b145b156125015760006124fb8989336134e6565b94509250505b811580156125735750600281600681111561251e5761251e613fa2565b148061253b5750600581600681111561253957612539613fa2565b145b806125575750600481600681111561255557612555613fa2565b145b806125735750600681600681111561257157612571613fa2565b145b15612592578454600160481b90046001600160a01b0316925033831491505b81158015612604575060018160068111156125af576125af613fa2565b14806125cc575060038160068111156125ca576125ca613fa2565b145b806125e8575060058160068111156125e6576125e6613fa2565b145b806126045750600681600681111561260257612602613fa2565b145b1561261c576000612616898933612e14565b94509250505b508061295f578354610100900460ff16600081600681111561264057612640613fa2565b036126895760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b60448201526064016102cc565b600181600681111561269d5761269d613fa2565b036126ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e65722061757468207265717569726564000060448201526064016102cc565b60038160068111156126fe576126fe613fa2565b0361275d5760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b60648201526084016102cc565b600281600681111561277157612771613fa2565b036127bb5760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b60448201526064016102cc565b60068160068111156127cf576127cf613fa2565b0361283a5760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b60648201526084016102cc565b600481600681111561284e5761284e613fa2565b036128a95760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b60648201526084016102cc565b60058160068111156128bd576128bd613fa2565b0361291d5760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b60648201526084016102cc565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b60448201526064016102cc565b835462010000900460ff16600881600881111561297e5761297e613fa2565b14612c1057600181600881111561299757612997613fa2565b03612a0f5784546040870151600160e81b90910460ff1611612a0a5760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b60648201526084016102cc565b612c10565b6002816008811115612a2357612a23613fa2565b03612a955760408601511580612a3d575060408601516001145b612a0a5760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b60648201526084016102cc565b6003816008811115612aa957612aa9613fa2565b1480612ac657506005816008811115612ac457612ac4613fa2565b145b15612b07578460020154866040015110158015612aeb57508460030154866040015111155b612a0a5760405162461bcd60e51b81526004016102cc90614e1e565b6004816008811115612b1b57612b1b613fa2565b03612b5b576002850154604087015112801590612aeb5750600385015460408701511315612a0a5760405162461bcd60e51b81526004016102cc90614e1e565b6007816008811115612b6f57612b6f613fa2565b03612b8f5760408601516001600160401b0310801590612aeb5750612c10565b6006816008811115612ba357612ba3613fa2565b03612bcf57604086015162ffffff1015612a0a5760405162461bcd60e51b81526004016102cc90614e55565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b60448201526064016102cc565b6008855462010000900460ff166008811115612c2e57612c2e613fa2565b03612d2357604086015115612c985760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b60648201526084016102cc565b856060015115612d1e576000612caf8989336134e6565b50905080612d1c5760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b60648201526084016102cc565b505b612e09565b60808601515115612d915760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b60648201526084016102cc565b856060015115612e095760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d7300000060648201526084016102cc565b505095945050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e829190614c01565b9050826001600160a01b0316816001600160a01b03161480612f5b5750604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5b9190614e85565b9150935093915050565b6000612f7083613582565b8015612f815750612f8183836135b5565b9392505050565b805460009060609060ff1682816008811115612fa657612fa6613fa2565b1480612fde5750845462010000900460ff166008811115612fc957612fc9613fa2565b816008811115612fdb57612fdb613fa2565b14155b15612ffc5750506040805160208101909152600080825291506133f4565b6008855462010000900460ff16600881111561301a5761301a613fa2565b0361311857600084600201805461303090614737565b905011156130d45760018460020180805461304a90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461307690614737565b80156130c35780601f10613098576101008083540402835291602001916130c3565b820191906000526020600020905b8154815290600101906020018083116130a657829003601f168201915b5050505050905092509250506133f4565b60008460030180546130e590614737565b905011156130ff5760018460030180805461304a90614737565b50506040805160208101909152600080825291506133f4565b600181600881111561312c5761312c613fa2565b0361317e5784546001850154600160e81b90910460ff16116131615750506040805160208101909152600080825291506133f4565b600184810154613174908783019061363f565b92509250506133f4565b600281600881111561319257613192613fa2565b036131ec57600184810154156131c457604051806040016040528060048152602001637472756560e01b815250613174565b6040518060400160405280600581526020016466616c736560d81b81525092509250506133f4565b600381600881111561320057613200613fa2565b148061321d5750600681600881111561321b5761321b613fa2565b145b806132395750600781600881111561323757613237613fa2565b145b806132555750600581600881111561325357613253613fa2565b145b156133465760018401546000600683600881111561327557613275613fa2565b14613284576003870154613289565b62ffffff5b9050600060068460088111156132a1576132a1613fa2565b146132b05760028801546132b3565b60005b9050808310806132c257508183115b156132e65760006040518060200160405280600081525095509550505050506133f4565b60058460088111156132fa576132fa613fa2565b0361331757600161330a846137e9565b95509550505050506133f4565b600684600881111561332b5761332b613fa2565b0361333b57600161330a84613896565b600161330a8461397f565b600481600881111561335a5761335a613fa2565b036133b157600184015460028601548112806133795750600386015481135b1561339b576000604051806020016040528060008152509350935050506133f4565b60016133a682613a11565b9350935050506133f4565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b60448201526064016102cc565b9250929050565b600081518351148015612f815750508051602091820120825192909101919091201490565b600080826040516020016134349190614ea2565b60405160208183030381529060405290506000816040516020016134589190614ec8565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166134be5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b60448201526064016102cc565b5050919050565b60606102518260016134e1816001600160a01b0384163b614efc565b613a83565b60008060006134f4866122a2565b60405163a47d29cb60e01b8152600481018290529091506001600160a01b0386169063a47d29cb90602401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135609190614c01565b9150836001600160a01b0316826001600160a01b031614925050935093915050565b6000613595826301ffc9a760e01b6135b5565b801561025157506135ae826001600160e01b03196135b5565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d91506000519050828015613628575060208210155b80156136345750600081115b979650505050505050565b81546060906001600160a01b03166136695760405162461bcd60e51b81526004016102cc90614f0f565b8254600090613680906001600160a01b03166134c5565b9050600080600080602085015160c01c90508087106136b15760405162461bcd60e51b81526004016102cc90614f0f565b806136bd886001614d96565b036136eb576000855190506028860194506008880285015160c01c935060088202600801810392505061370d565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006137198484614dfe565b6001600160401b031690506000613731826020614d96565b6001600160401b0381111561374857613748613e3d565b6040519080825280601f01601f191660200182016040528015613772576020820181803683370190505b5090506020810160005b838110156137d8576000816001600160401b03891661379c886008614da9565b6137a7906028614d96565b6137b19190614d96565b6137bb9190614d96565b8a01518352506020918201916137d19082614d96565b905061377c565b505090815298975050505050505050565b606060006137f8600a80615020565b6138029084614dd6565b90506000613811600a80615020565b61381b9085614dea565b905060006138288361397f565b905060006138358361397f565b90505b600a815110156138695780604051602001613853919061502c565b6040516020818303038152906040529050613838565b818160405160200161387c929190615048565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b816000815181106138d4576138d46141ba565b60200101906001600160f81b031916908160001a90535060065b8015613960576f181899199a1a9b1b9c1cb0b131b232b360811b83600f166010811061391c5761391c6141ba565b1a60f81b828281518110613932576139326141ba565b60200101906001600160f81b031916908160001a90535060049290921c9161395981615084565b90506138ee565b508115612f815760405162461bcd60e51b81526004016102cc90614e55565b6060600061398c83613aa6565b60010190506000816001600160401b038111156139ab576139ab613e3d565b6040519080825280601f01601f1916602001820160405280156139d5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846139df57509392505050565b606060008212613a305760405180602001604052806000815250613a4b565b604051806040016040528060018152602001602d60f81b8152505b613a5c613a5784613b7c565b61397f565b604051602001613a6d92919061509b565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310613ae55772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310613b0f576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310613b2d57662386f26fc10000830492506010015b6305f5e1008310613b45576305f5e100830492506008015b6127108310613b5957612710830492506004015b60648310613b6b576064830492506002015b600a83106102515760010192915050565b600080821215613b8f5781600003610251565b5090565b600060208284031215613ba557600080fd5b81356001600160e01b031981168114612f8157600080fd5b60005b83811015613bd8578181015183820152602001613bc0565b50506000910152565b60008151808452613bf9816020860160208601613bbd565b601f01601f19169290920160200192915050565b602081526000612f816020830184613be1565b6001600160a01b0381168114613c3557600080fd5b50565b8035613c4381613c20565b919050565b60008083601f840112613c5a57600080fd5b5081356001600160401b03811115613c7157600080fd5b6020830191508360208260051b85010111156133f457600080fd5b60008060008060608587031215613ca257600080fd5b8435613cad81613c20565b93506020850135925060408501356001600160401b03811115613ccf57600080fd5b613cdb87828801613c48565b95989497509550505050565b60008060408385031215613cfa57600080fd5b8235613d0581613c20565b946020939093013593505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015613d6057601f19868403018952613d4e838351613be1565b98840198925090830190600101613d32565b5090979650505050505050565b608081526000613d806080830187613d13565b60ff959095166020830152506001600160a01b0392831660408201529116606090910152919050565b600080600060608486031215613dbe57600080fd5b8335613dc981613c20565b92506020840135613dd981613c20565b929592945050506040919091013590565b60008060008060808587031215613e0057600080fd5b8435613e0b81613c20565b9350602085013592506040850135613e2281613c20565b91506060850135613e3281613c20565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715613e7557613e75613e3d565b60405290565b604080519081016001600160401b0381118282101715613e7557613e75613e3d565b604051601f8201601f191681016001600160401b0381118282101715613ec557613ec5613e3d565b604052919050565b60006001600160401b03821115613ee657613ee6613e3d565b50601f01601f191660200190565b600082601f830112613f0557600080fd5b8135613f18613f1382613ecd565b613e9d565b818152846020838601011115613f2d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5f57600080fd5b8335613f6a81613c20565b92506020840135915060408401356001600160401b03811115613f8c57600080fd5b613f9886828701613ef4565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613fc857613fc8613fa2565b9052565b60098110613fc857613fc8613fa2565b60008282518085526020808601955060208260051b8401016020860160005b84811015613d6057601f19868403018952614017838351613be1565b98840198925090830190600101613ffb565b6020815261403d60208201835160ff169052565b600060208301516140516040840182613fb8565b5060408301516140646060840182613fcc565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e08501526140b9610140850183613fdc565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613d6057601f1986840301895281516040815181865261411c82870182613be1565b915050858201519150848103868601526141368183613be1565b9a86019a94505050908301906001016140f6565b602081526000612f8160208301846140d9565b6020815261416f602082018351613fcc565b60208201516040820152600060408301516080606084015261419460a0840182613be1565b90506060840151601f198483030160808501526141b18282613be1565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e198336030181126141e657600080fd5b9190910192915050565b6000808335601e1984360301811261420757600080fd5b8301803591506001600160401b0382111561422157600080fd5b6020019150368190038213156133f457600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561025157610251614236565b6000823560de198336030181126141e657600080fd5b803560078110613c4357600080fd5b803560098110613c4357600080fd5b803565ffffffffffff81168114613c4357600080fd5b60006001600160401b038211156142c8576142c8613e3d565b5060051b60200190565b600082601f8301126142e357600080fd5b813560206142f3613f13836142af565b82815260059290921b8401810191818101908684111561431257600080fd5b8286015b848110156143515780356001600160401b038111156143355760008081fd5b6143438986838b0101613ef4565b845250918301918301614316565b509695505050505050565b600060e0823603121561436e57600080fd5b614376613e53565b61437f8361427b565b815261438d6020840161428a565b602082015261439e60408401614299565b60408201526143af60608401613c38565b606082015260808301356001600160401b038111156143cd57600080fd5b6143d9368286016142d2565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e1984360301811261441357600080fd5b83016020810192503590506001600160401b0381111561443257600080fd5b8036038213156133f457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613d6057848303601f1901895261449f82886143fc565b6144aa858284614441565b9a86019a9450505090830190600101614484565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c81101561463a578a8303609f190184528135368f9003603e1901811261452157600080fd5b8e0161452d81806143fc565b87865261453d8887018284614441565b9150508782013560de1983360301811261455657600080fd5b858203898701529091019060e0614575826145708561427b565b613fb8565b61458089840161428a565b61458c8a840182613fcc565b5065ffffffffffff61459f898501614299565b16888301526060808401356145b381613c20565b8b1690830152828c013536849003601e190181126145d057600080fd5b830189810190356001600160401b038111156145eb57600080fd5b8060051b36038213156145fd57600080fd5b828e85015261460f838501828461446a565b858e0135858f015260c0958601359590940194909452505094870194935050908501906001016144fb565b505060ff8a1660608a0152965061465395505050505050565b9695505050505050565b60008235609e198336030181126141e657600080fd5b8015158114613c3557600080fd5b600060a0823603121561469357600080fd5b60405160a081016001600160401b0380821183831017156146b6576146b6613e3d565b8160405284359150808211156146cb57600080fd5b6146d736838701613ef4565b83526146e56020860161428a565b6020840152604085013560408401526060850135915061470482614673565b816060840152608085013591508082111561471e57600080fd5b5061472b36828601613ef4565b60808301525092915050565b600181811c9082168061474b57607f821691505b60208210810361476b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156113d4576000816000526020600020601f850160051c8101602086101561479a5750805b601f850160051c820191505b818110156147b9578281556001016147a6565b505050505050565b81516001600160401b038111156147da576147da613e3d565b6147ee816147e88454614737565b84614771565b602080601f831160018114614823576000841561480b5750858301515b600019600386901b1c1916600185901b1785556147b9565b600085815260208120601f198616915b8281101561485257888601518255948401946001909101908401614833565b50858210156148705787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a060608401526148b1610100840182613be1565b905060208401516148c56080850182613fcc565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526136348282613be1565b60008151808452602080850194506020840160005b838110156149315781516001600160a01b03168752958201959082019060010161490c565b509495945050505050565b6001600160a01b038616815260208082018690526080604080840182905283820186905260009260a091828601600589901b870184018a87805b8c811015614a24578a8403609f190185528235368f9003609e1901811261499b578283fd5b8e016149a781806143fc565b8a87526149b78b88018284614441565b9150506149c589830161428a565b6149d18a880182613fcc565b5087820135888701526060808301356149e981614673565b1515908701526149fb828c01836143fc565b92508682038c880152614a0f828483614441565b978a0197965050509287019250600101614976565b5050508781036060890152614a39818a6148f7565b9d9c50505050505050505050505050565b600060018201614a5c57614a5c614236565b5060010190565b60018060a01b03841681528260208201526060604082015260006141b160608301846140d9565b600082601f830112614a9b57600080fd5b8151614aa9613f1382613ecd565b818152846020838601011115614abe57600080fd5b614acf826020830160208701613bbd565b949350505050565b60006020808385031215614aea57600080fd5b82516001600160401b0380821115614b0157600080fd5b818501915085601f830112614b1557600080fd5b8151614b23613f13826142af565b81815260059190911b83018401908481019088831115614b4257600080fd5b8585015b83811015614bd557805185811115614b5e5760008081fd5b86016040818c03601f1901811315614b765760008081fd5b614b7e613e7b565b8983015188811115614b905760008081fd5b614b9e8e8c83870101614a8a565b825250908201519087821115614bb45760008081fd5b614bc28d8b84860101614a8a565b818b015285525050918601918601614b46565b5098975050505050505050565b600060ff821660ff8103614bf857614bf8614236565b60010192915050565b600060208284031215614c1357600080fd5b8151612f8181613c20565b600060208284031215614c3057600080fd5b612f818261427b565b600060208284031215614c4b57600080fd5b612f818261428a565b600060208284031215614c6657600080fd5b612f8182614299565b600060208284031215614c8157600080fd5b8135612f8181613c20565b6000808335601e19843603018112614ca357600080fd5b8301803591506001600160401b03821115614cbd57600080fd5b6020019150600581901b36038213156133f457600080fd5b602081526000614acf60208301848661446a565b602081526000612f816020830184613d13565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b8082018082111561025157610251614236565b808202811582820484141761025157610251614236565b634e487b7160e01b600052601260045260246000fd5b600082614de557614de5614dc0565b500490565b600082614df957614df9614dc0565b500690565b6001600160401b038281168282160390808211156120b5576120b5614236565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b600060208284031215614e9757600080fd5b8151612f8181614673565b6000815260008251614ebb816001850160208701613bbd565b9190910160010192915050565b6a600b5981380380925939f360a81b81528151600090614eef81600b850160208701613bbd565b91909101600b0192915050565b8181038181111561025157610251614236565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614f77578160001904821115614f5d57614f5d614236565b80851615614f6a57918102915b93841c9390800290614f41565b509250929050565b600082614f8e57506001610251565b81614f9b57506000610251565b8160018114614fb15760028114614fbb57614fd7565b6001915050610251565b60ff841115614fcc57614fcc614236565b50506001821b610251565b5060208310610133831016604e8410600b8410161715614ffa575081810a610251565b6150048383614f3c565b806000190482111561501857615018614236565b029392505050565b6000612f818383614f7f565b600360fc1b815260008251614ebb816001850160208701613bbd565b6000835161505a818460208801613bbd565b601760f91b9083019081528351615078816001840160208801613bbd565b01600101949350505050565b60008161509357615093614236565b506000190190565b600083516150ad818460208801613bbd565b8351908301906150c1818360208801613bbd565b0194935050505056fea2646970667358221220a2aac35ccf5c3889192b0443bb9ca2301efa9f7bbc22105adbf31e0b32d0d71164736f6c63430008160033",
|
|
645
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a45760003560e01c806301ffc9a7146100a957806313bfffac146100d157806316dba0f2146101105780633c303afb1461012557806354ca22371461013a5780636f8637a01461015d57806398a6e11814610170578063af544a611461019a578063b69c984d146101ad578063ba8dba48146101c0578063c2b4f411146101e0578063dc809b1a14610200575b600080fd5b6100bc6100b7366004613b93565b610220565b60405190151581526020015b60405180910390f35b6100f87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c8565b610118610257565b6040516100c89190613c0d565b610138610133366004613c8c565b61026f565b005b61014d610148366004613ce7565b61079f565b6040516100c89493929190613d6d565b61013861016b366004613c8c565b610802565b61018c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100c8565b6100bc6101a8366004613da9565b610b20565b6101386101bb366004613dea565b610b36565b6101d36101ce366004613f4a565b610d2a565b6040516100c89190614029565b6101f36101ee366004613ce7565b610e92565b6040516100c8919061414a565b61021361020e366004613f4a565b6110b2565b6040516100c8919061415d565b60006001600160e01b0319821663c2b4f41160e01b148061025157506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061026a64504d50563160d81b611288565b905090565b6102776112f3565b61028284843361131d565b806101008111156102d55760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103905760008484838181106102f4576102f46141ba565b905060200281019061030691906141d0565b61031090806141f0565b9150508015801590610323575061010081105b6103875760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b60648201526084016102cc565b506001016102d8565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103c99160ff169061424c565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f6576103f6613e3d565b60405190808252806020026020018201604052801561042957816020015b60608152602001906001900390816104145790505b50905060005b848110156104c057868682818110610449576104496141ba565b905060200281019061045b91906141d0565b61046590806141f0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104ad576104ad6141ba565b602090810291909101015260010161042f565b506104cb81846113d9565b60005b8481101561074b5760008460010160006105008585815181106104f3576104f36141ba565b6020026020010151611471565b81526020810191909152604001600020805490915061052d906301000000900465ffffffffffff166114a1565b6105db5761056c81898985818110610547576105476141ba565b905060200281019061055991906141d0565b610567906020810190614265565b6114b1565b6105c95760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b60648201526084016102cc565b805460ff191660ff8516179055610743565b6106158888848181106105f0576105f06141ba565b905060200281019061060291906141d0565b610610906020810190614265565b611657565b805460ff191660ff85161781556000888884818110610636576106366141ba565b905060200281019061064891906141d0565b610656906020810190614265565b61065f9061435c565b8051835491925090839061ff00191661010083600681111561068357610683613fa2565b021790555060208101518254839062ff00001916620100008360088111156106ad576106ad613fa2565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b031990941693909317939093171617835561072e906001840190611db6565b60a0810151600283015560c001516003909101555b6001016104ce565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516107839594939291906144be565b60405180910390a1505050506107996001600055565b50505050565b6001600160a01b0382166000908152600160209081526040808320848452909152812060609190819081906107d381612078565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61080a6112f3565b6001600160a01b03841660009081526001602052604081208161082c866122a2565b815260200190815260200160002090506000838390506001600160401b0381111561085957610859613e3d565b604051908082528060200260200182016040528015610882578160200160208202803683370190505b50905060005b83811015610ad45760006108fd8686848181106108a7576108a76141ba565b90506020028101906108b9919061465d565b6108c390806141f0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061147192505050565b90506000868684818110610913576109136141ba565b9050602002810190610925919061465d565b61092e90614681565b6001600160a01b038a1660009081526002602081815260408084208d85528252808420878552825280842060018b01909252909220908801549293509091610980908b908d908690859060ff166122b1565b868681518110610992576109926141ba565b6001600160a01b039290921660209283029190910190910152805482546201000090910460ff1690839060ff191660018360088111156109d4576109d4613fa2565b02179055506008815462010000900460ff1660088111156109f7576109f7613fa2565b03610a3457826060015115610a205760808301516002830190610a1a90826147c1565b50610a3f565b60808301516003830190610a1a90826147c1565b604083015160018301555b600287015461010090046001600160a01b031615610ac457600287015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610a91908e908e908890600401614880565b600060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050505b5050600190920191506108889050565b507f3dfcd927ac9e2552184b368328e6cca04f875ef453930277d7dfa53f40dbeac48686868685604051610b0c95949392919061493c565b60405180910390a150506107996001600055565b6000610b2d828486612e14565b50949350505050565b610b3e6112f3565b610b4984843361131d565b6001600160a01b03821615610bdd57610b698263677e713560e01b612f65565b610bdd576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b60648201526084016102cc565b6001600160a01b03811615610c7d57610bfd816358f8699f60e01b612f65565b610c7d5760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a4016102cc565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce389060800160405180910390a1506107996001600055565b610d7960408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610da785611471565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610ddf57610ddf613fa2565b90816006811115610df257610df2613fa2565b9052508054604083019062010000900460ff166008811115610e1657610e16613fa2565b90816008811115610e2957610e29613fa2565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610e7260018201612078565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610e9f836122a2565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610ece82612078565b8051909150806001600160401b03811115610eeb57610eeb613e3d565b604051908082528060200260200182016040528015610f3057816020015b6040805180820190915260608082526020820152815260200190600190039081610f095790505b5094506000805b82811015611012576000610f568583815181106104f3576104f36141ba565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610f9c91612f88565b9150915081610fad5750505061100a565b6040518060400160405280888681518110610fca57610fca6141ba565b60200260200101518152602001828152508a8681518110610fed57610fed6141ba565b6020026020010181905250848061100390614a4a565b9550505050505b600101610f37565b5080865260038401546001600160a01b0316156110a75760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f9061105f908b908b908b90600401614a63565b600060405180830381865afa15801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a49190810190614ad7565b95505b505050505092915050565b6110dc60408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b038416600090815260026020908152604080832086845290915281209061110984611471565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561113c5761113c613fa2565b600881111561114d5761114d613fa2565b81526020016001820154815260200160028201805461116b90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461119790614737565b80156111e45780601f106111b9576101008083540402835291602001916111e4565b820191906000526020600020905b8154815290600101906020018083116111c757829003601f168201915b505050505081526020016003820180546111fd90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461122990614737565b80156112765780601f1061124b57610100808354040283529160200191611276565b820191906000526020600020905b81548152906001019060200180831161125957829003601f168201915b50505050508152505090509392505050565b606060005b828160ff16602081106112a2576112a26141ba565b1a60f81b6001600160f81b031916158015906112c1575060208160ff16105b156112d857806112d081614be2565b91505061128d565b60405191506040820160405280825282602083015250919050565b60026000540361131657604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190614c01565b6001600160a01b0316146113d45760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b60448201526064016102cc565b505050565b60006113e482612078565b9050600081518451146113f957506001611461565b60005b845181101561145f5761144a83828151811061141a5761141a6141ba565b6020026020010151868381518110611434576114346141ba565b60200260200101516133fb90919063ffffffff16565b611457576001915061145f565b6001016113fc565b505b8015610799576107998385611db6565b6000816040516020016114849190613c0d565b604051602081830303815290604052805190602001209050919050565b6000811580610251575050421090565b60006114c06020830183614c1e565b60068111156114d1576114d1613fa2565b8354610100900460ff1660068111156114ec576114ec613fa2565b14158061153457506115046040830160208401614c39565b600881111561151557611515613fa2565b835462010000900460ff16600881111561153157611531613fa2565b14155b80611562575061154a6060830160408401614c54565b83546301000000900465ffffffffffff908116911614155b8061159157506115786080830160608401614c6f565b8354600160481b90046001600160a01b03908116911614155b806115a457508160a00135836002015414155b806115b757508160c00135836003015414155b806115db57506115ca6080830183614c8c565b8454600160e81b900460ff16141590505b156115e857506000610251565b6115f56080830183614c8c565b604051602001611606929190614cd5565b6040516020818303038152906040528051906020012061162884600101612078565b6040516020016116389190614ce9565b6040516020818303038152906040528051906020012014905092915050565b60006116696040830160208401614c39565b9050600061167a6020840184614c1e565b9050600082600881111561169057611690613fa2565b036116dd5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e66696775726564000060448201526064016102cc565b6116fd6116f06060850160408601614c54565b65ffffffffffff166114a1565b61177d5760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a4016102cc565b600681600681111561179157611791613fa2565b11156117d95760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b60448201526064016102cc565b60088260088111156117ed576117ed613fa2565b111561180b5760405162461bcd60e51b81526004016102cc90614cfc565b600882600881111561181f5761181f613fa2565b036118f557600081600681111561183857611838613fa2565b14806118555750600381600681111561185357611853613fa2565b145b806118715750600681600681111561186f5761186f613fa2565b145b8061188d5750600481600681111561188b5761188b613fa2565b145b6118f55760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b60648201526084016102cc565b600281600681111561190957611909613fa2565b14806119265750600581600681111561192457611924613fa2565b145b806119425750600481600681111561194057611940613fa2565b145b8061195e5750600681600681111561195c5761195c613fa2565b145b156119cb5760006119756080850160608601614c6f565b6001600160a01b0316036119c65760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b60448201526064016102cc565b611a32565b60006119dd6080850160608601614c6f565b6001600160a01b031614611a325760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b60448201526064016102cc565b6002826008811115611a4657611a46613fa2565b1480611a6357506008826008811115611a6157611a61613fa2565b145b80611a7f57506006826008811115611a7d57611a7d613fa2565b145b15611b4e57611a916080840184614c8c565b159050611ab05760405162461bcd60e51b81526004016102cc90614d2c565b60a083013515611aff5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b60448201526064016102cc565b60c0830135156113d45760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b60448201526064016102cc565b6001826008811115611b6257611b62613fa2565b03611c22576000611b766080850185614c8c565b905011611bc35760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b60448201526064016102cc565b610100611bd36080850185614c8c565b905010611ab05760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e203235350060448201526064016102cc565b6003826008811115611c3657611c36613fa2565b1480611c5357506004826008811115611c5157611c51613fa2565b145b80611c6f57506005826008811115611c6d57611c6d613fa2565b145b80611c8b57506007826008811115611c8957611c89613fa2565b145b15611d9e57611c9d6080840184614c8c565b159050611cbc5760405162461bcd60e51b81526004016102cc90614d2c565b6004826008811115611cd057611cd0613fa2565b03611d055760a083013560c0840135808212611cfe5760405162461bcd60e51b81526004016102cc90614d63565b5050505050565b60a083013560c0840135808210611d2e5760405162461bcd60e51b81526004016102cc90614d63565b6007846008811115611d4257611d42613fa2565b03611cfe576001600160401b03811115611cfe5760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d4158000060448201526064016102cc565b60405162461bcd60e51b81526004016102cc90614cfc565b80516000819003611dd357505080546001600160a01b0319169055565b6000816001600160401b03811115611ded57611ded613e3d565b604051908082528060200260200182016040528015611e16578160200160208202803683370190505b5090506000805b83811015611e885781838281518110611e3857611e386141ba565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611e6a57611e6a6141ba565b60200260200101515182611e7e9190614d96565b9150600101611e1d565b506001600160401b03811115611ede5760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b60448201526064016102cc565b600081611eec856008614da9565b611ef7906008614d96565b611f019190614d96565b90506000611f10826020614d96565b6001600160401b03811115611f2757611f27613e3d565b6040519080825280601f01601f191660200182016040528015611f51576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611faa576000868281518110611f8157611f816141ba565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611f65565b5060005b86811015612044576000888281518110611fca57611fca6141ba565b6020026020010151905060008151905060006020830190506000602083611ff19190614dd6565b90506000612000602085614dea565b905060005b82811015612023578351885260209788019790930192600101612005565b5080156120335782518752958601955b505060019093019250611fae915050565b50508181528061205381613420565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b03166120bc5760408051600080825260208201909252906120b5565b60608152602001906001900390816120a05790505b5092915050565b81546000906120d3906001600160a01b03166134c5565b602081015190915060c01c806001600160401b038111156120f6576120f6613e3d565b60405190808252806020026020018201604052801561212957816020015b60608152602001906001900390816121145790505b50925060005b8181101561229a576000808084612147856001614d96565b03612175576000865190506028870193506008850284015160c01c9250600886026008018103915050612197565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b60006121a38383614dfe565b6001600160401b0316905060006121bb826020614d96565b6001600160401b038111156121d2576121d2613e3d565b6040519080825280601f01601f1916602001820160405280156121fc576020820181803683370190505b5090506020810160005b83811015612262576000816001600160401b0388166122268c6008614da9565b612231906028614d96565b61223b9190614d96565b6122459190614d96565b8b015183525060209182019161225b9082614d96565b9050612206565b50819050828152818a888151811061227c5761227c6141ba565b6020026020010181905250505050505050808060010191505061212f565b505050919050565b6000610251620f424083614dd6565b815460009060ff83811691161461232d5760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b60648201526084016102cc565b8254612347906301000000900465ffffffffffff166114a1565b61238a5760405162461bcd60e51b81526020600482015260146024820152731413540e881c185c985b481a5cc81b1bd8dad95960621b60448201526064016102cc565b825462010000900460ff1660088111156123a6576123a6613fa2565b846020015160088111156123bc576123bc613fa2565b146124035760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b60448201526064016102cc565b60008460200151600881111561241b5761241b613fa2565b036124745760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b60648201526084016102cc565b8254600090610100900460ff168181600681111561249457612494613fa2565b14806124b1575060048160068111156124af576124af613fa2565b145b806124cd575060038160068111156124cb576124cb613fa2565b145b806124e9575060068160068111156124e7576124e7613fa2565b145b156125015760006124fb8989336134e6565b94509250505b811580156125735750600281600681111561251e5761251e613fa2565b148061253b5750600581600681111561253957612539613fa2565b145b806125575750600481600681111561255557612555613fa2565b145b806125735750600681600681111561257157612571613fa2565b145b15612592578454600160481b90046001600160a01b0316925033831491505b81158015612604575060018160068111156125af576125af613fa2565b14806125cc575060038160068111156125ca576125ca613fa2565b145b806125e8575060058160068111156125e6576125e6613fa2565b145b806126045750600681600681111561260257612602613fa2565b145b1561261c576000612616898933612e14565b94509250505b508061295f578354610100900460ff16600081600681111561264057612640613fa2565b036126895760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b60448201526064016102cc565b600181600681111561269d5761269d613fa2565b036126ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e65722061757468207265717569726564000060448201526064016102cc565b60038160068111156126fe576126fe613fa2565b0361275d5760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b60648201526084016102cc565b600281600681111561277157612771613fa2565b036127bb5760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b60448201526064016102cc565b60068160068111156127cf576127cf613fa2565b0361283a5760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b60648201526084016102cc565b600481600681111561284e5761284e613fa2565b036128a95760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b60648201526084016102cc565b60058160068111156128bd576128bd613fa2565b0361291d5760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b60648201526084016102cc565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b60448201526064016102cc565b835462010000900460ff16600881600881111561297e5761297e613fa2565b14612c1057600181600881111561299757612997613fa2565b03612a0f5784546040870151600160e81b90910460ff1611612a0a5760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b60648201526084016102cc565b612c10565b6002816008811115612a2357612a23613fa2565b03612a955760408601511580612a3d575060408601516001145b612a0a5760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b60648201526084016102cc565b6003816008811115612aa957612aa9613fa2565b1480612ac657506005816008811115612ac457612ac4613fa2565b145b15612b07578460020154866040015110158015612aeb57508460030154866040015111155b612a0a5760405162461bcd60e51b81526004016102cc90614e1e565b6004816008811115612b1b57612b1b613fa2565b03612b5b576002850154604087015112801590612aeb5750600385015460408701511315612a0a5760405162461bcd60e51b81526004016102cc90614e1e565b6007816008811115612b6f57612b6f613fa2565b03612b8f5760408601516001600160401b0310801590612aeb5750612c10565b6006816008811115612ba357612ba3613fa2565b03612bcf57604086015162ffffff1015612a0a5760405162461bcd60e51b81526004016102cc90614e55565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b60448201526064016102cc565b6008855462010000900460ff166008811115612c2e57612c2e613fa2565b03612d2357604086015115612c985760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b60648201526084016102cc565b856060015115612d1e576000612caf8989336134e6565b50905080612d1c5760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b60648201526084016102cc565b505b612e09565b60808601515115612d915760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b60648201526084016102cc565b856060015115612e095760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d7300000060648201526084016102cc565b505095945050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e829190614c01565b9050826001600160a01b0316816001600160a01b03161480612f5b5750604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5b9190614e85565b9150935093915050565b6000612f7083613582565b8015612f815750612f8183836135b5565b9392505050565b805460009060609060ff1682816008811115612fa657612fa6613fa2565b1480612fde5750845462010000900460ff166008811115612fc957612fc9613fa2565b816008811115612fdb57612fdb613fa2565b14155b15612ffc5750506040805160208101909152600080825291506133f4565b6008855462010000900460ff16600881111561301a5761301a613fa2565b0361311857600084600201805461303090614737565b905011156130d45760018460020180805461304a90614737565b80601f016020809104026020016040519081016040528092919081815260200182805461307690614737565b80156130c35780601f10613098576101008083540402835291602001916130c3565b820191906000526020600020905b8154815290600101906020018083116130a657829003601f168201915b5050505050905092509250506133f4565b60008460030180546130e590614737565b905011156130ff5760018460030180805461304a90614737565b50506040805160208101909152600080825291506133f4565b600181600881111561312c5761312c613fa2565b0361317e5784546001850154600160e81b90910460ff16116131615750506040805160208101909152600080825291506133f4565b600184810154613174908783019061363f565b92509250506133f4565b600281600881111561319257613192613fa2565b036131ec57600184810154156131c457604051806040016040528060048152602001637472756560e01b815250613174565b6040518060400160405280600581526020016466616c736560d81b81525092509250506133f4565b600381600881111561320057613200613fa2565b148061321d5750600681600881111561321b5761321b613fa2565b145b806132395750600781600881111561323757613237613fa2565b145b806132555750600581600881111561325357613253613fa2565b145b156133465760018401546000600683600881111561327557613275613fa2565b14613284576003870154613289565b62ffffff5b9050600060068460088111156132a1576132a1613fa2565b146132b05760028801546132b3565b60005b9050808310806132c257508183115b156132e65760006040518060200160405280600081525095509550505050506133f4565b60058460088111156132fa576132fa613fa2565b0361331757600161330a846137e9565b95509550505050506133f4565b600684600881111561332b5761332b613fa2565b0361333b57600161330a84613896565b600161330a8461397f565b600481600881111561335a5761335a613fa2565b036133b157600184015460028601548112806133795750600386015481135b1561339b576000604051806020016040528060008152509350935050506133f4565b60016133a682613a11565b9350935050506133f4565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b60448201526064016102cc565b9250929050565b600081518351148015612f815750508051602091820120825192909101919091201490565b600080826040516020016134349190614ea2565b60405160208183030381529060405290506000816040516020016134589190614ec8565b60405160208183030381529060405290508051602082016000f092506001600160a01b0383166134be5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b60448201526064016102cc565b5050919050565b60606102518260016134e1816001600160a01b0384163b614efc565b613a83565b60008060006134f4866122a2565b60405163a47d29cb60e01b8152600481018290529091506001600160a01b0386169063a47d29cb90602401602060405180830381865afa15801561353c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135609190614c01565b9150836001600160a01b0316826001600160a01b031614925050935093915050565b6000613595826301ffc9a760e01b6135b5565b801561025157506135ae826001600160e01b03196135b5565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d91506000519050828015613628575060208210155b80156136345750600081115b979650505050505050565b81546060906001600160a01b03166136695760405162461bcd60e51b81526004016102cc90614f0f565b8254600090613680906001600160a01b03166134c5565b9050600080600080602085015160c01c90508087106136b15760405162461bcd60e51b81526004016102cc90614f0f565b806136bd886001614d96565b036136eb576000855190506028860194506008880285015160c01c935060088202600801810392505061370d565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006137198484614dfe565b6001600160401b031690506000613731826020614d96565b6001600160401b0381111561374857613748613e3d565b6040519080825280601f01601f191660200182016040528015613772576020820181803683370190505b5090506020810160005b838110156137d8576000816001600160401b03891661379c886008614da9565b6137a7906028614d96565b6137b19190614d96565b6137bb9190614d96565b8a01518352506020918201916137d19082614d96565b905061377c565b505090815298975050505050505050565b606060006137f8600a80615020565b6138029084614dd6565b90506000613811600a80615020565b61381b9085614dea565b905060006138288361397f565b905060006138358361397f565b90505b600a815110156138695780604051602001613853919061502c565b6040516020818303038152906040529050613838565b818160405160200161387c929190615048565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b816000815181106138d4576138d46141ba565b60200101906001600160f81b031916908160001a90535060065b8015613960576f181899199a1a9b1b9c1cb0b131b232b360811b83600f166010811061391c5761391c6141ba565b1a60f81b828281518110613932576139326141ba565b60200101906001600160f81b031916908160001a90535060049290921c9161395981615084565b90506138ee565b508115612f815760405162461bcd60e51b81526004016102cc90614e55565b6060600061398c83613aa6565b60010190506000816001600160401b038111156139ab576139ab613e3d565b6040519080825280601f01601f1916602001820160405280156139d5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846139df57509392505050565b606060008212613a305760405180602001604052806000815250613a4b565b604051806040016040528060018152602001602d60f81b8152505b613a5c613a5784613b7c565b61397f565b604051602001613a6d92919061509b565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310613ae55772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310613b0f576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310613b2d57662386f26fc10000830492506010015b6305f5e1008310613b45576305f5e100830492506008015b6127108310613b5957612710830492506004015b60648310613b6b576064830492506002015b600a83106102515760010192915050565b600080821215613b8f5781600003610251565b5090565b600060208284031215613ba557600080fd5b81356001600160e01b031981168114612f8157600080fd5b60005b83811015613bd8578181015183820152602001613bc0565b50506000910152565b60008151808452613bf9816020860160208601613bbd565b601f01601f19169290920160200192915050565b602081526000612f816020830184613be1565b6001600160a01b0381168114613c3557600080fd5b50565b8035613c4381613c20565b919050565b60008083601f840112613c5a57600080fd5b5081356001600160401b03811115613c7157600080fd5b6020830191508360208260051b85010111156133f457600080fd5b60008060008060608587031215613ca257600080fd5b8435613cad81613c20565b93506020850135925060408501356001600160401b03811115613ccf57600080fd5b613cdb87828801613c48565b95989497509550505050565b60008060408385031215613cfa57600080fd5b8235613d0581613c20565b946020939093013593505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015613d6057601f19868403018952613d4e838351613be1565b98840198925090830190600101613d32565b5090979650505050505050565b608081526000613d806080830187613d13565b60ff959095166020830152506001600160a01b0392831660408201529116606090910152919050565b600080600060608486031215613dbe57600080fd5b8335613dc981613c20565b92506020840135613dd981613c20565b929592945050506040919091013590565b60008060008060808587031215613e0057600080fd5b8435613e0b81613c20565b9350602085013592506040850135613e2281613c20565b91506060850135613e3281613c20565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715613e7557613e75613e3d565b60405290565b604080519081016001600160401b0381118282101715613e7557613e75613e3d565b604051601f8201601f191681016001600160401b0381118282101715613ec557613ec5613e3d565b604052919050565b60006001600160401b03821115613ee657613ee6613e3d565b50601f01601f191660200190565b600082601f830112613f0557600080fd5b8135613f18613f1382613ecd565b613e9d565b818152846020838601011115613f2d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5f57600080fd5b8335613f6a81613c20565b92506020840135915060408401356001600160401b03811115613f8c57600080fd5b613f9886828701613ef4565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613fc857613fc8613fa2565b9052565b60098110613fc857613fc8613fa2565b60008282518085526020808601955060208260051b8401016020860160005b84811015613d6057601f19868403018952614017838351613be1565b98840198925090830190600101613ffb565b6020815261403d60208201835160ff169052565b600060208301516140516040840182613fb8565b5060408301516140646060840182613fcc565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e08501526140b9610140850183613fdc565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613d6057601f1986840301895281516040815181865261411c82870182613be1565b915050858201519150848103868601526141368183613be1565b9a86019a94505050908301906001016140f6565b602081526000612f8160208301846140d9565b6020815261416f602082018351613fcc565b60208201516040820152600060408301516080606084015261419460a0840182613be1565b90506060840151601f198483030160808501526141b18282613be1565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e198336030181126141e657600080fd5b9190910192915050565b6000808335601e1984360301811261420757600080fd5b8301803591506001600160401b0382111561422157600080fd5b6020019150368190038213156133f457600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561025157610251614236565b6000823560de198336030181126141e657600080fd5b803560078110613c4357600080fd5b803560098110613c4357600080fd5b803565ffffffffffff81168114613c4357600080fd5b60006001600160401b038211156142c8576142c8613e3d565b5060051b60200190565b600082601f8301126142e357600080fd5b813560206142f3613f13836142af565b82815260059290921b8401810191818101908684111561431257600080fd5b8286015b848110156143515780356001600160401b038111156143355760008081fd5b6143438986838b0101613ef4565b845250918301918301614316565b509695505050505050565b600060e0823603121561436e57600080fd5b614376613e53565b61437f8361427b565b815261438d6020840161428a565b602082015261439e60408401614299565b60408201526143af60608401613c38565b606082015260808301356001600160401b038111156143cd57600080fd5b6143d9368286016142d2565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e1984360301811261441357600080fd5b83016020810192503590506001600160401b0381111561443257600080fd5b8036038213156133f457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613d6057848303601f1901895261449f82886143fc565b6144aa858284614441565b9a86019a9450505090830190600101614484565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c81101561463a578a8303609f190184528135368f9003603e1901811261452157600080fd5b8e0161452d81806143fc565b87865261453d8887018284614441565b9150508782013560de1983360301811261455657600080fd5b858203898701529091019060e0614575826145708561427b565b613fb8565b61458089840161428a565b61458c8a840182613fcc565b5065ffffffffffff61459f898501614299565b16888301526060808401356145b381613c20565b8b1690830152828c013536849003601e190181126145d057600080fd5b830189810190356001600160401b038111156145eb57600080fd5b8060051b36038213156145fd57600080fd5b828e85015261460f838501828461446a565b858e0135858f015260c0958601359590940194909452505094870194935050908501906001016144fb565b505060ff8a1660608a0152965061465395505050505050565b9695505050505050565b60008235609e198336030181126141e657600080fd5b8015158114613c3557600080fd5b600060a0823603121561469357600080fd5b60405160a081016001600160401b0380821183831017156146b6576146b6613e3d565b8160405284359150808211156146cb57600080fd5b6146d736838701613ef4565b83526146e56020860161428a565b6020840152604085013560408401526060850135915061470482614673565b816060840152608085013591508082111561471e57600080fd5b5061472b36828601613ef4565b60808301525092915050565b600181811c9082168061474b57607f821691505b60208210810361476b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156113d4576000816000526020600020601f850160051c8101602086101561479a5750805b601f850160051c820191505b818110156147b9578281556001016147a6565b505050505050565b81516001600160401b038111156147da576147da613e3d565b6147ee816147e88454614737565b84614771565b602080601f831160018114614823576000841561480b5750858301515b600019600386901b1c1916600185901b1785556147b9565b600085815260208120601f198616915b8281101561485257888601518255948401946001909101908401614833565b50858210156148705787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a060608401526148b1610100840182613be1565b905060208401516148c56080850182613fcc565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526136348282613be1565b60008151808452602080850194506020840160005b838110156149315781516001600160a01b03168752958201959082019060010161490c565b509495945050505050565b6001600160a01b038616815260208082018690526080604080840182905283820186905260009260a091828601600589901b870184018a87805b8c811015614a24578a8403609f190185528235368f9003609e1901811261499b578283fd5b8e016149a781806143fc565b8a87526149b78b88018284614441565b9150506149c589830161428a565b6149d18a880182613fcc565b5087820135888701526060808301356149e981614673565b1515908701526149fb828c01836143fc565b92508682038c880152614a0f828483614441565b978a0197965050509287019250600101614976565b5050508781036060890152614a39818a6148f7565b9d9c50505050505050505050505050565b600060018201614a5c57614a5c614236565b5060010190565b60018060a01b03841681528260208201526060604082015260006141b160608301846140d9565b600082601f830112614a9b57600080fd5b8151614aa9613f1382613ecd565b818152846020838601011115614abe57600080fd5b614acf826020830160208701613bbd565b949350505050565b60006020808385031215614aea57600080fd5b82516001600160401b0380821115614b0157600080fd5b818501915085601f830112614b1557600080fd5b8151614b23613f13826142af565b81815260059190911b83018401908481019088831115614b4257600080fd5b8585015b83811015614bd557805185811115614b5e5760008081fd5b86016040818c03601f1901811315614b765760008081fd5b614b7e613e7b565b8983015188811115614b905760008081fd5b614b9e8e8c83870101614a8a565b825250908201519087821115614bb45760008081fd5b614bc28d8b84860101614a8a565b818b015285525050918601918601614b46565b5098975050505050505050565b600060ff821660ff8103614bf857614bf8614236565b60010192915050565b600060208284031215614c1357600080fd5b8151612f8181613c20565b600060208284031215614c3057600080fd5b612f818261427b565b600060208284031215614c4b57600080fd5b612f818261428a565b600060208284031215614c6657600080fd5b612f8182614299565b600060208284031215614c8157600080fd5b8135612f8181613c20565b6000808335601e19843603018112614ca357600080fd5b8301803591506001600160401b03821115614cbd57600080fd5b6020019150600581901b36038213156133f457600080fd5b602081526000614acf60208301848661446a565b602081526000612f816020830184613d13565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b8082018082111561025157610251614236565b808202811582820484141761025157610251614236565b634e487b7160e01b600052601260045260246000fd5b600082614de557614de5614dc0565b500490565b600082614df957614df9614dc0565b500690565b6001600160401b038281168282160390808211156120b5576120b5614236565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b600060208284031215614e9757600080fd5b8151612f8181614673565b6000815260008251614ebb816001850160208701613bbd565b9190910160010192915050565b6a600b5981380380925939f360a81b81528151600090614eef81600b850160208701613bbd565b91909101600b0192915050565b8181038181111561025157610251614236565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614f77578160001904821115614f5d57614f5d614236565b80851615614f6a57918102915b93841c9390800290614f41565b509250929050565b600082614f8e57506001610251565b81614f9b57506000610251565b8160018114614fb15760028114614fbb57614fd7565b6001915050610251565b60ff841115614fcc57614fcc614236565b50506001821b610251565b5060208310610133831016604e8410600b8410161715614ffa575081810a610251565b6150048383614f3c565b806000190482111561501857615018614236565b029392505050565b6000612f818383614f7f565b600360fc1b815260008251614ebb816001850160208701613bbd565b6000835161505a818460208801613bbd565b601760f91b9083019081528351615078816001840160208801613bbd565b01600101949350505050565b60008161509357615093614236565b506000190190565b600083516150ad818460208801613bbd565b8351908301906150c1818360208801613bbd565b0194935050505056fea2646970667358221220a2aac35ccf5c3889192b0443bb9ca2301efa9f7bbc22105adbf31e0b32d0d71164736f6c63430008160033",
|
|
646
|
+
"linkReferences": {},
|
|
647
|
+
"deployedLinkReferences": {}
|
|
648
|
+
}
|