@artblocks/contracts 1.0.3 → 1.1.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.
Files changed (383) hide show
  1. package/README.md +32 -25
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +212 -17
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +6 -6
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  33. package/artifacts/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +2 -2
  34. package/artifacts/contracts/engine/V2/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +2 -2
  35. package/artifacts/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +2 -2
  36. package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +2 -2
  37. package/artifacts/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +2 -2
  38. package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +2 -2
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +6 -11
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +6 -11
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +6 -11
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +6 -11
  44. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  45. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  46. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +6 -6
  47. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
  48. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  49. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  50. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
  51. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
  52. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
  53. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
  54. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +1 -1
  55. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol/ICoreRegistryV1.json +7 -7
  56. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
  57. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
  58. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +22 -3
  59. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
  60. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
  61. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
  62. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
  63. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
  64. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
  65. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
  66. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
  67. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
  68. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
  69. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
  70. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
  71. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
  72. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
  73. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1 -1
  74. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
  75. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
  76. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
  77. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +1 -1
  78. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  79. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +1 -1
  80. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
  81. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +1 -1
  82. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +1 -1
  83. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1 -1
  84. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  85. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
  86. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
  87. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
  88. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol/IMinterFilterV1.json +104 -19
  89. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
  90. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
  91. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  92. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
  93. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
  94. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  95. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +1 -1
  96. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +114 -0
  97. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +37 -0
  98. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +37 -0
  99. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +50 -0
  100. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  101. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +128 -0
  102. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +97 -0
  103. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +29 -0
  104. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
  105. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +117 -0
  106. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +52 -36
  107. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
  108. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
  109. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
  110. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
  111. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
  112. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
  113. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
  114. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
  115. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
  116. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
  117. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  118. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
  119. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
  120. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
  121. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
  122. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
  123. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
  124. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol/BytecodeStorage.json +3 -3
  125. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageReader.json +3 -3
  126. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageWriter.json +3 -3
  127. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
  128. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
  129. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol/SSTORE2.json +3 -3
  130. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +67 -0
  131. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  132. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +67 -0
  133. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  134. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +36 -0
  135. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +37 -0
  136. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
  137. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +261 -0
  138. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +55 -0
  139. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +48 -0
  140. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +42 -0
  141. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +86 -0
  142. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
  143. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  144. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +96 -40
  145. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +662 -0
  146. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
  147. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +619 -0
  148. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  149. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +418 -0
  150. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +662 -0
  151. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  152. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +418 -0
  153. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  154. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  155. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  156. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  157. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +659 -0
  158. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  159. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +452 -0
  160. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +600 -0
  161. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +633 -0
  162. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +782 -0
  163. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +676 -0
  164. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  165. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +356 -0
  166. package/artifacts/contracts/mock/BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json +2 -2
  167. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
  168. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +4 -4
  169. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
  170. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  171. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
  172. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +6 -11
  173. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  174. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  175. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  176. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  177. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  178. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  179. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  180. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  181. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  182. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  183. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  184. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  185. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +2 -2
  186. package/artifacts/contracts/randomizer/deprecated/BasicRandomizer.sol/BasicRandomizer.json +2 -2
  187. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  188. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  189. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  190. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +58 -42
  191. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  192. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
  193. package/contracts/AdminACLV0.sol +1 -1
  194. package/contracts/AdminACLV1.sol +1 -1
  195. package/contracts/DependencyRegistryV0.sol +300 -123
  196. package/contracts/GenArt721CoreV3.sol +27 -12
  197. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
  198. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
  199. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  200. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  201. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  202. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +3 -3
  203. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
  204. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
  205. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  206. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  207. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
  208. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +3 -3
  209. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +4 -4
  210. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  211. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
  212. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +3 -3
  213. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +4 -4
  214. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  215. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  216. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
  217. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
  218. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  219. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  220. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
  221. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
  222. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  223. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  224. package/contracts/archive/readme.md +16 -0
  225. package/contracts/engine/README.md +21 -0
  226. package/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol +2 -2
  227. package/contracts/engine/V2/GenArt721CoreV2_PBAB.sol +2 -2
  228. package/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol +3 -3
  229. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +2 -2
  230. package/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol +1 -1
  231. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +2 -2
  232. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +31 -22
  233. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +31 -22
  234. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +12 -18
  235. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +1 -1
  236. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +23 -24
  237. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +1 -1
  238. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +1 -1
  239. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  240. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  241. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +27 -12
  242. package/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol +6 -8
  243. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +5 -2
  244. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
  245. package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol +45 -19
  246. package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
  247. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +28 -0
  248. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +12 -0
  249. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +12 -0
  250. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +13 -0
  251. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  252. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +41 -0
  253. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +34 -0
  254. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +15 -0
  255. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
  256. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +43 -0
  257. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
  258. package/contracts/legacy/GenArt721CoreV1.sol +2 -2
  259. package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
  260. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  261. package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
  262. package/contracts/libs/v0.8.x/AuthLib.sol +196 -0
  263. package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +5 -5
  264. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +250 -0
  265. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  266. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +216 -0
  267. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  268. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +488 -0
  269. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +384 -0
  270. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +240 -0
  271. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +995 -0
  272. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +166 -0
  273. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +770 -0
  274. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +741 -0
  275. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +291 -0
  276. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
  277. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +5 -5
  278. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +414 -297
  279. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
  280. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +866 -0
  281. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -57
  282. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +886 -0
  283. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +3 -3
  284. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +545 -0
  285. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +857 -0
  286. package/contracts/minter-suite/Minters/MinterDALinV4.sol +3 -3
  287. package/contracts/minter-suite/Minters/MinterDALinV5.sol +534 -0
  288. package/contracts/minter-suite/Minters/MinterHolderV4.sol +4 -4
  289. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +4 -4
  290. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +6 -6
  291. package/contracts/minter-suite/Minters/MinterSEAV0.sol +3 -3
  292. package/contracts/minter-suite/Minters/MinterSEAV1.sol +853 -0
  293. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +5 -5
  294. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +545 -0
  295. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +730 -0
  296. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +714 -0
  297. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1012 -0
  298. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +868 -0
  299. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +3 -3
  300. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +414 -0
  301. package/contracts/mock/BytecodeV0TextCR_DMock.sol +1 -1
  302. package/contracts/mock/BytecodeV1LibCallsMock.sol +1 -1
  303. package/contracts/mock/BytecodeV1TextCR_DMock.sol +1 -1
  304. package/contracts/mock/DeadReceiverBidderMock.sol +15 -0
  305. package/contracts/mock/DummySharedMinter.sol +2 -2
  306. package/contracts/mock/ERC20Mock.sol +16 -0
  307. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +11 -18
  308. package/contracts/mock/MockAdminACLV0.sol +1 -1
  309. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +1 -1
  310. package/contracts/mock/OriginRegisterMock.sol +1 -1
  311. package/contracts/mock/ReentrancyHolderMock.sol +1 -1
  312. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  313. package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
  314. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  315. package/contracts/mock/ReentrancyMock.sol +1 -1
  316. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  317. package/contracts/mock/ReentrancySEAMock.sol +1 -1
  318. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  319. package/contracts/mock/SSTORE2Mock.sol +1 -1
  320. package/contracts/randomizer/deprecated/BasicRandomizer.sol +1 -1
  321. package/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol +2 -2
  322. package/contracts/randomizer/deprecated/RandomizerV2.sol +2 -2
  323. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  324. package/contracts/randomizer/shared/SharedRandomizerV0.sol +134 -111
  325. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
  326. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
  327. package/package.json +57 -36
  328. package/LICENSE +0 -165
  329. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +0 -10
  330. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +0 -105
  331. /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
  332. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
  333. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  334. /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
  335. /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
  336. /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
  337. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
  338. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol +0 -0
  339. /package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +0 -0
  340. /package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +0 -0
  341. /package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +0 -0
  342. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
  343. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
  344. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
  345. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
  346. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
  347. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
  348. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
  349. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
  350. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
  351. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
  352. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
  353. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
  354. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
  355. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +0 -0
  356. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
  357. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
  358. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
  359. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol +0 -0
  360. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
  361. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
  362. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +0 -0
  363. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -0
  364. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
  365. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  366. /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
  367. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
  368. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
  369. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
  370. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
  371. /package/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol +0 -0
  372. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
  373. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +0 -0
  374. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +0 -0
  375. /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
  376. /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
  377. /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
  378. /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
  379. /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
  380. /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol +0 -0
  381. /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol +0 -0
  382. /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
  383. /package/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol +0 -0
@@ -875,8 +875,8 @@
875
875
  "type": "function"
876
876
  }
877
877
  ],
878
- "bytecode": "0x61012060405261012c600255610e106003553480156200001e57600080fd5b5060405162001f6938038062001f698339810160408190526200004191620002e1565b600160005581620000528162000143565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000319565b6001600160a01b0316146200013b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b50506200036f565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001a79085906200033e565b6000604051808303816000865af19150503d8060008114620001e6576040519150601f19603f3d011682016040523d82523d6000602084013e620001eb565b606091505b5091509150816200024d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000132565b805160c0819003620002655750600095945050505050565b80610100036200027b5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000132565b80516001600160a01b0381168114620002dc57600080fd5b919050565b60008060408385031215620002f557600080fd5b6200030083620002c4565b91506200031060208401620002c4565b90509250929050565b6000602082840312156200032c57600080fd5b6200033782620002c4565b9392505050565b6000825160005b8181101562000361576020818601810151858301520162000345565b506000920191825250919050565b60805160a05160c05160e05161010051611b92620003d76000396000610675015260006104a50152600081816107d401528181610f1a0152818161120001526112ef0152600081816102e9015261076501526000818161047101526114330152611b926000f3fe6080604052600436106101015760003560e01c8061998714610106578061b4601461012c5780631607c9951461013f5780632aedc28e146101615780632f077ee61461018157806340d1397e146101e7578063462add461461020757806356690aaf146102475780635bc1470f1461027e578063774159c614610294578063891407c0146102c457806392a10f83146102d7578063c0ad212e14610323578063c71b1b7114610343578063cd379f6e146103ea578063cf6681ea1461040a578063d3ddabe614610420578063db6921b21461045f578063dd85582f14610493578063e9d1e8ac146104c7578063efef39a11461012c578063f7bd4b8814610500575b600080fd5b61011961011436600461181f565b610520565b6040519081526020015b60405180910390f35b61011961013a36600461184b565b610796565b34801561014b57600080fd5b5061015f61015a366004611864565b6107a8565b005b34801561016d57600080fd5b5061015f61017c36600461184b565b6109d1565b34801561018d57600080fd5b506101d761019c36600461184b565b60009081526001602081905260409091208054918101546002909101546001600160401b03600160201b8404811694600160601b9094041692565b6040516101239493929190611886565b3480156101f357600080fd5b5061015f61020236600461184b565b610a3d565b34801561021357600080fd5b5061023761022236600461184b565b60009081526001602052604090205460ff1690565b6040519015158152602001610123565b34801561025357600080fd5b5061011961026236600461184b565b600090815260016020526040902054610100900462ffffff1690565b34801561028a57600080fd5b5061011960035481565b3480156102a057600080fd5b506102b46102af36600461184b565b610a85565b60405161012394939291906118e7565b6101196102d236600461181f565b610b13565b3480156102e357600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b34801561032f57600080fd5b5061015f61033e366004611864565b610b26565b34801561034f57600080fd5b506103aa61035e36600461184b565b600160208190526000918252604090912080549181015460029091015460ff83169262ffffff610100820416926001600160401b03600160201b8304811693600160601b909304169186565b60408051961515875262ffffff90951660208701526001600160401b039384169486019490945291166060840152608083015260a082015260c001610123565b3480156103f657600080fd5b5061015f610405366004611921565b610c33565b34801561041657600080fd5b5061011960025481565b34801561042c57600080fd5b5061045260405180604001604052806006815260200165076342e312e360d41b81525081565b604051610123919061195c565b34801561046b57600080fd5b506102377f000000000000000000000000000000000000000000000000000000000000000081565b34801561049f57600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506104526040518060400160405280600d81526020016c135a5b9d195c9110515e1c158d609a1b81525081565b34801561050c57600080fd5b5061015f61051b36600461184b565b610eee565b60006002600054036105795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156105ec5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610570565b60006105f784610ffe565b9050803410156106495760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610570565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e2919061196f565b8254909350620f4240840660010190610100900462ffffff16808211156107495760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610570565b80820361075c57835460ff191660011784555b505061078984827f0000000000000000000000000000000000000000000000000000000000000000611134565b5050600160005592915050565b60006107a23383610520565b92915050565b6107b1826111ea565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119b3565b50929550929350505050818311156108df5760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610570565b808310156109615760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610570565b60008481526001602052604090819020805460ff1962ffffff8716610100021663ffffffff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c39086815260200190565b60405180910390a250505050565b6109e1631576e14760e11b6112c4565b60008181526001602081905260408083208054600160201b600160a01b03191681559182018390556002820183905551909183917f2de6b284414d2e6b72bcc8d8d4de934e3f6410660a8f677c5c978f17f9cc2a929190a25050565b610a46816111ea565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610570565b600081815260016020819052604082209081015481549015159291606091839190600160201b90046001600160401b03164211610ac85780600101549350610ae9565b8060010154600003610add5760009350610ae9565b610ae686610ffe565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b6000610b1f8383610520565b9392505050565b610b36636056909760e11b6112c4565b818111610b9c5760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610570565b60008211610bec5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610570565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b610c3c856111ea565b60008581526001602052604090208054600160201b90046001600160401b03161580610c7857508054600160201b90046001600160401b031642105b610cc35760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610570565b844210610d095760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610570565b818311610d7b5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610570565b6002548410158015610d8f57506003548411155b610e0f5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610570565b610e18856113ad565b81546001600160401b0391909116600160201b0267ffffffffffffffff60201b19909116178155610e48846113ad565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155600181018390556002810182905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490610eb5908890889088908890611886565b60405180910390a28054610100900462ffffff16158015610ed85750805460ff16155b15610ee657610ee686610eee565b505050505050565b610ef7816111ea565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8591906119b3565b50505060008681526001602052604090819020805460ff1962ffffff8616610100021663ffffffff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610ff19085815260200190565b60405180910390a2505050565b6000818152600160205260408120805460028201546001600160401b03600160201b8304811692600160601b900416904283106110775760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610570565b600082116110c25760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610570565b6001840154428490038381816110da576110da611988565b0482901c91506002848583816110f2576110f2611988565b0684028161110257611102611988565b048161111057611110611988565b0482039150828210156111295750909695505050505050565b509695505050505050565b34156111e5576000806111478434611a12565b905080156111d75760405133908290600081818185875af1925050503d806000811461118f576040519150601f19603f3d011682016040523d82523d6000602084013e611194565b606091505b505080925050816111d75760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610570565b6111e2858585611419565b50505b505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611a33565b6001600160a01b0316336001600160a01b0316146112c15760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610570565b50565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611a50565b6112c15760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610570565b60006001600160401b038211156114155760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610570565b5090565b6000821161142657505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561159157604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd9190611a6b565b969e50949c50909a5098509196509194509092509050811561158a576040516001600160a01b038216908390600081818185875af1925050503d8060008114611532576040519150601f19603f3d011682016040523d82523d6000602084013e611537565b606091505b5050809950508861158a5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610570565b5050611611565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116019190611af3565b949a509298509096509450925090505b85156116b8576040516001600160a01b038616908790600081818185875af1925050503d8060008114611660576040519150601f19603f3d011682016040523d82523d6000602084013e611665565b606091505b505080975050866116b85760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610570565b8315611757576040516001600160a01b038416908590600081818185875af1925050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b505080975050866117575760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610570565b81156117fe576040516001600160a01b038216908390600081818185875af1925050503d80600081146117a6576040519150601f19603f3d011682016040523d82523d6000602084013e6117ab565b606091505b505080975050866117fe5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610570565b50505050505050505050565b6001600160a01b03811681146112c157600080fd5b6000806040838503121561183257600080fd5b823561183d8161180a565b946020939093013593505050565b60006020828403121561185d57600080fd5b5035919050565b6000806040838503121561187757600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000815180845260005b818110156118c7576020818501810151868301820152016118ab565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061190860808301856118a1565b905060018060a01b038316606083015295945050505050565b600080600080600060a0868803121561193957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b602081526000610b1f60208301846118a1565b60006020828403121561198157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b805180151581146119ae57600080fd5b919050565b60008060008060008060c087890312156119cc57600080fd5b86519550602087015194506119e36040880161199e565b93506119f16060880161199e565b925060808701519150611a0660a0880161199e565b90509295509295509295565b818103818111156107a257634e487b7160e01b600052601160045260246000fd5b600060208284031215611a4557600080fd5b8151610b1f8161180a565b600060208284031215611a6257600080fd5b610b1f8261199e565b600080600080600080600080610100898b031215611a8857600080fd5b885197506020890151611a9a8161180a565b60408a015160608b01519198509650611ab28161180a565b60808a015160a08b01519196509450611aca8161180a565b60c08a015160e08b01519194509250611ae28161180a565b809150509295985092959890939650565b60008060008060008060c08789031215611b0c57600080fd5b865195506020870151611b1e8161180a565b604088015160608901519196509450611b368161180a565b608088015160a08901519194509250611b4e8161180a565b80915050929550929550929556fea26469706673582212203ea56457ae17c3bbc45d8b21bcb3175245a3b17225aabe720dac66e3a0f855f764736f6c63430008130033",
879
- "deployedBytecode": "0x6080604052600436106101015760003560e01c8061998714610106578061b4601461012c5780631607c9951461013f5780632aedc28e146101615780632f077ee61461018157806340d1397e146101e7578063462add461461020757806356690aaf146102475780635bc1470f1461027e578063774159c614610294578063891407c0146102c457806392a10f83146102d7578063c0ad212e14610323578063c71b1b7114610343578063cd379f6e146103ea578063cf6681ea1461040a578063d3ddabe614610420578063db6921b21461045f578063dd85582f14610493578063e9d1e8ac146104c7578063efef39a11461012c578063f7bd4b8814610500575b600080fd5b61011961011436600461181f565b610520565b6040519081526020015b60405180910390f35b61011961013a36600461184b565b610796565b34801561014b57600080fd5b5061015f61015a366004611864565b6107a8565b005b34801561016d57600080fd5b5061015f61017c36600461184b565b6109d1565b34801561018d57600080fd5b506101d761019c36600461184b565b60009081526001602081905260409091208054918101546002909101546001600160401b03600160201b8404811694600160601b9094041692565b6040516101239493929190611886565b3480156101f357600080fd5b5061015f61020236600461184b565b610a3d565b34801561021357600080fd5b5061023761022236600461184b565b60009081526001602052604090205460ff1690565b6040519015158152602001610123565b34801561025357600080fd5b5061011961026236600461184b565b600090815260016020526040902054610100900462ffffff1690565b34801561028a57600080fd5b5061011960035481565b3480156102a057600080fd5b506102b46102af36600461184b565b610a85565b60405161012394939291906118e7565b6101196102d236600461181f565b610b13565b3480156102e357600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b34801561032f57600080fd5b5061015f61033e366004611864565b610b26565b34801561034f57600080fd5b506103aa61035e36600461184b565b600160208190526000918252604090912080549181015460029091015460ff83169262ffffff610100820416926001600160401b03600160201b8304811693600160601b909304169186565b60408051961515875262ffffff90951660208701526001600160401b039384169486019490945291166060840152608083015260a082015260c001610123565b3480156103f657600080fd5b5061015f610405366004611921565b610c33565b34801561041657600080fd5b5061011960025481565b34801561042c57600080fd5b5061045260405180604001604052806006815260200165076342e312e360d41b81525081565b604051610123919061195c565b34801561046b57600080fd5b506102377f000000000000000000000000000000000000000000000000000000000000000081565b34801561049f57600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506104526040518060400160405280600d81526020016c135a5b9d195c9110515e1c158d609a1b81525081565b34801561050c57600080fd5b5061015f61051b36600461184b565b610eee565b60006002600054036105795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156105ec5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610570565b60006105f784610ffe565b9050803410156106495760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610570565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e2919061196f565b8254909350620f4240840660010190610100900462ffffff16808211156107495760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610570565b80820361075c57835460ff191660011784555b505061078984827f0000000000000000000000000000000000000000000000000000000000000000611134565b5050600160005592915050565b60006107a23383610520565b92915050565b6107b1826111ea565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119b3565b50929550929350505050818311156108df5760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610570565b808310156109615760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610570565b60008481526001602052604090819020805460ff1962ffffff8716610100021663ffffffff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c39086815260200190565b60405180910390a250505050565b6109e1631576e14760e11b6112c4565b60008181526001602081905260408083208054600160201b600160a01b03191681559182018390556002820183905551909183917f2de6b284414d2e6b72bcc8d8d4de934e3f6410660a8f677c5c978f17f9cc2a929190a25050565b610a46816111ea565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610570565b600081815260016020819052604082209081015481549015159291606091839190600160201b90046001600160401b03164211610ac85780600101549350610ae9565b8060010154600003610add5760009350610ae9565b610ae686610ffe565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b6000610b1f8383610520565b9392505050565b610b36636056909760e11b6112c4565b818111610b9c5760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610570565b60008211610bec5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610570565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b610c3c856111ea565b60008581526001602052604090208054600160201b90046001600160401b03161580610c7857508054600160201b90046001600160401b031642105b610cc35760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610570565b844210610d095760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610570565b818311610d7b5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610570565b6002548410158015610d8f57506003548411155b610e0f5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610570565b610e18856113ad565b81546001600160401b0391909116600160201b0267ffffffffffffffff60201b19909116178155610e48846113ad565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155600181018390556002810182905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490610eb5908890889088908890611886565b60405180910390a28054610100900462ffffff16158015610ed85750805460ff16155b15610ee657610ee686610eee565b505050505050565b610ef7816111ea565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8591906119b3565b50505060008681526001602052604090819020805460ff1962ffffff8616610100021663ffffffff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610ff19085815260200190565b60405180910390a2505050565b6000818152600160205260408120805460028201546001600160401b03600160201b8304811692600160601b900416904283106110775760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610570565b600082116110c25760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610570565b6001840154428490038381816110da576110da611988565b0482901c91506002848583816110f2576110f2611988565b0684028161110257611102611988565b048161111057611110611988565b0482039150828210156111295750909695505050505050565b509695505050505050565b34156111e5576000806111478434611a12565b905080156111d75760405133908290600081818185875af1925050503d806000811461118f576040519150601f19603f3d011682016040523d82523d6000602084013e611194565b606091505b505080925050816111d75760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610570565b6111e2858585611419565b50505b505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611a33565b6001600160a01b0316336001600160a01b0316146112c15760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610570565b50565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611a50565b6112c15760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610570565b60006001600160401b038211156114155760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610570565b5090565b6000821161142657505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561159157604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd9190611a6b565b969e50949c50909a5098509196509194509092509050811561158a576040516001600160a01b038216908390600081818185875af1925050503d8060008114611532576040519150601f19603f3d011682016040523d82523d6000602084013e611537565b606091505b5050809950508861158a5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610570565b5050611611565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116019190611af3565b949a509298509096509450925090505b85156116b8576040516001600160a01b038616908790600081818185875af1925050503d8060008114611660576040519150601f19603f3d011682016040523d82523d6000602084013e611665565b606091505b505080975050866116b85760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610570565b8315611757576040516001600160a01b038416908590600081818185875af1925050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b505080975050866117575760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610570565b81156117fe576040516001600160a01b038216908390600081818185875af1925050503d80600081146117a6576040519150601f19603f3d011682016040523d82523d6000602084013e6117ab565b606091505b505080975050866117fe5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610570565b50505050505050505050565b6001600160a01b03811681146112c157600080fd5b6000806040838503121561183257600080fd5b823561183d8161180a565b946020939093013593505050565b60006020828403121561185d57600080fd5b5035919050565b6000806040838503121561187757600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000815180845260005b818110156118c7576020818501810151868301820152016118ab565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061190860808301856118a1565b905060018060a01b038316606083015295945050505050565b600080600080600060a0868803121561193957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b602081526000610b1f60208301846118a1565b60006020828403121561198157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b805180151581146119ae57600080fd5b919050565b60008060008060008060c087890312156119cc57600080fd5b86519550602087015194506119e36040880161199e565b93506119f16060880161199e565b925060808701519150611a0660a0880161199e565b90509295509295509295565b818103818111156107a257634e487b7160e01b600052601160045260246000fd5b600060208284031215611a4557600080fd5b8151610b1f8161180a565b600060208284031215611a6257600080fd5b610b1f8261199e565b600080600080600080600080610100898b031215611a8857600080fd5b885197506020890151611a9a8161180a565b60408a015160608b01519198509650611ab28161180a565b60808a015160a08b01519196509450611aca8161180a565b60c08a015160e08b01519194509250611ae28161180a565b809150509295985092959890939650565b60008060008060008060c08789031215611b0c57600080fd5b865195506020870151611b1e8161180a565b604088015160608901519196509450611b368161180a565b608088015160a08901519194509250611b4e8161180a565b80915050929550929550929556fea26469706673582212203ea56457ae17c3bbc45d8b21bcb3175245a3b17225aabe720dac66e3a0f855f764736f6c63430008130033",
878
+ "bytecode": "0x61012060405261012c600255610e106003553480156200001e57600080fd5b5060405162001f6938038062001f698339810160408190526200004191620002e1565b600160005581620000528162000143565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000319565b6001600160a01b0316146200013b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b50506200036f565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001a79085906200033e565b6000604051808303816000865af19150503d8060008114620001e6576040519150601f19603f3d011682016040523d82523d6000602084013e620001eb565b606091505b5091509150816200024d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000132565b805160c0819003620002655750600095945050505050565b80610100036200027b5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000132565b80516001600160a01b0381168114620002dc57600080fd5b919050565b60008060408385031215620002f557600080fd5b6200030083620002c4565b91506200031060208401620002c4565b90509250929050565b6000602082840312156200032c57600080fd5b6200033782620002c4565b9392505050565b6000825160005b8181101562000361576020818601810151858301520162000345565b506000920191825250919050565b60805160a05160c05160e05161010051611b92620003d76000396000610675015260006104a50152600081816107d401528181610f1a0152818161120001526112ef0152600081816102e9015261076501526000818161047101526114330152611b926000f3fe6080604052600436106101015760003560e01c8061998714610106578061b4601461012c5780631607c9951461013f5780632aedc28e146101615780632f077ee61461018157806340d1397e146101e7578063462add461461020757806356690aaf146102475780635bc1470f1461027e578063774159c614610294578063891407c0146102c457806392a10f83146102d7578063c0ad212e14610323578063c71b1b7114610343578063cd379f6e146103ea578063cf6681ea1461040a578063d3ddabe614610420578063db6921b21461045f578063dd85582f14610493578063e9d1e8ac146104c7578063efef39a11461012c578063f7bd4b8814610500575b600080fd5b61011961011436600461181f565b610520565b6040519081526020015b60405180910390f35b61011961013a36600461184b565b610796565b34801561014b57600080fd5b5061015f61015a366004611864565b6107a8565b005b34801561016d57600080fd5b5061015f61017c36600461184b565b6109d1565b34801561018d57600080fd5b506101d761019c36600461184b565b60009081526001602081905260409091208054918101546002909101546001600160401b03600160201b8404811694600160601b9094041692565b6040516101239493929190611886565b3480156101f357600080fd5b5061015f61020236600461184b565b610a3d565b34801561021357600080fd5b5061023761022236600461184b565b60009081526001602052604090205460ff1690565b6040519015158152602001610123565b34801561025357600080fd5b5061011961026236600461184b565b600090815260016020526040902054610100900462ffffff1690565b34801561028a57600080fd5b5061011960035481565b3480156102a057600080fd5b506102b46102af36600461184b565b610a85565b60405161012394939291906118e7565b6101196102d236600461181f565b610b13565b3480156102e357600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b34801561032f57600080fd5b5061015f61033e366004611864565b610b26565b34801561034f57600080fd5b506103aa61035e36600461184b565b600160208190526000918252604090912080549181015460029091015460ff83169262ffffff610100820416926001600160401b03600160201b8304811693600160601b909304169186565b60408051961515875262ffffff90951660208701526001600160401b039384169486019490945291166060840152608083015260a082015260c001610123565b3480156103f657600080fd5b5061015f610405366004611921565b610c33565b34801561041657600080fd5b5061011960025481565b34801561042c57600080fd5b5061045260405180604001604052806006815260200165076342e312e360d41b81525081565b604051610123919061195c565b34801561046b57600080fd5b506102377f000000000000000000000000000000000000000000000000000000000000000081565b34801561049f57600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506104526040518060400160405280600d81526020016c135a5b9d195c9110515e1c158d609a1b81525081565b34801561050c57600080fd5b5061015f61051b36600461184b565b610eee565b60006002600054036105795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156105ec5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610570565b60006105f784610ffe565b9050803410156106495760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610570565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e2919061196f565b8254909350620f4240840660010190610100900462ffffff16808211156107495760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610570565b80820361075c57835460ff191660011784555b505061078984827f0000000000000000000000000000000000000000000000000000000000000000611134565b5050600160005592915050565b60006107a23383610520565b92915050565b6107b1826111ea565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119b3565b50929550929350505050818311156108df5760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610570565b808310156109615760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610570565b60008481526001602052604090819020805460ff1962ffffff8716610100021663ffffffff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c39086815260200190565b60405180910390a250505050565b6109e1631576e14760e11b6112c4565b60008181526001602081905260408083208054600160201b600160a01b03191681559182018390556002820183905551909183917f2de6b284414d2e6b72bcc8d8d4de934e3f6410660a8f677c5c978f17f9cc2a929190a25050565b610a46816111ea565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610570565b600081815260016020819052604082209081015481549015159291606091839190600160201b90046001600160401b03164211610ac85780600101549350610ae9565b8060010154600003610add5760009350610ae9565b610ae686610ffe565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b6000610b1f8383610520565b9392505050565b610b36636056909760e11b6112c4565b818111610b9c5760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610570565b60008211610bec5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610570565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b610c3c856111ea565b60008581526001602052604090208054600160201b90046001600160401b03161580610c7857508054600160201b90046001600160401b031642105b610cc35760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610570565b844210610d095760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610570565b818311610d7b5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610570565b6002548410158015610d8f57506003548411155b610e0f5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610570565b610e18856113ad565b81546001600160401b0391909116600160201b0267ffffffffffffffff60201b19909116178155610e48846113ad565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155600181018390556002810182905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490610eb5908890889088908890611886565b60405180910390a28054610100900462ffffff16158015610ed85750805460ff16155b15610ee657610ee686610eee565b505050505050565b610ef7816111ea565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8591906119b3565b50505060008681526001602052604090819020805460ff1962ffffff8616610100021663ffffffff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610ff19085815260200190565b60405180910390a2505050565b6000818152600160205260408120805460028201546001600160401b03600160201b8304811692600160601b900416904283106110775760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610570565b600082116110c25760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610570565b6001840154428490038381816110da576110da611988565b0482901c91506002848583816110f2576110f2611988565b0684028161110257611102611988565b048161111057611110611988565b0482039150828210156111295750909695505050505050565b509695505050505050565b34156111e5576000806111478434611a12565b905080156111d75760405133908290600081818185875af1925050503d806000811461118f576040519150601f19603f3d011682016040523d82523d6000602084013e611194565b606091505b505080925050816111d75760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610570565b6111e2858585611419565b50505b505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611a33565b6001600160a01b0316336001600160a01b0316146112c15760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610570565b50565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611a50565b6112c15760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610570565b60006001600160401b038211156114155760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610570565b5090565b6000821161142657505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561159157604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd9190611a6b565b969e50949c50909a5098509196509194509092509050811561158a576040516001600160a01b038216908390600081818185875af1925050503d8060008114611532576040519150601f19603f3d011682016040523d82523d6000602084013e611537565b606091505b5050809950508861158a5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610570565b5050611611565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116019190611af3565b949a509298509096509450925090505b85156116b8576040516001600160a01b038616908790600081818185875af1925050503d8060008114611660576040519150601f19603f3d011682016040523d82523d6000602084013e611665565b606091505b505080975050866116b85760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610570565b8315611757576040516001600160a01b038416908590600081818185875af1925050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b505080975050866117575760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610570565b81156117fe576040516001600160a01b038216908390600081818185875af1925050503d80600081146117a6576040519150601f19603f3d011682016040523d82523d6000602084013e6117ab565b606091505b505080975050866117fe5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610570565b50505050505050505050565b6001600160a01b03811681146112c157600080fd5b6000806040838503121561183257600080fd5b823561183d8161180a565b946020939093013593505050565b60006020828403121561185d57600080fd5b5035919050565b6000806040838503121561187757600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000815180845260005b818110156118c7576020818501810151868301820152016118ab565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061190860808301856118a1565b905060018060a01b038316606083015295945050505050565b600080600080600060a0868803121561193957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b602081526000610b1f60208301846118a1565b60006020828403121561198157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b805180151581146119ae57600080fd5b919050565b60008060008060008060c087890312156119cc57600080fd5b86519550602087015194506119e36040880161199e565b93506119f16060880161199e565b925060808701519150611a0660a0880161199e565b90509295509295509295565b818103818111156107a257634e487b7160e01b600052601160045260246000fd5b600060208284031215611a4557600080fd5b8151610b1f8161180a565b600060208284031215611a6257600080fd5b610b1f8261199e565b600080600080600080600080610100898b031215611a8857600080fd5b885197506020890151611a9a8161180a565b60408a015160608b01519198509650611ab28161180a565b60808a015160a08b01519196509450611aca8161180a565b60c08a015160e08b01519194509250611ae28161180a565b809150509295985092959890939650565b60008060008060008060c08789031215611b0c57600080fd5b865195506020870151611b1e8161180a565b604088015160608901519196509450611b368161180a565b608088015160a08901519194509250611b4e8161180a565b80915050929550929550929556fea26469706673582212206600e8cffa580b3bf09f009c74c850391937e8250d9d51f5b73fd4a1cd1b4e0764736f6c63430008130033",
879
+ "deployedBytecode": "0x6080604052600436106101015760003560e01c8061998714610106578061b4601461012c5780631607c9951461013f5780632aedc28e146101615780632f077ee61461018157806340d1397e146101e7578063462add461461020757806356690aaf146102475780635bc1470f1461027e578063774159c614610294578063891407c0146102c457806392a10f83146102d7578063c0ad212e14610323578063c71b1b7114610343578063cd379f6e146103ea578063cf6681ea1461040a578063d3ddabe614610420578063db6921b21461045f578063dd85582f14610493578063e9d1e8ac146104c7578063efef39a11461012c578063f7bd4b8814610500575b600080fd5b61011961011436600461181f565b610520565b6040519081526020015b60405180910390f35b61011961013a36600461184b565b610796565b34801561014b57600080fd5b5061015f61015a366004611864565b6107a8565b005b34801561016d57600080fd5b5061015f61017c36600461184b565b6109d1565b34801561018d57600080fd5b506101d761019c36600461184b565b60009081526001602081905260409091208054918101546002909101546001600160401b03600160201b8404811694600160601b9094041692565b6040516101239493929190611886565b3480156101f357600080fd5b5061015f61020236600461184b565b610a3d565b34801561021357600080fd5b5061023761022236600461184b565b60009081526001602052604090205460ff1690565b6040519015158152602001610123565b34801561025357600080fd5b5061011961026236600461184b565b600090815260016020526040902054610100900462ffffff1690565b34801561028a57600080fd5b5061011960035481565b3480156102a057600080fd5b506102b46102af36600461184b565b610a85565b60405161012394939291906118e7565b6101196102d236600461181f565b610b13565b3480156102e357600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b34801561032f57600080fd5b5061015f61033e366004611864565b610b26565b34801561034f57600080fd5b506103aa61035e36600461184b565b600160208190526000918252604090912080549181015460029091015460ff83169262ffffff610100820416926001600160401b03600160201b8304811693600160601b909304169186565b60408051961515875262ffffff90951660208701526001600160401b039384169486019490945291166060840152608083015260a082015260c001610123565b3480156103f657600080fd5b5061015f610405366004611921565b610c33565b34801561041657600080fd5b5061011960025481565b34801561042c57600080fd5b5061045260405180604001604052806006815260200165076342e312e360d41b81525081565b604051610123919061195c565b34801561046b57600080fd5b506102377f000000000000000000000000000000000000000000000000000000000000000081565b34801561049f57600080fd5b5061030b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506104526040518060400160405280600d81526020016c135a5b9d195c9110515e1c158d609a1b81525081565b34801561050c57600080fd5b5061015f61051b36600461184b565b610eee565b60006002600054036105795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155828152600160205260409020805460ff16156105ec5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610570565b60006105f784610ffe565b9050803410156106495760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610570565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e2919061196f565b8254909350620f4240840660010190610100900462ffffff16808211156107495760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610570565b80820361075c57835460ff191660011784555b505061078984827f0000000000000000000000000000000000000000000000000000000000000000611134565b5050600160005592915050565b60006107a23383610520565b92915050565b6107b1826111ea565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f91906119b3565b50929550929350505050818311156108df5760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610570565b808310156109615760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610570565b60008481526001602052604090819020805460ff1962ffffff8716610100021663ffffffff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906109c39086815260200190565b60405180910390a250505050565b6109e1631576e14760e11b6112c4565b60008181526001602081905260408083208054600160201b600160a01b03191681559182018390556002820183905551909183917f2de6b284414d2e6b72bcc8d8d4de934e3f6410660a8f677c5c978f17f9cc2a929190a25050565b610a46816111ea565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610570565b600081815260016020819052604082209081015481549015159291606091839190600160201b90046001600160401b03164211610ac85780600101549350610ae9565b8060010154600003610add5760009350610ae9565b610ae686610ffe565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b6000610b1f8383610520565b9392505050565b610b36636056909760e11b6112c4565b818111610b9c5760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610570565b60008211610bec5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610570565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b610c3c856111ea565b60008581526001602052604090208054600160201b90046001600160401b03161580610c7857508054600160201b90046001600160401b031642105b610cc35760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610570565b844210610d095760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610570565b818311610d7b5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610570565b6002548410158015610d8f57506003548411155b610e0f5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610570565b610e18856113ad565b81546001600160401b0391909116600160201b0267ffffffffffffffff60201b19909116178155610e48846113ad565b81546001600160401b0391909116600160601b0267ffffffffffffffff60601b19909116178155600181018390556002810182905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c7490610eb5908890889088908890611886565b60405180910390a28054610100900462ffffff16158015610ed85750805460ff16155b15610ee657610ee686610eee565b505050505050565b610ef7816111ea565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8591906119b3565b50505060008681526001602052604090819020805460ff1962ffffff8616610100021663ffffffff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610ff19085815260200190565b60405180910390a2505050565b6000818152600160205260408120805460028201546001600160401b03600160201b8304811692600160601b900416904283106110775760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610570565b600082116110c25760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610570565b6001840154428490038381816110da576110da611988565b0482901c91506002848583816110f2576110f2611988565b0684028161110257611102611988565b048161111057611110611988565b0482039150828210156111295750909695505050505050565b509695505050505050565b34156111e5576000806111478434611a12565b905080156111d75760405133908290600081818185875af1925050503d806000811461118f576040519150601f19603f3d011682016040523d82523d6000602084013e611194565b606091505b505080925050816111d75760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610570565b6111e2858585611419565b50505b505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561124f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112739190611a33565b6001600160a01b0316336001600160a01b0316146112c15760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610570565b50565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611a50565b6112c15760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610570565b60006001600160401b038211156114155760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610570565b5090565b6000821161142657505050565b60008060008060008060007f00000000000000000000000000000000000000000000000000000000000000001561159157604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd9190611a6b565b969e50949c50909a5098509196509194509092509050811561158a576040516001600160a01b038216908390600081818185875af1925050503d8060008114611532576040519150601f19603f3d011682016040523d82523d6000602084013e611537565b606091505b5050809950508861158a5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610570565b5050611611565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa1580156115dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116019190611af3565b949a509298509096509450925090505b85156116b8576040516001600160a01b038616908790600081818185875af1925050503d8060008114611660576040519150601f19603f3d011682016040523d82523d6000602084013e611665565b606091505b505080975050866116b85760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610570565b8315611757576040516001600160a01b038416908590600081818185875af1925050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b505080975050866117575760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610570565b81156117fe576040516001600160a01b038216908390600081818185875af1925050503d80600081146117a6576040519150601f19603f3d011682016040523d82523d6000602084013e6117ab565b606091505b505080975050866117fe5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610570565b50505050505050505050565b6001600160a01b03811681146112c157600080fd5b6000806040838503121561183257600080fd5b823561183d8161180a565b946020939093013593505050565b60006020828403121561185d57600080fd5b5035919050565b6000806040838503121561187757600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000815180845260005b818110156118c7576020818501810151868301820152016118ab565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061190860808301856118a1565b905060018060a01b038316606083015295945050505050565b600080600080600060a0868803121561193957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b602081526000610b1f60208301846118a1565b60006020828403121561198157600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b805180151581146119ae57600080fd5b919050565b60008060008060008060c087890312156119cc57600080fd5b86519550602087015194506119e36040880161199e565b93506119f16060880161199e565b925060808701519150611a0660a0880161199e565b90509295509295509295565b818103818111156107a257634e487b7160e01b600052601160045260246000fd5b600060208284031215611a4557600080fd5b8151610b1f8161180a565b600060208284031215611a6257600080fd5b610b1f8261199e565b600080600080600080600080610100898b031215611a8857600080fd5b885197506020890151611a9a8161180a565b60408a015160608b01519198509650611ab28161180a565b60808a015160a08b01519196509450611aca8161180a565b60c08a015160e08b01519194509250611ae28161180a565b809150509295985092959890939650565b60008060008060008060c08789031215611b0c57600080fd5b865195506020870151611b1e8161180a565b604088015160608901519196509450611b368161180a565b608088015160a08901519194509250611b4e8161180a565b80915050929550929550929556fea26469706673582212206600e8cffa580b3bf09f009c74c850391937e8250d9d51f5b73fd4a1cd1b4e0764736f6c63430008130033",
880
880
  "linkReferences": {},
881
881
  "deployedLinkReferences": {}
882
882
  }
@@ -0,0 +1,418 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterDAExpV5",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterDAExpV5.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "minterFilter",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "uint256",
21
+ "name": "projectId",
22
+ "type": "uint256"
23
+ },
24
+ {
25
+ "internalType": "address",
26
+ "name": "coreContract",
27
+ "type": "address"
28
+ }
29
+ ],
30
+ "name": "getPriceInfo",
31
+ "outputs": [
32
+ {
33
+ "internalType": "bool",
34
+ "name": "isConfigured",
35
+ "type": "bool"
36
+ },
37
+ {
38
+ "internalType": "uint256",
39
+ "name": "tokenPriceInWei",
40
+ "type": "uint256"
41
+ },
42
+ {
43
+ "internalType": "string",
44
+ "name": "currencySymbol",
45
+ "type": "string"
46
+ },
47
+ {
48
+ "internalType": "address",
49
+ "name": "currencyAddress",
50
+ "type": "address"
51
+ }
52
+ ],
53
+ "stateMutability": "view",
54
+ "type": "function"
55
+ },
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "address",
60
+ "name": "coreContract",
61
+ "type": "address"
62
+ }
63
+ ],
64
+ "name": "isEngineView",
65
+ "outputs": [
66
+ {
67
+ "internalType": "bool",
68
+ "name": "",
69
+ "type": "bool"
70
+ }
71
+ ],
72
+ "stateMutability": "view",
73
+ "type": "function"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "uint256",
79
+ "name": "projectId",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "internalType": "address",
84
+ "name": "coreContract",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint24",
89
+ "name": "maxInvocations",
90
+ "type": "uint24"
91
+ }
92
+ ],
93
+ "name": "manuallyLimitProjectMaxInvocations",
94
+ "outputs": [],
95
+ "stateMutability": "nonpayable",
96
+ "type": "function"
97
+ },
98
+ {
99
+ "inputs": [
100
+ {
101
+ "internalType": "uint256",
102
+ "name": "projectId",
103
+ "type": "uint256"
104
+ },
105
+ {
106
+ "internalType": "address",
107
+ "name": "coreContract",
108
+ "type": "address"
109
+ }
110
+ ],
111
+ "name": "maxInvocationsProjectConfig",
112
+ "outputs": [
113
+ {
114
+ "components": [
115
+ {
116
+ "internalType": "bool",
117
+ "name": "maxHasBeenInvoked",
118
+ "type": "bool"
119
+ },
120
+ {
121
+ "internalType": "uint24",
122
+ "name": "maxInvocations",
123
+ "type": "uint24"
124
+ }
125
+ ],
126
+ "internalType": "struct MaxInvocationsLib.MaxInvocationsProjectConfig",
127
+ "name": "",
128
+ "type": "tuple"
129
+ }
130
+ ],
131
+ "stateMutability": "view",
132
+ "type": "function"
133
+ },
134
+ {
135
+ "inputs": [],
136
+ "name": "minimumPriceDecayHalfLifeSeconds",
137
+ "outputs": [
138
+ {
139
+ "internalType": "uint256",
140
+ "name": "",
141
+ "type": "uint256"
142
+ }
143
+ ],
144
+ "stateMutability": "view",
145
+ "type": "function"
146
+ },
147
+ {
148
+ "inputs": [],
149
+ "name": "minterFilterAddress",
150
+ "outputs": [
151
+ {
152
+ "internalType": "address",
153
+ "name": "",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "minterType",
163
+ "outputs": [
164
+ {
165
+ "internalType": "string",
166
+ "name": "",
167
+ "type": "string"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [],
175
+ "name": "minterVersion",
176
+ "outputs": [
177
+ {
178
+ "internalType": "string",
179
+ "name": "",
180
+ "type": "string"
181
+ }
182
+ ],
183
+ "stateMutability": "view",
184
+ "type": "function"
185
+ },
186
+ {
187
+ "inputs": [
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "projectId",
191
+ "type": "uint256"
192
+ },
193
+ {
194
+ "internalType": "address",
195
+ "name": "coreContract",
196
+ "type": "address"
197
+ }
198
+ ],
199
+ "name": "projectAuctionParameters",
200
+ "outputs": [
201
+ {
202
+ "internalType": "uint40",
203
+ "name": "timestampStart",
204
+ "type": "uint40"
205
+ },
206
+ {
207
+ "internalType": "uint40",
208
+ "name": "priceDecayHalfLifeSeconds",
209
+ "type": "uint40"
210
+ },
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "startPrice",
214
+ "type": "uint256"
215
+ },
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "basePrice",
219
+ "type": "uint256"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "projectId",
230
+ "type": "uint256"
231
+ },
232
+ {
233
+ "internalType": "address",
234
+ "name": "coreContract",
235
+ "type": "address"
236
+ }
237
+ ],
238
+ "name": "projectMaxHasBeenInvoked",
239
+ "outputs": [
240
+ {
241
+ "internalType": "bool",
242
+ "name": "",
243
+ "type": "bool"
244
+ }
245
+ ],
246
+ "stateMutability": "view",
247
+ "type": "function"
248
+ },
249
+ {
250
+ "inputs": [
251
+ {
252
+ "internalType": "uint256",
253
+ "name": "projectId",
254
+ "type": "uint256"
255
+ },
256
+ {
257
+ "internalType": "address",
258
+ "name": "coreContract",
259
+ "type": "address"
260
+ }
261
+ ],
262
+ "name": "projectMaxInvocations",
263
+ "outputs": [
264
+ {
265
+ "internalType": "uint256",
266
+ "name": "",
267
+ "type": "uint256"
268
+ }
269
+ ],
270
+ "stateMutability": "view",
271
+ "type": "function"
272
+ },
273
+ {
274
+ "inputs": [
275
+ {
276
+ "internalType": "uint256",
277
+ "name": "projectId",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "internalType": "address",
282
+ "name": "coreContract",
283
+ "type": "address"
284
+ }
285
+ ],
286
+ "name": "purchase",
287
+ "outputs": [
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "tokenId",
291
+ "type": "uint256"
292
+ }
293
+ ],
294
+ "stateMutability": "payable",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "to",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "internalType": "uint256",
306
+ "name": "projectId",
307
+ "type": "uint256"
308
+ },
309
+ {
310
+ "internalType": "address",
311
+ "name": "coreContract",
312
+ "type": "address"
313
+ }
314
+ ],
315
+ "name": "purchaseTo",
316
+ "outputs": [
317
+ {
318
+ "internalType": "uint256",
319
+ "name": "tokenId",
320
+ "type": "uint256"
321
+ }
322
+ ],
323
+ "stateMutability": "payable",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [
328
+ {
329
+ "internalType": "uint256",
330
+ "name": "projectId",
331
+ "type": "uint256"
332
+ },
333
+ {
334
+ "internalType": "address",
335
+ "name": "coreContract",
336
+ "type": "address"
337
+ }
338
+ ],
339
+ "name": "resetAuctionDetails",
340
+ "outputs": [],
341
+ "stateMutability": "nonpayable",
342
+ "type": "function"
343
+ },
344
+ {
345
+ "inputs": [
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "projectId",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "internalType": "address",
353
+ "name": "coreContract",
354
+ "type": "address"
355
+ },
356
+ {
357
+ "internalType": "uint40",
358
+ "name": "auctionTimestampStart",
359
+ "type": "uint40"
360
+ },
361
+ {
362
+ "internalType": "uint40",
363
+ "name": "priceDecayHalfLifeSeconds",
364
+ "type": "uint40"
365
+ },
366
+ {
367
+ "internalType": "uint256",
368
+ "name": "startPrice",
369
+ "type": "uint256"
370
+ },
371
+ {
372
+ "internalType": "uint256",
373
+ "name": "basePrice",
374
+ "type": "uint256"
375
+ }
376
+ ],
377
+ "name": "setAuctionDetails",
378
+ "outputs": [],
379
+ "stateMutability": "nonpayable",
380
+ "type": "function"
381
+ },
382
+ {
383
+ "inputs": [
384
+ {
385
+ "internalType": "uint256",
386
+ "name": "minimumPriceDecayHalfLifeSeconds_",
387
+ "type": "uint256"
388
+ }
389
+ ],
390
+ "name": "setMinimumPriceDecayHalfLifeSeconds",
391
+ "outputs": [],
392
+ "stateMutability": "nonpayable",
393
+ "type": "function"
394
+ },
395
+ {
396
+ "inputs": [
397
+ {
398
+ "internalType": "uint256",
399
+ "name": "projectId",
400
+ "type": "uint256"
401
+ },
402
+ {
403
+ "internalType": "address",
404
+ "name": "coreContract",
405
+ "type": "address"
406
+ }
407
+ ],
408
+ "name": "syncProjectMaxInvocationsToCore",
409
+ "outputs": [],
410
+ "stateMutability": "nonpayable",
411
+ "type": "function"
412
+ }
413
+ ],
414
+ "bytecode": "0x60c0604052602d60015534801561001557600080fd5b50604051611ee4380380611ee483398101604081905261003491610087565b600160008190556001600160a01b038216608081905260a052546040519081527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a1506100b7565b60006020828403121561009957600080fd5b81516001600160a01b03811681146100b057600080fd5b9392505050565b60805160a051611e016100e360003960006104f10152600081816102d701526106160152611e016000f3fe6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c237146101ad578063b000e334146101c0578063b3fe4723146101e0578063cce7c90914610200578063cf6681ea14610220578063d3ddabe614610236578063d9bffbce14610275578063d9eb16db14610295578063dd85582f146102c5578063e9d1e8ac14610311578063fdca4cb81461034a578063fea1d7b41461036a575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461194b565b6103b3565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611968565b6103eb565b6040519081526020016100ff565b610128610144366004611998565b610400565b34801561015557600080fd5b50610169610164366004611968565b610580565b005b34801561017757600080fd5b5061018b610186366004611968565b6105a1565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286101bb366004611968565b6105e9565b3480156101cc57600080fd5b506101696101db3660046119da565b6105f6565b3480156101ec57600080fd5b506101696101fb366004611a19565b610611565b34801561020c57600080fd5b506100f361021b366004611968565b6106cf565b34801561022c57600080fd5b5061012860015481565b34801561024257600080fd5b5061026860405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611a82565b34801561028157600080fd5b50610169610290366004611968565b6106db565b3480156102a157600080fd5b506102b56102b0366004611968565b6106f0565b6040516100ff9493929190611a95565b3480156102d157600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561031d57600080fd5b506102686040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b34801561035657600080fd5b50610169610365366004611ae9565b610789565b34801561037657600080fd5b5061038a610385366004611968565b610862565b6040805164ffffffffff95861681529490931660208501529183015260608201526080016100ff565b6000806103bf836108b2565b8054909150610100900460ff16156103db575460ff1692915050565b6103e4836108eb565b9392505050565b60006103f78383610a61565b90505b92915050565b60006002600054036104595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556104688383610a81565b60006104748484610ab2565b9050803410156104bf5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610450565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190611b4a565b91506105688284610bf6565b610573848285610c5c565b5060016000559392505050565b610593813330634ae2bafd60e11b610d11565b61059d8282610d66565b5050565b60408051808201909152600080825260208201526105bf8383610db2565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60006103f7338484610400565b610601838333610dfd565b61060c838383610e42565b505050565b6106447f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610f18565b600081116106945760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610450565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b60006103f78383610f6d565b6106e6828233610dfd565b61059d8282610f86565b6000806060600080610702878761100d565b8054600160501b90046001600160581b031615159550905084610728576000935061075d565b805464ffffffffff164211610750578054600160501b90046001600160581b0316935061075d565b61075a8787610ab2565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b610794868633610dfd565b6001548364ffffffffff1610156108135760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610450565b600061081f8787610f6d565b90506108408787878761083188611035565b61083a88611035565b876110a1565b61084a87876112ab565b156108595761085987876106db565b50505050505050565b6000806000806000610874878761100d565b5464ffffffffff80821699600160281b830490911698506001600160581b03600160501b830481169850600160a81b90920490911695509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b0386169061094d908590611b63565b600060405180830381855afa9150503d8060008114610988576040519150601f19603f3d011682016040523d82523d6000602084013e61098d565b606091505b5091509150816109ed5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610450565b805160c0819003610a045750600095945050505050565b8061010003610a195750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610450565b600080610a6e8484610db2565b54610100900462ffffff16949350505050565b6000610a8d8383610db2565b805490915060ff161561060c5760405162461bcd60e51b815260040161045090611b7f565b600080610abf848461100d565b805490915064ffffffffff80821691600160281b90041642821115610b205760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610450565b60008111610b6b5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610450565b8254600160501b90046001600160581b031642839003828181610b9057610b90611bb0565b0482901c9150600183848381610ba857610ba8611bb0565b06840281610bb857610bb8611bb0565b875491900490911c90920391600160a81b90046001600160581b031680831015610be95795506103fa945050505050565b5090979650505050505050565b620f424082046000610c088284610db2565b8054909150620f4240850660010190610100900462ffffff1680821115610c415760405162461bcd60e51b815260040161045090611b7f565b808203610c5457825460ff191660011783555b505050505050565b341561060c576000610c6e8334611bdc565b90508015610d0057604051600090339083908381818185875af1925050503d8060008114610cb8576040519150601f19603f3d011682016040523d82523d6000602084013e610cbd565b606091505b5050905080610cfe5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610450565b505b610d0b8484846112de565b50505050565b610d1d8484848461149f565b610d0b5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610450565b6000610d72838361100d565b60008082556040519192506001600160a01b0384169185917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a3505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b610e08838383611530565b61060c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610450565b600080610e4f85856115b9565b91509150808362ffffff161115610e785760405162461bcd60e51b815260040161045090611bef565b818362ffffff161015610e9d5760405162461bcd60e51b815260040161045090611bef565b6000610ea98686610db2565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b610f248484848461149f565b610d0b5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610450565b600080610f7a8484610db2565b5460ff16949350505050565b600080610f9384846115b9565b915091506000610fa38585610db2565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a35050505050565b60007fd81cd75c069a2440f70df8647083d567d07e376316cc889f0f9fba1085bc5a00610dd6565b60006001600160581b0382111561109d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610450565b5090565b60006110ad888861100d565b805490915064ffffffffff1615806110cc5750805464ffffffffff1642105b806110d45750815b61111f5760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610450565b8564ffffffffff16421061116c5760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610450565b826001600160581b0316846001600160581b0316116111f05760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610450565b805464ffffffffff8781166001600160501b03199092168217600160281b918816918202176001600160501b0316600160501b6001600160581b038881169182026001600160a81b031692909217600160a81b9288169283021785556040805194855260208501939093529183019190915260608201526001600160a01b0388169089907f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e9060800160405180910390a35050505050505050565b6000806112b88484610db2565b8054909150610100900462ffffff161580156112d65750805460ff16155b949350505050565b816000036112eb57505050565b60006112f682611637565b9050600080600080600080600080881561139457604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190611c20565b969e50949c50929a509098509650945092509050611414565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa1580156113e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114049190611ca8565b949c50929a509096509450925090505b8a8285611421898c611d11565b61142b9190611d11565b6114359190611d11565b146114815760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610450565b61149186868a8a88888888611685565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190611d34565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c9190611d4f565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116279190611d6c565b5093989297509195505050505050565b600080611643836108b2565b8054909150610100900460ff161561165f575460ff1692915050565b600061166a846108eb565b825481151561ffff1990911617610100179092555092915050565b8715611730576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146116d8576040519150601f19603f3d011682016040523d82523d6000602084013e6116dd565b606091505b505090508061172e5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610450565b505b85156117db576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611783576040519150601f19603f3d011682016040523d82523d6000602084013e611788565b606091505b50509050806117d95760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610450565b505b831561187e576000836001600160a01b03168560405160006040518083038185875af1925050503d806000811461182e576040519150601f19603f3d011682016040523d82523d6000602084013e611833565b606091505b505090508061187c5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610450565b505b8115611929576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146118d1576040519150601f19603f3d011682016040523d82523d6000602084013e6118d6565b606091505b50509050806119275760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610450565b505b5050505050505050565b6001600160a01b038116811461194857600080fd5b50565b60006020828403121561195d57600080fd5b81356103e481611933565b6000806040838503121561197b57600080fd5b82359150602083013561198d81611933565b809150509250929050565b6000806000606084860312156119ad57600080fd5b83356119b881611933565b92506020840135915060408401356119cf81611933565b809150509250925092565b6000806000606084860312156119ef57600080fd5b833592506020840135611a0181611933565b9150604084013562ffffff811681146119cf57600080fd5b600060208284031215611a2b57600080fd5b5035919050565b60005b83811015611a4d578181015183820152602001611a35565b50506000910152565b60008151808452611a6e816020860160208601611a32565b601f01601f19169290920160200192915050565b6020815260006103f76020830184611a56565b8415158152836020820152608060408201526000611ab66080830185611a56565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611ae457600080fd5b919050565b60008060008060008060c08789031215611b0257600080fd5b863595506020870135611b1481611933565b9450611b2260408801611acf565b9350611b3060608801611acf565b92506080870135915060a087013590509295509295509295565b600060208284031215611b5c57600080fd5b5051919050565b60008251611b75818460208701611a32565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156103fa576103fa611bc6565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600080600080600080600080610100898b031215611c3d57600080fd5b885197506020890151611c4f81611933565b60408a015160608b01519198509650611c6781611933565b60808a015160a08b01519196509450611c7f81611933565b60c08a015160e08b01519194509250611c9781611933565b809150509295985092959890939650565b60008060008060008060c08789031215611cc157600080fd5b865195506020870151611cd381611933565b604088015160608901519196509450611ceb81611933565b608088015160a08901519194509250611d0381611933565b809150509295509295509295565b808201808211156103fa576103fa611bc6565b80518015158114611ae457600080fd5b600060208284031215611d4657600080fd5b6103f782611d24565b600060208284031215611d6157600080fd5b81516103e481611933565b60008060008060008060c08789031215611d8557600080fd5b8651955060208701519450611d9c60408801611d24565b9350611daa60608801611d24565b925060808701519150611dbf60a08801611d24565b9050929550929550929556fea2646970667358221220a26b6fa1d273eaa359aa05a393c20c2a9d55abd4a7ae6ae33724ed26500cadf864736f6c63430008130033",
415
+ "deployedBytecode": "0x6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c237146101ad578063b000e334146101c0578063b3fe4723146101e0578063cce7c90914610200578063cf6681ea14610220578063d3ddabe614610236578063d9bffbce14610275578063d9eb16db14610295578063dd85582f146102c5578063e9d1e8ac14610311578063fdca4cb81461034a578063fea1d7b41461036a575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461194b565b6103b3565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611968565b6103eb565b6040519081526020016100ff565b610128610144366004611998565b610400565b34801561015557600080fd5b50610169610164366004611968565b610580565b005b34801561017757600080fd5b5061018b610186366004611968565b6105a1565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286101bb366004611968565b6105e9565b3480156101cc57600080fd5b506101696101db3660046119da565b6105f6565b3480156101ec57600080fd5b506101696101fb366004611a19565b610611565b34801561020c57600080fd5b506100f361021b366004611968565b6106cf565b34801561022c57600080fd5b5061012860015481565b34801561024257600080fd5b5061026860405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611a82565b34801561028157600080fd5b50610169610290366004611968565b6106db565b3480156102a157600080fd5b506102b56102b0366004611968565b6106f0565b6040516100ff9493929190611a95565b3480156102d157600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561031d57600080fd5b506102686040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b34801561035657600080fd5b50610169610365366004611ae9565b610789565b34801561037657600080fd5b5061038a610385366004611968565b610862565b6040805164ffffffffff95861681529490931660208501529183015260608201526080016100ff565b6000806103bf836108b2565b8054909150610100900460ff16156103db575460ff1692915050565b6103e4836108eb565b9392505050565b60006103f78383610a61565b90505b92915050565b60006002600054036104595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556104688383610a81565b60006104748484610ab2565b9050803410156104bf5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610450565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190611b4a565b91506105688284610bf6565b610573848285610c5c565b5060016000559392505050565b610593813330634ae2bafd60e11b610d11565b61059d8282610d66565b5050565b60408051808201909152600080825260208201526105bf8383610db2565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60006103f7338484610400565b610601838333610dfd565b61060c838383610e42565b505050565b6106447f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610f18565b600081116106945760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610450565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b60006103f78383610f6d565b6106e6828233610dfd565b61059d8282610f86565b6000806060600080610702878761100d565b8054600160501b90046001600160581b031615159550905084610728576000935061075d565b805464ffffffffff164211610750578054600160501b90046001600160581b0316935061075d565b61075a8787610ab2565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b610794868633610dfd565b6001548364ffffffffff1610156108135760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610450565b600061081f8787610f6d565b90506108408787878761083188611035565b61083a88611035565b876110a1565b61084a87876112ab565b156108595761085987876106db565b50505050505050565b6000806000806000610874878761100d565b5464ffffffffff80821699600160281b830490911698506001600160581b03600160501b830481169850600160a81b90920490911695509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b0386169061094d908590611b63565b600060405180830381855afa9150503d8060008114610988576040519150601f19603f3d011682016040523d82523d6000602084013e61098d565b606091505b5091509150816109ed5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610450565b805160c0819003610a045750600095945050505050565b8061010003610a195750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610450565b600080610a6e8484610db2565b54610100900462ffffff16949350505050565b6000610a8d8383610db2565b805490915060ff161561060c5760405162461bcd60e51b815260040161045090611b7f565b600080610abf848461100d565b805490915064ffffffffff80821691600160281b90041642821115610b205760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610450565b60008111610b6b5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610450565b8254600160501b90046001600160581b031642839003828181610b9057610b90611bb0565b0482901c9150600183848381610ba857610ba8611bb0565b06840281610bb857610bb8611bb0565b875491900490911c90920391600160a81b90046001600160581b031680831015610be95795506103fa945050505050565b5090979650505050505050565b620f424082046000610c088284610db2565b8054909150620f4240850660010190610100900462ffffff1680821115610c415760405162461bcd60e51b815260040161045090611b7f565b808203610c5457825460ff191660011783555b505050505050565b341561060c576000610c6e8334611bdc565b90508015610d0057604051600090339083908381818185875af1925050503d8060008114610cb8576040519150601f19603f3d011682016040523d82523d6000602084013e610cbd565b606091505b5050905080610cfe5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610450565b505b610d0b8484846112de565b50505050565b610d1d8484848461149f565b610d0b5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610450565b6000610d72838361100d565b60008082556040519192506001600160a01b0384169185917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a3505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b610e08838383611530565b61060c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610450565b600080610e4f85856115b9565b91509150808362ffffff161115610e785760405162461bcd60e51b815260040161045090611bef565b818362ffffff161015610e9d5760405162461bcd60e51b815260040161045090611bef565b6000610ea98686610db2565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b610f248484848461149f565b610d0b5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610450565b600080610f7a8484610db2565b5460ff16949350505050565b600080610f9384846115b9565b915091506000610fa38585610db2565b805484841463ffffffff1990911661010062ffffff86160260ff1916171781556040518381529091506001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a35050505050565b60007fd81cd75c069a2440f70df8647083d567d07e376316cc889f0f9fba1085bc5a00610dd6565b60006001600160581b0382111561109d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610450565b5090565b60006110ad888861100d565b805490915064ffffffffff1615806110cc5750805464ffffffffff1642105b806110d45750815b61111f5760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610450565b8564ffffffffff16421061116c5760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610450565b826001600160581b0316846001600160581b0316116111f05760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610450565b805464ffffffffff8781166001600160501b03199092168217600160281b918816918202176001600160501b0316600160501b6001600160581b038881169182026001600160a81b031692909217600160a81b9288169283021785556040805194855260208501939093529183019190915260608201526001600160a01b0388169089907f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e9060800160405180910390a35050505050505050565b6000806112b88484610db2565b8054909150610100900462ffffff161580156112d65750805460ff16155b949350505050565b816000036112eb57505050565b60006112f682611637565b9050600080600080600080600080881561139457604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190611c20565b969e50949c50929a509098509650945092509050611414565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa1580156113e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114049190611ca8565b949c50929a509096509450925090505b8a8285611421898c611d11565b61142b9190611d11565b6114359190611d11565b146114815760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610450565b61149186868a8a88888888611685565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190611d34565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c9190611d4f565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116279190611d6c565b5093989297509195505050505050565b600080611643836108b2565b8054909150610100900460ff161561165f575460ff1692915050565b600061166a846108eb565b825481151561ffff1990911617610100179092555092915050565b8715611730576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146116d8576040519150601f19603f3d011682016040523d82523d6000602084013e6116dd565b606091505b505090508061172e5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610450565b505b85156117db576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611783576040519150601f19603f3d011682016040523d82523d6000602084013e611788565b606091505b50509050806117d95760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610450565b505b831561187e576000836001600160a01b03168560405160006040518083038185875af1925050503d806000811461182e576040519150601f19603f3d011682016040523d82523d6000602084013e611833565b606091505b505090508061187c5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610450565b505b8115611929576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146118d1576040519150601f19603f3d011682016040523d82523d6000602084013e6118d6565b606091505b50509050806119275760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610450565b505b5050505050505050565b6001600160a01b038116811461194857600080fd5b50565b60006020828403121561195d57600080fd5b81356103e481611933565b6000806040838503121561197b57600080fd5b82359150602083013561198d81611933565b809150509250929050565b6000806000606084860312156119ad57600080fd5b83356119b881611933565b92506020840135915060408401356119cf81611933565b809150509250925092565b6000806000606084860312156119ef57600080fd5b833592506020840135611a0181611933565b9150604084013562ffffff811681146119cf57600080fd5b600060208284031215611a2b57600080fd5b5035919050565b60005b83811015611a4d578181015183820152602001611a35565b50506000910152565b60008151808452611a6e816020860160208601611a32565b601f01601f19169290920160200192915050565b6020815260006103f76020830184611a56565b8415158152836020820152608060408201526000611ab66080830185611a56565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611ae457600080fd5b919050565b60008060008060008060c08789031215611b0257600080fd5b863595506020870135611b1481611933565b9450611b2260408801611acf565b9350611b3060608801611acf565b92506080870135915060a087013590509295509295509295565b600060208284031215611b5c57600080fd5b5051919050565b60008251611b75818460208701611a32565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156103fa576103fa611bc6565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600080600080600080600080610100898b031215611c3d57600080fd5b885197506020890151611c4f81611933565b60408a015160608b01519198509650611c6781611933565b60808a015160a08b01519196509450611c7f81611933565b60c08a015160e08b01519194509250611c9781611933565b809150509295985092959890939650565b60008060008060008060c08789031215611cc157600080fd5b865195506020870151611cd381611933565b604088015160608901519196509450611ceb81611933565b608088015160a08901519194509250611d0381611933565b809150509295509295509295565b808201808211156103fa576103fa611bc6565b80518015158114611ae457600080fd5b600060208284031215611d4657600080fd5b6103f782611d24565b600060208284031215611d6157600080fd5b81516103e481611933565b60008060008060008060c08789031215611d8557600080fd5b8651955060208701519450611d9c60408801611d24565b9350611daa60608801611d24565b925060808701519150611dbf60a08801611d24565b9050929550929550929556fea2646970667358221220a26b6fa1d273eaa359aa05a393c20c2a9d55abd4a7ae6ae33724ed26500cadf864736f6c63430008130033",
416
+ "linkReferences": {},
417
+ "deployedLinkReferences": {}
418
+ }